Doing the hard bits first

July 30th, 2008

Before work on Darkness Falls came to a halt it became evident that there were certain problems that I should have been addressed earlier in the design. Trying to add them in was going to be an up hill struggle. When starting again from scratch with Courier I’ve decided to tackle these thorny issues first.

Procedural Planet Generation – Landing on Planets

Being able to fly down to a planet, admire the scenery and land at a space port was the dream of everyone who played Elite. The two sequels, Frontier and First Encounters, gave this ability and any modern space game should have it too. It can be a tough nut to crack though. Planets are big, really big, so we need to be able to handle things on a large scale. There also has to be land, sea, hills, space ports and little boxes made from ticky-tacky and it all needs to be generated on the fly.

Save Anywhere and Anytime

It is a pet hate of mine and even the big budget modern games do it. The save point. You want to save your game and go do something else but the computer says “No”. You can’t save here, you have to go a designated save point and do it. Arrrrgh. I know why it is done that way but it still annoys me. I want to be able to save the game when it is convenient for me, not for the game.

Social Networking

One of the most frequent emails I get about Elite – The New Kind goes along the lines of “make elite multi user”. There are of course two small problems with that, (a) I can’t touch Elite because of copyright, (b) it would take pots and pots of money to make a proper multi-user version of Elite. So I’ll wish Frontier Developments the best of luck with that one. However, some kind of social networking on a small scale may be possible with Courier. I’ll certainly take a look at it, no promises though.

Creating Assets

For a game to hold the player’s attention a reasonable amount of in game assets are required. Assets are the posh name for the space ships, space stations, buildings etc. Creating them takes time and skill. They also have to be created in special ways to make them work within the game. The temptation is to fire up a 3D modeling package, create a pretty looking ship and stick it in the game. In reality things get a bit more complicated. Besides, if we have a huge galaxy to explore, who wants to see the same few (even hundred) ships pop up?

Right now I’m working on the planets. Finding the best ways to create them, render them and allow the player to fly around them. Once I have a reasonable planet generator running I’ll make a download available to test and play with.

Restarting development

July 28th, 2008

A few years ago I started working on an advanced 3D space combat and trading game known as Darkness Falls. I was lucky enough to have the help of Ian Bell one of the co-authors of the classic space game Elite and the game was shaping up nicely. Unfortunately due to a severe shortage of spare time on my part the project had to be put on indefinite hold.

Since then I’ve made a few abortive attempts to get back into the project but nothing made it past the tinkering stage. More recently I’ve committed myself to creating some spare time to work on developing a new 3D space game. Instead of continuing with the existing code base I have started again from scratch. Darkness Falls was written in C, it was a very ambitious project and I was never really happy with some aspects of the design. This time I’m using C++ and trying very hard to have a clean and solid design to build on. For the moment I’m calling the game Courier. That’s a work-in-progress name though and may well change.

My intention is to lift as much clever stuff as I can from Darkness Falls and integrate it into Courier. There is lots of the clever stuff to use too (all written by Ian so you know it is really, really clever stuff)…

  • Wingmen that fly with you and help you in battles.
  • Remote drones that can be launched to help in fights.
  • A smart auto-pilot.
  • Non-Player character ships battling each other.
  • Asteroid fields.

At the moment I’m working on some other aspects of the game such as procedural planet generation and the ability to land on those planets. Once I have something interesting to show I’ll put a download up for people to play with.