Creating a Game Engine

Apologies for the lack of development blog updates. Hopefully that’s going to change in 2016. I’ve now completed my first year as a video games industry insider and I’ve learned a lot that I hope to be able to apply to the development of my game engine and the Pax Britannia game. One book I read this year that has had a major influence on the project is Jason Gregory’s Game Engine Architecture which I wholeheartedly recommend to anyone looking to develop video games. One tool that is going to be invaluable in making the engine accessible to third-party developers is Bogdan Drozdowski’s asmdoc Perl script which uses JavaDoc style tags to generate API docs from assembly source. It’s CPU agnostic so it’s great for retro-projects. I’m also incredibly grateful to Klaus Jahn, author of many modules for the ZX Spectrum, who has graciously offered to write some asset processing tools for getting original content into the format used by the ZXodus][Engine. So where is development at? Well I’ve been doing the occasional bit of work on different parts of the project over the course of the year. The big announcement was getting the world map working, although I still haven’t hooked it up to the rendering engine. A minor update was the increase in the color resolution of the character generation screens (from 8×8 attributes to 8×2 attributes). Most of the work has gone into restructuring the source code to make it easier to manage. Along the way I added support for a devkit version of the target machine with an additional 32K ROM that can store debug code (invoked by an NMI switch). As neither this ROM not the NMI switch are present on the real machine, there’s no need to have separate debug and release builds. I’ve now been developing an Ultima-like game for seven years so I think it’s time I set a delivery date. And I have. But I’m not going to announce it, because allegedly 70% of projects that announce before they are complete never ship, and this one has already been announced so I don’t want to make things worse. I’ve also recovered a few stray bits of code that I wrote and then forgot to put in the main project folder. Which means I’m finally in a position to hook up the keyboard reading code to the screen printing code. When that’s done I’ll implement the talk system. And when that’s done the game should be playable from start to finish, because currently the “win” scenario of Pax Britannia can be achieved through talking alone. This has the added advantage that the story can be play tested while I work on other things (like an updated version of the character generator). So with that in mind I may actually be looking for play testers at some point next year. However, I want to keep the number small, because although those players will be getting early access to the full plot, it will be an entirely text based experience and potentially much less rewarding than the final fully polished version. But if you want to register your interest, please do so.