MiniLD #17 teaser: uncertainties

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!

Comments

mjau
08. Mar 2010 · 21:54 UTC
I like the idea, but the timing could be better, yeah. Still, if you can’t come up with a good alternative, it’s much better than the lazy option.
08. Mar 2010 · 23:10 UTC
I don’t really like the idea, since it seems like a lot of people would have to spend time learning how the engine you made works and either learn LUA scripting or learning the API you provide. Mostly, it just feels like saying “you must use game maker” or something.
Gopher
08. Mar 2010 · 23:37 UTC
Sounds like an idea I was toying with myself you had me until “lua.” I’d likely enter anyway, but if you stick with this theme a C api would be highly appreciated.
09. Mar 2010 · 00:40 UTC
Come on people. “It’s bad because I’d have to learn something”. That won’t fly. Learning Lua in the context of this specific basecode/framework should be a lot easier and more focused than learning it in a general bottom-up way for making your own game from scratch. If a small example game (shoot the invader) is posted to show how it’s supposed to be written/used, then it wouldn’t take many minutes to figure things out from looking at that code. Quick links to required compiler/tools would also be good.

Can’t say if I will join or not, but I definitely like the premise of many small retro games being made under similar technical restrictions. A compiled “pirate cart” should be possible if this is done properly, I’m sure. Neat selection menu in appropriate visual style, launching games seamlessly.
Gopher
09. Mar 2010 · 03:29 UTC
I’ve used it before, I’m just not a big fan of Lua, but that’s entirely a personal objection. Otherwise I like the theme. I dunno about actually releasing the actual api early, since it doesn’t sound like he intended there to be any theme other than the contraints of the “platform,” but releasing some kind of function reference for the api in advance seems like a good idea, assuming such a thing exists.
Tenoch
09. Mar 2010 · 05:18 UTC
Thanks for your first comments. A few precisions that I forgot to mention in the post:
09. Mar 2010 · 20:15 UTC
If there is a C API, then you can use any language you want. :)
09. Mar 2010 · 20:29 UTC
I actually really dig this idea, especially if (as DrPetter mentioned) we can build the whole weekend’s collection of games together into one big (well, little) retro pirate cart-like thing. Very sexy.
Sos
10. Mar 2010 · 06:37 UTC
Sorry for being straight, but I won’t do it thisway. I want to have fun making a fun game about fun stuff, as opposed to scratching my head for ideas that would fit in a tiny screen using tiny set of colours.