One of the largest struggles that you have trying to create games with a three man team (none of whom are true specialists in any of the crucial parts of game design: art, AI, sound) is trying to figure out who is going to do what. Even though I am the one studying art, none of my studies involve doing 2-D artwork, and thus James decided to step up and take care of that section. John really wanted to work with sound, and that left me doing a large chunk of programming. As one of our visiting lectures said “you never want to use designer artwork” and I would argue you never want to use designer anything…however when you are stuck being the designers, and everything else, you work with what you got.
I feel that one of our biggest downfalls was not having a fleshed out design document from the beginning. We ended up having to figure out a lot of the gameplay while we were trying to program the game. We had some of the basic ideas of what we wanted to accomplish in the beginning, but up until the very end we were still debating about how the game should end, what abilities the player had, how the wolves would work, etc. So for next time, have a working, fleshed out design document ahead of time, so you know exactly what you need to be tackling.
As James mentioned, the wolf A.I. is very lacking. Wolves attack you as you run forward, and once they are left behind, they are redrawn in front. This method was adopted mainly because I was having issues with game performance when managing the creation and disposal of wolf objects in the game. For some reason, we were unable to figure out why the memory was not being appropriately allocated back to the system (or conversely, where I was getting into exponentially nested loops) and so our attempts at having more dynamic wolf behavior was rather stifled.
One of the most important lessons from computer science that was enforced in making this game was using multiple inheritance (multiple inheritance in C#) in order to deal with drawing objects in our 3-D world. Since draw order is especially important when you are drawing 3-D objects, having a way to sort those objects help. Since I was able to have the trees, wolves, and cabin inherit from the ForestItem class, I was then able to just use ForestItems in the Comparor class.
Best Wishes,
Matt
No comments:
Post a Comment