O desenvolvimento de jogos eletrônicos é o processo na qual um jogo eletrônico é produzido.[1] A criação de jogos eletrônicos é de responsabilidade de uma desenvolvedora, a qual pode ser uma única pessoa ou uma grande empresa.
O desenvolvimento de um jogo moderno e comercialmente viável, envolve uma ampla variedade de habilidades e uma equipe especializada. Tipicamente uma equipe de desenvolvimento hoje em dia inclui:
Produtores - Responsáveis pela coordenação geral do projeto
Designers - Responsáveis por projetar a jogabilidade, o conceito, regras e estruturas do jogo
Programadores - Responsáveis por gerar o código em linguagem de programação que irá dar vida ao jogo
Artistas - Responsáveis pelo grafismo do jogo. Cria a representação visual dos personagens, cenários e objetos presentes no jogo
Engenheiros de som – Responsáveis pela sonorização do jogo
Testadores - Responsáveis por analisar o jogo e documentar defeitos de software. Este processo faz parte do controle de qualidade no desenvolvimento de jogos eletrônicos
O processo de desenvolvimento inclui conceitos de gerência de orçamento, equipe, conhecimento, etc. Ao contrário da maioria dos softwares corporativos, o desenvolvimento de jogos não se dá através de métodos cíclicos, e sim através de métodos como desenvolvimento ágil de software (como Scrum) para pequenas equipes, e processo de software pessoal (PSP) para grandes equipes.
O processo de desenvolvimento inclui as seguintes fases:
Pré-produção
Foco na ideia e no conceito. Tem como meta produzir uma documentação (o plano de produção). A documentação é dividida nos seguintes documentos:
High Concept Document - Faz uma descrição inicial sobre o jogo (tipo de jogo, fases, história, etc)
Pitch Document - Faz uma descrição sobre o campo de atuação do jogo (mercado, consumidores, publicidade, exposição, etc)
Concept Document - Faz uma descrição técnica sobre o jogo (plataforma, linguagem de programação, aplicações utilizadas, etc)
Game Design Document - Antes de começar a produção faz uma associação de todos os documentos anteriores, também é chamado de protótipo virtual, pode ser modificado ao longo da produção
Protótipo - É a implementação do desenho do documento, onde são testados diferentes algoritmos, modelos e funções durante diferentes os cenários. Sua principal meta é testar, adicionar e modificar recursos. Geralmente são usadas ferramentas RAD nesse processo
Produção
É a parte principal do jogo, onde são desenvolvidos os ativos e o código-fonte. Programadores desenvolvem o código-fonte, artistas desenvolvem os ativos (objetos 3D, cenários, etc.), engenheiros de som desenvolvem os efeitos sonoros e os compositores compõem músicas, level designers criam níveis e cenas não-jogáveis.
Design - Formado pelos artistas que desenvolvem os ativos (objetos 3D, cenários, etc.)
Programação - Formado pelos programadores desenvolvem o código-fonte
Criação de níveis - Formado pelos level designers que através de ferramentas criam cenários e cenas não-jogáveis
Produção de arte - Formado por artistas que criam vídeos, trailers, capturas de tela, etc
Produção áudio
Efeitos de som - Feito pelo engenheiro de som para criar efeitos especiais
Música - Feita por artistas músicos, podem ser música ambiente, ou disparada através de um gatilho
Atores de voz - São representados por dubladores que dão vida as vozes dos personagens
Teste - É a fase final da produção, tem como objetivo garantir a qualidade do produto;
Milestone (marco)
Pode ser associado a entregas de software em determinado cronograma no período de desenvolvimento, podem ser:
First playable - É a primeira versão jogável sem grandes implementações, geralmente apresentada internamente somente aos editores
Alpha - É a fase onde todas as funcionalidades de jogabilidade estão disponíveis
Code freeze - Fase onde nenhum código adicional é escrito, apenas bugs são consertados
Beta - É a fase onde é entregue uma parte do jogo, mas que contém todas as funcionalidades da versão final
Code release - É a fase onde o código é enviado para a avaliação do fabricante de console (geralmente não é usado para jogos de PC)
Crunch time - É o tempo entre a finalização do código e o lançamento do produto, mais focada na divulgação do jogo na mídia especializada
O desenvolvimento de jogos também depende da plataforma a qual o jogo irá rodar, existem plataformas de máquinas de arcade, consoles de mesa, consoles portáteis, computador e celulares.
Arcade - Geralmente são máquinas exclusivas para jogos que podem ser totalmente adaptadas para apenas um jogo específico
Consoles - Apesar de serem máquinas feitas com objetivo exclusivo para jogos, elas não podem ser customizadas como os arcades e tem um hardware limitado o que pode tornar mais fácil a questão da portabilidade, mas também pode limitar os recursos do desenvolvimento
Computadores - Maquinas genéricas onde na teoria pode-se ter recursos ilimitados, o principal desafio é criar jogos que sejam executados pela maioria dos computadores da atualidade
Dispositivos móveis - Plataformas como celulares, que geralmente tem o poder de processamento mais fracos dos hardwares, o principal desafio é fazer com que os jogos se comportem da mesma forma em celulares com características diferentes, por isso geralmente os jogos de celulares são desenvolvidos em plataformas sobre máquinas virtuais que possam rodar em várias máquinas com um só código