Game development is the process by which a game is produced. Today this term most commonly refers to the development of video games.
A game testing team includes:
- One or more producers to oversee production
- At least one game designer
- Artists
- Programmers
- Level designers
- Sound engineers (composers, and for sound effects and voice acting)
- Testers
Some members of the team may handle more than one role. For example, the producer may also be the designer, or the lead programmer may also be the producer. However, while common in the early video game era, this is increasingly more uncommon now for professional games.
The development process
The development process of a game varies depending on the company and project. However development of a commercial game usually includes the following stages.
Pre-production
Early phases of game development are often characterized by poor quality of graphics. This is especially true of various game prototypes.
Normally before any game can begin development, the idea for the game is created and must be approved (given the "green light") by the publisher/developer. In the common case in which developer and publisher are separate companies, pitches are made to management at the developer, and then it needs to be shopped around to publishers. Demos are often used but sometimes unnecessary for established developers with good track records. Production can begin once (and if) an interested publisher is found. Games rarely progress far without an interested publisher.
Production
Mainstream production is usually defined as the period of time when the project is fully staffed. Programmers write much new source code, artists develop game assets such as sprites or, more often today, 3D models of game elements. Sound engineers develop sound effects and composers develop music for the game. Level designers create advanced and eye-catching levels, and writers write dialog for cutscenes and NPCs.
All the while, the game designer implements and modifies the game design to reflect the current vision of the game. Features and levels are often removed or added. The art treatment may evolve and the back story may change. A new platform may be targeted as well as a new demographic. All these changes need to be documented and dispersed to the rest of the team. Most changes occur as updates to the design document.
Milestones
Commercial game development projects are usually required to meet milestones. Milestones represent interim project goals while also being synonymous with deadlines. Milestones include a pre-release version of the game with an agreed upon set of features. The consequences of missing a milestone vary from project to project, but usually delay installment payments (in the case of third-party developers).
The testing staff is most heavily relied upon at the end of a project, as they not only need to test newly added features, levels and bug fixes, but they also need to carry out regression testing to make sure that features that have been in place for months still operate correctly. This is also often the time when features and levels are being finished at the highest rate, so there is more new material to be tested than any other time in the project.
Regression testing is one of the most vital tasks required for effective software development. As new features are added, subtle changes to the codebase can impact seemingly unrelated portions of the game.
Completion
After the game goes gold and ships, some developers will give team members comp time (perhaps up to a week or two) to compensate for the overtime put in to complete the game, though this compensation is not standard.
Maintenance
Console games used to be considered 100% complete when shipped and could not be changed. However, with the introduction of online-enabled consoles such as the Xbox 360 (read a good analysis on F# and XBox games), PlayStation 3 and Wii a large proportion of games are receiving patches and fixes after the game shipped due to bugs and glitches, much like PC games.
While console games can be developed for a finite set of components, PC games can have conflicts with the numerous hardware configurations users may employ. Developers try to account for the most prevalent configurations, but cannot anticipate all systems that their game may be tried on. It is common practice for computer game developers to release patches for games after they ship (often months or even years later). These patches used to be mailed to users via floppy disk, but are now generally available for download via the developer's website. If a game goes into a second printing, the patched version is used as the new master.
Game Development Outsourcing
When discussing Game Development Outsourcing (a good research report on Game Developer Outsourcing 2009), the first premise that must be taken into consideration is the “outsourcability” of the process involved. This is due to fact that the various elements within the Game Development cycle often require unique skills, cultural affinity and creativity – all which play major roles for in determining the outsourcability of the process.
Future of Game development outsourcing
Game Development Outsourcing will continue to be one of the potential-rich niches in the Outsourcing spectrum in the near-term. The sustained rise of multiple console and PC platforms, increasing Internet and broadband penetration globally, and the meteoric ascension of casual games in the mobile/handheld platforms will continue to drive robust consumer demand. The Outsourcing of Game Development (a report by Tholons) will play a crucial role in fulfilling this demand as Game Developers will be compelled to retool existing development cycles to not only manage costs, but also to improve efficiency and increase output across all production stages.
India also has great potential to become an attractive destination for outsourcing of gaming development activities. India can capitalize on its strong reputation for outsourcing of IT/ITES services in this regard. But in the outsourcing sector India will have to compete with South Korea and Taiwan whose talent pool is greater than that of India with regard to game development. India needs to establish special training institutes to develop quality professionals. In addition to outsourcing, Indian companies can team up with their foreign counterparts to co-produce games.