I enjoyed IGJ1 so much that I jumped at the chance to donate my 2D physics engine to be the basis of IGJ2. The engine was a somewhat enhanced and optimized version of the code I used in IGJ1 - a semi-implicit penalty based system. It was optimized to do certain things well (large scale stable contact/stacking), was bad at others (minimizing constraint error/conserving energy/etc), and simply didn't handle some common things (like coefficient of restitution).
I was afraid that the jammers would have trouble with physics or the limitations of the engine, but they were all clever people and managed to create a whole bunch of cool games in four days.
After the first two days, the demand for tech support died down and I decided to make a game. Or rather, I aimed for something a bit lower - an experiment to see what could be done with feeding music into a physics-based world. I also wanted to create a character with direct control. The first control version used both analog sticks - one controlling the head, one controlling the tail. I found the curling-up/stretching-out jump motion to feel good, so I made that into a primary mechanic. Later I settled on a system where the head and tail could bite onto things to grab hold. The player character (a shrimp) could toss small objects, or grab hold of larger moving objects to get around. The music beats perturbed every object in the world making them dance, and the chorus was zero-G. In the end I named it Ebi Flip.
Chris invited me to the second Indie Game Jam, and it rescued me from burnout. Using Zach’s cool Shadow Garden system and my new 2D physics system, I wrote two games, one of which was a lot of fun.
It was a 2P maze game, where the players used their shadows to push along a squishy block to their designated end point (they could squeeze the block down to get it through tight holes). The interesting bit was that there was no way for the code to tell one person's shadow from another, so you could use your shadow to block the other player's path. This, predictably enough, led to pushing and shoving.
Not a great
game, but I’m proud that Gary and I were able to create an Xbox 1 launch title from
scratch in only 9 months. Inspired by
Treasure brawlers, I made a combat system based picking up enemies, beating
them unconscious, and flinging them (possibly into other enemies). Well, that and lighting your farts on fire.
The graphics engine was definitely the coolest piece of tech. Rich wrote a great engine that did deferred lighting of bump-mapped stencil-shadowed geometry. Adrian wrote some crazy over-zealous offline shadow volume optimization for the static shadows. My favorite bit was figuring out how to do deferred point lights.
For physics, I wrote a semi-implicit penalty system. For movable bodies, spheres were the only collision primitive. Combined with joint constraints, this was enough to make a very stable ragdoll system.