That is not dead which may eternal lie...
Dead Days essentially represents the kind of zombie game iGame3D can make in eight days. The team has always looked forward to making a game where fear and loathing were the underlying mood. Last year early test demonstrations of a traveling hungry vampire role-playing game were made, then later a first person adventure started to take shape. Both of these game types required large amounts of game assets, planning, story scripting, game play testing, logic and complex physics like, "if I have the axe, can I knock down doors?". Such complexities were out of the question with Dead Days short development cycle, which was started about eight days before the uDevGames deadline. Compromises had to be made and gameplay was streamlined down to the essential: move, shoot, kill, reach goal. This simple combination harkens back to the origin of video games and appears to remain attractive to the average gamer over twenty years later.
The Gravediggers Toolshed
Runtime Revolution with iGame3D Pro external
Metrowerks CodeWarrior 8
Apple XCode 1.2
Sound Studio 2.1.1
Apple QuickTime 6
Ogg Drop X
Runtime Revolution with iGame3D Pro external (http://www.runrev.com)
We use Runtime Revolution to build the user interface for our iGame3D game-making software. The engine with the scripting language, OpenGL drawing etc. is linked to RR via the plugin "iGame3D Pro external“ that we are developing. We spent most of the time in this app arranging levels, making models and writing the scripts. Here is a screenshot of the Revolution/iGame3D working environment in action:
Metrowerks CodeWarrior 8 (www.metrowerks.com)
You all know what this is! However, we did not use CW to build the game itself. We are using it to develop both the Mac OS X and Windows versions of the iGame3D plugin and the Windows version of the iGame3D Player.
Apple XCode 1.2 (www.apple.com)
The source code for Dead Days was done in XCode. More correct: The source code for the Mac OS X version of the iGame3D Player was done in XCode. The Dead Days application is a special version of our iGame3D Player. This needs some explanation: Games in the iGame3D engine are actually written in our custom scripting language inside the Runtime Revolution environment with the plugin. The iGame3D Player application can run these games. Just copy the game files into the player application package and the game is done. It would have been enough to just release the game code (written in our cryptic scripting language) since that's what actually makes up the game but it wouldn't be very useful to anyone. So we decided to release the source code of the player application itself! The source code for Dead Days is nearly the same as the original iGame3D Player source code. It has some little changes for licensing reasons. Check out the ReadMe that comes with the source code for more information about this.
Sound Studio 2.1.1 (www.felttip.com)
We used Sound Studio to record and edit the zombie growls and screams. By the way, those have been pitched down, these are not our natural voices :-). The background music for the training level was played on a keyboard and recorded with Sound Studio. The sounds came in through an eMac's built-in microphone. We edited some royalty-free sound effects from the web like the gun shot and the punch in Sound Studio as well.
Apple GarageBand (www.apple.com)
We made the background music tracks except for the one in the training level in GarageBand using some of the built-in loops and our own melodies.
Apple QuickTime 6 (www.apple.com)
We used QuickTime to convert the sounds into an AIFF format that Ogg Drop X could handle correctly.
Apple iTunes (www.apple.com)
iTunes was used to convert the music to MP3.
Ogg Drop X (www.nouturn.com)
To compress the huge AIFF audio files into the OGG Vorbis format we used Ogg Drop X.
Apple TextEdit (www.apple.com)
The simple text editor that comes with OS X was used to create the ReadMe files for the game and the source code.
GC was used to convert images into the PNG format. We also created the alpha channels for some images in it.
We used PS to do lots of the textures, and images.
Cinema 4D (www.maxon.de)
We used Cinema 4D to reduce the number of polys on the zombie model. The original zombie model was created a year ago in Lightwave by the multi-talented Charles Goran.
Smultron was used for text operations like "Find and replace" on the game scripts.
Tripping up in the Valley of Shadow
Obviously entering the contest only a few days before the deadline made the process a real rush. We did not have time to test the game on many machines so there was some bug-fixing during the public voting period. There were also issues with the camera that we did not notice until players brought the problem to our attention.
We mistakenly assumed that Mac OS X 10.3 "Panther" was already the standard Mac operating system, especially with the OpenGL updates and bug fixes that shipped with it last summer. Almost immediately after releasing the game we received requests from people who wanted to play "Dead Days" on Mac OS X 10.2.x. After some re-coding and testing about two days into the voting period the game was built to be compatible with Mac OS X 10.2.x.
The newer version of "Dead Days" also had trouble for nearly the whole voting period due to an issue of using the .sit archive format. Certain versions of the StuffIt Expander corrupted the application package on some gamer's machines causing it not to run at all. With six days of the public voting left we released the game again using Panther's .zip format which seemed to fix the startup issues.
Getting adequate feedback was almost as tough as making the game itself. We had about a thousand downloads before the first complaint came in and about three thousand downloads before we received feedback that actually pointed us in a possible direction to fixing the problem.
In the tunnel vision rush to make a playable game some of the essential non-game elements get overlooked. We did not expect the public to go looking for an "Options" screen to change the keyboard settings, screen resolution and mouse sensitivity. We also didn't think they would skip the training level and proceed to mash every key on the keyboard trying to figure out the game. These instances revealed a missing link in our engine that we surely need to work on. Our custom scripting language allows us to check the state of specified keys, but changing these keys would require to change the script files which are neatly hidden inside the application bundle. An easier way to configure the keyboard controls and changing the screen resolution in the game is now high on the to-do list.
The current iGame3D editor which is still in production, has not been tested to see if it could efficiently make a game from the ground up. Several bugs or cumbersome user interface actions in the editor also cost us some time in the rush to complete the game.
Return of The Living Dev
The eight to nine days and nights that "Dead Days" was in development, Tobi finally had absolutely no other obligations to tend to. Life was reduced to game development, food and a little bit of sleep. Bill managed to tear himself away from iGame3D development, survive each day of child care and pull through the graveyard shift until dawn to edit the levels and add textures.
The goal of iGame3D finally proved itself for us, we didn't have to start coding from scratch. For "Dead Days" the only C coding neccessary was the fixing of bugs that the development of this game revealed in the iGame3D engine. With very few quick fixes to the source we were then allowed to concentrate on the creation of the actual content and gameplay.
We benefit from the fact that we have already been working together on iGame3D and related projects for nearly three years. We are well aware of each others abilities and use this knowledge to efficiently deligate responsibilities to prevent production pipeline bottlenecks.
Because of different time zones, it is common that we meet up on the internet and discuss plans, changes, and production just before one of us would pass out. Although some problems arise from this, for "Dead Days" it acted to our advantange in that when either of us woke up there was always cool new textures, levels, models, and music to check out. The iGame3D Team worked like a twenty-four hour assembly line.
The process of creating a game was an intense test for the iGame3D engine and its user interface. The process revealed some bugs and showed us which parts are functioning well already and which parts still need work.
Reflections in the Wisdom Pool
It was an honor to have taken part in this unique contest. Once again uDevGames openly challenged us to create and release a game to the Macintosh gaming community. It's great to have uDevGames as an annual event and we hope that it continues successfully for many years. In our opinion, everyone who was able to create a game in this 3 months is a winner. After this contest the team will continue their work on the iGame3D engine and application. The success of this year's entry is a confirmation for us that iGame3D is going to succeed and sets expectations that much higher for what comes next.
Le culte des Ghoules
This 20 year old German programmer started towards a career in game development when he began to create his first applications with the card based programming environment Hypercard in 1996. With that he produced a tool for the Mac Game "Damage Incorporated" (Marathon engine) that helped making levels, which in turn was used to produce a custom add-on scenario called "Year of the Tiger" for in 1999 together with other fans of Damage Incorporated.
After this, the C language in CodeWarrior 5 was where he experimented with very simple database programming and later a freeware OpenTransport chat application called "P.I.N.C."
Using RealBasic he introduced the world to the "Oni Savegame Editor" in 2000. This program was widely used among Oni game fans, gained a feature story on German TV station NBC Giga and continues to receive positive feeback from Oni players four years later.
After the migration to Mac OS X in early 2001 he entered his first game into that years' uDevGames contest. The contest provided a challenging call to step up his experience of game development and he found much to learn at the idevgames forum. Stepping ahead of his background in HyperCard, MetaCard and RealBasic, Tobi's 3D first person shooter, "GL Thrill", placed eigth in that years contest using C and OpenGL.
In 2004 Tobi graduated high school and has since split his time giving back to his community, both at his employment in a care home and with his personal dedication to the iGame3D project.
What smells like New Jersey and makes games? You have to a sense of humor if you are going to make games with Bill Griffin. This 34 year old New Jersey father of one quotes himself saying, "Writing about myself in the third person is freaky.", thats the kind of guy he is.
After a combination of 13 years toiling in the graphic arts, entertainment, video and tech support industries, Bill came to the conclusion that he had taken his two years of community college as far as it seemed likely to go. Those years of clocking infinite over-time gave him the opportunity to attend the annual design technologies exhibition SIGGRAPH on three occassions and to take two excursions to E3 the annual Electronic Entertainment Expo, looking for a door into the world of game design.
Bill recalls one of these high tech events with an embarassed grin, "I spilled beer all over my pants at the Apple/Newtek boat party, damn!" The 2001 E3 event however is especially remembered for a very encouraging conversation with an important games marketing manager from a big name company that left Bill Griffin convinced that it was time to put away the old things and to take up his life long goal of being a game developer.
In early 2002 Tobi posted a demo of the game engine he was producing with the skills he had cultivated while making "GL Thrill". Bill responded to this by offering his willingness to take on whatever non programming job was necessary to make a game happen in this engine, and a game design team was born.
That spring and summer they used the engine to create a level builder and player called "T3DEdit". 35 custom scripting commands that were needed to produce a first person strategic target shooter with exploding ants was added to the engine during the uDevGames 2002 three month development cycle.
With most of their time focused on creating a tool that would continue to be relevant in the future, attention afforded to the absolute needs of making an amazing game capable of winning the contest was sacrificed and their entry "Antack" placed sixteenth in a very competitive uDevgames that year. Much to their surprise "Antack" would attract over eighty thousand people to download the game within the next twelve months.
By the time that winter came to a close, Bill had used the "T3DEdit" application that was created for making Antack to explore several dozen directions of the engine's abilities. First Antack evolved into a space combat simulation, then there was a castle building routine, that was followed testing 3D clone of the Tank level in the 1984 game TRON, there was a vampire rampage, a famous space tunnel run screen saver, the iGame3D dancing groupie screen saver, a test for tic tac toe, another for pong, a coin platformer example, survival horror concept, a shoot down the 3D flying saucers design tutorial and an early concept for a racing game where among dozens of test levels that came out of the early editor.
The code and knowledge gained from making "Antack" was taken to the next logical step feature after feature to build the foundation for the 3D OpenGL game design environment that is now "iGame3D".
Spring of 2003 brought that name change, removal of some parts of the scripting language, and a switch to Metacard, a powerful card based development environment which finally gave Bill the ability to turn his ideas for iGame3D into living tools. Summer brought the last sad Macworld to Manhattan, where by pure luck Bill met Kevin Miller President/ Owner of Runtime Revolution, the company that had just acquired Metacard a week or two earlier. With iBook in hand and the very limited alpha version of iGame3D, Bill gave his first software engineering demonstration to a corporate executive.
Bill confesses,"It was ugly as sin, it had bugs, and I was having the time of my life making it." Purchasing a Revolution license meant being free off the 10 line restrictions limiting the first Metacard Demo based version of iGame3D and Bill set himself to the task of learning the transcript language by jumping head first into creating a full featured interface for a complex application based on external engine programming by Tobias Opfermann that listed support for particles, several standard 3D formats for import and export, polygon drawing tools and commands, an expansion from an original 35 to 125 script commands, as well as a screen saver standalone among its many abilities.
For the length of uDevgames 2003 Bill was lounging the idevgames internet chat room, between moments of developer inspiration and burn out and found that sharing the creative process on an up to the minute basis with nearly two dozen game developers was much less stressful and much more educational than focusing all his attentions on one game in the competition against them. At the end of that years contest Bill was the proud interface programmer of a fully operational iGame3D beta version with nine demo levels to present to the world.
Then Tobi sent him a barely functional example of a new version of the application with the plan: "Let's make a new interface, one that is so easy people don't need to read any documentation".
A year later finds the team working on their sixth user interface revision for iGame3D, which has taken bold steps away from its dependance of using models from Meshwork and is now hosting its very own 3D format with self contained animations, material shader properties, bones as well as other tricks up its file structure. Their 3D third person action adventure game "Dead Days" showcases the abilities of the new models along with improved OpenGL lighting, the addition of particle effects, and the effectiveness of the 3D modeler built into the engine. The team hopes that a version of iGame3D suitable for general public use will be ready at the end of winter.