I remember my Amiga roots. I remember the time when you could produce fun games and run a pretty nice (multitasking, responsive and flickery) operating system on just a few megabytes of RAM and a hand full of MHz (instead of GHz).
Of course, a lot of things you now depend on were not there. Internet wasn’t there much. Streaming lossy compressed music wasn’t there. Syntax coloring ment very poor text scrolling and wasn’t used. In my assembler environment there wasn’t even a scrollbar in the window and why would anyone need a mouse wheel, or even a mouse, while programming?
But somehow, I had a lot of fun coding in this environment. Among other stuff, me and my friends produced two fun public domain games- Brutal Homicide 1 and 2 during the later era of Amiga computing (95-98). They spread by BBS and Aminet and people sent me postcards from all over the world (well, the PAL-world anyway). Some even sent money even though it was free.
Many years later I started a project doing a retroremake of the game in C++/OpenGL with my old friend Dave to help me with graphics. Progress was extremely slow but I held out for serveral years until it was finally abandoned around 2009. I still wanted to finish it, but the code base was just so old, over designed, uninspiring and unflexible. But the graphics and some design can be reused, which is a big plus.
While working for king.com with the always excellent Notch, he convinced me to enter a java 4k game competition. For some reason, I decided to try and make a minimal interpreting VM and write the game in that (java bytecode isn’t very fun for humans to write). The cpu had a total of 16 instructions and graphics hardware capable of scaling and rotation. After writing a simple assembler for the platform, I set of to write some sort of space game. The project as a whole failed, mostly because I came too close to the 4k limit without having a fun game (vm was ~1900, game/gfx rest). I didn’t enter anything to the competition, but it triggered interesting thoughts on design and development in my head.
I realised I really enjoyed programming in my assembly language, so I started to isolate factors making assembly and hardware close game development time consuming and annoying. The Amiga hardware was full of quirks and limitations which halted development and limited the results. Its CPU also had its fair share of limitations, besides lack of speed. Some would argue that this was its charm, and I agree. But I needed more for this. Also, debugging was hell during those days, that had to be solved.
Using what I’ve learned from years of game development, I set out to design my optimal platform for small/casual/retro game development and the ultimate reincarnation of Brutal Homicide. It became a minimal hardware platform designed for the nerdy game developer, rather than the nerds fiddling with transistors (who I guess design our hardware). The platform emulator is not complex to implement or port. It’s fast enough even when running as interpreted. I aim to get it to run on any capable platform, and hope that I can release many games on top of it.
Of course, this is nothing the end user ever will notice. They will just get a game built with passion from scratch (by some crazy guy).
In short, I’m doing a low-level remake of my old game in my emulated environment of a super Amiga-like computer! This is my story.