Dicas úteis

Econ cara

O desenvolvimento de jogos de computador pode ser feito por uma pessoa ou pela empresa (equipe de desenvolvimento). Jogos comerciais são criados por equipes de desenvolvimento contratadas por uma empresa. As empresas podem se especializar na produção de jogos para computadores pessoais, consoles de jogos ou computadores tablet. O desenvolvimento pode ser financiado por outra empresa maior - a editora. O publicador no final do desenvolvimento está envolvido na distribuição do jogo e incorre nos custos associados. A abordagem oposta é esse desenvolvimento quando uma empresa distribui cópias de jogos por conta própria (sem a participação de editores), por exemplo, por meio da distribuição digital.

O desenvolvimento dos maiores jogos econômicos pode custar dezenas de milhões de dólares americanos e, nas últimas décadas [ quando? ] esses orçamentos têm crescido constantemente, assim como o número de equipes de desenvolvimento e cronogramas de desenvolvimento. Portanto, no final dos anos 90, um jogo para o console PlayStation para o cliente final poderia ser feito por uma equipe de 10 pessoas por ano. Para o PlayStation 2 (primeira metade dos anos 2000), eram necessárias uma equipe de 30 a 50 pessoas e dois anos de desenvolvimento; até 2012, Já se tratava de equipes de mais de 100 desenvolvedores e um mandato de cerca de três anos. De acordo com Alex Moore, designer de jogos da Sumo Digital, se o preço do jogo para o consumidor final aumentasse na mesma proporção, os jogos em 2012 custariam US $ 1800, em outras palavras, para recuperar os orçamentos aumentados, mantendo os mesmos preços nas lojas, os editores devem vender muito mais cópias de jogos.

Um jogo de grande orçamento para duas plataformas - o Xbox 360 e o PlayStation 3 - custou em média US $ 20 milhões em 2012 e, para compensar, foi necessário vender cerca de dois milhões de cópias.

Funções

No início dos anos 80, após o surgimento dos primeiros computadores domésticos e consoles de jogos, um programador conseguia gerenciar quase todas as tarefas associadas ao desenvolvimento de um jogo. O desenvolvimento de jogos modernos requer uma ampla gama de habilidades e equipe de suporte. Para trabalhar em um projeto, são necessárias equipes inteiras, que geralmente incluem representantes de várias especializações.

Como você mesmo cria um jogo?

Para criar um jogo, você precisa conhecer a linguagem de programação, e agora todos eles estão em inglês e são complexos, têm sua própria sintaxe, que você também precisa saber. Então você imagina criar um jogo, certo?

Obviamente, quase todos os jogos de alto orçamento são feitos usando um dos principais idiomas, mas para um iniciante, mesmo isso não é necessário.

Existem programas especiais para a criação de jogos, um dos quais é o Game Maker. Eles foram criados especificamente para a criação de jogos (o programa é chamado de criador do jogo). Pessoalmente, trabalho no Game Maker e isso permite criar jogos de alta qualidade para qualquer plataforma, do Android ao iOS.

Você também pode aconselhar o Unity ou Construção 2, como boas alternativas.

Todas essas ferramentas estão em desenvolvimento e, para o Game Maker Studio 2, foi lançada recentemente a segunda parte, sobre a qual escrevi aqui: O que há de novo no Game Maker Studio 2? Revisão do GMS 2

Minha opinião pessoal é que o Game Maker é um dos programas mais convenientes para criar jogos especificamente para iniciantes, enquanto dominar o Unity do zero pode levar muito mais tempo.

Se você escolher o Game Maker, meu blog e canal o ajudarão significativamente em seu desenvolvimento, mas se você decidir sobre o Unity ou algo mais, também haverá uma enorme quantidade de materiais educacionais gratuitos de alta qualidade em russo.

De qualquer forma, o primeiro estágio (zero :) é a escolha de um programa para a criação de jogos.

A primeira etapa é o documento de design

Em seguida, você precisa criar um documento de design para o novo jogo. Em outras palavras, você precisa de uma ideia para o jogo. Sobre o que será o jogo? O que vai acontecer lá? Que tipo de gênero será? Quanto tempo e dinheiro o desenvolvimento levará? Existem muitas dessas perguntas e, antes de começar a criar um jogo, é muito útil fazer algum tipo de plano aproximado.

Coisas básicas sobre como escrever um documento de design para o jogo, você pode encontrar aqui:

  • Como escrever um design de jogos de papel

Acredite, sem um plano preliminar e apenas com entusiasmo com alta probabilidade de não terminar o jogo.

A parte principal e principal da criação de um jogo é, de fato, sua criação, escrever código. Tudo depende do ambiente e do programa em que você faz o jogo; no entanto, no Game Maker e para iniciantes, existe um sistema de drogas e soltar - arraste e solte.

Um sistema semelhante não é apenas da GM, mas também é, por exemplo, nos editores de mapas e designers de jogos populares. A propósito, é com mods para jogos populares que eu recomendo que você comece a fazer jogos.

  • Por onde começar o desenvolvimento de jogos

Para fazer seu primeiro jogo do zero, você não precisa conhecer a linguagem de programação, basta usar o sistema Drug and Drop, que se parece com isso:

Uma característica notável do Game Maker Studio 2 é que todos esses elementos são descriptografados automaticamente no código do programa que o desenvolvedor vê.

Isso permite que você aprenda gradualmente o código e passe da droga e solte para a codificação.

Questões específicas como: como fazer um movimento, como fazer um tiro, quais são os efeitos e todo esse jazz que você pode encontrar no meu canal do youtube sob a forma de lições especiais sobre o básico da criação de jogos.

Quanto tempo leva para criar um jogo?

A questão é complexa, tudo depende de suas habilidades, de que tipo de jogo é e de outros fatores.

Às vezes, uma pessoa experiente pode fazer um simples jogo por telefone em algumas semanas, outras vezes, jogos de qualidade média são criados por uma pequena equipe de várias pessoas em 6 a 12 meses, mas grandes projetos são feitos por grandes estúdios e o desenvolvimento pode levar de um a dois anos ou mais. trabalhar uma equipe de 100 ou mais pessoas.

De acordo com dados aproximados, a criação de um grande jogo leva cerca de 2 a 3 anos para uma equipe de 200 pessoas, se estivermos falando de projetos sérios, como o GTA 5.

Ao mesmo tempo, não esqueça que há exceções às regras. Notch escreveu a primeira versão do Minecraft em uma semana e essa versão já possuía a maioria das estruturas básicas. mas, no final, o desenvolvimento levou vários anos, embora, diferentemente do GTA, uma equipe muito pequena trabalhasse no Minecraft, e as receitas do Minecraft fossem muito sérias.

Embora isso seja mais uma exceção, não uma regra. Agora a concorrência é muito maior e esses projetos super bem-sucedidos e super baratos aparecem cada vez menos.

A terceira etapa - gráficos

Os gráficos geralmente são feitos em paralelo com o processo de desenvolvimento e gravação de código, e geralmente é o indivíduo. É muito difícil combinar o trabalho não apenas de um programador, mas também de um designer, mas às vezes isso pode ser feito sozinho. Além disso, alguns projetos não exigem gráficos de alta qualidade ou são tiradas fotos e sprites prontos.

  • Leia: Onde conseguir sprites para jogos?

Gráficos e desenhos são um processo muito caro.

Na minha experiência, se você criar o jogo sozinho, pode levar de 40 a 60% do tempo total gasto em gráficos. Basicamente, para um desenvolvedor independente, bons gráficos podem dobrar o tempo total necessário para criar um jogo. E se dobrar de 1 mês para 2 não é assustador, então dobrar de 2 para 4 anos é muito.

Portanto, é altamente recomendável que desenvolvedores iniciantes usem todas as formas possíveis para obter gráficos gratuitos (talvez use um artista / designer como um compartilhamento) ou para tornar o design gráfico mínimo nos primeiros jogos.

Em casos extremos, você pode solicitar gráficos separadamente, usando a terceirização.

No entanto, se você quiser fazer tudo sozinho, há muitas maneiras de aprender a desenhar. Eu tambem estou aprendendo (comprado recentemente tablet) e para ensinar desenho, posso aconselhar alguns bons canais do YouTube:

  • Bons canais do YouTube sobre Gamedev e gráficos

Quanto tempo leva para estudar desenho?

Em geral, como qualquer empresa, você pode e deve aprender toda a sua vida, mas não há limite para a perfeição. No entanto, olhe novamente meus desenhos.

Bem, o horror não é direto, é? Ruim, claro, mas não direto aqui?

Bem, desenhei isso com um mouse de computador em um editor gráfico muito simples e aprendi a desenhar por 1-2 meses, desenhando uma imagem por semana, no máximo.

Acho que em um ano você poderá atingir um nível muito bom se dedicar de 1 a 3 horas por dia ao desenho e ao estudo da base teórica.

Eu tenho um video (16 minutos):

Seleção do projeto

Então por onde você começa? É mais fácil responder por onde começar não vale a pena, principalmente em projetos grandes, como FPS 3D completo, MMO ou até mesmo um longo jogo de plataforma da era dos 16 bits. O erro mais comum dos desenvolvedores iniciantes é começar com um grande projeto baseado no Cool Idea ou executar um projeto que pareça simples e terminar com um monte de códigos espaguetes pela metade. Inicialmente, pequenos projetos devem ser criados.

Nos projetos iniciais, seu principal objetivo é estudar, não implementar o Cool Ideas. Ao manter o projeto pequeno, você pode se concentrar em aprender novas técnicas, em vez de gastar muito tempo gerenciando código e refatorando. Apesar do fato de que sua Cool Idea pode ser incrível, a realidade da indústria de desenvolvimento é que quanto maior o projeto, maior a probabilidade de cometer um erro na arquitetura. E quanto maior o projeto, mais caro é esse erro. Lembra da história de Dédalo e seu filho Ícaro? Dédalo criou asas de cera e penas para o filho. Ele avisou Ícaro para não voar muito perto do sol. Mas Ícaro ignorou o aviso e as asas derreteram, e então a gravidade o alcançou.

Portanto, lembre-se: não voe muito perto do sol em suas novas asas de programador.

Considerando todas as opções acima, aqui estão algumas dicas sobre por onde começar.

Processamento de gráficos e eventos

Se você nunca programou nada relacionado a gráficos ou GUI, comece com algo pequeno para "molhar os pés". Meu primeiro projeto foi tic-tac-toe, então até eu tive um começo modesto. Algumas idéias para o primeiro projeto:

  • Bandido com um braço e simulador

  • Jack preto

  • Tic Tac Toe

  • Quatro seguidas

O objetivo do seu primeiro projeto é passar do desenvolvimento do console para aplicativos gráficos orientados a eventos. Ele também ensinará os fundamentos da lógica e da arquitetura dos jogos. Eu recomendo algo passo a passo, porque os jogos de movimento são uma fera completamente diferente.

Tente manter o projeto simples, para que você possa concluí-lo e não perder o interesse pela metade, nunca terminando o jogo. É importante concluir o jogo porque você não está aprendendo o processo de desenvolvimento se tiver vários jogos inacabados no disco rígido.

Há um ponto que quero destacar para aqueles que fazem tic-tac-toe ou quatro seguidos. Não se preocupe muito com inteligência artificial agora. Criar um jogo para apenas dois jogadores ou jogar com um computador que faz movimentos aleatórios é suficiente para começar.

Se antes você lida com o processamento de gráficos e eventos e se sente confortável nessa área, prossiga diretamente para a próxima etapa.

Sincronização, movimento, colisões, animação

Agora que você já possui o suficiente dos gráficos, é hora de fazer algo em tempo real. Aqui estão algumas sugestões:

  • Caça ao pato

  • Pong

  • Invasores do espaço

  • Galaga

  • Tetris

Aqui você se familiarizará com movimento, tempo, animação, detecção de colisão, ciclo do jogo, cálculo de pontos, vitórias e derrotas e outros conceitos básicos importantes usados ​​em cada jogo.

Duck Hunt e Pong são bons projetos para quem já possui experiência em programação de gráficos e eventos. Eles têm detecção de colisão simples e todos os conceitos básicos importantes de jogos em tempo real.

Space Invaders e Galaga são boas escolhas para o segundo / terceiro projeto. Eles têm níveis, então você precisará aprender como passar de nível para nível usando uma máquina de estado. Você pode ler sobre máquinas de estados finitos aqui. Jogos no estilo de "atirar em todos" também exigem a criação de padrões simples de comportamento para os inimigos, o que é um passo em direção à inteligência artificial.

Tetris é bom para um segundo / terceiro projeto. Tem muito pouca lógica necessária para criar um jogo de quebra-cabeça. Como é um jogo de tamanho decente, você terá que aprender como dividir seu programa em vários arquivos de origem, sobre os quais você pode ler mais aqui. Não subestime Tetris. Eu subestimei e apenas olhei para essa bagunça assustadora no código Lazy Blocks.

Reengenharia

Um erro típico de novato é tentar fazer o melhor jogo de todos os tempos, terminando com a reengenharia. Ou seja, quando ele tenta escrever o melhor jogo / mecanismo e tudo acaba usando apenas uma pequena parte do que foi escrito.

Quando eu era iniciante, reformulei a IA para o jogo da velha. Eu queria fazer um jogo com IA invencível. Consegui fazer isso programando um computador para conhecer todas as possíveis armadilhas. Parece legal, certo? Foram necessários quase 40.000 mil linhas de código principalmente copiado e um mês do meu tempo livre.
Mais tarde, aprendi estruturas de dados e o algoritmo Minimax, que, com um tamanho de código menor, não apenas fez a coisa certa, mas também fez melhor.

Portanto, aprenda com meus erros e não seja muito ambicioso. Concentre-se em aprender a criar jogos, não apenas em fazê-los.

Planejamento, análise de colisões, física, níveis, inteligência artificial

Agora que você tem dois ou três jogos pequenos atrás de você, é hora de fazer seu primeiro grande projeto.

Até agora, você provavelmente programou conforme necessário. Terminará neste ponto. No mundo real, a maioria dos processos de desenvolvimento é concluída antes que a primeira linha de código seja escrita. Nada poderia ser pior do que perceber que, para adicionar ao seu jogo o que você deseja, você terá que jogar fora todo o código escrito, porque não planejou tudo com antecedência. Agora que você tem experiência na criação de jogos, sabe o que consiste o processo de desenvolvimento. Agora você pode planejar os jogos antes de começar a fazê-los.

Agora sobre o seu próximo jogo. Break Out e Puzzle Bobble são bons para o terceiro projeto porque incluem reconhecimento e colisão avançados de física. A física é importante porque dá ao jogo uma sensação realista. Até Super Mario Brothers tem um senso de gravidade e inércia. O bilhar é um excelente projeto para quem quer esticar o giro com a física.

Em jogos como bilhar, você precisa não apenas detectar colisões, mas também processá-las em uma ordem específica. O manuseio de colisões é muito diferente de sua detecção. Embora possa parecer fácil criar bilhar ou um jogo de plataformas 2D, a análise de colisões na ordem correta é um processo confuso e não deve ser subestimado.

Break out e Puzzle Bobble também incluem design de níveis e exigem o carregamento e liberação de seus recursos. Criar um editor de níveis para o jogo é uma boa experiência. Os editores permitem criar níveis facilmente e não os forçam a soldar no aplicativo. Eu tenho um artigo (eng.) Sobre a criação de um editor de níveis.

Você também pode praticar escrever inteligência artificial (IA). Uma opção é voltar ao jogo da velha ou quatro vezes seguidas e escrever uma IA invencível. Agora você já deve conhecer as estruturas de dados e poder usar o conhecimento de árvores para usar o algoritmo Minimax. Com esse algoritmo, você pode calcular todos os resultados possíveis do jogo da velha e criar uma IA invencível. É engraçado incomodar seus amigos. Você também pode querer fazer diferentes níveis de dificuldade. Um jogo não traz alegria se não puder ser vencido.

Pac Man é uma ótima maneira de praticar a escrita AI. Você precisará conhecer as estruturas em árvore / gráfico e os algoritmos de busca, como A *, para que os fantasmas possam atravessar o labirinto. Também será necessário fazer os fantasmas trabalharem em equipe. Tudo isso é útil quando você cria jogos com IA complexa, como estratégias em tempo real. Você pode ler sobre o básico da IA ​​aqui.

Plataformas, Ação / aventura, RPG, RTS, Motores

Agora que você ganhou a experiência de criar um jogo bem planejado, está pronto para criar uma Ação / Aventura / Plataforma. Será o culminar de gráficos, movimento, animação, análise / detecção de colisões, física, IA, arquitetura de software e tudo mais que você aprenderá neste momento. Para aqueles que são mais ambiciosos, você pode sugerir fazer uma estratégia em tempo real (RTS) ou RPG. Tenha cuidado, porque RPG e RTS são realmente grandes projetos.

Os RPGs têm uma arquitetura complexa e exigem muito planejamento. Você precisará planejar cada arma, armadura, acessório, ataque, item, feitiço, convocação, inimigo, cartão, chefe, masmorra, etc. nos mínimos detalhes. Tudo isso deve funcionar em harmonia e, para dizer o mínimo, não é uma tarefa fácil. Portanto, se seu projeto de design parecer um script ou uma história em quadrinhos, você precisará fazer mais muito trabalho

Os RTSs também são arquitetonicamente complexos e também exigem muita IA. Você precisará fazer uma busca pelo caminho das unidades, recebendo comandos por elas, comportamento diferente, dependendo dos comandos recebidos. Se você nunca fez IA antes, seria melhor começar com o clone do Pac Man para começar.

Você provavelmente precisará criar um mecanismo para o seu jogo pela primeira vez. O que deve ser evitado é a criação de um mecanismo universal. Создавая движок не пытайтесь сделать его подходящем для любой игры. Если ваша игра требует x, y и z, делайте движок который умеет x, y и z. Движки создают исходя из того что нужно для конкретной игры, а не из того что любой игре может потенциально понадобится.

Другая распространенная среди новичков ошибка — это попытка создать движок в качестве первого проекта. И обычно это универсальный движок. Вам не нужен движок с фантастической графикой для создания Pong'а или Space Invaders. Программируя, легко закопаться в деталях. Концентрируйтесь на общей картине и завершайте свои игры.

Parece que todo mundo quer fazer o próximo grande MMO. Criar jogos online não é algo que você possa entender rapidamente. Percebi isso quando tentei fazer poker online logo após a conclusão do jogo da velha.

Adicionar uma rede complica bastante o jogo. Quando um jogador faz alguma coisa, você deve enviar informações sobre isso para todos os outros. É como se sua mão direita não soubesse o que a esquerda está fazendo. Você também terá que escolher entre carregar o servidor e o que ele pode controlar. Quanto mais a parte do servidor fizer, menos oportunidades haverá de trapacear no cliente, mas isso também significa uma carga maior no servidor. Para ação e outros jogos de ritmo intenso, você precisará se preocupar com a latência da rede e a perda de pacotes.

Você deve concluir completamente pelo menos um jogo bem planejado antes de tentar criar um jogo em rede. Como o primeiro projeto de rede, tente fazer algo que não é crítico para acelerar. Por exemplo, um servidor / cliente de bate-papo simples seria uma boa prática. Você também pode voltar ao jogo da velha / quatro seguidos e adicionar a capacidade de jogar on-line neles. Como alternativa, tente criar uma placa de rede ou um jogo de tabuleiro.

Depois que seu primeiro projeto de rede estiver pronto, tente fazer algo em tempo real. No seu primeiro aplicativo de rede, você provavelmente usou o TCP para garantir que os dados recebidos cheguem na ordem em que foram enviados. Para jogos em que há muita ação, os atrasos criados pelo TCP provavelmente serão muito grandes, portanto você precisará usar o UDP. O UDP não garante a ordem de entrega, nem a própria entrega em geral. Como o UDP não faz verificações adicionais de integridade, é mais rápido. Você terá que sacrificar a facilidade de usar o TCP em troca da velocidade UDP e a necessidade de verificar independentemente a integridade dos dados ao criar o jogo.

Antes de fazer jogos em 3D, você deve fazer pelo menos um jogo bem planejado e ter uma boa compreensão da matemática vetorial tridimensional, da física linear e newtoniana. Aqui você tem que lidar com vértices, texturas, iluminação, sombras, determinar a interação com objetos no espaço tridimensional, carregar modelos e outras coisas de som difícil.

A boa notícia é que, se você já fez 4 ou 5 jogos, já sabe o básico necessário para criar um jogo. Você já está familiarizado com o processo de desenvolvimento e conhece suas habilidades como programador. Não importa se é um atirador tridimensional ou bidimensional, ele ainda é um atirador. RPG 2D ou RPG 3D ainda é um RPG.

Não considere isso uma desculpa para pular o 2D e ir direto para o 3D. Antes de aprender a correr, você precisa aprender a andar.

Assista ao vídeo: Utility and Risk Preferences Part 1 - Utility Function (Janeiro 2020).