WT Final Demo
This year, to fill in space in my schedule I took a class on videogame programming1. The class was divided into three teams, each of which was to develop an original game using the Torque game engine. Despite the many failings of Torque, we persevered, and so not only did we have a reasonable finished product, but I had a great time.
Earlier this evening was our final demonstration, which was held in lieu of a final exam. Our game, Warlock's Tower, is roughly inspired by the board game Betrayal at House on the Hill, and so is a turn based game within a randomly generated world that changes with every play-through. We're well aware that this was a somewhat strange thing to do with an engine that's primarily geared towards first-person-shooters, but it came out fairly well. In fact, during our demo, no one, including ourselves, the TAs, the professor, and our classmates was able to identify any failures of our game. This was not only pleasant, but somewhat surprising, but I'm glad to see that our hard work paid off. (We were in the lab for 14 hours yesterday with one break to eat.)
On the whole, I'm sad that our class has ended and I won't be working with my team any more. Even though I only knew one of my teammates at the start of the class, I feel that we've really gotten to the point of working quite efficiently together. This class turned out to be an opportunity that I'm glad I didn't miss. The nights of staying up until 3 (or 5) a.m. working in the lab were sort of like going on a camping trip, I think: some times it's fun to rough it, as long as your getting to do it just for fun rather than being forced to.
I'd like to say that I've learned a lot from the class, but really I didn't. THis really comes back to the game engine we were given as the basis for our work. It was certainly invaluable for me to have a good working knowledge of C++ to deal with Torque, but Torque itself leaves much to be desired. I'd like to rant a t greater length about torque at a later date, but suffice it to say that our team spent at least as much time correcting or working around problems in Torque as implementing the actual features of our game in Torque. That's not to say that we needed work-arounds because Torque wasn't suited to what we were using it for, but rather that there are numerous features of Torque itself, which, at least in the old version we used, were broken out of the box. Like I say, I'll elaborate later.
I must admit to being pretty proud of our final product, particularly in the face of the supplied engine. I had the honor of implementing the random environment generation system, as well as creating the mini-map, doing a major portion of the item/inventory system, and creating about half of the artwork we used. By the end we also had an extended particle effects system, detailed display of all players statistics to all other players, and a cool magic dueling system.
Naturally we want to show off how awesome our creation is, so we posted a Windows binary on our project website. Maybe at some point we'll get the Mac OS version up as well.
-
I had originally intended to pursue a CS minor in college, but after taking a year of introductory CS and being totally bored with the lectures, I decided to give it up, after all, it wasn't like I had space in my schedule to spare. In particular, the theory courses that made up the middle levels of the CS major and minor just didn't appeal to me; while I do enjoy thinking about algorithms, I don't want to be graded on thinking about algorithms. However, when i was struggling to find enough interesting courses to fill this years schedule, a friend whom I had met in that introductory course freshman year told me about the videogame programming course. It's basically intended to be a senior group design project, but it sounded like fun and I figured I could handle it. It turned out to be a great opportunity to work on a project with a group of friends that I had never imagined I'd have, and was really just the kind of applied CS that interests me far more than all those boring theory classes I skipped. ↩