Computer Games Development

Roger is one of my students who graduated and worked for a computer games company. He is one of the key developers for a game called “Halo”. Last week he returned to CMU to recruit students for his company. I asked him to give a talk in my class regarding his experience in computer games industry. Following is what he told the class:

“Computer games is a special field that many people like to work in but few succeed. First, you must like computer games but more than that, you must have passion for it. Second, you must be willing to work hard and put in a lot of extra hours, 60 hours per week or more, rather than the regular 40 hours. You must devote yourself to your work or else you will NOT go far. Contradict to the notion that game developers are mostly programmers, in my company many developers are artists, graphic designers, and writers who use programming languages as “tools” to create their “arts”. Another characteristic of game developers is the highly competitive attitudes among them. They want the best graphics, the best colors, the best stories, the best scenarios, the best music for their games and will NOT compromise. That is why they all work long hours to make their games the best possible by testing them, rework them, play them for many hours to “perfect” them. After the game is released, they move on to the next game and most never touch their old games again”.

“Game design is the first thing to do as the team works together to create the story, the scenarios, determine on what makes a game “fun and exciting” and how can they “Kill” other existing games in the market. The story and ideas are presented to senior designers who analyze every detail to ensure that the team has everything carefully thought-out. This is a very brutal activity as many ideas are rejected and many people could NOT stand it and quit during this phase. This is also where creativity and production people often fight over their ideas. Although many game projects are similar to a Hollywood film projects, it is still a software development, with changing requirements, changing design at the last minutes and a lot of coding and testing. Logically, anything that can be completed early should be done early. Developers should get easy things out of the way, and work on the difficult things but this logic does NOT work in game development. There is NO logic here because the scenarios will keep changing as more details are discovered and new ideas come into the story so you may have to reprogram a lot of works. Anyone who has a “Weak heart” will NOT survive game development because it is really a mix of creativity, artistry, discovery, and technology. Anything is subjected to change as the creativity flows among team members so the activities are exciting one day and frustrating the next day. Let me give you an example, imagine that you are writing a novel together with hundred other writers, everyone has some ideas and they all want their ideas to be part of the novel”.

Roger smiled and told the class: “The good thing about games development is that everybody has an idea. The bad thing about games development is that everybody also has an idea. The interesting fact is you can create it and let others play with it to test your idea before it is accepted into the scenarios. There is a “Mantra: “Think the unthinkable; Dream of the impossible; Create the thing that nobody ever done before and question every assumptions” - that is where you come up with innovation because you are creating a “magical world” where there are no rules, and everything is all about what you imagine it to be”. The entry level for most game developers is game tester. This job requires you to play the game over and over and report your impressions of the game to the production manager. It is “NO FUN” but 'torturing' as you must report your impressions after one hour, after three hours, after eight hours, after twenty four hours, after months of playing the same game at different levels with different tools. At each step, you must imagine that you are the player with certain expectations, certain satisfaction or frustration with the pictures, the colors, the sound and the level as you move from easy to more difficulty levels, and determine whether you should quit or continue. Even if you love computer games, you will get “SICK” after months of playing the same game and write your impressions on the game document. Most people quit after few months in testing and that is why you must have a passion for game to survive in this industry”.

“There are many things game developers must pay attention, For example, computer screen size and memory, they have to decide on the standard PC monitor resolutions, refresh rates, color depths, and full-screen vs. windowed modes and test the game with those settings. With console games, they have more than one setting to worry about. If the game is sold worldwide, they need to deal with different standards (NTSC and PAL), which have different screen resolutions, different aspect ratios and memory requirements, and different refresh rates, which may affect any game behavior dependent on per-frame computation. There are other modes like EURGB60, M-PAL, 480p (progressive scan) and multiple levels of HDTV. Because PAL resolution is different from NTSC and the aspect ratio is also different, game developers must verify that 2D elements in particular, such as the front end, the text, HUD and movies is balanced. The higher vertical resolution of PAL mean greater video memory usage. If you do not take in account certain real time elapsed, the game will behave differently”.

Roger laughed: “Most application software developers never have to think about that. They do not care about hardware or problem with standards but only writing code and make sure that the code works. Game developers have to know everything so it takes several years to move from game tester to game programmer. Only if you are very good as game programmer then you could move up to game developers and eventually to game designer. Another critical factor in game industry is the schedule is always fixed and cannot be changed. For example, you must release the game for Christmas sale then everything must complete by June for testing and production. Game development is labor intensive so it is very costly. If you are late, you miss the holiday dateline and lose the business. There is another advantage, you are always working with the best hardware, the latest game console before anybody else. Of course for PC games you have a variety of different hardware, operating systems, and various configurations for testing your game. This is also true for mobile phone games as phone models vary in screen size and color resolution, refresh rate, memory, etc. To be a better game developer, you must know hardware well enough to deal with these issues. Beside graphic, you must know about music too as what goes for graphics, also goes for sound. You must create very special kind of computer game music which is different from regular types of music. As I mentioned, game developers are artists, writers, programmers, and also musicians. Preparing the game for the target audience is an elaborate process with a lot of trial and errors.

Roger concluded: “Game development is a highly specialize field which requires specific skills but most of all it is about your attitude and creativity. It is really an “art” just like an artist painting a picture or a musician writes music. It is NOT for everyone but the reward is everything. Just like a writer who has million readers who buy his book or a musician who has a top hit songs that million people would sing. Imagine that you have a game that sold several million copies and everywhere you go, you see your game being played by people of all ages. It make you proud and feel good. By the way, game developers do NOT make a lot of money, they work for a company and collect wages just like software developers. The company owner makes all the money if the game do well in the market. No game developers ever get rich unless they became owner of a company. As game developer, you do it because you love it, just like most artists who create things, they do NOT think about money but make something wonderful, make life beautiful, make people happy. The same is true to game developers, actually they are the “Computer artists” of our time.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University