 | Level: Introductory Sam Lantinga, Lead programmer, Loki Entertainment Software Lauren MacDonell, Technical writer, Loki Entertainment Software
01 Feb 2000 Author of the Simple DirectMedia Layer (SDL), Sam Lantinga, and Lauren MacDonell kick off the first of a series of articles in which they will document the process of designing and building a game, Pirates Ho!, for Linux from scratch. In this installment, the authors explain how they began the conceptual process for the game.
It all started one Sunday afternoon driving home from Stockton along Interstate 5. Just south of Santa Nella we began discussing the possibility of writing our own computer game. The idea had been inspired by a request for a series of articles on using SDL in game development, of which this will be the first. Having had little experience in actual game development, we figured the only way to say anything intelligent and useful about the process would be to go through it ourselves and document its various stages. What follows is a summary of the preliminary steps that we have taken and some suggestions based on what we've learned so far about game development. Dreaming the game
The six-hour trip gave us lots of time to begin brainstorming. First we pondered what sort of game we wanted to write. Arcade? Adventure? Strategy? We both have long and illustrious histories of participating in role-playing campaigns, and thought that it would be a lot of fun to do an adventure game. And so arose the next question: what genre? Did we want a futuristic adventure? Medieval fantasy? Swashbuckling? At the word "swashbuckling," something clicked. We began imagining the thrill of feeling golden doubloons falling through our fingers... the smell of salt and brine as sails flap overhead... trembling with fear at the sight of a man walking the plank, a one-legged pirate captain looking on.... After a few minutes lost in our musings, there was no question about where we were headed. We discussed the potential for exciting ship-to-ship combat and were intrigued by the great role-playing possibilities presented by such a world. As we drove, we brainstormed some of the details of our game. We needed a general plot. A classic one, and one which would lend itself to a balance of role-playing and tactical combat, is the treasure hunt. The player would play one of several pirate captains, each with a portion of a treasure map, and would have to find a way to collect the other map pieces and get the treasure. Draft of the map for Pirates Ho!

By the time we arrived home, the premise had already gone through several stages of evolution. Originally the treasure was to be the final goal, but what if the treasure turned out to be something that would lead the player to a new and more exciting quest? Or perhaps it could be the secret alchemical formula for changing lead into gold? Or a portal to another dimension? The possibilities seemed endless, so we resolved to investigate all the pirate movies, books, and especially games that we could lay our hands on. That way, we hoped to get some historical and literary perspective, as well as an idea of what existing games might be similar to ours.
Research
After we arrived home from our trip, one of the first things we did was visit CompUSA to look at games. We found a couple of piratical-looking games that claimed to include combat, strategy, and role-playing elements. We were a little disappointed, since the game companies seemed to have stolen our ideas in advance, but we rallied quickly. Since about the middle of the trip from Stockton, the debate had raged over whether to make the game world realistic and historically accurate or to construct a fantasy world that included mermaids, sea monsters, giant whirlpools, and the like. The games we saw for sale looked like they sat on the realistic/historically accurate end of the spectrum, so we decided to go the opposite way and make our game as fantastic as possible. After purchasing one of the games we found, we took it home only to discover that it wasn't nearly as entertaining as it looked. The ship-to-ship combat wasn't very well developed and there was no role-playing element to speak of. We quickly agreed that we could certainly pull off something better. We searched the Internet for demos and reviews of other pirate games, which helped us to narrow down the areas to focus on in our own game. By learning what reviewers saw as the good and bad points of other games, we were able to generate ideas about demands that weren't being met by the current supply. We continued our research by renting every movie about pirates that we could find at our local video store. These included Treasure Island, Cutthroat Island, Kidnapped, and of course the modern classic Muppet Treasure Island. From these we were able to get a feel for the pirate movie genre: the story lines, settings, appearances, and sounds that modern audiences associate with pirates. These will serve as guidelines for the aesthetic considerations of our game.
The more the merrier!
One of the most important steps so far in the development of our game occurred, surprisingly enough, at a pasta party at the home of some people we had never met before. We had been invited by a game-programmer friend of ours, so we took our notes and sketches with the hope of finding a few minutes to pick his brain for some new ideas. It turned out that our host and most of the guests were game programmers, QA testers, or avid players, and all of them had something to share with us. We began by hesitantly offering our initial concept-art and explaining our idea. The response was enthusiastic. Everybody had a favorite game to share with us, ideas that would be great additions to the plot, and very helpful advice. By far the biggest concern was that the game should exude flavor. Some suggestions for spicing up the game included adding random entertaining events like comments from the crew during combat, and building a set of relationships with different characters in the game. Since this would be a role-playing game, customizing the character and crew was very important; people wanted to be able to give their character individual traits and communicate with characters in the crew. Everybody liked the idea of logic puzzles and suggested having more than one way to win. They also wanted side-plots to entertain and help develop the characters. When we asked for feedback on the technical aspect of the game, we learned one of the most valuable lessons of all: build the ideas and the story before you even start worrying about the inner workings of the game. Regardless of how sophisticated your code is, warned our new friends, it won't change the fact that people love a good story.
The tools
"What will it look like?" was one of the first questions we faced in designing both our game world and player interface. One of the first stages of our game's development was concept art; we stayed up really late one night sketching out the way we wanted things to look. We agreed from the beginning that 3-D landscapes were preferable to 2-D, and we knew we would need authentic-looking regional and treasure maps. We would also need a way of generating pictures of our characters, either by doctoring up photographs or by drawing freehand. Once we had some idea of the look we wanted, we had to find the right tools for the job. Fortunately, we already owned copies of Bryce3D and Fractal Design Painter4 at home, which turned out to be a very good place to start. The authors' desktop while building the game

We began exploring the capabilities of the software we already had and, after a lot of discussion and budget analysis, ended up purchasing a package that included Bryce4, Poser4, and Canoma (see Resources later in this article). So far we have successfully created a pretty good 18th century-style map of the game world and a few 3-D islands, although we still have to figure out the best way to deal with towns, ships, people, and several other visual elements. We are still debating the merits of investing in a digital camera.
Conclusion
So far, we feel like we're off to a great start. We certainly expect some things to change as we implement our ideas -- after all, things rarely turn out the way we expect. From this initial part of the development process, we have learned several things that we hope will be useful. First, don't expect just to sit down at your computer some afternoon and start coding your game. It might work that way for some people, but most of us need -- or at least prefer -- to begin a project with a good idea of what we're jumping into. Start by generating as many ideas as you can about things that you might like to do. Bounce your ideas off other people, if possible -- the more the merrier! Once you have your ideas narrowed down some, do as much research as you can about what's already out there and what needs aren't being met. Consider what needs and desires you have as a player that you would like to see met by your game; this is important whether you plan to market your game to other people or you're just looking for a way to amuse yourself in your spare time. Also, look for books, movies, games, etc. that you can get ideas from. We're certainly not suggesting that you plagiarize anything, but there's nothing wrong with taking inspiration from other sources. Besides, by thoroughly exploring the genre you'd like to work in, you can learn what kinds of behavior patterns, characters, story lines, and settings your players will be expecting and what innovative things you can do to surprise them. You might also find that your idea has already been done, and you can enjoy the fruits of someone else's work while you dream up new ideas for your own game. As for picking the right tools, you will probably want to consider a couple of things. First, you will probably want to pick your tools based on the things you want to create, instead of vice versa. In other words, don't run out and buy a bunch of software that might end up sitting on your shelf in its box forever. Figure out what you want to do, and then look around for things that will do the job. Second, we acknowledge that not everyone is in the position to splurge on all the nifty software that we've been lucky enough to afford. We can't suggest any specific software packages, but there are several good Internet sites (see Resources) where you can find a wide variety of shareware and low-cost applications. Another option is to try downloading and exploring a demo version of a company's software before you decide to invest in the complete package. We are still in the process of learning, and hope that you can learn from our efforts, but this is by no means the only way to develop your own game. We are working on the assumption that whatever we want to do with our game will be possible. We're also people who don't mind taking as long as we need to figure out how to accomplish our goals. You will find your own approach as you explore the process for yourself. If you find something that works really well, we'd love to hear about it. Best of luck!
Resources
About the authors  | |  | Sam Lantinga is the author of the Simple DirectMedia Layer library, and is currently employed as lead programmer at Loki Entertainment Software, a company dedicated to bringing best-selling games to Linux. His involvement with Linux and games began in 1995 with various DOOM! tool ports and the port of the Macintosh game Maelstrom to Linux. |
 | |  | Lauren MacDonell is a technical writer and amateur artist. She and Sam are co-developing a pirate role-playing game "Pirates Ho!". When she isn't working, writing, or belly dancing, she takes care of her tropical fish. |
Rate this page
|  |