Sponsored By


A postmortem of a school assignment

Tom Bellingham, Blogger

January 25, 2010

4 Min Read

After completing a 3D Air Hockey game I decided to step upthe difficulty level and create a 3D XNA clone of the Company of Heroes game type 'Operation Stonewall'.

 This project was one that I have wanted to do for a long time, but I wanted to have all the tools I needed before I made my first attempt, but as I am really not extremely creative when it comes to game ideas (i.e. I am great at coding YOUR game idea, but not so great at making my own game idea), I decided to give it a shot.

  It all started off well, in the first week I had every German and American weapon, vehicle, infantry squad, and projectile prototyped and pretty well balanced in terms of cost and attributes, as well as an AI that adapted to the number of human players andused a chain of command similar to a real military, and an excellent threading system to boot.  By the second week I had a map designed and a parser that read in bitmap images and created map data from that.

  That was all fine and dandy, except in the first week I already knew that my biggest issue would be art, I tried everything to get it, searching every free site on the net, ripping what I could from other games.  In the end I wound up with one 300,000 poly model of a Tiger tank.  Finally a friend offered to make the models over the Christmas break, but knowing I couldn't depend on someone else to make my art when he had his own work to do, I began looking for other options, but found none.

 Over the Christmas break I got all the audio designed and compiled, as well as a large portion of the gameplay and network code, but it was becoming clear that without art I was down for the count, then the haymaker struck... AI pathfinding in a language with no pointers.

 This turned out to be the final undoing, I tried as hard as I could, managing to create one O-normous function that slowed the whole program just when tested on one vehicle, and that was without anything but a green background being drawn.  I tried and tried until the end of Christmas break, then finally asked for the teacher's help.

 I was given a url for a game engine, but unfortunately it was difficult to understand its implementation, and my heart wasn't really in it, using someone else's engine was a good band-aid, but for a guy that wants to do AI programming it isn't going to do me any good if I can't do it myself, so I finally scrapped the project, and then found out that my friend hadn't had time to do any of the art, so it was a good decision after all.

 Which brought me to the next idea, after buying Star Wars Battlefront: Elite Squadron I fell back in love with the best game IP of the decade, and my new old game idea. I decided to remake the space battles from X-Wing vs Tie Fighter, that old dos piece of amazing from the early 90's. I made good progress, with only a week left, having some difficulty with AI and not finding any help anywhere I turned, I decided to make it multiplayer only, in hindsight this was a gamebreaker, as I don't have internet at home, so I figured I'd spend my class time working on the networking.

 This was all good in theory, but as the project lagged out and I didn't get to the network portion until only a couple days before the game was due, and when I did I found out the ports were blocked and trying to log in caused my game to crash because I could commune with the server, but could not access the gamer service.  In final frustration I decided I needed a short break from code and to add to my frustrations a new glitch showed itself, for some reason my X-Wing randomly vibrates when it moves, and often when it stops moving it still vibrates, in addition my mesh data gets twisted and contorted until it is completely unrecognizable, and so the vacation began.


Source code can be found at:  https://sourceforge.net/projects/openxwing

Read more about:

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like