3:15 PM 4/20/2008 – Next step: more optimizations.
Source Code: 44 lines, 1,065 bytes
Optimizations: Going to hold off on this one, since I’m likely to change the design.
Executable: 40,960 bytes
Optimizations: In my haste, I realized I’d posted the Debug version. Switching to Release and tweaking the project settings got me all the way down to 6,144 bytes. That’s an 85% improvement! Awesome!
When talking about videogame minimalism, one of my favorite examples is Wario Ware. Each of Wario Ware’s microgames (the meta-game is another issue in itself) gives a one-word instruction, and makes the player figure out the rules, mechanics, and goals from that instruction, and from the game itself (in around five seconds, no less). Nowadays, even the most complex games, built by teams of hundreds of developers, have very little in the way of prior instructions. This is mainly because players just want to jump into playing a game without reading about how the game is supposed to work. Most of the time, a player with some previous experience with games can experiment with different inputs, observe the feedback from those inputs, and infer the controls. By playing and watching the game for a few minutes a player can usually figure out the goals of the game. Players are basically doing a pattern-matching search over the game-element archetypes that they have already experienced. This is not to say that this process is inherent in a game’s design, however. There is often significant effort put into designing the game’s input and output in a such a way to hasten the player’s understanding of how to play the game.
The main point here, though, is that it is not required of a game to tell the player exactly how to play. The player is often left to themselves to figure out how a game works. Given that, I think I can safely remove about half of my game. The player does not need to be prompted, I can just have the game wait for their input, and from the response to their input, they can learn the rules.
Doing this let me cut out another 5 lines of code.
Here’s the new tally:
Executable: 6,144 bytes, surprisingly this isn’t any smaller. Crazy. Computers are indistinguishable from magic….
Source: 39 lines, 901 bytes