FIDRIS Postmortem

Iain Bethune — Apr 06, 2009

Background

I seem to be spending more and more time on planes these days -- often slowly taxiing around airports or waiting in a holding pattern to land! While idly staring out of the window I started thinking about what it must be like to be an air traffic controller, trying to get so many planes to land safely and quickly with only a limited number of runways and aircraft stands. Thus the idea of FIDRIS was born. Fast-forward several thousand years and you have a game where the object is to manage a space station, docking as many ships as you can given finite resources of time and space.

As one of the uDevGames voters commented "I'd say it was a creative risk to tackle the idea of this game", and that's definitely the case -- at the start of the contest I just had this idea, but didn't know if it would actually turn out to be 'fun' or not! What I did know was that it was a simple enough idea to be finished and polished within the three months I had available for the contest.

Development Process

During the last uDevGames (2004) contest, I was a student, so time to work on my entry was not an issue. Now I am holding down a job, married, and have a nearly two year old daughter. Coupled with the contest falling over Christmas, New Year, and our decision to take a week's holiday in January, I knew time would be tight to get this finished. Fortunately, I have a substantial C++/SDL/OpenGL codebase I have built up over the years which helped me get the shell of the game up and running in a matter of hours. Since getting the 'fun factor' into the game was the major risk for the project, I worked hard to get a first playable build up only a week into the contest. Graphics were rudimentary at best, but it gave me enough confidence that the idea would work to continue.

After the initial rush to get started, progress through to the end of January was slow. However, during this time I did manage to get ships moving about 'realistically'. By early February, I had most of the elements needed to make a game -- menus, score counters, a way to 'die' and restart, and now that the deadline was in sight it was time to throw out all the extra ideas I had hoped to add and polish, polish, polish.

In the last two weeks of the contest, I managed to get all the graphics done (starfields and planets), 3D models for two different ships and various space station components. Originally I had planned to have a file format to define a level in XML, but due to time constraints I had to drop this in favor of hard-coding the 4 final levels in an include file. I picked up some great sounds effects from FreeSound and fellow iDevGames member Jesus De Meyer (Taxxodium/eDot-studios) kindly allowed me to use a couple of his tracks which add greatly to the atmosphere of the game.

And then it was over to the voters to decide if they liked it or not!

What Went Right

Limiting the scope

The core gameplay is relatively simple (like all good puzzle games). I had plenty of extra ideas but these could all be easily discarded without harming the game itself. The end result was a well-polished entry which is small, but complete, and as bug-free as possible

Team size

I was the only developer on the project, which meant I didn't need to spend time setting up a complicated versioning system, or being tied up communicating with others about what I'm doing. For a small project, being able to rip apart the code and reassemble it to add a new feature is great. Obviously it doesn't scale to larger projects!

Graphics & sounds

The backgrounds and planets were all hand-created in Photoshop and I'm really pleased with the way they turned out. Also, the 3D models were all done by me in Wings3D and I think really give the game a good overall appearance. From a technical standpoint no advanced features of OpenGL are used (shaders, etc.) which means the game will run on pretty much any hardware, including my now aged Radeon 9000. On the other hand, sounds are not something I am much good with, so I was able to find two great sources. FreeSound provided the sound effects, and I would recommend them to anyone. Likewise, I am a great fan of Jesus de Meyer's music and he allowed me to include three of his tracks in the game.

Training level

While the gameplay is fairly simple, it is easier to learn by doing than by reading, so I added a training level that takes you through everything that you need to know to play. Combined with an easy introduction through the first level, I'm happy with how the difficulty ramped up. The fourth level is pretty much impossible, but that's deliberate -- the aim is for players to come back and have another attempt at beating it!

What Went Wrong

Gameplay tuning

There is a substantial random element in the game. Ideally I'd like to be able to tune the game to the extent that each level is always possible to be completed, and the difference between success and failure is up to the player's skills. Unfortunately I didn't have the time to get this quite right, and the result is sometimes you get a level that is just too hard to finish. The time limit also does not come into play -- these are issues I'd hope to address with some more development time, and were reflected in the feedback I received during voting.

Where to Go From Here

Ultimately, I think the success of the game vindicates my idea of tackling the project, so it deserves to be taken to a full(er) state of completion. This would include the following:
  • Tuning the gameplay further (see above)
  • Adding more ship types, levels, etc.
  • Refining the control system (hot-keys were suggested rather than just mouse-clicks)
  • New gameplay elements e.g. convoys of ships, 'emergency'/VIP ships, maybe pirate ships (don't let them dock or they'll steal your points)
  • Engine tweaks -- stop the ships moving through the station, or each other.
  • Building new station parts/upgrades?

With these issues addressed, I hope the game will reach it's full potential. Once I've recovered from the voting period I'll start work on it. Finally, thanks to all those who downloaded and played FIDRIS during the contest, particularly all of you who voted and provided essential feedback and testing during the development process -- I couldn't have done it without you!

  • Developer: Pyramid Productions
  • Game Title: FIDRIS
  • Genre: Puzzle / Action
  • Team Size: 1
  • Development Hardware: PowerMac Dual 1.25 GHz G4, 1 GB RAM, ATI Radeon 9000 Pro
  • Critical Software: Xcode, C++, SDL, OpenGL, Adobe Photoshop 7, Wings3D

Review of results and feedback

Out of the 20 completed entries FIDRIS placed as follows in each of the voting categories:
  • Overall: 12th
  • Gameplay: 12th
  • Graphics: 10th
  • Sounds: 5th
  • Presentation: 10th
  • Story: 7th
  • Originality: 6th

Overall, a slightly above average showing, but tantalizingly outside the prize-winning positions. As mentioned above, the limited gameplay was probably the main factor which dragged the game down overall. This was reflected in the feedback from the peer reviews, which were broadly positive, e.g. "Seems like it could be lots of fun but at the moment it's a bit frustrating", "Interesting concept that could use a bit more development." That said, I received only seven comments, so it would be good to also hear from those who really disliked the game too!

I'm very happy with what I achieved in three short months! Further comments are always welcome!