Author Rodrigo Schio

Rodrigo Schio é um programador que reside em Ribeirão Preto. Já fez mais de 10 jogos incluindo apps para celular android. Rodrigo conseguiu realizar seu sonho de infância de criar jogos. Teve que adaptar seu sonho para a realidade e teve que pesquisar bastante e ler complicados manuais de instrução. Agora ele quer dividir seus conhecimentos com toda internet. Rodrigo não gosta de frameworks nem nenhum tipo de ferramenta que gere código-fonte e dedica uma parte do seu tempo livre na criação de novos jogos e manutenção de seus jogos.


Minha carreira desenvolvendo Games… Comece simples, persista e não desista!


Estou nessa área de desenvolvimento de jogos a mais de 10 anos e por isso escrevo artigos sobre esse tema. Entrei para o time do Marketing & Games no segundo semestre de 2016 mas minha carreira começou mais ou menos em 2004. Eu tinha aulas de programação na faculdade e então percebi que já tinha ‘know-how‘ suficiente para fazer minha versão do jogo da cobrinha. Era um jogo que rodava na ‘tela do prompt’. Ms-Dos.

snakeNessa época ocorria uma revolução nos browsers (navegadores) eles começaram a ter abas… O Mozilla Firefox disputando mercado com o Internet Explorer, nem existia o Chrome ainda. Eu resolvi fazer minha versão do jogo da cobrinha para jogar pelo browser, em javascript, o jogo em uma página.

Em seguida fiz minha versão do jogo tetris e minha versão do jogo campo minado. Alguns anos depois comecei a fazer um jogo de corrida que ficou na gaveta por vários anos, nessa mesma época também comecei com java. Fiz uma versão do jogo da cobrinha com duas ‘snakes’ (uma controlada por inteligência artificial) e também elaborei uma versão do cubo mágico para windows.

Em seguida mexi um pouco com delphi e fiz novamente o jogo da cobrinha, e fiz uma versão para o jogo Pong (Bola Elástica). Depois comecei a lidar com o elemento canvas (HTML5) e fiz uma versão de uma animação interativa de um cubo em rotação.

A partir de 2013 comecei a fazer jogos para android, porém a maioria dos jogos que faço são simples. Tenho basicamente apenas um jogo que considero complexo. Até me sentir confiante para publicar um jogo em um outro nível levou muito tempo.

Tenho mais de 12 jogos publicado pela web e para chegar a essa quantidade eu fiz e descartei muitos outros, fui fazendo e refazendo e re-testando e publicando. O próprio processo de fazer um simples jogo ficou mais claro para mim.

O procedimento possui duas etapas que são escrever código e testar. Dois passos repetidos muitas e muitas vezes.

Eu escrevi outros artigos por aqui insistindo em desenvolver a partir da programação porque é assim que funciona para mim e espero que outras pessoas conheçam essa maneira de fazer jogos.


Uns Primeiros Passos… Para quem quer começar a desenvolver o seu próprio jogo!


Esse é um caminho que muitos desenvolvedores percorrem começando o desenvolvimento de um jogo, após um contato inicial com a linguagem de programação escolhida. Após o famigerado ‘hello world’ o developer decide fazer um jogo.

Começando pela programação.

jogo-programing-marketing-gamesPesquisando sobre a linguagem escolhida chega-se a conclusão que pode-se desenhar algo na tela. Após fazer os testes e ‘imprimir’ na tela, o desenvolvedor calcula que pode além de desenhar, mover o desenho pela tela.

Inicialmente o que podia ser desenhado na tela eram caracteres. Letras. Em seguida formas geometricas: quadrados, círculos, linhas… Atualmente imagens.Quase todas as linguagens perimtem que voce ‘imprima’ na tela um arquivo de imagem (png, jpg)

Podemos considerar o primeiro passo quando o programador escreve na linguagem escolhida um comando do tipo: DesenhoNoCentroDaTela(imagem.bmp) A maioria das linguagens permite algo como isso.

O segundo passo é fazer a imagem (ou forma geométrica) se mover na tela de acordo com o teclado.

tetrisE o terceiro passo é fazer o movimento contínuo. Envolve a passagem de tempo. Tipo quando a cobrinha está andando pra direita, ou quando o quadradinho do ‘Tetris‘ está caindo, ou tipo quando a bolinha do jogo pong está pingando ou quando a tartaruguinha do ‘Mario‘ está avançando ou até mesmo quando as navinhas inimigas de ‘Space Invaders‘ estão se movendo.

Eu acredito que muitos jogos surgiram assim seguindo esse passos. É claro que os desenvolvedores não precisam sempre ficar repetindo esse processo. Mas esse processo, esses simples passos ampliam os conhecimentos e as habilidades relativas a essa determinada linguagem de programação.

Por exemplo: Conhecer, em determinada linguagem, o método de fazer o jogo ‘tratar’ ao pressionar determinada tecla.

Isso pode ser bem útil. Qualquer jogo feito nessa mesma linguagem, que vier depois desse, pode utilizar essa mesma técnica de ‘obter’ movimentação pelo teclado (ou telatouch, ou mouse)

Então resumidamente os metodos/passos são:
desenharNaTela()
movimentar de acordo com a ação do player
movimento continuo (game loop)


Motivação para Desenvolver Jogos


Motivação é um assunto muito sério, muito pessoal e muito complexo. O que incentiva alguns pode desanimar outros. Um obstáculo pode ser ‘algo a ser superado‘ e esse mesmo obstáculo pode ser encarado como o fim do caminho.

Criar jogos para ficar rico pode motivar alguns, admito que essa ideia já passou pela minha cabeça, mas esse é um caminho bem difícil e esse é um mercado muito concorrido. Fazer jogos é bem legal, mas fazer jogos para ganhar dinheiro não é tão simples assim.

Faço jogos a mais de 10 anos e ainda não consegui ganhar muito dinheiro com meus jogos. Sendo assim essa motivação se foi. Mas outras motivações permaneceram e outras motivações vieram.

Motivação

Fazer um jogo deve ser legal, certo ?

Certo! Essa motivação em mim dura mais de 10 anos. Renovo essa motivação a cada pequeno obstáculo vencido, a cada jogo lançado. A cada melhoria implementada, cultivo essa motivação e colho os resultados.

Escrevo nesse site para compartilhar minha experiência com o desenvolvimento de jogos. Não posso ensinar ‘como ficar milionário fazendo jogos‘ porque não sei ficar milionário. Mas sei fazer jogos e posso mostrar como fiz meus jogos e indicar alguns caminhos.

Como FazerApresento nesse artigo, nos artigos anteriores e nos próximos artigos, algumas dicas de como fazer jogos, conforme as dicas óbvias vão sendo apresentadas, as dicas técnicas vão querendo aparecer e provavelmente meus próximos artigos terão conteúdo mais técnico.

Uma dica desse artigo é #SigaTutorias e algumas vezes é preferível tutoriais em modo-texto do que tutoriais em vídeo-aula.

Aprendi muito dessa maneira, entrava no Google e digitava: ‘como fazer um jogo‘, a informação está disponível a todos, basta você ter a motivação de querer procurá-la!


Um primeiro jogo…


Começar por cima só se for para fazer um buraco ou uma demolição, para se construir deve-se começar de baixo, essa é a dica desse artigo! Quem está começando a desenvolver o seu primeiro jogo deve começar por algo simples, quanto mais simples melhor.

Concluir o desenvolvimento de um jogo simples dá ânimo para tentar algo mais complexo, tentar algo muito difícil logo de cara pode ser insatisfatório e frustrante. É o equivalente a começar a jogar um jogo no nível hard da última fase.

Então sugiro que quem começa no desenvolvimento de jogos escolha uma linguagem de programação e logo em seguida crie um ‘hello world‘, se possível desenhe algo na tela, só depois pense em criar algum tipo de movimento.

Puzzle DeslizarUma lista de jogos possíveis de serem concluídos como primeiro jogo:

  • Jogo-da-velha
  • Jogo-da-forca
  • Jogo-da-memoria
  • Puzzle de deslizar e ordenar numeros
  • Jogo de empurrar caixas

É possível fazer jogos assim até mesmo em modo-texto (tela preta do prompt)

Pela web encontramos milhares de tutoriais ensinando como fazer esses jogos. Vários em português.

snakeEm uma fase intermediária podemos fazer algum jogo com movimento:

  • Jogo-da-cobrinha
  • Jogo-pong
  • Jogo tetris
  • Jogo de plataforma
  • Jogo de corrida infinita

Eu já tive a oportunidade de construir versões para a maioria desses jogos e incentivo outros a desenvolverem também, programação de computadores é uma área muito interessante e fortemente relacionada a desenvolvimento de jogos. Portanto a dica desse artigo é: comece pelos jogos simples.


Quais são as melhores Linguagens de Programação para Games?


Olá pessoal! No outro artigo dei a dica de focar na programação. Alertei que muitos iniciantes no desenvolvimento de games partem para modelagem de cenários ou personagens e deixam de lado a programação. Nesse artigo vamos para a próxima etapa, que linguagem de programação para games escolher.

Linguagens de Programação para gamesEssa é uma dúvida muito comum visto que existem muitas opções atrativas, porém vou deixar as minhas dicas sobre esse assunto porque conheço várias linguagens e utilizo várias delas para construir meus jogo, afinal se você não conhece nenhuma linguagem então comece escolhendo bem.

Dica: Assim que tiver contato com a linguagem de programação para games, desenhe algo na tela. Um ponto, um circulo, uma letra, uma reta, um quadrado ou um .jpg ou .png

Vou listar algumas linguagens que eu recomendo. Vale lembrar que essa é uma área que está em constante mudança e que novidades podem surgir. Para criar jogos para celular Android eu recomendo a linguagem Java. Java é ‘nativo’ em qualquer dispositivo android e é a linguagem oficial para essa categoria de desenvolvimento.

windows bluePara criar jogos para windows eu tenho uma recomendação especial: O formato .htaEsse é um formato que permite utilizar javascript para criar jogos para windows. É uma ótima escolha para quem está começando. Ainda para windows existe a opção delphi que tem um bom desempenho mas é obsoleto e java que não tem um desempenho tão bom e a plataforma .net que é de propriedade da microsoft. Existe também a possibilidade de fazer um jogo em javascript em uma página da web. Similar ao .hta, mas sem ocultar o browser.

Falando um pouco sobre linguagens semelhantes, Java, javascript, C# e Php têm características em comum, são linguagens que descendem da linguagem C e possuem a mesma sintaxe.

Para disponibilizar o jogo e gerar interatividade entre jogadores, armazenar recordes dos jogadores e para permitir que o jogador joguem o game em diferentes dispositivos, pode ser necessário um webserver. Essa geralmente não é uma questão inicial… mas pode ser. Nesse caso recomendo php/mysql por ser tradicional e fácil de encontrar.


Por onde começar no Desenvolvimento de Games?


Esse é meu primeiro artigo para o Marketing & Games, estou contente por entrar no time, tenho ampla experiência com desenvolvimento de jogos e quero compartilhar. Para esse primeiro artigo quero dar simples dicas sobre ‘por onde começar‘ no desenvolvimento de games.

Essa dica que vou dar vale para jogos para windows (desktop/notebook) e também vale para desenvolvimento mobile. Pode parecer obvia, mas acompanho muita gente começando de maneira errada. A maneira de construir jogos eletrônicos é através da programação. Escrevendo código. Esse deve ser o foco. Essa é a dica.

Trecho de código de jogo Existem muitos jogos que permitem que o jogador personalize as fases, os cenários, criação de avatar, mudanças nas características do personagem, etc… Hoje em dia é possível desenvolver partes do jogo sem programar. Modelando cenários, texturas, editando imagens. Alguns iniciantes as vezes acham que é assim que se faz um jogo. Mas não é.

A base do jogo, o núcleo, o motor deve ser a programação. A programação trata de empenhar esses recursos visuais em prol da jogabilidade. E jogabilidade é importante, certo?

Os jogos modernos tendem a simular a realidade. Muito jogadores consideram uma qualidade do jogo ter gráficos perfeitos que imitam a realidade, mas a jogabilidade é outro fator, e esse post trata disso.

Para quem está começando a desenvolver jogos, a dica é: Foque na jogabilidade. Comece por aí. Começe programando.

marioQuero citar ‘candy crush’ que é um jogo que conquistou pela jogabilidade. ‘Pou’ também parece simples, ‘Tetris’ fez um enorme sucesso nos anos noventa em mini-games pelo mundo todo nos primórdios da indústria de games e ‘Mario Bros’ não conquistou pela aparência, conquistou pela jogabilidade.

Jogabilidade tem a ver com programação, esse deve ser o núcleo do processo de desenvolvimento. #ficaadica