So I just realized yesterday that LD was this-weekend, and the themes seemed agreeable. The 'Limited Memory' theme in particular.
See, I've been hacking away at a game engine/framework for MS-DOS PCs as a hobby-project. I just got the majority of it done last week and was intending to do a self-imposed 48-hour jam session to test it out. But since Ludum Dare happens to be happening on the same weekend I was planning on doing this, I'm going to give it a shot with my bespoke DOS engine - this is risky, since it isn't entirely "battle tested" yet!
But it's as good a test as any.
Why I'm making a DOS Game in 2019
TL;DR - because I felt like it.
The longer explanation comes down to my recent enjoyment of fantasy consoles. I grew up on DOS, my first PC games were Bio Menace, Commander Keen and Cosmo's Cosmic Adventure. I always wanted to make those myself!
Early last year, while I was tinkering with PICO-8 a bit, I was thinking that targeting old IBM PCs was very much similar to using a modern Fantasy Console engine, but with the allure of being very "real", if that makes any sense.
I started up development of initial prototypes early in 2018, but spent months rewriting, relearning and revisiting the code until I arrived where I am today: With an engine that supports 320x240, 256 color (5bpp) graphics, palette swapping and cycling, smooth animation, a sound engine and a music engine for synthesized FM music playback.
The code, when it goes up at the end of the jam, should be decently commented: The nuts-and-bolts of the existing framework code is, at least, but I can't speak for the game code I'll write during the jam: Spaghetti is the way of the 48-hour jam.
For distribution I'll be packing in DOSBox for Windows, and will have standalone packages for people who just want to drag-and-drop a folder into their existing DOSBox installation. If I have time post-jam, I'll get it working with the web port of DOSBox and let people try it in their browsers.
Additionally, the source and tools used will be completely available in the source repo. The tools are all either OSS or freeware, and in some cases are made to-purpose for the engine: I'll include source for those too.
List of tools I'll be using
- DOSBox
- OpenWatcom C
- NASM (Netwide Assembler
- Aseprite (For all artwork, exported to PCX)
- Reality Adlib Tracker (For music)
- Audacity, bfxr (For sound effects)
- Tiled (If needed, for level layouts)
- VS Code
And with that, I'm going to rest and ready myself for the weekend ahead. Good luck everybody, and have fun!