Skip to content
View shendriks's full-sized avatar
👾
👾

Block or report shendriks

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
shendriks/README.md

Sven Hendriks

Software Developer · Software Architecture · Game Development

I'm a software developer with 20+ years of experience. I care about clean code, pragmatic architecture, automated testing, and keeping complexity under control.

In my spare time, I build games with C# and MonoGame and explore pixel art, chiptune music, and the engineering behind classic 2D games.


Things I Care About

  • Maintainability over cleverness
  • Simple solutions over unnecessary complexity
  • Architecture that supports change rather than getting in its way
  • Automated tests as a safety net
  • Small, understandable processes
  • Clean code that other developers can actually work with

I'm particularly interested in Hexagonal Architecture / Ports & Adapters, domain modelling, legacy-code modernization, and pragmatic software design.


Game Development

I'm currently developing a 2D vertical shoot-'em-up using C# + MonoGame.

Think 16-bit arcade / SNES-era shmup, but built from scratch.

┌─────────────────────────────────────────────┐
│              GAME DEVELOPMENT               │
├─────────────────────────────────────────────┤
│  C#                  MonoGame               │
│  Pixel Art           Aseprite               │
│  Level Design        Tiled                  │
│  Chiptune            Furnace                │
│  Collision Detection Spatial Hashing        │
│  Architecture        Ports & Adapters       │
└─────────────────────────────────────────────┘

I'm documenting the development process through a (more or less) technical devlog, including architecture, collision detection, weapons, enemies, VFX, pixel art and the occasional bug that turns out to be considerably more complicated than expected.


Currently Exploring

  • Game Development
  • Software Architecture
  • Pixel Art / Chiptune

The Obligatory and Incomplete Badge Collection

In no particular order

PHP Python C%23 Java JavaScript Symfony Django FastAPI Spring Boot Vue.js Nuxt Docker GitHub Actions GitLab CI Linux MonoGame MonoGame.Extended Tiled Aseprite Furnace TypeScript Ansible Commodore 64


Find Me

GitHub Website

Pinned Loading

  1. pathfinding-2d pathfinding-2d Public

    A collection of code examples from my blog

    C# 1

  2. clong clong Public

    An implementation of a video game that simulates table tennis with rotating gravity using Kni (a MonoGame derivative) and Hexagonal Architecture (a.k.a. Ports & Adapters).

    C#

  3. tic-tac-toe-java tic-tac-toe-java Public

    A CLI implementation of Tic Tac Toe in Java using the Minimax algorithm

    Java

  4. collision-benchmark collision-benchmark Public

    A .NET 10 project to benchmark different collision detection algorithms using BenchmarkDotNet.

    C#

  5. fitness-tracker-api-java fitness-tracker-api-java Public

    An API for tracking fitness activities built with Java and Spring Boot using hexagonal architecture (Ports & Adapters)

    Java

  6. fitness-tracker-ui-nuxt fitness-tracker-ui-nuxt Public

    A web UI for the Fitness Tracker API built with Nuxt. This repository is the UI only, it talks to a separate backend API (see README)

    Vue