Project of the Month, May 2007

Scorched3D

Description of project

Scorched 3D is an artillery game based on the classic DOS game Scorched Earth. Scorched 3D updates the original game, adding among other new features a 3D island environment and a wide variety of landscapes, weapons, and game styles. Scorched3D can be played against the computer, other players, and remotely across the Internet or LAN. It features 3D graphics and 3D sound, and is highly moddable. The mature code base, ongoing and active development, and a strong user community continue to improve the look, feel, and playability of the game.

Trove info

  • Operating System: Mac OS X, Linux, Solaris, Windows
  • License: GNU General Public License (GPL)
  • Hardware requirements: Any computer with an OpenGL 3D hardware accelerated graphics card.
  • Language: English
  • Programming Language: C++ (and a little Java)

Why and how did you get started?

Gavin: Scorched Earth was an institution for me and my friends at university. Many years later during a boring business flight I found the game again. I played it for eight hours straight and hardly noticed the time passing. This sparked my imagination about what a 3D version of the game would be like. The project started as a proof of concept landscape generator and was later converted into a game.

Joris: Besides some first-person shooters, I felt there was a lack of decent-looking games with solid gameplay on Linux. It seemed to me that the best way to do something about that was to look for an already free Windows game in a decent state and start from there. I came across the remake of this classic game. When I saw someone had posted a request already on the forums for a Linux+SDL version, I immediately decided to port it. A few days later I posted a first version. Some enthusiastic responses from people trying it out and from Gavin, willing to merge this back in the main code tree, motivated me to finish the port.

What is the software's intended audience?

Anyone who enjoys a good strategy game with a hint of time pressure. Anyone who likes blowing stuff up.

How many people do you believe are using your software?

Hard to say, really. There have been over 1.8M downloads from official mirrors, but most Linux distributions make Scorched3D available via their packaging distribution mechanism.

What are a couple of notable examples of how people are using your software?

Most people are using the software purely as a game, but there is also a large modding community dedicated to making new mods that sit on top of the engine. Recently I have also been approached about using the game as part of a benchmarking suite.

What gave you an indication that your project was becoming successful?

When I first released a playable version of the game, it got blogged, and the amount of forwarded traffic quickly brought down my Web server (switching to SourceForge.net fixed that). Later, I found people were actually spending a lot of time and effort writing cheats and hacks for the game, spawning an ongoing battle between developer and hacker.

What has been your biggest surprise?

The community that has grown up around something that started out as a pet project. There is an active modding scene, online server crowd, server/forum admins, and a load of regulars on the forums. Also, the amount of time people dedicate to playing the game online can be awesome!

What has been your biggest challenge?

Keeping the source cross-platform, not only from an operating system point of view but from a graphics card perspective too. Early OpenGL implementations for a lot of card vendors were quite flaky and needed a lot of coaxing to work. It's always a struggle try to test across all the combinations of systems a user may have.

Why do you think your project has been so well received?

It's free, it looks cool, and it's fun to play. The game was fully featured from the outset and not just a tech demo. The original Scorched Earth was quite popular -- I think many felt it really just needed some reviving.

Where do you see your project going?

The original goal of recreating Scorched Earth in a 3D environment is almost complete. At the moment I am mainly focusing on meeting the goals of modders and building community tools around the game (stats, rankings etc.).

What's on your project wish list?

Different play modes like capture the flag and perhaps even real-time play.

A scripting language for complicated modding actions.

Greater use of newer graphics card features (like shaders).

What are you most proud of?

It's still going after six years.

If you could change something about the project, what would it be?

Increasingly more time is spent writing the game engine and not the actual game logic. It would be interesting to see what the project would be like if it had been based on top of a third-party engine.

How do you coordinate the project?

The project is coordinated informally via the forum, where all assignments and bugs are discussed. Mostly people work in separate areas so there is not much need for bug assigning and coordination.

Do you work on the project full-time, or do you have another job?

We all have other jobs.

If you work on the project part-time, how much time would you say you spend, per week, on it?

At times it can be 20+ hours a week, but more usually about 10+. There's a lot to be done behind the scenes -- not only development but managing Web servers, game servers, etc.

What is your development environment like?

Gavin: I have multiple machines that I develop and test on. My main machine is an x86 box running Windows XP and Visual Studio Express. I also have two other test machines, one x86 box running Linux with gcc and ddd, and one G5 Mac. I also have a selection of graphics cards that I can swap in and out for testing.

Joris: A 300MHz Pentium II with a GeForce-GTS running Gentoo Linux. Development environment is just the standard GNU tool chain. Text editing with joe and vi, graphics with the GIMP. (I only recently swapped it for a Core Duo.)

Milestones:

  • 04/2001 - Project started (code version 1)
  • 06/2002 - First Web site created (code version 25)
  • 07/2003 - Project moved to SourceForge.net and made open source (code version 35)
  • 11/2005 - 1 million downloads
  • 11/2006 - Latest version released (code version 40.1d)
  • 6-7/2007 - Next version due for release

How can others contribute?

The easiest way to get involved is by posting on the forum. One of the best ways to start development is by writing a mod. This familiarizes you with the platform and what it is and is not capable of.

It would be nice to update the graphics using modern techniques. People who have experience with shaders and vertex programs would be very welcome.


More projects of the month


Project Name: Scorched3D

Project leader:

Name: Gavin CampGavin Camp
Age: 30
Occupation: Tech lead, Cisco Systems
Education: Software engineering, Imperial College
Location: Glasgow, Scotland, UK

Key developer(s)

Name: Robert HandRobert Hand

Name: Paul VintPaul Vint
Age: 37
Occupation: Internetworking hardware design, network administration
Education: Electronic Engineering Technologist
Location: Ontario, Canada

Name: Joris BeugniesJoris Beugnies
Age: 36
Occupation: Software engineer
Education: Industrial engineer electronics
Location: Belgium

Quote about SourceForge.net?

SourceForge.net provides all of the tools you need to get a software community off the ground and keep it running successfully.

Why did you place the project on SourceForge.net?

I was looking for better Web hosting, but why settle for just Web hosting when you can have the whole package? We needed some shared development infrastructure. Once you're used to revision control it's seems ineffecient not to use it all the time. SF.net makes the source more accessible to third parties, and there's more chance someone will pick it up later, if personal interest fades.

How has SourceForge.net helped you?

SourceForge.net lets us spend time on developing and not maintaining development infrastructure.

The number one benefit of using SourceForge.net is:

Allowing us to concentrate on development.