llemarie’s weblog

Programming, tinkering – Lionel Lemarié

Programming: Teenage Mutant Ninja Puppets

Posted by llemarie on August 31, 2007

This is a little physics game that I presented at Breakpoint 2007 at Easter. It’s a 96KB executable for Windows.

I had originally designed it for PLAYSTATION®3 and had no intentions to enter at it a demo party, but some friends of mine convinced me to reduce the size from >3.5MB to the required 96KB. Needless to say some features had to go. The nice 2kx2k texture for the font: gone. The detailed texture for the curtains: vanished. The multiple layers of backgrounds larger than the screen: history. Ah well.
So it features:

  1. My own physics engine based on the Verlet integrator.
    1. Characters have no predefined animation, you move the head and the movements of the body are procedurally generated accordingly.
    2. The characters have a skeleton made off springs. Hard springs link make up the bones, soft springs link parts like the hands to the feet.
    3. Collisions generate slow-motion and motion-blur, matrix-style. Cheesy, but I like it (:
    4. Cloth animation for the curtain.
  2. Weapons: Whip, chains, stick, nunchucks, sword (buggy, looks like a screwdriver).
  3. Cell-shading, reflections, shadows, pows – all fake.
  4. A.I. Easy to hard, where hard is *hard*. Kicks your ass.
  5. Big boss. Literally. It’s twice your size.
  6. Story mode.
    1. You start off as a regular Jo and you gotta save the girl.
    2. As you progress through the levels, you get more enemies at once and they get tougher.
    3. Then you fight ninjas, and when you beat them, you become a ninja!
    4. Then comes the big boss.
    5. There’s also a custom mode where you choose the number of human players, CPUs, bosses, weapons, etc…
  7. Poor sound effects, music *
  8. Keyboard or analog stick controls.
  9. Network support, up to 32 players *
  10. Menu, mapped on the faces of a cube. It’s simple, but effective, I would do it again.
  11. More that I forget, I spent months on it.

Features marked with the * had to be removed from the build to fit in the 96KB version.
Get it from pouet.net. (There’s a better video of it there too).

Updated: I posted the big version here.

See the video after the jump.

This is an earlier development build that has better textures and the character editor that didn’t make it into the 96KB version:


12 Responses to “Programming: Teenage Mutant Ninja Puppets”

  1. tmasman said

    Just curious… What language did you develop this in? Is there a 2 player mode (as in head to head)?

    I’ve never written any decent games, just utilities & work-related apps, but I’m eager to learn. Any decent references or sources that you use that you wouldn’t mind sharing?

  2. llemarie said

    Hi, in Windows I used Visual Studio to do it in C++, OpenGL for graphics, DirectInput for keyboard and joysticks, normal Windows wav libs for sound (although the new version uses DirectSound which is a million times better), lots of Win32 calls for timers, etc…

    An excellent resource is nehe.gamedev.net. It’s got many tutorials and some basecode to get you started. Flipcode.com used to be excellent but as far as I know it’s know discontinued, which is a major shame.

    The game does support 2 player head to head, or 4 (2 against 2, 3 against 1) or any combinations up to 8 players locally, 32 players on the network.

    Good luck!

  3. thehaman said

    Great game. But what is the weapon “flag” supposed to do. I shows up in my list of weapons but when I play I have nothing. Is it a bug or what. Thanks.

  4. llemarie said

    Hi Thehaman,

    The flag is not implemented. It was supposed to be a cloth on a stick (like a normal flag), that players would hold and opponents would kick the flag off them and grab it. The game would be to hold the flag for a certain amount of time while everyone is trying to kick it off you.
    I never got around to putting it in the game in the end ):


  5. Gman said

    I know there is 2 players, but how do you control the 2nd player?

    • llemarie said

      Hi Gman,

      You need a pair of joypads to play 2 (or more) players.


      • Gman said

        What is a joypad? And where can i get one

      • llemarie said

        Hi Gman,

        A joypad is a game controller, such as those used on PlayStation. You can get USB joypads for PC, or a USB adaptor for a PS2 controller or similar.

        The easiest way to find it is to look for it on Google, there are plenty of options on Amazon and many websites.


  6. kyle said

    im having trouble i have tried and tried to get this game on my comp but it says when i like click on the game it couldent start because MSVCR71.dll was not found can u help?

  7. Pissed said

    Come on, the bloody slow-mo is useless why not have the damn two player buttons there? THINK. I’m not going out to buy a $30 controller just to let my friend play.

  8. Sammy said

    hey can we atleast play on 1 keyboard i mean 2 players on 1 keyboard???

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: