Recursion is a game that was pitched for the University of Virginia’s Student Game Developers (SGD) Fall 2009 lineup by Daniel Epstein. I was intrigued by its premise, and being a first year, I was excited to get involved in any project possible. A puzzle game at heart, Recursion borrowed a mechanic used in the popular Braid: using previous iterations of your character, solve puzzles. Though, as its name implies, Recursion used recursion. There is no ability to re-control a past self, which made players more thoughtful while level exploring and puzzle solving.

It’s strange looking through this old work now. I distinctly remember having random spurts of inspiration and laziness, so the project had very sporadic progress, but fortunately, Recursion was one of the games that had the considerable headway in terms of project completion during that semester. The project spanned over two semesters, since character design and animation were the main focus of the Fall Semester. We wanted a character that was simple enough to be presented in a 16×16 pixel box, and with that limited amount of space, it’s definitely difficult to make any detail noticeable. This resulted in a simple character: Piko. With feet. I resorted to using my favorite original character as the game’s main mascot, but for some pretty obvious reasons, we had to change the character at the end of production.

The animation sequence was done in Photoshop. By layering each 16×16 frame on top of each other and using Photoshop’s animation panel, exporting an animated GIF was simple. Achieving a satisfactory walk cycle, on the other hand, was more difficult. At this point at UVa, I had informatively read anything about animating characters, despite having a fundamental interest in it (as evident in my second year). The above image is a compiled set of all the frames involved in animating the character. Normally, the images are stacked linearly instead of in a grid/matrix, allowing programmers to more easily access the frame they need to call when the character moves/jumps.

The original method of approach was to have Piko remain stationary and have his feet move under him. The resulting animation seemed unnatural, as seen above. While the jump animation was pretty straightforward (a jump action frame that moves up + a falling frame that moves down), the walking animation revealed the lack of present gravity or weight. This was later resolved by having Piko’s body rise when he pushed with one foot, and fall as he put his other good foot forward.

The character’s actual lateral movement is taken care of by the programmers who translate and transpose the 16×16 image across the screen at a certain rate.  A blinking frame was also included, to breathe more life into Piko’s static moments (when he stands and does not move). A problem eventually arose regarding the character’s shading. I drew Piko and the animation with an implied light source from the top left of the screen. Sprites are normally flipped along the Y-Axis in games where the character must travel both left and right. However, if we flip Piko with his shading along the Y-Axis, then the game’s imaginary sun suddenly reappears on the opposite side of the game. This actually was only reflected in the character animation, since the surrounding level designs don’t really change due to user input control (except for interactive things), and animating Piko for the first time consumed a lot of my time, so I ended up not recreating a “right-version” of the sprite (as opposed to “left-version”).

And before we knew it, winter break was upon us. Many of Recursion‘s original members returned the following semester with the mindset of completing the game. Level design and level construction then took off. Team members constantly brainstormed level ideas and attempted to classify them based on difficulty. I decided to form a level palette that was futuristic and industrial; after all, a character that can use iterative versions of itself must be using some amazing technology, right?

Many of you have probably already noticed, but Piko with feet looks unfortunately similar to HAL Laboratory’s Kirby (albeit the smile, arms, and pink-ness). The similarity was a bit glaring to most people I showed the project to, so it was decided that we would change the character to a walking computer (or something of the sort).

I’m not as proud of this design that I am with Piko’s. I encountered numerous difficulties in dealing with the screen’s size as compared to the screen’s feet. I never had much problem with Piko mainly due to my familiarity with my own character. However, the nature of a walking computer/gadget proved to allow greater flexibility with a game story.

Eventually, the entire team, old members and new, re-evaluated the project’s status and discussed whether there were any other goals that we wanted to achieve. I, for one, wanted our puzzle game to have an epic story, so I pushed for as many ideas as possible. If we could engage the gamer and give purpose to our character’s recursive ability, the end result would be multiple times better. My proposal was as follows:

Toggle Story Synopsis

Super Scientist [insert ingenious name here] invents things. But he’s a failure. Super Scientist [insert ingenious name here] has thousands of ideas, many of his inventions do not work. The only inventions that was ever successful where his mobile monitor machines, otherwise known as M3 Months upon months pass without a new invention and with each failure, Super Scientist [insert ingenious name here] becomes depressed and yearns for success.

Fortunately, one fateful day, Super Scientist [insert ingenious name here] makes a break through and invents an invention of inventions: the SUPER SHRINKER. With the ability to shrink anything to minuscule sizes (and, of course, un-shrink them), the SUPER SHRINKER has tremendous power to the user. But though he can invent things that can be used for bad, Super Scientist [insert ingenious name here], a virtuous man, saw the evil potential in his new invention and hid it safely away.

Many years pass without incident, when one day, during one of the M3’s firmware update sessions, which included a recursive program, one M3’s firmwares goes haywire, causing the M3 to destroy the scientist and his lab. The evil M3 steals the SUPER SHRINKER, and with plans to shrink the whole world, runs off for world domination (or destruction).

The dying scientists realizes the tragedy that is about to unfold. In a race against death, Super Scientist [insert ingenious name here] finds a working old-beta-version of an M3. Aware that the recursive abilityes of the rampant M3 could prove troublesome, the scientist installs the same firmware into the other machine. We follow the Beta-M3 on his quest to stop the Evil-M3 from placing the SUPER SHRINKER on each continent of the world to successfully shrink Earth to oblivion.

. . .

OK. Reading my description two years later is pretty embaressing, though, at the time, I was super excited about the idea. I gues  the discrepancy arises between thinking of an idea during the stress of school/the project and not. Stories were not really concentrated on in any of the games that SGD made. In fact, most of the members of SGD were programmers/computer scientists; there was an apparent lack of artists and story writers.

Regardless, the project continued, and I came up with several other level palettes that the team could use in designing levels. The next best “setting” was the Tundra/Antarctica which can be seen below.

The project in itself was super fun, and looking in retrospect, I sincerely wish the game had made further progress, but alas, schoolwork came first and Recursion slowly came to a halt. I had the pleasure of working with people I would never otherwise have. I especially enjoyed working with my friend Xesque, who animated an alternate version of the our character that never made it into the project, but that I am quite fond of:

Join the discussion One Comment

  • Isaac Kim says:

    Dang I can’t believe I forgot you did SGD during 1st year. It’s amazing to see what a little imagination can do for CS majors (just kidding hahaha). I’m even more blown away at the kind of stuff you’ve done and you should be loud and proud about it all! You’re too humble dude.

    So what happened to the game? Is it saved away somewhere or, God forbid, it is lost to history? Or did it just not move beyond the pitch/planning phases?

Leave a Reply