Submitted by , posted on 27 June 2002



Image Description, by


"Last stickman standing" is my entry for the 2002 5k Contest at http://www.the5k.org/ -- the 5k is an annual contest to pack a cool webpage into 5 kilobytes. This is a java applet game that I submitted for the "anything goes" category of the competition.

The idea is, there are these stickmen running around a little 3D room beating each other up. You place bets on which stickman will be the sole victor at the end of each round. From a technical standpoint, the game is pretty neat -- it contains the following features, all in only 4889 bytes:
  • parameterized skeletal stickman animation
  • smooth depth scaling for stickmen
  • custom-made user inerface written without java AWT
  • cheat mode! (peek at the java console for a betting tip)
  • How do you cram a functional java game into under 5 KB? The answer: dirty, dirty coding practices.

    For instance, instead of coding java methods for small snippets of repeated code, I used the C preprocessor, CPP, to create macros. It's easier to maintain the code than actually duplicating the code all across your source file, and it results in smaller code size than finalized methods.

    Another big size gain which is sort of dirty java practice is to put all of the code into one mammoth class. I started developing with 3 or 4 classes, but putting all the code into 1 source file halved the code size.

    Also, coding in loops is key (my code size barely changes when I add more stickmen because it processes them all in a loop).

    Conveniently, java classes may be stored in compressed archives, and your browser knows how to recognize them just fine. The compression also means that repeating elements of code or data is good, because it increases redundancy and is hence more compressible.

    Finally, I used jarg, the freeware java obfuscator/optimizer, in order to crunch down the archive size from 6585 bytes down to 4889.

    Please see the entry at http://www.the5k.org/description.asp/entry_id=717 -- and don't forget to check out some of the other brilliant entries.



    [prev]
    Image of the Day Gallery
    www.flipcode.com

    [next]


     


    Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
    Please read our Terms, Conditions, and Privacy information.