Blogs do BABOO

Sobre Windows e Web
Bem-vindo ao Blogs do BABOO Entrar | Cadastre-se | Ajuda
em Buscar

Blog do MasterRey

Analises, Dicas, Tutoriais, questões técnicas e culturais sobre game developer

Desenvolver Games: Como iniciar.

Versão 2.0 do artigo sobre como iniciar a carreira de desenvolvedor de jogos

 

O inicio de uma profissão é sempre muito difícil e confuso, por isso antes de sair por ai programando temos que fixar as raízes.

Focar objetivos é muito importante em qualquer profissão, mesmo se o objetivo não for ser um especialista, mas um generalista ou coordenador de projeto.

 

Qual o meu perfil?

Uma boa maneira de iniciar é focar objetivos. Dentro da área de desenvolvimento de games existem varias ramificações entre elas estão:

 

Núcleo, Programador: engine**, simulação física, inteligência artificial, gerenciamento de carga de memória, desempenho, etc.

 

Computação Gráfica: modelagem, desenho, textura, efeitos especiais, programação de shader, montagem de cenário, iluminação, etc.

 

Efeitos Sonoros, Musica: sonorização, ambientação, posicionamento virtual, efeitos sonoros, trilha sonora.

 

Enredo, Roteirista: criação da historia, adaptação da historia na engine, etc.

 

Gerencia, Coordenação: arquitetura de programação, supervisão, liderança, tradução de termos, engenharia de software, etc.

 

 

Núcleo

Desenvolvedores que trabalham no núcleo do game normalmente são programadores, trabalhando com a manipulação direta com APIs e engines estes profissionais estão mais íntimos com o hardware da plataforma.

 

O núcleo se ramifica também em física, programação gráfica e Inteligência artificial, as quais não vão detalhar, pois não é o objetivo deste.

 

Para iniciar como profissional de núcleo de jogo (programador) primeiro tem que avaliar e escolher qual plataforma que estamos interessados e qual linguagem devem-se usar.

 

As plataformas podem ser as mais variadas, dês de consoles (videogames), computadores (Apple, PC, etc.), consoles portáteis, celulares e jogos para Internet.

 

Esta é uma escolha que tem q ser feita com muito critério, avaliando o mercado, as tendências, mas principalmente a vocação do desenvolvedor e afinidades com as linguagens suportadas.

 

 

Depois de escolhida a plataforma, devemos avaliar quais as linguagens que esta, nos disponibiliza. Dentre elas estão as mais conhecidas C++ (a mais comum e mais poderosa linguagem pra desenvolvimento de games), Java (mais flexível e também poderosa) dentre outras, também temos linguagens de script, como ActionScript (Flash), Cscript (GameStudio) e outras.

 

Se for o caso de trabalhar na construção de engines o passo é avaliar, quais as API´s* disponíveis.

Para exemplificar temos o OPENGL, biblioteca livre e usada por padrão em muitas plataformas, DirectX, biblioteca da Microsoft  usada na maioria dos jogos para Windows. Também temos API´s mais didáticas como o Alegro e AlegroGL, XNA. E em Java o Java3d, J2ME (celulares) entre outras. 

 

Se for trabalhar em um nível mais alto o passo é avaliar as engines gráficas.

Neste segmento temos muitas opções pagas e gratuitas. Entre as gratuitas se destacam o ogre, irrlicht, XNAGameStudio, etc. Neste mesmo nível também escolhemos se for o caso as engines de Física e de Som.

 

Computação Gráfica

Desenvolvedores que partem para computação gráfica normalmente são desenhistas ou modeladores, com algum talento artístico, ou facilidade com o mesmo.

A computação gráfica é a área destinada à geração de imagens em geral em forma de representação de dados e informação.

 

A computação grafica destinada a jogos exige certas tecnicas especificas, como em um jogo a maioria das cenas 3d é renderizada em tempo real é de extrema importancia que o modelador consiga por exemplo ser "sucinto" ou seja usar poucos poligonos e mesmo assim fazer uma bela modelagem.

 

O mesmo é exigido dos artistas de textura e efeitos especiais como particulas, normal map, etc. Um talento especial é requerido para os jogos de celular e de portateis que é chamado de pixel-art, em desenhos 2d pequenos deve-se fazer com poucos poligonos desenhos que sejam facilmente reconhecidos.

Para trabalhar nesta area é importante dominar algumas ferramentas, tais como: After Effects, Autocad, 3D Studio MAX, Blender, Maya, Photoshop, Illustrator, etc.

Efeitos Sonoros, Musica

 

A acustica nos jogos é de vital importancia para a imersão do jogador, e para a qualidade do jogo.

Desenvolvedores que trabalham com efeitos sonoros, e musica para jogos normalmente se veem frente a desafios de tecnologia principalmente em jogos destinados a portateis e equipamentos de baixa tecnologia como celulares.

No inicio dos computadores e videogames a decisão de incluir som em um vídeo-game significava que, em algum ponto, ela deveria ser transcrita em código de computador por um programador.

Porem hoje, esta transcrição nao presisa mais necessariamente do programador. Desenvolvedor de efeitos sonoros ou compositor musical pode trabalhar diretamente com ferramentas de audio proprias e especializadas e simplismente exportar para formatos que a tecnologia empregada no jogo consegue reproduzir.

Para trabalhar neste segmento é importante o dominio de ferrramentas de edição sonora e noçoes de acustica e musica se for o caso.

 

 

Enredo

 

O roteirista de games é o profissional mais difícil de encontrarmos no Brasil. É ele quem cria a história de um jogo, como em um filme.

Esse profissional vai desenvolver todo o enredo e precisa saber como fazer a pessoa que está jogando identificar-se com o game, por vezes adaptando historias ou criando eventos para determinadas tecnologias tão limitadas que tem q se inventar uma boa historia que justifique esta limitação.

 

O roteirista de jogos deve ter conhecimento técnico mínimo, mas suficiente para entender as limitações tecnológicas que seu jogo pode enfrentar.

 

Seu foco deve ser no estudo de culturas locais ou não, historia em geral e game cultura (estudo da influencia dos jogos eletrônicos na sociedade).

 

Gerencia

 

No caso de se escolher gerencia, é importante ter um amplo conhecimento em todas as áreas envolvidas para poder reconhecer necessidades e fazer uma boa tradução de termos entre o pessoal técnico e o de artes.

Também deve ter conhecimento de engenharia de software para q seja capaz de coordenar a estrutura do projeto de games satisfatoriamente.

Pesquisas devem ser feitas sempre:

 

O que existe para a plataforma.

 

Mercado atual, tendências.

 

Procurar fontes bibliográficas.

 

Baixar software mais novo e que mais se adapte as necessidades.

 

Estudar trabalhos já publicados.

 

Procurar participar de fórum de discussões sobre a linguagem, engine, API, etc.

 

Quando queremos iniciar um novo trabalho sempre o primeiro passo é sempre o mais difícil, a intenção deste artigo é exatamente ajudar a dar o primeiro passo, e espero que com ele a iniciação no mundo de criador de jogos seja mais tranqüila e anime os novos desenvolvedores.

 

 

Publicado Sunday, September 23, 2007 4:04 PM por MasterRey

Comentários

Sem comentários
Comentários anônimos estão desativados

About MasterRey

Conhecimentos: game developer, java, j2me, c++, 3dgames. Game desingner: Pos graduando em produção de games (SENAC). Baboo: Atuo no Baboo fórum desde 2001 Sob o o pseudônimo de MasterRey, com este ajudei muitos usuários com problemas de hardware o qual sou selado. Cientista da computação: Como consultor de informática, implantei servidores Linux com Samba, Squid e Apache. Projetei e implantei redes inteiras de médio porte, incluindo algumas com entroncamento feito em fibra óptica. Como TCC Criei uma engine de Jogo em 2d usando a API allegro. Pesquisador de game cultura: Analiso o perfil dos Jogadores, desenvolvedores, mercado e o reflexo dos jogos na sociedade. Palestras: Ministrei palestras no Senac Sorocaba em 10/2006 com o tema “Como Fazer Jogos” Técnico em eletronica: Especializado em hardwares, obtive experiência em trabalhar num ambiente de laboratório profissional, trabalhando com drivers de motores de alta e média potência (como Lenze e AC-Tech).

Serviços

Este Blog

Acompanhamentos

Notícias

Novidades estão por vir: Breve uma analize do mais novo jogo em 3d q estou desenvolvendo junto com minha equipe.

Serviços

Desenvolvido por Community Server (Commercial Edition), Telligent Systems