Creating games to show off in a portfolio is a crucial step for prospective game programmers and designers. According to E. Adams, who has been in the game development industry since 1989 and is now a game development consultant, it is best to have a game or project that has been completed independently for an impressive portfolio. “Nowadays, it’s imperative that you have a demo or portfolio when you go to a job interview for a creative position. Experienced developers have published games they can refer to, but as a newcomer, you need to take something along to show you’ve got what it takes” (Adams 2003).
Creating a successful and fun video game independently is a monumental task but it is a necessary one for many young, eager programmers and game designers. The need for creating games is explained by J. Harbour, a gamer and programmer for 17 years who has worked for several game development companies (including Electronic Arts). “After all, there are employed game programmers who only make their mark after going solo, and some solo game programmers who only make their mark after joining a team” (Harbour 2004).
J. Darby, who has been writing user documentation for the past decade and L. Ahearn who owns Castle Software Ltd, are proponents of setting up an appropriate environment for game development. “While it may sound expensive, setting up a game development studio doesn’t have to be” (Darby and Ahearn 2008). Developing a game independently requires some physical space and equipment. Darby and Ahearn believe that setting up such a designated space for game development is a necessary step in the process. “Fortunately, you may already have the essentials of a game studio” (Darby and Ahearn 2008). To get by on a shoe-string budget, an independent developer needs at least: a decent computer, a dedicated space for their project, a notes and ideas organization system, various software (such as a game engine, graphics editing software, and an integrated development environment), an internet connection, books and websites with helpful development information and free time. A scanner is helpful if the developer is creating their own artwork and a microphone with recording software is needed if the developer is doing their own music and sound effects.
To make a truly great game, interaction is necessary. Interaction is what separates games from other sources of entertainment. M. Dawson, a game programming author who developed and taught courses at UCLA Extension and The Digital Arts and Media Academy at Stanford University explains, “The key to achieving this interactivity is programming. It’s programming that allows an alien creature, an attack squadron, or an entire army to react differently to a player in different situations” (Dawson 2007). The bulk of time spent on programming is used to develop the game’s engine. The game engine is a necessary component for any interactivity to be possible.
While describing the task of creating an engine in Game Development Essentials, J. Novak makes clear how involved this process can be. “The engine programmer creates the core game engine, which usually handles the graphics rendering as well as collision detection between game objects and calculating trajectories, impact times, and impact points” (Novak 2008). This description makes it clear that creating a game engine is a large and complicated project to undertake. Novak should know – she founded Indiespace, has been a game design instructor at UCLA Extension Art Center of Design and has written several books about game development and design.
Why reinvent the wheel or game engine for that matter? Many existing engines are available for use today. These engines save the solo developer or small indie team a lot of effort. J. Habgood, who works for YoYo Games, and M. Overmars, a computer science professor at Utrecht University in the Netherlands, combined their efforts to write a book about using YoYo Games’ development software – The Game Maker. In The Game Maker’s Apprentice, the fact that using an existing engine saves time and effort is apparent. “Game Maker provides a simple environment that allows complete beginners to quickly start building games, using an icon-based system of events and actions” (Habgood and Overmars 2006).
If you don’t even need to know how to program to make a game with an engine such as The Game Maker, it must take less effort than creating one from scratch. There are other game engine and development software packages out there for solo developers to take advantage of. The prices and licenses on the many game engines that are available vary greatly. Each engine has unique software and attributes. A solo developer should carefully choose their engine.
Novak agrees with the assessment that utilizing an existing game engine can make the game creation process easier when she discussed the release of the game engine from the Doom and Quake games by id Software. “Other developers were able to design their own game content and assets using id’s game engine instead of working from scratch” (Novak 2008). While creating your own engine has its appeal when considering control over the project, the time and effort saved by using an existing engine is obvious.
Most games have lots of sounds to make them seem more interesting and interactive. “Adding sound effects is another way to enhance the atmosphere of a game, but they also help to inform the player about their actions” (Habgood and Overmars 2006). Of course, making custom background music and sound effects would add to the development time of any game. Many programmers and designers may not have the time, equipment or musical talent for creating their own music. “Audio for a game project might include music, sound effects and dialog. Some companies do not have audio departments or teams of their own, and will instead outsource audio services” (Novak 2008). Outsourcing makes sense and saves time. Sound effect and game music CD’s and downloads often have license restrictions. Game developers need to understand how they are allowed to use the audio files before they purchase the right to use them for their games.
A solo developer might be tempted to create their own game graphics (sometimes called sprites). “However, creating sprites is time consuming” (Habgood and Overmars 2006). Making art for games requires a lot of equipment: a medium such as fine paper or canvas, color pencils, paints, graphics software, a graphics writing tablet for the computer, etc. The process of creating art is a time intensive one that often involves several artists for a single game when games are made by large companies. “There are four basic tasks that differentiate game artists: drawing (analog or digital), modeling, texturing, and animation. There are also different applications that artists focus on – including characters, props, vehicles, interiors, exteriors, environment, effects, cinematic and interface” (Novak 2008). It certainly would seem easier to just outsource or buy artwork. Licenses for artwork also vary. A solo developer should carefully read the fine print when determining how they would be allowed to use the artwork before purchasing the right to use that art.
What type of artwork should a solo developer use? The artwork used can affect the difficulty of the project. “2D game development is still alive and strong with many new games being developed every year for the Wii, Xbox 360, and PlayStation systems” (Ford 2008). J. L. Ford, an IT professional for over 18 years and who teaches Networking and IT classes at Virginia Commonwealth University has written 24 books and co-authored 2 more about such topics as game design. He suggests that 2D artwork may be a basic and efficient way of giving a game visual appeal. Using 2D artwork is a viable option. “Therefore, an understanding of 2D game programming is a fundamental part of any game programmer’s background and skill-set” (Ford 2008).
A. Grossman, who edited and compiled a collection of game post mortems and is a well known game designer, believes the graphics are completely optional. Another way to save on the efforts needed for creating or buying graphics would be to forgo them completely by creating a MUD or similar game. These games allow a programmer or game developer to stretch their wings without worrying about graphics. “The Interactive Fiction movement has taken the text-adventure, which is now extinct commercially, and made it a thriving amateur concern” (Grossman, 2003).
MUDs are text games played through the Telnet Protocol. Telnet connections can be made through a program named telnet.exe that is included with Microsoft’s Windows operating systems. Software clients offer connections to MUDs with additional features for gamers to make the experience more enjoyable. There are also java applets that allow the connections to these games to be made through browsers. MUDs do not contain graphical interfaces or images of any kind. Sending text over a Telnet connection is a bandwidth-light way to send information over the Internet. Since MUDs are not system-intensive to play and do not take up much of the user’s bandwidth, it is possible to play MUD games from just about any modern PC, even wireless net-books. There is the potential for building a great community around a solo-developed game in this medium.
Creating a MUD from scratch can take a lot of time, a solid grasp of the programming language used, and a lot of creativity. “Text adventures aren’t competitive in the market because they don’t display any pretty moving pictures, but this doesn’t mean they aren’t artistically powerful or outmoded” (Grossman, 2003). Fortunately there are many MUD programs that have been available for download and modification. The ability to mod an existing MUD’s code allows students, people who like to create fantasy worlds but don’t have very in-depth programming skills, and programmers who would like to add to the code of an existing MUD program the chance to create their own game without starting from Scratch. “The medium has numerous advantages for indie development—it’s a stable technology, costs little to produce and new works can be written, revised, and released in relatively little time by a single author” (Grossman, 2003).
The creation of the hundreds of unique worlds available for play on the internet today would not be possible without the generous donations of code and sharing of ideas from the MUD community. No matter what level of skill a potential MUD creator has, there will be a project that they can work with or contribute to. This means that a potential MUD player has many worlds to choose from. “Dozens of new text adventures appear every year” (Grossman, 2003). The choice of whether to create mods (modifications) for existing MUD games or to create a solo-developed MUD from scratch should be weighed carefully by the potential game developer.
Designing games takes time, practice and talent. Unfortunately for the game design student, creating a game from scratch to showcase in a portfolio may require skills that aren’t inherent with game design or a game design degree. Dawson thinks the solution is being over looked. “The fact is, you can start to build some of the key skills it takes to be a successful game designer right now – and you can probably do it with what you have on your desk and in your closet” (Dawson 2009). If you want to create interesting levels and plan out exciting game play without worrying about your ability to create 3D graphics, program a powerful game engine or create fantastic particle effects, making additional content, generally known as ‘a mod’, for an existing game may be a valid alternative.
Michael Dawson of the LA Film School has this to say about the future game designers out there, “Many think that in order to design games they need a PhD in Computer Science, a mastery of computer art, and a team of one hundred game developers at their disposal” (Dawson, 2009). In his recently released paper Dawson champions the ideas of using existing 2-D game creation tools and also making mods for existing games.
Large game companies have the ability to make robust game engines and large libraries of art for their games. They benefit by letting users create additional content for their games. “Allowing the user community to modify, expand and otherwise customize the content of your game (modding) can heighten the value of your game. New missions, models and settings for a game can also extend its lifespan” (Novak 2008). Making a mod takes less time and effort than making a game and may be good practice for students before they embark on making a full game on their own.
Whatever the scale of the project, keeping the game’s code clean and readable will save a lot of editing time as the project continues. “Write simple, elegant code, not cryptic code that relies on obscure programming tricks.” (Hall 2008) If a game developer who programs parts of their game (or the whole game), writes comments throughout the code well, keeping the code uniformly indented and uses a good naming convention for variables, future editing will be much easier. J. hall was on the original Xbox team, but even the solo developer can benefit from this advice. If the code is not re-usable 6 months down the road, it is a waste. As a solo developer, wasting code due to un-readability is practically a crime.
Using the software and tools that are known to perform well is important. Nothing slows down a software developer or game designer like system failure. “It’s tempting to use the latest, greatest version of your chosen tools and API’s” (Hall 2008). New software and tools are often released with minor bugs and require updating and troubleshooting to use them effectively. “Let everyone else work the kinks out of the new product. Feel free to play with betas and release candidates all you want, just don’t build your real projects on them. Give them time to mature” (Hall 2008). Learning new software also takes time and time is the most valuable resource for a solo developer.
Get as much use out of the tools that you have. Many development tools have additional features and options built in to assist a game programmer and designer to complete their work with less effort and wasted time. “Many modern integrated development environments (IDEs) perform some form of automatic code formatting for you as you type” (Hall 2008). Learn to use these options and become proficient with your tools. If a solo developer is familiar with her tools, she will be able to create better games faster.
It is not only possible for a solo game developer to make a fun and successful video game; it is almost a necessary exercise. Adding a game that a programmer or developer can take 100% credit for on their portfolio is a project that can be achieved faster and easier than one might believe. Plan a realistically achievable game development path. Outsource the artwork and sounds. Use an existing game engine. Design with 2D artwork or even no artwork. Consider making a MUD or other text adventure game. Set up a game development space. Utilize game development tools to their fullest capability and learn how to use them well. Don’t feel the need to break new ground with bleeding edge technology for a solo game. Feel free to mod an existing game to get your feet wet. By keeping the project’s code and design plans clean and simple, the game development process can be finished faster and easier. Solo game development seems to be more achievable than ever before. References
Adams, E. (2003) Break into the game industry: How to get a job making video games.
Emeryville, Ca: McGraw-Hill/Osborne.
Darby, J., Ahearn, L. (2008) Awesome game creation: No programming required.
Boston: Charles River Media.
Dawson M. (2007). Beginning C++ through game programming: Second edition.
Boston: Thomson Course Technology.
Dawson M. (2009). How to be a game designer right now. Game Career Guide.
Retrieved July 19, 2009 from http://gamecareerguide.com/features/755/sponsored_feature_how_to_be_a_.php
Ford, J. L. (2008). DarkBasic programming for the absolute beginner. Boston: Cengage
Grossman, A. (2003). Postmortems from GameDeveloper. Berkeley, Ca: Publishers
Habgood, J., Overmars, M. (2006). The game maker’s apprentice: Game development for
beginners. Berkeley, CA: Apress.
Hall, J. (2008). XNA game studio express: Developing games for Windows and the
Xbox 360. Boston: Cengage Learning.
Harbour, J. (2004). Game programming all in one: Second edition. Boston: Thomson
Novak, J. (2008). Game development essentials: Second edition. Clifton Park, NY:
Delmar Cengage Learning.