Archive

Posts Tagged ‘Iniciantes’

Iniciando em Desenvolvimento de Jogos – Parte 05

Vamos à quinta parte de nossa série de artigos para quem quer começar a desenvolver um jogo eletrônico do início ao fim. Caso seja a primeira vez que esteja vendo este post, visite a página de Artigos e Tutoriais com todos os textos, em ordem cronológica. Nesta pare vamos falar de programação, uma das áreas mais importantes da criação de games.

Programação vem de programar. Criar um programa de computador (também chamado de software). Um jogo eletrônico que não teve programação não pode ser chamado de um jogo eletrônico, já que é nesta etapa que é criado o game propriamente dito. O sistema operacional (Windows/Linux/etc) e os consoles lêem o jogo e transforma em gráficos, personagens, inimigos, falas, etc. A área é a mais fácil de todas, mas também é a mais maçante e dependendo da sub-área, pode ser uma das mais difíceis.

Porquê fácil? Aqui você usa a mente para criar as coisas, não precisando de habilidades artísticas e em pouco tempo você já vai estar criando programas simples. Games também, mas vai depender da complexidade do jogo, do estilo e do tamanho. Mas em menos de 2 horas você já vai estar criando programas bem simples para ir treinando a sua lógica.

Porquê difícil? Inteligência artificial e física demandam matemática e cálculos bem difíceis.
A melhor palavra que resume a programação é o algoritmo. Considero o algoritmo como uma sequência de comandos que será lido por um outro software (um compilador ou mesmo um interpletador), executando algumas funções específicas. Cada algoritmo vai ser de um jeito diferente, dependendo da linguagem de programação utilizada.

Mas qual linguagem eu posso começar? Essa é outra dúvida, mas vai depender do foco do iniciante. Segundo o Ricardo Bicalho, existem mais de 8 mil linguagens diferentes no mundo! OK, você não precisa aprender todas (é impossível aprender todas!), mas a maioria acaba escolhendo uma das principais linguagens de programação em atividade: C++, .Net e Java. O .Net não é uma linguagem , mas uma ferramenta da Microsoft e para programar em .Net é necessário saber C#, Asp.Net ou Visual Basic.net. O Visual Basic 6 também é uma linguagem muito utilizada, mas não é recomendada para games.

Para jogos, a mais usada é C++, por causa da quantidade imensa de material e de ferramentas que são criadas em cima da linguagem. Em celulares, o Java é mais usada, pro ser multi-plataforma. Já em .Net o XNA se destaca, podendo criar games para PC e para o Xbox 360.

Então cabe ao iniciante escolher uma linguagem e se especializar nela, dependendo do foco. Não recomendo saber muitas, já que isso acaba atrapalhando um pouco os estudos daquele profissional. Afinal, se você começa a estudar mais de uma, não vai ficar boa em uma, mas ficará com conhecimentos medianos em duas. As empresas não querem isso. Elas querem um profissional excepcional e que sabe programar bem numa linguagem. Empresas grandes usam várias linguagens e a possibilidade de encontrar emprego é muito maior.

Cabe ao usuário se focar numa área e escolher a linguagem mais adequada àquela área. É pra celular: Java pode ser uma boa pedida. Vai desenvolver pra PCs? Estude uma linguagem como C++ ou o XNA. Consoles? Aí complica, já que os kits não são muito acessíveis (exceto o XNA), mas sabe-se que usam o C++.

No próximo texto vamos continuar falando de programação, mas focando as ferramentas que transforma as linhas de código no jogo: as engines e APIs!

Rodrigo Flausino Iniciantes

Iniciando em desenvolvimento de jogos – Parte 04

Vamos à quarta parte de nossa série, e caso tenha vindo até aqui, veja a página de Artigos e Tutoriais para ver o índice de todos os posts. Nesta parte vamos ao que realmente interessa: as áreas que um iniciante pode seguir. Vamos seguir a seqüência de criação de um jogo, a saber:

  • Definição da idéia
  • Criação de um game design (planejamento do jogo)
  • Criação do roteiro
  • Esboçando concept-arts (artistas 2D)
  • Programação e modelagem dos esboços
  • Criação de efeitos sonoros e trilha sonora.
  • Testes
  • Divulgação (marketing)

Só lembrando: caso eu tenha esquecido algo, me avisem que eu altero. A listagem acima servirá de referência para o que estará por vir nas próximas partes desta série. Comecemos logo no Game Design, já que definir uma idéia qualquer um pode fazer, não importando a área.

Game Designer

Considero a parte mais importante de todas, onde o profissional esboça o projeto inteiro, de cima a baixo, definindo detalhes como a jogabilidade, plataforma do projeto (PC, consoles, portáteis), detalhes do roteiro, como serão as fases e personagens… Enfim: todo o jogo. Inteiro. O maior problema é que muitos não planejam e o projeto pode morrer na praia, mas não vou ficar falando muito sobre isso.

Também cabe ao profissional de game design que ele possa liderar uma equipe de um jogo. Tudo bem que uma pessoa pode fazer sozinha um game, mas cá entre nós: com uma equipe o processo será mais rápido (dependendo do game, claro!) e cada um é especialista de alguma área.

O game design também pode ser alterado durante o projeto, mas é necessário tomar um certo cuidado, já que se as alterações propostas saírem de controle, o projeto vai por água abaixo.

Roteirista

Aquele que vai desenvolver a estória. O roteirista vai definir as falas dos personagens, acontecimentos e como será os mesmos. Aqui o roteiro deverá ter também as possíveis possibilidades que cada local pode ter para o usuário.

Artistas 2D e 3D

Aqueles que vão transformar em desenhos e modelos as idéias dos roteiristas e game designers. Esta parte é importante porque vai definir praticamente o visual do jogo e de seus personagens. Aqui existem subdivisões importantes:

Character Design: aqueles que vão criar os personagens, definindo a aparência e porte físico.

Level Designer – aqueles que vão desenvolver os cenários do projeto.

Em equipes grandes, esta divisão existe, mas em equipes pequenas, o modelador/desenhista acaba pegando todas as áreas e praticamente faz a arte digital, mas ele demorará mais para fazer o jogo. A complexidade do mesmo também vai influenciar: como os games estão ficando cada vez mais realistas é necessário ter muitos modelos diferentes de personagens NPC (personagens não controláveis), se for um game de RPG. Ainda neste tipo de jogo, a quantidade de canários pode ser muito elevada, o que demandará um tempo considerável para a equipe.

Outras áreas relacionadas, mas que acabam senso abraçadas pelo modelador/artista são a parte de texturas e animações, onde é usado softwares como o Photoshop para criar as texturas e modeladores 3D para setar as animações e renderizar. Também é necessário analisar se a engine do game tem suporte à animações de modelos, já que neste caso os modelos são animados dentro da engine.

Na próxima parte vamos falar da área que a maioria dos iniciantes segue: a programação.

Rodrigo Flausino Iniciantes

Iniciando em Desenvolvimento de Jogos – Parte 03

Vamos à terceira parte da nossa introdução (leia antes a primeira e a segunda parte), mas diferente do que prometi, não vou falar sobre as áreas de desenvolvimento de jogos. Vou comentar sobre um assunto bem polêmico: a escolha das áreas para o iniciante estudar!

Esta semana recebi uma dúvida por e-mail de um usuário que quer começar, mas quer começar fazendo muita coisa junto (foi o que deu para entender). Também pode ser que o desenvolvedor iniciante quer começar, mas não sabe em qual área deve fazê-lo. Como disse no tutorial anterior, é necessário o usuário analisar os seus pontos fortes ou mesmo descobrir logo qual o objetivo dele na área. A única dica essencial é: não tente fazer muitas áreas ao mesmo tempo.

Porquê? Simples: cada área é tão grande que é demorado você aprender algo. Acredite: você não vai fazer um jogo da noite para o dia e nem vai aprender a fazer um da noite para o dia. Outro problema é que muitos iniciantes querem fazer o próximo Metal Gear Solid, sem saber que a quarta versão da série foi feita por mais de 200 pessoas e cada um dos caras fizeram algumas coisas específicas. Alguns fizeram o Snake, outros fizeram os cenários, e teve gente que só ficou criando as linhas de programação nas ferramentas do Playstation 3 (que, sinceramente, não sei quais usaram, mas é um assunto bem interessante e curioso. Mas sabemos que algumas produtoras não abrem esse tipo de informação para a gente). Outros fizeram a trilha sonora e por aí vai.

Algumas áreas são mais acessíveis, como programação, mas outras, como música, são muito mais difíceis. Quem cria as músicas dos jogos são músicos ou pessoas que passam o dia inteiro treinando e compondo notas musicais. Eu, por exemplo, tenho aqui em casa uma guitarra, um violão, um amplificador e uma pedaleira. Tudo isso é do meu irmão, que está aprendendo a tocar guitarra há 2 anos e ainda não se considera um bom músico. Dois anos! E tem gente que quer criar um game em 2 dias…

Dá para criar um game em 2 dias? Dá, mas não é algo muito complexo. Aí que entra aquela velha questão da área: você deverá escolher uma e se focar nela. Estudar bem ela! Se você gosta de programação, fique só nela. Se tem facilidade com desenho, entre num curso e continue estudando isso.

Mas saiba que com isso você não conseguirá criar um game sozinho sem esforço. Até que dá para criar um mais simples, mas saiba que games mais elaborados são criados pro equipes. Aí entra o Game Design, que é o planejamento de um jogo. Qualquer um que queira criar um jogo deve planejá-lo, antes de abrir o Visual Studio/Codeblocks/Eclipse e sair programando. Porquê? Se você começa a criar um do nada, sem saber como será o jogo inteiro, aí pode chegar uma hora que você vai parar e pensar: o que devo fazer agora? Oras, você não planejou, e aí você dançou. E não venha reclamar comigo, já que irei dizer: eu te avisei!

A vantagem de seguir numa área é que você vai ficar bom nela em algum tempo. Em 2 anos você se tornará um programador decente e pode conseguir um emprego numa empresa. Se você seguir com modelagem, e se focar apenas nela, em 5 anos você estará apto a entrar numa Blizzard e conseguir ser parte do desenvolvimento de um game complexo. Já imaginou o seu nome nos créditos do World of Warcraft? O teu olho deve ter brilhado agora! O meu também, mas ainda não estou pronto para tentar algo assim. Preciso começar por baixo, com games simples ou estudando a fundo alguma área, como game design e desenho artístico.

Não tente fazer muitas coisas ao mesmo tempo. Quando você começar a estudar bem e começar a participar de fóruns como a UniDev e a PDJ, você vai conhecer outros desenvolvedores, vai conhecer outros usuários de outras áreas e vai conseguir juntar bons contatos. Se você tentar fazer várias coisas, vai acabar sabendo pouca coisa de todas as áreas, sem saber bem uma área. E numa empresa média, é bom você ser um cara bom numa coisa, que junto com mais pessoas conseguirão criar um game. Seja parte do processo, e não o processo todo, que vai custar mais tempo do que se você tivesse ajuda.

Mas uma coisa eu te digo: antes de chamar uma equipe, tenha o projeto em mãos. Assim você saberá como prosseguir e conseguirá criar um game decente, mesmo ele sendo simples. No final das contas isso servirá como portfólio, e poderá te ajudar a entrar numa empresa.

Na próxima parte, deverá ter (se tudo correr bem) sobre algumas áreas de desenvolvimento de jogos.

Rodrigo Flausino Iniciantes

Iniciando em Desenvolvimento de Jogos – Parte 02

Algum tempo atrás tinha começado uma série de posts para iniciantes, com dicas de desenvolvimento de jogos. A partir desta segunda parte, os posts serão publicados aqui.

No primeiro texto falei sobre o problema dos iniciantes quererem começar logo de cima (com um game complexo) com pouca experiência, além de ter falado das dificuldades que os interessados terão em desenvolver o seu game. Agora vamos falar um pouco das áreas deste mundo que é o desenvolvimento de games.

Hoje a área de desenvolvimento de jogos é enorme. Temos muitas áreas técnicas e artísticas envolvidas, mas antes não era assim: antes era possível uma pessoa desenvolver um jogo de ponta. Mas temos de levar em consideração a época envolvida: a tecnologia ainda não estava muito avançada, além dos próprios games serem relativamente curtos, como o Space Invaders e Super Mario World.

invaders_world.jpg

Space Invaders (criado pelo Diego) e Super Mario World, do Super Nintendo.

OK, hoje um game com a complexidade do Mario pode demorar um bocado de tempo para ser desenvolvido, mas se você tiver tempo, pode conseguir desenvolver um desses em 6 meses (ou até antes, dependendo do tamanho do jogo). Alguns podem achar muito tempo, mas não é. 6 meses é pouco tempo.

Então a tecnologia foi melhorando e com isso mais variáveis entraram nesta equação. Uma delas se chama 3D:

tomb_raider_anniversary_01.jpg

Evolução da Lara Croft, comparando o primeiro Tomb Raider e a versão Anniversary.

A partir daqui os games começaram com uma evolução tremenda, onde a cada geração os gráficos foram melhorando. Mas até mesmo os games mais simples, como o primeiro Tomb Raider começaram a ter sinais de complexidade e começaram a exigir mais tempo de desenvolvimento. Afinal, você, se fosse fazer sozinho, teria de fazer os modelos dos personagens, os cenários, dar movimentos aos modelos, programar as colisões entre os modelos, a inteligência artificial, criar os menus e outros.

Ora, num game 2D também não passa por estas etapas? Com certeza, mas desenhar um mapa simples num game de plataforma é mais fácil do que modelar um cenário tridimensional. Mas também mesmo nos games mais simples começaram a exigir equipes de desenvolvimento, onde cada um cuidava de um pedaço do jogo. E cada membro é especialista em alguma coisa.

Tá, mas quais são as áreas? Antes de prosseguir, pare de ler este texto e reflita para si mesmo: eu sou bom no quê?

Qualquer pessoa hoje tem as suas qualidades e defeitos. Alguém pode não ir muito bem na escola, mas é ótimo em lábia e consegue sempre levar alguém na conversa (enganar a pessoa). Outros são mais fechados (como eu) e tímidos, mas são ótimos com matemática e lógica. Tem aqueles que, ao perceber que a aula está chata, começam a desenhar alguma coisa numa folha de caderno ou mesmo na própria carteira! Acredite: essas pessoas tem conhecimentos que podem ser usados em desenvolvimento de jogos!

Vamos de novo: você é bom no quê? É bom com contas? Sempre imagina situações imprevisíveis? Gosta de desenhar? Gosta de conversar muito com as pessoas?

Você deve ter descoberto que você gosta mais de alguma coisa. E se não encontrou, não se desespere: você vai encontrar! Se você encontrou, você pode tentar encaixar as suas melhores habilidades na área: se você gosta de desenhar, já pensou em ser um character/level design? Usar o seu talento para desenvolver personagens e/ou desenhar cenários mágicos e épicos? Se você é bom com conversa, pode ser um bom negociador para conseguir projetos ou mesmo liderar uma equipe sendo um game designer (game design é o planejamento completo de um jogo. Mais informações no artigo A importância do game design), conseguindo passar para os outros membros da equipe os detalhes daquele jogo. Se você gosta de contas matemáticas pode seguir na área de programação. E acredite: existem programação de tudo, desde de inteligência artificial até mesmo criação de scores (pontuações) e definição de contas num game de matemática! Quem sabe você pode criar um game educativo e conseguir ganhar um bom dinheiro vendendo o jogo em escolas particulares para auxiliar na aprendizagem de alunos!

São muitas áreas de desenvolvimento de jogos e na próxima parte desta série vamos falar das profissões, começando com as artísticas: game design, roteiros e arte digital, englobando a arte 2D (desenho) e modelagem 3D. Aguardem!

[Créditos das imagens: GameThink, DiesoftGames, IGN]

Rodrigo Flausino Artigos