Como começar ná área de desenvolvimento de Games




1. Jogar

Para um iniciante, muitas vezes se faz de extrema importância que o mesmo tenha jogado, ou jogue muitos jogos de variados gêneros, prestando muita atenção em cada detalhe.
Observando pontos chaves em quesito de mecânicas, composição de cenário, interface/HUD, personagens e efeitos. Isso significando apenas o básico, caso um Game Dev (desenvolvedor de Jogos) pretenda desenvolver seu game sozinho, também vai precisar prestar bastante atenção na história dos jogos, dinâmicas e diálogos.

Há uma série de perguntas frequentes que muitos da área de desenvolvimento de jogos recebem ao longo da jornada, cuja as quais eu tentarei responder da maneira mais simplificada possível:

P: Precisa saber programar para criar um jogo bom?
R: Não. Há muitas Engines que permitem o usuário criar seu jogo sem digitar uma única linha de código (falarei sobre isso mais pra frente).

P: Precisa de um super Computador para criar um jogo?
R: Não, mas dependendo do tamanho e complexidade gráfica, muitas vezes se torna necessário. Porém, isso é se tratando de jogos realmente grandes e com gráficos absurdos.

Só que não posso deixar de mencionar que existem jogos graficamente simples, porém, extremamente mal otimizados. Tornando real a necessidade de um Computador potente para rodar. Como a maioria dos jogos feitos na Engine Unity (falarei mais sobre Unity depois).

P: Dá para criar um jogo sozinho, ou precisa de uma equipe?
R: É possível criar um jogo sozinho sim, mas nesse caso você tem que levar em conta o tempo que vai levar e também as suas habilidades, pois um jogo simples é composto de:

Interface gráfica, cenário, efeitos sonoros, música de fundo, efeitos visuais, itens de cenário, lógica e um objetivo.


2. Habilidades e Motivação

(Eu decidi unir os dois tópicos num só para não prolongar o sofrimento do leitor.)

Resumidamente, as habilidades de um Game Dev que trabalha sozinho consistem em: Roteirização, design gráfico, lógica, ambientação, composição de BGM e SFX.

Mas nem todo mundo tem paciência, ou motivação para aprender todas essas coisas, por isso existem atalhos que podem ser tomados para facilitar a sua vida.
(Falarei sobre os atalhos no próximo tópico.)

Mas muitas vezes, mesmo tomando o processo todo de desenvolvimento com atalhos, ainda existe o maior desafio de todos, que é manter a motivação e terminar o projeto.

Na minha experiência pessoal, eu raramente consigo terminar um projeto, mesmo que ele esteja caminhando bem, pois manter a motivação inicial é uma guerra constante.
Então mesmo que você tenha todo o talento do universo, é preciso manter o foco no seu objetivo como Game Dev, seja ele qual for.

Haverão muitos dias em que você não vai querer nem ver teu projeto, e isso pode te levar a abandoná-lo inacabado. Não queremos isso!
Então a única coisa que eu posso recomendar nessa situação, é que você não se pressione. Faça tudo no seu tempo e conforme a tua vontade, e aos poucos, teu projeto estará pronto de acordo com o que você considera pronto, seja numa fase beta, alfa, ou o produto terminado em si.


3. Atalhos

Desenvolvimento de Games pode parecer algo muito fora de alcance, ou coisa de outro mundo, mas a realidade é que qualquer um pode desenvolver seu próprio jogo, mesmo que você não possua determinada habilidade. Nesses casos, o melhor jeito seria pegarmos um atalho!

Antes de tudo, quero deixar claro novamente que não entraremos com profundidade na parte de programação. Essas dicas são apenas meios mais fáceis de se iniciar, ou começar a estudar desenvolvimento de jogos de forma geral.

Desde que seu projeto não vise lucros, o mundo inteiro é sua caixa de brinquedos.
Suponhamos que você precise de efeitos sonoros, ou músicas para seu jogo. Você pode usar qualquer música, mas mesmo que o projeto não vise lucros, é sempre bom evitar músicas, ou efeitos protegidos por Copyright.

Resumindo. Pra tudo que você não consegue fazer, existe alguém que já fez. Logo, de forma respeitosa, você pode se utilizar dos recursos criados por outras pessoas para incrementar seu jogo, os chamados Assets.
Existem centenas de sites que oferecem Assets gratuitamente, como:

www.fantasynamegenerators.com - Neste site você vai encontrar geradores aleatórios de nomes para qualquer coisa, como raça, idioma, planeta, país, personagem. fora fichas técnicas caso teu interesse seja em jogos de RPG.

www.opengameart.org - Aqui você pode encontrar BGM, SFX, itens de cenários, tilesets e personagens. Basicamente tudo que você precisa para seu jogo.

Esses foram apenas 2 exemplos, mas existem muitos outros por ai.


4. Game Engines (Motores Gráficos / Motores de Jogo)

Possuem centenas de Engines diferentes por aí. Cada uma com a sua especialidade e funções únicas.
Aqui vou citar algumas que eu já usei e o que me chamou a atenção nelas.

Vou começar nas Engines 3D.

Unity - Pessoalmente, eu não gosto de Unity e não pretendo tornar usar, mas muitos jogos da atualidade são feitos nessa Engine.
Apesar de que dependendo do projeto, você precisará escrever alguma linha de código, mas também, existe a Loja de Assets da Unity, onde você pode encontrar tudo, desde Scripts prontos, modelos 3D/2D, cenários, objetos, etc.

Eu não gosto de Unity, por que a maioria dos jogos feitos nela, tanto os bons, quanto os ruins, são extremamente mal otimizados. Muitas vezes tendo queda de FPS, ou Crashes.

Como por exemplo, o jogo Magicmaker. Um jogo muito legal, mas extremamente, mas eu digo EXTREMAMENTE mal otimizado para um jogo 2D de gráficos ultra simples.
Eu via muita gente reclamando de Crashes e FPS baixo, demora para carregar, bugs etc.
É o caso de um jogo bom, promissor, mas feito do jeito errado, ou na Engine errada.
Hoje em dia eu não sei, mas quando eu baixei, tinha esses problemas.

Resultado de imagem para unity
Imagem retirada de: www.revolutionnow.com.br


CopperCube - Pessoalmente, eu acho uma ótima Engine, com muito potencial e umas funções bacanas.
Ao mesmo tempo que ela é extremamente fácil de entender, ela permite que você crie coisas bonitas de se ver.

O problema começa quando você vai mexer com física, como gravidade e colisão, ou até mesmo com Inteligência Artificial. Essas funções são simplesmente horríveis de se usar quando se é iniciante. Fora que algumas coisas só se é permitido usar na versão paga. A navegação da câmera e mudar o tamanho dos objetos é meio confuso, mas com o tempo acostuma.

Imagem retirada de: store.steampowered.com
Imagem retirada de: store.steampowered.com


Blender - Ao mesmo tempo que é uma ferramenta aclamada como uma das melhores no quesito modelagem 3D, também é a única que eu conheço que vem com uma Engine de jogos embutida, a chamada Blender Game Engine (BGE).

A BGE, é simplesmente a melhor Engine de desenvolvimento de jogos que eu já tive o prazer de usar! Enquanto peca no quesito gráfico por sua limitação, que aparentemente, foi corrigida com a Engine Standalone chamada UPBGE. Ainda não pude usar, mas acredito que seja boa.

Logo de cara, a principal característica da BGE é seu sistema de blocos, permitindo que você execute qualquer tipo de ação, desde um simples movimento de personagem ao pressionar um botão, à coisas mais complexas. Tudo sem a necessidade de escrever sequer UMA linha de código. E tudo isso apenas conectando blocos de funções um no outro. Podendo inclusive usar combinações dessas funções!

Uma outra característica que torna a BGE tão completa, é que você, caso saiba programar em Python, crie seus scripts, ou baixe algum pronto para seu uso.

Não estou sendo pago para falar bem dela. É realmente a minha opinião pessoal como usuário há tantos anos.

Outras funções úteis da BGE são as camadas. Você pode botar elementos em camadas diferentes, cujo os quais você pode chamar em qualquer posição no cenário, ou através de algum outro objeto, para aparecer na camada principal, onde se passa o seu jogo.
Esse mesmo elemento pode ser usado para criar fases diferentes no seu jogo, já que a BGE permite que você navegue entre essas camadas livremente.

Resultado de imagem para blender bge
Imagem retirada de: www.blendernation.com


E por fim, as Engines 2D. Sendo elas:

Stencyl - De longe a minha favorita quando se trata de 2D.
Na minha opinião pessoal, Stencyl é uma versão mais completa e rica do Scratch, mais intuitiva e fácil de usar.

Com ela é possível até criar jogos para Android e iOS, mas de modo geral, os jogos são compilados para Flash, ou EXE.

Stencyl também possui uma vasta biblioteca de jogos, itens, SFX, BGM, cenários etc. Tudo criado por usuários e é tudo gratuito para você jogar, ou usar como quiser, desde que não seja para projetos com fins lucrativos.

Resultado de imagem para stencyl
Imagem retirada de: www.developerhouse.com

Scratch - Como mencionado, Scratch e Stencyl compartilham suas semelhanças, mas a maior diferença entre ambos, é que Scratch é totalmente grátis e mais simplificado.

Resultado de imagem para scratch
Imagem retirada de: www.medium.com


RPG Maker VX Ace - Meu favorito de todos os RPG Makers.
Todas as versões do RPG maker vêm com Assets predefinidos. Isso mesmo, você não precisaria fazer nada além de montar sua história, pois até cenários e personagens tem pronto.
Você só modifica o que achar que tem necessidade. Caso contrário, dá para finalizar um jogo com RPG Maker em 1 dia.

Também é uma ótima ferramenta para se aprender lógica de eventos, tendo em vista que tudo tem sua ordem. O que significa que cada item é colocado em forma de Roteiro, onde dita tudo que acontece dentro da ordem que você quiser.



GameMaker - Aparentemente ta meio fora de mercado e não parece mais ter atualizações até onde me lembro, mas é uma ótima ferramenta para iniciantes.

Resultado de imagem para game maker
Imagem retirada de: www.store.steampowered.com


Menções honrosas:

- Unreal.
- CryEngine.
- Corona.
- Construct.
- Godot.


5. Linguagens de Programação

Da mais fácil para a mais difícil, irei listar algumas linguagens de programação para quem tem interesse em se aprofundar em lógica e aprender a criar seu próprio código.

Batch - Eu recomendo começar por Batch, por sua simplicidade e funções divertidas.
Eu comecei com ela, fazendo scripts simples e bobos como o de desligar o PC:

@echo off
shutdown - s

Mas com ela também é possível fazer jogos baseados em texto, como os jogos de antigamente. Fora outras funcionalidades, como automatizar tarefas e até mesmo criação de vírus.

Pascal - Muito completa e rica, Pascal é a linguagem ideal para quem deseja aprender desenvolvimento de jogos em sua forma mais pura.
As melhores ferramentas para usar são Delphi e Lazarus.
Pode parecer assustador de inicio, mas basta você mexer um pouco no editor de códigos, como botar o nome dos elementos seguidos de um ponto:

Form1. Uma janela pequena vai aparecer com todos os comandos disponíveis para esse elemento. Entre eles Close, Caption etc.

É só um exemplo, mas é difícil explicar tudo por texto, o ideal é que você experimente.

VBS - Muito útil para começar a mexer com Bibliotecas do sistema.
Com ela você pode criar desde um simples programa que abre uma janela de erro com o texto e título que você quiser, à jogos!

Python - Muito utilizada atualmente, ela tem várias funções, mas a única desvantagem é que precisa baixar várias Bibliotecas dependendo do que você queira fazer com ela.

Lua - Muito semelhante a Python, Lua foi a linguagem que me fez aprender mais sobre programação voltada para desenvolvimento de jogos.
Meu primeiro contato com Lua foi no jogo Multi Theft Auto San Andreas, que começou como um Mod para GTA San Andreas e se tornou uma plataforma rica e cheia de conteúdo, como servers variados, funções, entre outras coisas.

Menções Honrosas:

-C.
-Java.
-C++.

Concluindo, para se tornar um Game Dev, não precisa ser um gênio, ou um super artista/programador, basta ter muita paciência, dedicação e vontade de aprender.
Inglês também não é uma habilidade obrigatória, porém, bastante complementar.

E é isso.
Espero que ninguém tenha se ofendido pela minha colocação dentre os assuntos. É só a minha opinião pessoal, mas eu compreendo que cada um possui uma visão diferente.

Se gostou, deixe um comentário para eu saber o que você achou, me dê sugestões de tópicos acerca do assunto. Compartilhe com os seus amigos.
Críticas construtivas são bem vindas!

Comentários

  1. Mais n'ayez pas peur! Nous avons d'excellents outils qui peuvent vous aider avec votre leçon de mathématiques. En quelques étapes simples, vous pouvez calculer l'analyse vers la bonne réponse en un rien de temps. De quoi sommes-nous en train de parler? Calculatrice , bien sûr! calculatrice

    ResponderExcluir

Postar um comentário