This is a follow up to this (which will have a lot of overlap), and shows the evolution in design over the past few months after being accepted to Alt.Ctrl.GDC at the Game Developers Conference in March 2016. From this prototype I quickly saw some limitations that could be mitigated. While functional, the viewport offered a very narrow field of view and so I instead made a traditional zoetrope but put the display into the drum so the 3D figurines that would be animated would spin around it.
Making a traditional zoetrope is straightforward, as it’s just a drum with measured slits around its diameter. However, a significant issue in this situation was transportation as a big round drum would be difficult to fly with across the continent. The solution for this was to make everything collapsible, so I had a central base that had holes for dowels to fit into, that would either be holding up slats or the bird figurines I made. The console box and display supports screwed into the main box base, and I also made rounded tops for the box that had Velcro underneath (see diagram). Other than scrap wood, everything was from the dollar store and, truth be told, 80% of these supplies purchased were motivational chocolate bars.
Under the hood (or wood more appropriately ;) ) it’s being powered by Arduino, just like in my prototype. The spinning is being taken care of by a stepper motor and the console is made up of a push button switch and potentiometer. While the potentiometer is meant to be twisted like a dial, many people thought it was a joystick you pushed, so intuitive design or some kind of signage is something I need to keep in mind next time I whittle peripherals out of wood to prevent too much damage. I did some playing around with the Serial Port in Unity 3D so the game detects when these controls are used. The foot pedal is run from a trinket microcontroller that just maps to the ‘S’ key when pressed.
My original prototype had 8 frames in the animation; this was doubled for Alt.Ctrl.GDC to 16 frames to allow for a smoother animation (which also painstakingly doubled my work, so thank you Satan). I made them out of clay and painted them after sketching out a flight cycle animation on paper. One interesting effect I noticed was that the animation at the front of the drum would look to be very stretched out, while the ones at the back were more normal-sized. In traditional zoetropes you view these back frames, and it must have something to do with the positioning of the figures so close to the slits (idk science~*~*~). Making the animation frames far narrower helped lessen this, and in the images below you can see the difference in roundness between the concept sketches and the actual and narrower figurines.
On the materiality side, things are mostly made out of wood. I originally just used a dark stain to make everything mostly uniform, but there were a few imperfections and notches that stood out that I had to gouge out; the effect of this looked kind of neat so I ended up doing this linear scooping pattern (for lack of a better word) around the entire box. Since I had perhaps the most unsafe workshop setup in my shoebox apartment, I basically would clamp wood to my kitchen island and cut it with a small handsaw – the issue for this came less from the equipment and more from my scarcity in upper arm strength so things took a lot longer than they should have. Still, for eyeballing everything and doing it all by hand it turned out mostly solid and without any digits cut off, so it was a job well done.
As a basic premise, the animation that is created by the zoetrope functions as the sprite that you control in the game. On the game’s screen there are static hitboxes that, when lined up properly with the external animation from your perspective, can give the impression of authentic interaction within the actual game space. The analogue controls position the game world itself, so you/the animation is stationary while the environment moves around you.
The game itself is pretty much the same as the prototype and I will risk repeating myself from my write-up on it. For the showcase I changed it so instead of there being a progression through the different landscapes, you could choose the kind of theme you wanted to fly through (or “flavor”, an Earthbound reference unacknowledged by all but appreciated by me). After choosing the kind of theme you wanted, you then have to physically calibrate yourself in order for the hitboxes to be properly aligned. The extreme differences of heights mean that some people have to lean up or down, and this was tinkered with after originally developing it as a tiny person.
In the game itself, you are meant to be a bird leading a fleet of birds that are returning home after a long winter down south, but you can’t exactly remember the way back. You have to use the controls to position “yourself” (actually the camera in the game) in order to follow a particle system that is meant to symbolize the right path home. When you don’t make contact with it, the screen will slowly fade to back until the game is over.
A neat element to this is the opportunity it has for collaborative gameplay. At the end of the game, the total geographic distance you travelled is calculated by multiplying the time that you spent playing the game by the actual speed of a migrating bird. This distance is plotted on a pseudo-North-American map in addition to the distance that everyone else playing the game has travelled. The progress to the end goal is cumulative then, and much like how migrating birds take turns at leading the flock (like Canadian geese in a “V”-formation), everyone who played the game is also able to take a turn at being the leader, and everyone’s quantifiable contribution counts. Super cute.
The landscape is still generated “randomly” in that objects are randomly instantiated from an array on different layers (one for grass, trees, plants, etc). In the images below you can see what this looks like (with a background photoshopped in). The game is made up of six different planes that are scrolling across the screen at different speeds, which creates a parallax effect. When the button is pressed, the planes all shift forward, and the one at the front goes to the back, and the speeds are adjusted to maintain the same pace of movement. I added a blur effect that helps hide this change.
Overall it was a lot of work to do, especially while juggling classes. There were literally a million some crises at GDC that I had to tackle (including power issues from my external display and having to, in a busy hostel with limited supplies, completely rebuild some vital wooden parts from foam board that had been broken over the plane ride, among many, many others), but it was well received by people who played it and it has since operated for 10+ hours straight in my apartment without issue.