Come on, you can’t make a game in just four kilobytes. That’s just impossible. It’s crazy talk. It’s… oh, 45 people have done it this year alone, and many dozens more (including none other than Notch) in years gone by. Hmmph.

Java4K is an annual contest to create java-based browser games that use no more than that sainted figure. 4096 bytes. That’s all. By comparison, the 600-word Word document I saved this morning is 31K. We’re really talking about tiny here. But enough about Jim Rossignol. The results of the 2011 contest are in, and you can play all 45 of them right now – including miniature remakes of all manner of retromancers’ favourite games, such as wee Zelda above.

The winner is 4KCube3D, which is somewhere between Marble Madness and a Rubik’s cube, and quite cleverly so. I’m not as a hopelessly useless at is as I am so many logic-based games, which also endears me to it.

Impressive in a different way are 4096 byte demakes/remakes of the likes of Mario, Zelda, Wolfenstein, Double Dragon, Outrun, Star Wars’ Hoth battle and Canabalt. Obviously they’re basic, and the inevitably causality of music and sound hurts them, but the technical achievement remains extraordinary. Four kilobytes. Tiny mind = blown.

But can everyone stop remaking Mario all the damned time now, please? There are one or two other games from the 80s which were quite good too, you know.

Try all of 2011’s entries and winners here. It’s also worth exploring the archives, which feature no less than 8 games (including VVVVVV, Sonic, Left 4 Dead and Lemmings demakes) made by one Markus ‘Notch’ Persson. You may be familiar with his later work.

@Stijn: You probably know this already, but it is an interesting factoid about Javascipt. Its name was chosen to piggyback off of the popularity of Java, even though they are almost nothing alike.

@Valvarexart: There is a fairly good Reddit community at http://www.reddit.com/r/gamedev with resources for every level of developers. The choice of programming language isn’t that important, but Javascript is probably a more popular one than Java if you are just doing stuff in the browser.

“But can everyone stop remaking Mario all the damned time now, please? There are one or two other games from the 80s which were quite good too, you know.”
Indeed, and not just Mega Man, Castlevania, etc. There’s more to the 8 bit / 16 bit era than console Nintendo, Sega, and Capcom games.

First of all: go on Ebay and get one (or more) of the Nintendo Power Player’s Guides. Any year, though earlier is better. DO IT. Got it? Good. Look at the sorts of games that were being made. Do you see the sorts of games that were being made? That’s right: EVERY possible kind. I’m not sure if there were similar books published for other consoles, but checking those out would also be a good idea.

There wasn’t any such thing as a “genre” back then. It was every bit as open and experimental and innovative as the Atari years but even more so because there were three more standard buttons, tons (relatively speaking) more memory, and a much bigger color palette and resolution. Some games were a tiny bit too experimental and ended up being unintentionally “Nintendo hard” because not everyone had figured out the value of playtesting yet, but at least no one was pandering to the “casual” or “douche bag” crowds yet and only a few were directly ripping each other off.

Here’s a real challenge: instead of copying a great and well-known game like Mario, copy a BAD game (for example: ANYTHING reviewed by the Angry Video Game Nerd), and change it just enough so that it’s actually good. Try to keep the controls as similar as possible (though if the game’s controls were frustrating, you can tweak them). Try not to make it too much like another good game. Basically, try to make the sequel that never was, for a game that certainly never deserved a sequel, and make the sequel franchise-worthy.

Some have done a similar thing, like the Action 52 remakes, but there’s a ton more bad games out there that were good ideas on paper… or were just bad ideas to start with (even more of a challenge!).

EDIT: Alternately, remake something good but obscure (like something the Happy Video Game Nerd reviews), preferably something you haven’t heard of, and try to do a genre you don’t even normally play.

It does make me weep a little that gaming technology has stabilised to the point where that sort of Cambrian Explosion of innovations may never happen again. Everyone just wants to do “the same but better” and nobody seems interested in trying something dramatically different to change our expectations of what is possible in the interactive experience-o-sphere.

It’s all just freaking mammals and some reptiles which might just be birds with scales instead of feathers, and quaint little bugs that everyone ignores.

But in our past is the Nintendo Power Burgess Shale, showing us what might have been…

Not quite 4kb, but anyone remember kkrieger? 96k game, 3D shooter with some pretty sweet procedurally generated textures, sounds and stuff like that. Ran like crap on pc’s a few years ago but should be fine now.

We used to have 256-BYTE games competing at demoscene (assembly). Now, THAT’s impressive! 4K for Java is decidedly impressive too, but call me old fashioned, assemby games and demos are still kings of skill in my heart. :)

It’s also worth noting that long-time readers have been familiar with Notch’s earlier work for some time. Well, maybe it’s not worth noting. Hell, I can’t even remember what I wrote last week, let alone you guys.

Edit: seeing as someone responded to this comment, I’ll leave my reply fail for all to see.

@Stijn: You probably know this already, but it is an interesting factoid about Javascipt. Its name was chosen to piggyback off of the popularity of Java, even though they are almost nothing alike.

@Valvarexart: There is a fairly good Reddit community at http://www.reddit.com/r/gamedev with resources for every level of developers. The choice of programming language isn’t that important, but Javascript is probably a more popular one than Java if you are just doing stuff in the browser.