TRAUMA – Reloaded

As expected, because of the delay I wasn’t quite able to reach beta yet. I’m missing at least one weekend. But on the bright side, the holiday break at Cologne Game Lab starts this week and I will attempt to power through starting next Thursday.

Also, I got some good work done. This will be a bit more technical so feel free to skip. I went trough all the code and identified instances of things being loaded. It is an impressive list but I managed to make a sense of it and come up with a plan on how to pull everything together into a unified structure.

Level Load List

The final to-do list!

And I also already started laying down the fundaments of that framework. For starters, I was able to remove some loads by including the assets directly in the .swf file. The size of the .swf jumped up to 800kb but that should be Ok nowadays. The rest of the data needs to be loaded dynamically. I don’t want ALL of the data to be transferred from my server every time somebody accidentally fires up the game. Instead, I want to load the level data only when it is needed.

Then I wrote class for handling the loading of XML files. The entire game needs a total of 23 XML files that contain all sorts of important data. Until now the code was never able to cope with one of them failing to load. Now there is proper error checking and even a custom timeout that checks if it takes too long. I hate it when users lose patience before a software does.

But the most important part is that I wrote a crucial class for managing game mirrors. You see, I want to upload the game data on different servers. I want to be able to control where the various copies of the game load their data from in case there is a shortage of bandwidth. I also want to provide some fail-safes just in case a server is temporarily unavailable. So I have implemented a system that manages alternative URLs for each and every file, keeps track of priority, availability, load failures and successes, etc. This may sound like over the top but considering that each and every photo needs to be loaded individually, just one botched up URL request could have the potential to make the game grind to halt otherwise.

Both classes are really fundamental to this final task and I’m glad I finally got them down. The game loads 4 different types of files: XML files, images, sounds and movies. Using the new XML Loader class I can easily create derivatives for the other kinds of data. Also, the mirror management class can be easily used by all types of data without the need of changing anything.

As you can see I have a comprehensive to-do list. Generally, all is left to do is to implement a dialogue box for error messages and writing custom loaders for the other types of files. Otherwise, some of the stuff actually works already. Using the new systems, I was able to load all the 23 XMLs directly from my server today. Smells like beta already…

Krystian Majewski

Krystian Majewski was born in Warsaw and studied design at Köln International School of Design. Before, he was working on a mid-size console project for NEON Studios in Frankfurt. He helped establish a Master course in Game Design and Research at the Cologne Game Lab. Today he teaches Game Design at various institutions and develops independent games.

3 responses to “TRAUMA – Reloaded”

  1. allen

    So the only way to play this game would be through a web browser?

    As long as there is a way to full-screen it, I wouldn’t mind as much. Molleindustria does with their flash games, so I know it’s possible. Just very few flash games seem to do it tough, which is why I’m wondering if you would include that functionality.

    1. Krystian Majewski

      The game can also be played in a stand-alone player. There will be a full-screen mode. The problem is just that so far there is no way to upscale the game to your monitor’s size yet. So the game will appear the same in size no matter if you go full-screen or not.

      1. allen

        Oh, I see. That’s fine, my main issue with browser games is immersion. When I play a game I like it to be the only thing I see. Don’t want to see my browser or start menu or stuff like that. Much rather see a black border or something.

About

The Game Design Scrapbook is a second blog of group of three game designers from Germany. On our first blog, Game Design Reviews we describe some games we played and point out various interesting details. Unfortunately, we found out that we also need some place to collect quick and dirty ideas that pop into our minds. Hence, welcome to Game Design Scrapbook. You will encounter wild, random rantings. Many of then incoherent. Some of them maybe even in German. If you don't like it, you might enjoy Game Design Reviews more.

Twitter

follow Krystian on Twitter
follow Yu-Chung on Twitter
follow Daniel on Twitter