Back in October, I spoke to Soldak's Steven Peeler about their upcoming game, Din's Curse. Steven agreed to chat with me once again. This time the focus is a little different. I've always been curious how games are made and with what tools, so that is what this Q&A is about.
Be sure to check out Din's Curse and thanks to Steven for taking the time to answer my questions. Check out the interview after the break.
Werit: What was the first complete/released game you ever made?
Steven: I did work on a bunch of different games before I started doing it professionally like a MOO/Planets type game, a FPS, and an action RPG, but none of them were ever finished.
The first game that I worked on that shipped was Sin when I was at Ritual. The first game I worked on for pretty much the entire length of development that shipped was Heavy Metal: FAKK2 also from Ritual. The first game that I completed and released on my own was Depths of Peril.
Werit: Which programming language did you choose for Dins Curse?
Steven: Din’s Curse uses C++.
Werit: How much of the code Dins Curse is from Depths of Peril? It would seem that code reuse is crucial for a smaller game developer.
Steven: In general, Depths of Peril, Kivi’s Underworld, and Din’s Curse all share the same code base. I have made lots of enhancements for each game though. For example, Kivi’s Underworld has moddable classes and line of sight restrictions so that we could have real secrets. Kivi’s expansion added multiplayer.
Din’s Curse adds a lot more interaction with the world, world modifiers, more randomization (in a good way), and way more dynamic quest stuff along with a lot of other things. As a really rough guess, I would say 80% of the code is from DoP, and 20% is newer.
Werit: I've often thought that making a game as a hobby or even professional often requires several failed attempts. Then at some point you have enough code and tools built up that finishing a project is actually feasible. Am I totally off base?
Steven: Well I don’t know about failed attempts, but I’ve always thought that it takes a while to become an overnight success. You learn a lot from your first few projects, you build the infrastructure with each attempt, each one becomes better and better, and eventually you break out. I’m really hoping that Din’s Curse is our break out game.
Werit: How many Soldak people work on the game? Do you contract out any parts of the game or is it all done in house?
Steven: I’m the only fulltime Soldak employee and I do all of the programming and design. I should mention that a ton of great ideas comes from the rest of the team and from our gamers though. My wife (Delilah) is involved quite a bit doing the writing and lots of play testing. The rest of our team are contractors who handle the sound, music, and art. In house or contractors though, I couldn’t make our games without them.
Werit: What is your IDE of choice?
Steven: I primarily use Visual Studio 2005. On the Mac I use XCode.
Werit: Do you use any 3rd party tools/libraries?
Steven: I do use a few tools here and there, but most of the time I’m staring at Visual Studio or good old Notepad. I use VTune for profiling/optimizations, a really old version of Photoshop for image needs, Audacity for the rare occasion that I need to touch a sound file, INNO Installer for windows installers, DropDMG for Mac installing, and hopefully soon Fraps for video capture.
As for libraries we use Zlib, libpng, IPGs Jpeg software, and Crypto++.
Werit: What is your preferred method of marketing?
Steven: Make a lot of noise and see who pays attention to what. I wrote that down as a joke, but it’s pretty accurate. In general, we try to be very open about our development and post news fairly often and then tell world about it. We also try to talk to our gamers whenever we can.
We have tried a bit of advertising in the past, but it really hasn’t resulted in anything useful so far. We also try to do as many interviews and get as many previews and reviews as possible. This is pretty typical for games of course, but it is much harder for us indie studios.
Werit: Do you have any advice for the programmers who want to develop their own game?
Steven: Do something you love, but pick the smallest project you can to start with. Use someone else’s engine like UDK, Unity, or Ogre so you can make your game quicker and focus on the important part (the game). Also talk about your game constantly to whoever will listen. I personally only did the first one though. I’m trying to do the last one more, but I’m an introvert by nature.
Werit: How is Din's Curse coming along? Any chance we'll see some gameplay videos soon?
Steven: Din’s Curse is going very well. We are hopefully nearing the end of alpha and should be in beta soon. Once we hit beta, we are going to start pre-orders and allow everyone that pre-orders the game to have access to the beta. We will have a much better idea of where we are then.
I have a few ideas for videos I want to do. I just need to sit down and figure out how to capture them and put them together to look cool.