So I had this great MiniLD idea, but it turned out that HybridMind completely ripped it off, without even knowing it!
Also, since he did it a month before me, it’s not really a ripoff, just bad luck for me. Stupid MiniLD booking a year in advance…
So here’s what we’re gonna do: I’m going to tell you what I had in mind, and if enough/any people are interested (despite the close resemblance with the previous month’s Mini), we’ll go with it anyway.
If not, I’ll find a new idea shortly. Maybe you could even chose between the two themes.
So, here it goes:
Constraints
Dear, dearer and dearest LDers,
in anticipation of this coming event, and giving in to my never-ending love for the golden times when awesome games held into 1 MB cartridges, I prepared for you a tiny game engine, humorously named:
Retro (the Recursively and Erroneously Titled Retro Object)
It is a simple and very constrained game engine with a Lua and C API, offering the following characteristics:
- Low resolution (160×100) with 1-4 zoom, plus smooth scaling algorithms
- Palette based (8 colors including one optional transparent)
- Old console like input: arrows, A and B buttons, start button (mapped to keyboard, and partial gamepad support)
- Total source + assets shouldn’t weight more than 1 MB
It presents as binaries (for GNU/Linux and Windows, MacOS X if a good will makes the port) to which you feed a Lua source file in which you define callbacks such as update(), keypressed(), etc, and use an API that allows you to:
- Load images/palettes
- Blit images to screen
- Write pixels to screen
- Modify palette on the fly
- Load sound files
- Play sound files
- that kind of stuff
For those who do not desire to learn/use Lua, I intend to make a similar C API, so that it could be used from any C-friendly language (but then it requires you to compile the game yourself, thus limiting portability).
In fact, if you don’t like the engine at all, you can even make anything you want, provided that you stick to the constraints and use no library other than simple IO (basically SDL + standard C/Lua). The idea was just to give the same basecode to a bunch of wizard gamedevers and see what happens.
So there it was. Feel free to express yourself in the comments of this post so that we can decide together what is the better option. Also, the engine is almost entirely coded but it still needs a big evening to finish things up,so if no one is interested, I’ll probably play the lazy card, and just announce a one word theme.
Let me know, LDers!