So, ToJam ended this Sunday night and it was a fun experience. Our team ended up being 5 people, plus some help from a graphics floater who was helping various teams at the event.
To outline our time, it was pretty much a frantic dash from Friday to Sunday to make the game we had designed. A large portion of Friday was taken up just in getting our entire team setup at the event. Packing up our desktops, bringing them to the event, finding out one of them had their heat sink fall off onto their video card (makes me cringe just thinking about that happening!) and various issues of connecting to a very busy wireless network. Two of our members were doing the majority of the coding on Friday, setting up XNA and our program’s basic architecture so that we could more easily split up the programming tasks in the next days between the 4 programmers we had available. I spent Friday with a bit of code, but also doing the drawings for our game’s buildings. The weekend itself was the team building the actual game, filling in all the planned, but unimplemented pieces of functionality needed to meet our vision.
Our game itself was a resource-management game where the player competes for world resources with an AI opponent. Our idea was to have competing ISPs fighting for houses to use them as their internet provider and get a monopoly over the city. The good part was we got the engine made needed to implement the game. The bad news was that to get that engine finished we cut it really close to the wire, and as such never got a chance to properly playtest the gameplay. Due to the size of levels, concentration of buildings, costs of network maintenance, and all the numerous variables associated with how satisfied a customer is with a certain ISP in the game, our game worked, but didn’t have the balance we would have liked to make it truly shine in its own right.
It was a great experience overall and I’d love to do it again, but there are definitely some mistakes I’d try to avoid next time to try and assure that at any step midway through the process, not only do we have something that runs and is interactive/playable, but that the “fun” of the game is iterating as well. There were some very good games I saw that were based on relatively simple concepts. You could see these teams had an enjoyable”toy” to begin with, and although they may have not hit every goal they wanted, their end results were still fun, and could just be made increasingly enjoyable with more time. Our game had a good engine and a strong team, but I feel it was too big a step to go from “engine” to game in the time we had. If we had weeks instead of days it would be a completely different matter, but I think the time we had didn’t lend itself well to the genre of game we chose to pursue.
Once the organizers put up the games that were made during this Jam, I would highly suggest looking at my favorite two games of the event, “Cheese is War” and “Super Cheese Repulsor”. Both of these games I found to have fun gameplay, although you’ll have to invite a friend because they are both multiplayer. Cheese is War used the farseer physics engine for XNA to make some interesting physics based gameplay, and of course I’m even more proud to say that they were another UofT team with most, if not all, of the participants from the UofT Game Design and Development Club.
One other happy surprise I had was in my own programming competence. I was concerned over using C# and XNA for the first time at this event, as I hadn’t even touched either beforehand due to the busyness of classes and my final exams. My teammates assured me that C# would be easy since I knew C and Java, but I’m often a skeptic on such matters. Fortunately they were right. I took to game programming in XNA quickly and once I was programming it was easy to get my tasks done. Sure I don’t know all the intricacies of the language yet, but being able to work on a simple engine was a good starting point if I want to pursue learning C# or XNA further.