Getting to Know Video
From its early days as a niche entertainment business that was never taken seriously, the video game industry has grown into a very important sector of global business. Video games are now
in a manner and at a scale comparable to Hollywood movies, and often involve famous actors, actresses,
, and other entertainment professionals whom we previously only associated with movies. In fact, the production of a modern video game is in many ways like producing a movie. There are pitches, storyboards, and market tests, and that's just to get a game financed. Once a game rolls into production, there are
of designers, animators, and programmers ”not to mention various other talented individuals and companies who pitch in to help make a finished game. Modern games cost millions of dollars to produce, and can reap
rewards for those willing to put up the time and money.
You're probably reading this book because you don't have a few million extra dollars laying around to throw into a video game project. Or maybe you'd just rather
your pile of cash elsewhere. Either way, you maybe had a faint hope that it's still possible for one person to create a highly entertaining video game with little more than
grease. It's not only possible, it's also highly
and quite empowering. However, video games have traditionally represented one of the most complex and
facets of programming, and therefore have likely scared away many a
would-be game creator. My goal is to demystify the game development process and show you that you don't have to be a millionaire or a genius to have fun creating your own games.
Why Video Games?
If you're an avid game player, you might already know the answer to this question, but it's worth asking anyway: Why are video games so popular? And why are so many people interested in learning how to create their own? I think it has something to do with the allure of creating a little world all your own, where the limits are only your technical skills and your
. The goal of this book is to strengthen one while sparking the other.
To better understand why so many people gravitate toward video games, consider how popular movies are in modern cultures. Few of us are able to watch a great movie without at some point envisioning
right there taking part in a scene. Video games enable us to step beyond the role of an audience member and become a participant in an interactive story. Essentially, all video games enable you to step into a world and take part in it, even if that world consists solely of an outer space background and a few
. When walking through a video game arcade, it's as if each screen is a window into another reality just begging you to come inside and see what's going on.
Enough of the dreamy talk ”what do video games mean to the would-be game programmer? From a development perspective, video games are quite interesting in that they require such a wide range of talents. Video games provide us with all the usual technical challenges associated with software development, usually more, along with illustration, animation, sound effects, and music. And that doesn't even touch on the story aspect of games ”where entire screenplays are often developed. By developing a video game from start to finish, you'll practically become a modern renaissance person, acquiring some degree of expertise in many disciplines. You'll also successfully merge many
interests into a greater medium enjoyable by others. It's for this reason that so many of us are intrigued by the endless possibilities associated with video game design and development.
Types of Video Games
Speaking of creating your own games, you might be wondering why I keep referring to "video games" when the games created in this book are
on a computer. Although I hate to split hairs over terminology, it's worth pointing out that a
is an interactive electronic entertainment medium that uses a video screen as its primary display. In other words, the
video game applies to all games with a screen and a joystick or some other controller. Contrast this with a traditional
machine, for example, which can
be played but doesn't rely on a video screen for output. Video games can be further
into three categories: arcade games, console games, and computer games.
are video games that are built into hefty
with payment mechanisms that require you to pay in order to play the games. Arcade games represent the birth of video games, and are responsible for separating quite a few 80s American youth from their hard-earned (or hard-begged)
. Arcade games often rely on custom hardware
and unique physical controls to separate them from other types of video games. Although arcade games certainly still exist, they are a minor component of the video game market, and aren't the
of innovation they once were. Don't get me wrong, there are some really cool new arcade games out there, but you have to look beyond arcade games to get to the really active portion of the video game market.
followed quickly on the coattails of arcade games, and they represent home gaming systems from the classic Pong and Atari 2600 systems to today's Sony Playstation 2 and Microsoft XBox. Console game systems are designed from the ground up as consumer game machines and rival arcade games in terms of game quality. We are currently in the midst of a convergence of digital entertainment technologies that is quite capable of placing console games at the center of the home entertainment equation. In fact, Microsoft already has long range plans for its XBox console game system to become an all-encompassing digital entertainment device. The
should be interesting in terms of seeing how console games merge with traditional entertainment equipment.
were last to the video game show simply because it took longer for personal computers to become technically capable of doing enough interesting things with graphics and sound to make good games possible. Computer games now represent a massive segment of the video game industry and rival console games in terms of popularity and sales. Interestingly enough, most popular games are now available in both console and computer versions, so you have the option of deciding whether to use a computer or a dedicated console gaming system to play games. The XBox console system is somewhat unique among console systems in that it shares a software game development platform with computer games. I'm referring to DirectX, which is Microsoft's game development toolkit that originated on PCs, and now carries over to the XBox.
Unfortunately, this book doesn't cover game programming using the DirectX game development toolkit. The reason for this is because DirectX is a complex technology with a steep learning curve. Rather than spend half the book on the basics of how DirectX works, I decided to spend the entire book teaching you how games work. If, after reading this book, you decide to move forward and learn DirectX, I highly recommend Clayton Walnum's
Teach Yourself Game Programming with DirectX in 21 Days
I want to clarify the different types of video games because there is a great deal of difference in developing each type. For example, arcade games rely on specialized hardware and proprietary development tools that are expensive and difficult to obtain for a startup game programmer. Console games run a close second in terms of presenting a significant
to entry for new game programmers. Not only are the tools expensive and difficult to get your hands on, but also they often require a very specialized set of programming skills that are usually learned on the job while working for a game company. Computer games are really the only type of video games that are accessible to the individual from a development perspective. Tools for computer game programming are readily available and are either free or relatively inexpensive. Not only that, but you can leverage existing knowledge in a mainstream programming language such as C++ to develop computer games. This book focuses on the development of computer games using C++, although most of the concepts and techniques also apply to arcade and console games.