Andrew Friedland

BeeStruction: Fall 2009
BeeStruction is a project created in one semester by a team from the Game Creation Society at Carnegie Mellon University. The player is controls a swarm of bees and the goal is to grow their hive and expand their territory. In order to expand, the bees are sent out to kill and break apart elements of their environment, using the pieces to grow the hive.

This project was my first experience with a component based system. Having spent time with this system, it seems like an incredible way to make a game. It is very easy to suddenly make an object flammable, emit other objects, or move with just a few lines of code, and almost all of the code is reusable for any other object.

One large problem we ran into durring development was creating new entities. Partway through the project we switched over to using XML files to define each level and each different entity type. This allowed us to tweak variables without needing to recompile and to separate the levels and entities from the code base. We had a level editor to create the XML files for the levels, allowing us to easily place entities where we wanted. However, we did not have and entity creator. For any new entity we needed someone needed to create a massive new xml file defining all the systems for that entity. Because these are XML and not code, everything needed to be hard coded. There was therefor no simple way to change variables across multiple entities and no simple way to dynamically define variables. The end result of this was that it took a long time for any new entity to be created as no one wanted to actually create the new xml file. Also, we frequently copied old XML files and changed variables as needed to create new entities, resulting in multiple variables being set incorrectly up until a few days before release.

C# with XNA

Windows XP with service pack 3, Windows Vista, or Windows 7

Project Homepage

Source Code

Connor Fallon Project Leader,Creative Director, Art, Voice (Mechafarmer)
Matt Klingensmith Technical Director, Programmer, Music
Andrew Friedland Programmer, AI Extrordinaire
Peter Anderson-Sprecher Programmer, MechaFarmer Mechanist
Amos Yuen Programmer, Waypoint Waylair
Kris Brakke Programmer, MechaFarmer Music
Mark Slabinski Level design
Jill Goodwyn Art (character)
Paul Miller Art (background)
Sarah Scialli Voice (Queen Beeatrice)