I’m rewriting my 3 shipped games. I call it “remastering”. It is a profound technical refresh without any major changes in gameplay or visuals.
Why?
- It’s fun.
- Keep the games playable on modern systems. I considered updating the existing Java implementations but switching to C++ just makes more sense in the long-term.
- Cut bits of content that didn’t age well and focus on the good parts.
Superforce is the most recent one, already written in C++ but I completely replaced the rendering and audio code with a new engine based on Sokol. Now it runs faster and should be easier to port to new platforms.
Type Raiders was my second game and it was originally written in Java. The C++ rewrite is almost complete. The game mechanics are pretty simple, so I can focus on getting the graphics right. I dropped the built-in level editor, since I’m not planning on making new ones.
Devastro was my first shipped game and it is by far the most complex one. AI, collisions, pathfinding, bots, vehicles, cutscenes, level editor… about 60000 lines of Java in total. An intimidating task at first, but since there’s no design phase, no experimentation, all assets are done and a reference implementation is readily available, it only took a weekend to import the levels, create a new SDF-based collision system and add an animated character that can move around.