Thursday, June 20, 2013

Postmortem: The Legend Of Cakeulus, A school project

I'm going to talk about a game which is incomplete and which nobody will ever play. It serves, to me, as a lesson about the volume and complexity of art required in a video game, and the difficulties involved in creating it.

"it’s not hard to find the volume of some things--this branch of mathemagics is called “cakeulus” for a reason"

First things first, you might be wondering what the hell "cakeulus" is. It's a portmanteau of "cake" and "calculus," created by my high school calculus teacher for the final project of the year: finding the volume of a bunt cake using the cylindrical shell method. If you aren't terribly familiar with it, the explanation in the game script goes as such:

CAITLIN: How does it work?
WILLIAM: Have fun Jeremy.
JEREMY: You see, think of a circle, where the radius is x. That makes its circumference two-pi-x. To find the surface area of the cylinder, we multiply by the height of it--but what if the height varies?
CAITLIN: What if the height varies?--and anyway, we want the volume, not the surface area!
JEREMY: We take care of the volume in a moment, because if we integrate ALL of the surface areas--that is, two-pi-x-h-dx--we get the rotated solid, where “h” is the function we’re rotating.

This is my first semi-successful writing of any scale. The presentation revolved around me and my friends reading lines in the front of class (as we had been scrabbling to finish things the night before.) As games go, though, it was the most complete thing I have ever made. It had music, a script/complete plot and cutscenes. Though it was all hacked together at the last minute, it embodies everything that Contact: Lost isn't: a story with very little play behind it, rather than a lot of (ostensibly bad) play with a bit of story tacked on.

The story starts with four brave adventurers who must set off to kill an evil cake and save their king, but the method for killing the beings known as cakes is not simple. One must first extract the soul from the cake before destroying it, which must be done with the magic of the Staff of Cakeulus. The spell itself requires the volume of the cake, due to some natural laws relating to the magic of the game world. The original idea for the game was that of a JRPG where the characters would have spells and weapons that would ease the calculus (in order to save time) but would still have to engage in mathematics and a "classic" (final fantasy-esque) battle system. In the end, none of that was implemented. You could walk around, that was pretty much it. The game itself started with a cutscene with one of my friends reading a monologue describing the scenario. After that, you could walk over the water and buildings (the collision code stopped working--something to do with lua and global variables) in order to get to the magic shop, where we'd read something aloud (hoping the teacher would stop in the right place), and then move on to the tavern, where we'd read some more lines. Upon marching into the forest, the music stopped, and one could walk over the trees and off the screen, as I didn't have time to write limits in. The final area--the battle with the evil cake king--was spoken over the the final scene of the forest.

Amazingly, we received full marks. Nobody had ever made something interactive before (which I expected) and nobody had ever "acted" something out before (more surprising--and we were in costume too!)

Too ambitious for a project done in a week? Maybe, maybe not. Too ambitious to be done at the last minute? Yes, certainly. I sunk eight hours or so into making art and code that didn't all make it in or work. The Legend of Cakeulus is a lesson not about mathematics, but about planning and time management. And about how being stupidly overambitious can still get you marks.

My apologies, but no code or art is available. Some of the art I used is either public domain or creative commons, and there's very little code in the actual game. I didn't figure it was worth trying to release it.

No comments:

Post a Comment