Dicas técnicas para desenvolver jogos.

Se você quer desenvolver jogos, você tem basicamente 3 caminhos: Se tornar um programador, se tornar um artista gráfico ou musical ou finalmente se tornar um designer. Geralmente em equipes pequenas é necessário uma mistura, basicamente designer mais um dos outros dois, e geralmente que quer desenvolver jogos gosta dessa solução.

Para quem quer começar a programar jogos, é necessário conhecimento técnico, e aqui vão algumas dicas para começar bem.

- Comece devagar

Não pense que vai começar programando um jogo 3D completo, do nível de um lançamento profissional. Esses jogos tem milhares de homens-hora e você é apenas um homem, que provavelmente tem mais coisa para fazer da vida. Comece programando coisas pequenas, tipo remakes de jogos mais antigos, sem intenção de lançá-los. A intenção é aprender. Isso vale também para a escolha da linguagem. Não adianta partir para a linguagem mais utilizada profissionalmente sem ter ideia do que está fazendo, você vai desistir na primeira semana (eu sei, já fiz isso). Eu recomendo linguagens onde a parte gráfica já está praticamente pronta, tudo que você tem que fazer é ler um tutorial simples falando como carregar a imagem em uma posição da tela e ele faz todo o resto. Actionscript e XNA são as minhas favoritas. Mas existem linguagens para todos os gostos.


Uma parte do código do novo jogo da Nuclear. Tudo bem simples no começo.

- Aprenda a matemática

Quando se faz um jogo, ele está fazendo muita coisa ao mesmo tempo. A melhor forma de diminuir esse trabalho é aprendendo funções matemáticas, de geometria analítica para tratar coisas como rotação de objetos na tela por exemplo. Se você não gosta de matemática então dificilmente vai fazer um código eficiente. Quem me conhece sabe que não sou dos melhores matemáticos. O que gosto de dizer é: "Eu gosto de matemática, ela que não gosta de mim." Eu sei que matemática não é a coisa mais fácil, mas mantenha a mente aberta e se esforce para ver utilidade, com certeza ela existe para boa parte dos ferramentais matemáticos. Isso serve também para complexidade de algoritmos.

As duas dicas acima são resolvidas de uma forma bem fácil: Universidade na área de computação. Seja qual curso for (Bacharelado em Ciências da Computação, Engenharia da Computação, Sistemas de Informação) eles provavelmente vão te ajudar e muito. Agora para dicas independentes do curso, porque sim: A faculdade não vai te ensinar NADA específico para jogos, você terá que correr atrás.

- Jogue!

Isso é fácil não é mesmo? Errado. Nesse caso a idéia é jogar um jogo e tentar entender como ele funciona, por baixo dos gráficos e do som. Tente pensar em como você faria aquilo. Para fazer isso você vai precisar saber programar. E não estou falando para fazer engenharia reversa. É apenas parar para pensar ao invés de jogar pensando apenas no jogo.

Agora: Vamos supor que já fez isso tudo acima, e pegou um projeto um pouco maior para trabalhar.

- Espere o design tomar forma.

Sair programando sem saber o que o jogo terá no final é implorar para repetir trabalho. Se requisitos forem adicionados no jogo enquanto você está fazendo este você terá muito mais trabalho. Protótipos de funções que você vai utilizar são uma boa para entender como vai fazer na hora H, mas tente se segurar para não fazer um código super complexo antes do jogo estar fechado.

Esse tipo de imagem não serve apenas para enfeitar posts de blogs dos desenvolvedores. Ajudam a definir muito sobre como o jogo vai funcionar e horas são gastas discutindo as direções que o jogo deve tomar baseada nela.

- Equilibre flexibilidade com eficiência.

Quando se faz um programa qualquer, uma regra básica é que quanto mais flexível o programa for mais lento ele vai ser, por ter que ficar analisando cada situação antes de fazer o necessário. Para partes que serão utilizadas em muitas situações compensa ser flexível. Vale lembrar também que código flexível consome mais tempo de desenvolvimento. Então não tente fazer uma engine completa no seu primeiro jogo, tente encontrar soluções prontas.

Agora algumas dicas bem específicas:

- Estude MEFs (Máquinas de Estado Finito)

Criar um menu principal que na verdade só muda o estado da sua MEF é bem fácil e consome pouco tempo. E nas transições é possível limpar o jogo do estado anterior, mantendo o jogo funcional e eficiente. Animações também podem ser abstraídas para MEFs.

- Estude Diagramas de Classe

Saber como cada componente de seu jogo interage ajuda na hora de criar cada um dos componentes. Isso está extremamente ligado a esperar o design ficar pronto. Um diagrama de classes deveria fazer parte de todos os designs de jogos, e facilita muito o trabalho (não acredito que disse isso).

- Use um repositório

Repositórios podem salvar vidas. E quando se trabalha em equipe são a forma mais fácil de se evitar duplicação de trabalho. O importante é aprender a usá-los direito, sem medo de ser feliz por não ter que juntar o código de 3 pessoas sozinho. Esse tempo perdido juntando porções de código podia ser melhor utilizado fazendo mais código, e terminando seu jogo.

Ficção Científica para principiantes Parte 2!

Com o grande número de sugestões vindas do outro post vou continuar minha saga para esclarecer as mentes sem a grande iluminação da ficção científica.

Buraco Negro e Buracos de Minhoca: Buracos negros são basicamente uma grande quantidade de massa que não gera energia suficiente para manter um volume de uma estrela. Quando estrelas com tamanho 10 vezes mais pesada que o Sol morrem elas viram buracos negros. Então não chamem aquele gordinho de buraco negro. Se ele é tão gordo você tem sérios problemas.
Uma das teorias mais tentadoras dos buracos negros é que existe a possibilidade de que dois deles se juntem, através de um túnel que liga os dois pontos do espaço onde eles estão, criando um buraco de minhoca (não me pergunte, não criei o nome) que nossas naves poderiam utilizar para realizar viagens entre estrelas. Existe também a possibilidade de viajar no tempo, já que tempo e espaço estão interligados. Se bem que ir de um buraco negro a outro não me parece tentador, afinal de contas a chance de uma nave sobreviver a estes é mínima. Vai por mim. Já estive lá.

Teletranspote: Ah... os teletransportes... Capacidade de mover uma pessoa de um lugar ao outro do universo em alguns segundos. Alguns efeitos colaterais incluem, mas não estão limitados a: enjoo, desmembramento, morte instantânea, mistura com DNA de outra espécie que estava envolvida no processo, e uma eventuais espinhas no rosto.

Sono criogênico: Supondo que não consigamos inventar um motor capaz de nos levar mais rápido que a velocidade da luz. Viagens espaciais seriam extremamente tediosas (minha biblioteca de jogos não iria durar tanto tempo assim). Para evitar danos psicológicos permanentes, provocando motim generalizado, ou envelhecimento generalisado da tripulação devido o tempo absurdo da viagem, surgiu a idéia de deixá-la dormindo em um lugar muito frio para que ela não envelhecesse tão rápido ou ficasse pensando em quantos parafusos existem no quarto deles, os separando do espaço vazio, frio e mortal. É impressão minha ou as paredes começaram a diminuir e ficar cada vez mais próximas?

Plasma Gun e derivados: Você já se queimou com vapor de água, certo? Todo mundo já fez isso. Dói bastante, não? Agora imagina vapor aquecido a uma temperatura muito mais alta, capaz de derreter uma pessoa. É isso que é o plasma. Um gas tão quente que não é considerado mais gás. Propósitos bélicos interessantes. Imagine uma escopeta cartucheira que dispara plama ao invés daqueles chumbinhos sem vergonha. É possível derreter aço com uma dessas! Nota: se alguem criar uma por favor me dê uma de presente. Afinal de contas eu fui sua inspiração com meus textos altamente esclarecedores.

CAMPANHA IMPOSTO JUSTO PARA VIDEO GAMES: Informação adicional

É bom saber que alguns governantes se importam com os jogos eletrônicos da forma certa, do contrário de outros que tentam simplesmente impedir que esse segmento da economia se desenvolva.

Ontem descobri que um projeto de lei que pode melhorar, e muito, a vida dos gamers e dos desenvolvedores no pais está parado a mais de 1 ano e meio (desde 07/08/2008 na mão do deputado Antonio Palocci, membro da comissão de finanças e tributação da camara dos deputados, que apesar da minha falta de conhecimento político sei que não é boa coisa.) pegando poeira sem motivo aparente. Esser projeto propôe uma redução da tributação dos jogos eletrônicos e os consoles. Se meu juridiquês está correto o projeto original (link aqui) prevê que o poder executivo será capaz de criar incentivos a produtos eletrônicos diversos, principalmente na área de informática. O novo projeto quer extender esse benefício aos jogos eletrônicos e consoles. O principal motivo é estimular o desenvolvimento da industria nacional, que depende do equipamento estrangeiro para florecer. (tudo falado no link do projeto aqui)

-O quê você anda jogando?
-Modern Warfare 2, mas tá muito sem graça sem a live por aqui. Maldita Microsoft!
O que os políticos não entendem é que eles podiam melhorar pro lado da Microsoft, e essa é uma exelente oportunidade.

O que nossos nobres políticos não entenderam ainda, e aparentemente tem uma dificuldade tremenda de entender, é que mesmo sendo um mercado novo, os jogos eletrônicos são extremamente competitivos, dominado principalmente pelos EUA, tendo a maior parte dos produtos consumidos importados de lá. E sem importar as plataformas de lá (os consoles principalmente) o mercado brasileiro nunca terá base instalada suficiente para atrair investimento de grande porte.

As empresas presentes atualmente no Brasil me transmitem a sensação de que estão aqui apenas esperando que alguma coisa do gênero acontecer para trazer mais dinheiro, e explorar um mercado consumidor e desenvolvedor praticamente virgem.

O mercado desenvolvedor do Brasil é interessante porque é próximo do americano culturalmente (desde o início do mercado nós consumimos os jogos deles ou dos japoneses, que são fortemente influenciados pelos americanos também), mas não é o americado. Nós estamos abertos a tentar inovar em áreas que eles não arriscariam. Em projetos todos pedem que pensemos "fora da caixa". O Brasil está fora da caixa nesse sentido e pode ter muito sucesso tanto aqui quanto lá fora. E por favor, não estou falando de jogos baseados no folclore. Por mais tentador que seja divulgar nossa cultura o segredo no ramo é ser criativo.


Taikodom da Hoplon Infotainment. Com esse projeto de lei votado e aceito poderíamos ter dezenas de projetos desses gerando empregos e captando recursos externos .


Quanto ao mercado consumidor, é impressionante ver que mesmo com 94% de contrabando e pirataria, algumas empresas ainda acham rentável investir o mínimo por aqui, principalmente com distribuição de jogos para PC. Imagine se os benefícios dessa lei melhoram em dez por centro essa estatística? Não parece muito mas para mim é um bom começo. Pelo menos melhor que nada. E essa lei tem potencial para fazer muito mais que esses dez por cento do qual estou falando. Não posso prometer que a lei vá fazer milagres com a pirataria, mas tenho certeza que irá melhorar e começar a mudar a cultura que existe de que é "burrice" comprar jogos originais.

Se você gosta de games, assine o abaixo assinado no site para reduzir o preço destes. E quem sabe você finalmente vai poder comprar o console dos seus sonhos por um preço justo por aqui, e talvez até o PS3 venha oficialmente para cá (porque o lançamento do PS2 ano passado foi no mínimo ofensivo para nosso pais). Se você gosta de games e gosta de desenvolvê-los também então é obrigação sua assinar e passar a mensagem para cada alma viva que compartilha de seus interesses, porque o nosso futuro profissional na nossa pátria-mãe pode ser facilitado, e muito, com a aprovação deste projeto de lei. Vamos nos fazer notar, para que nossos governantes saibam que existe gente que se importa com nosso direito constitucional ao lazer, quase sempre menosprezado e ignorado por eles, e de podemos gerar riqueza para o pais divertindo os outros.

Nota rápida

Em mérito ao primeiro dia do mês de abril não teremos nenhuma postagem, já que nossa credibilidade já não é muito boa :P Aproveitem as palhaçadas que as empresas sérias e grandes estão fazendo hoje. Nós tambem estamos aproveitando!
 
Nuclear Core Studios © 2010 | Designed by Trucks, in collaboration with MW3, Broadway Tickets, and Distubed Tour. Customizado por Bruna Lanzillotta.