I've been pretty inactive as far as writing up what I've been up to. I have been busy with work and not had a lot of time, so the little time I have for personal projects has gone towards the projects, leaving communication by the wayside.
Long story short, I am porting Lyle in Cube Sector to Sega Genesis. LiCS is a PC game from 2005 written in Multimedia Fusion. I am rewriting it in C targeting the Genesis, but once the Genesis version is done it will not be a big struggle to get the new C version running nicely on the computer as well. This leaves portability to other platforms open as well.
Unlike my website recently, the git repository is frequently updated as I work on the project.
Given the decades old hardware in the Sega Genesis, for performance reasons (and personal interest) I am writing the engine from scratch, opting not to use any existing game frameworks. It is not like there is much of that sort of thing for the Genesis anyway. I have created an original data structure represending the many interconnected rooms that make up the metroid-like world of the game, and a complimentary level editor. Also, from very early on the game supports NTSC and PAL speeds, with physics and timings adjusted so the experience between regions isn't so different like many '80s and '90s games were. Much of the Genesis's active players call it the Mega Drive because they reside in Europe, so having good PAL support is important.
By the time I'm done, the engine will be fairly easy to work with, allowing for modifications and additions to let it be used in another similar game. The player object has a lot of dedicated code, but the "enemies" (really just any room-spawned object) can easily be added and inserted into the level editor. With some shared struct data and function pointers some psuedo-polymorphism is implemented for room objects. As of writing, much of the player and cube physics are done, and more than half of the level objects are put in. I have a lot of room work to do, but the skill discovery and map systems are working.
As I reach further milestones I hope to find time to publish more updates about it.
Back to main index