“CodeCraft” Educational Game Prototype

In the time between my positions at Pipeworks Studio and Symantec Corporation, I did a few smaller stints on a contract basis, most of which aren’t really worth talking about. I worked for USNR in late 2013/early 2014 doing vision recognition for lumber edging machines in sawmills, which should have been a lot more interesting than the job turned out to be. I also worked with a company named backCODE in late 2014 doing UI for a Oculus style VR prototype for video streaming app. This job only lasted a week, but afterwards they offered me a longer term contract for a project they called “CodeCraft”.

CodeCraft was a prototype for an educational game designed to introduce students at the high school or college level to concepts of computer programming. To this end, the game involved designing a state machine that an actor in the game world would follow to do very stereotypical ‘video game’ tasks, such as navigating a dungeon, fighting enemies and using keys.

For this project, working remotely on my own, I designed and implemented the state machine at the core of the project, making liberal use of C# interfaces and inheritance. By isolating the structure of the state machine, I was able to let the objects, behaviors and UI elements take advantage of the organization it provided without diluting the state machine with implementation.

After a few months, I got a rough prototype working, complete with an editor for crafting levels and AI behavior using the same state machine used for player actors. My contract ended before the project was finished, but I am proud of the work I accomplished. Most of my game projects tend to be so crunched for time that there hasn’t been many opportunities to really think about software design, so this was a treat.

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s