Olá pessoal,
No post de hoje irei falar sobre linguagens de programação para jogos. É importante saber quais fatores ajudam na escolha da linguagem em um projeto, tais como:
* Plataforma Alvo - Aquela para o qual o projeto irá ser desenvolvido (Console, Mobile, Windows, etc... ).
* Familiaridade da equipe - É considerado um risco de projeto se a equipe não tiver familiaridade com a linguagem escolhida.
* Requisitos de desempenho e/ou portabilidade - Somente serão elegíveis as linguagens que atenderem esses requisitos.
Bom, diante desses fatores as linguagens de programação mais comuns em jogos são:
Linguagens de baixo nível - Responsáveis por características do núcleo do jogo
* C++ - Linguagem OO(Orientada a Objeto) muito poderosa devido a manipulação direta de memória (através de ponteiros). Esta é de longe a linguagem mais usada na industria de jogos (90% a 95% do mercado) devido ser OO e ao seu excelente desempenho (compilando em binario para a plataforma escolhida). Possui uma curva de aprendizado lenta e está propensa (se não for programado com cuidado) a ter vazamentos de memória (memory leaks) devido a manipulação direta de memória. Visual Studio, Visual C++, Code Blocks, Carbide C++ e Eclipse (com o plugin) são alguns exemplos de IDEs para se trabalhar com C++.
* Java - Linguagem OO de fácil aprendizado e de imensa popularidade. Ganhou grande destaque devido a sua portabilidade. Possui grande aceitação no mundo dos jogos para dispositivos móveis. Apesar de todas essas vantagens Java ainda não é considerada uma linguagem elegível para jogos em algumas plataformas devido ao alto uso de memoria e seu desempenho ser bem inferior ao C++ (porém com a evolução do hardware em alguns anos talvez seja possível). Eclipse e Netbeans são alguns exemplos de IDEs para se trabalhar com Java.
* C# - Linguagem OO de fácil aprendizado e grande popularidade. Com as investidas da microsoft de popularização da plataforma .NET juntamente com o projeto XNA, esta linguagem tem ganhado cada vez mais espaço, mesmo que seja ainda entre hobbistas, estudantes ou indies. Assim como Java, C# possui alto uso de memoria e desempenho inferior ao C++. Visual Studio e Visual C# Express são alguns exemplos de IDEs para se trabalhar com C#.
Linguagens de Script de Alto nível - Responsáveis em geral por implementações de game play. Algumas dessas são criadas especialmente para o projeto da engine, grande parte delas com sintaxe parecida com C.
* Torque Script - Exclusiva para a Torque Engine.
* Unreal Script - Exclusiva para a Unreal Engine.
* LUA - Linguagem de script 100% nacional. Robustez, simplicidade, boa performance, pequena, gratuita, são algumas das qualidades dessa linguagem. Possui sintaxe procedural e semantica extensivel.
* Python - Linguagem de multiplos paradigmas (OO, funcional e imperativo). Produtividade e legibilidade são algumas das qualidades dessa linguagem.
* RUBY - Tambem de multiplos paradigmas, esta linguagem foi criada para aumentar a produtividade dos programadores atravez da minimização de problemas encontrados.
Linguagens de Shaders - Utilizadas na criação de alguns efeitos que são processados na GPU. Todas a seguir possuem sintaxe parecida com C.
* Cg - Linguagem de shader da NVidia.
* GLSL - Linguagem de shader utilizada com OpenGl.
* HLSL - Linguagem de shader utilizada com DirectX.
Vale lembrar que é possivel fazer jogos em linguagens como Action Script (para programar em Adobe Flash) em caso de jogos casuais, ou mesmo fazer jogos simples em qualquer linguagem como VB, Delphi (com object pascal), C, Pascal, etc.
Bom pessoal, espero que tenham gostado. Até o proximo post.
segunda-feira, 16 de junho de 2008
terça-feira, 10 de junho de 2008
3º Tutorial - Criação de texturas - Parte 2
Olá pessoal,

- Abra a imagem acima no photoshop.
- Agora vem a parte interessante, selecione a ferramenta Clone Stamp segure o alt e clique na área fora das linhas, e vá cobrindo as linhas com o novo padrão.
Bom, para que fique bem claro o problema, vamos ver o uso destas textura no blender.
Tile correto 

Antes de começar a parte 2 deste tutorial gostaria de agradecer os comentários dos posts antigos e dizer que eles me estimulam cada vez mais a trazer experiencias minhas para ca. Só lembrando que o blog não ira tratar apenas de questões de arte (que nem sequer é minha especialidade) para jogos, pois até agora só mostrei tutoriais de blender e photoshop. Estarei falando em posts futuros de técnicas de programação, algoritmos utilizados em jogos, lógica matematica e física aplicada nos jogos.
Bom, como foi dito na parte 1, você pode usar fotografias digitais como base de texturas em jogos, porém a maioria das vezes são necessários alguns ajustes. Nesta segunda parte estarei mostrando como fazer um ajuste simples para não deixar a imagem com erro de linhas nas junções (seam).
- Baixe a imagem abaixo para sua máquina (Escolha a opção salvar imagem como, no menu do navegador)

- Abra a imagem acima no photoshop.
- Escolha a opção Filter->Other->Offset. Nas configurações Horizontal terá de ser igual a metade da largura da sua imagem (Exemplo: se sua imagem tiver 512, entao horizontal = 256). Faça o mesmo para o vertical, porém com a metade da altura da imagem. Tenha certeza de que a opção Wrap Around está selecionada.
- Sua imagem deve estar parecida com esta abaixo.
- Agora vem a parte interessante, selecione a ferramenta Clone Stamp segure o alt e clique na área fora das linhas, e vá cobrindo as linhas com o novo padrão.- O resultado deverá ficar como a figura abaixo.
Bom, para que fique bem claro o problema, vamos ver o uso destas textura no blender.- Abra o blender e delete o cubo padrao.
- Adicione um plano (Add->Mesh->Plane). Ainda na visão top (Numpad 7) segure CTRL + ALT + Numpad 0 para fazer a camera fica ir para a visão top.
- Faça escala (Tecle S e arraste) no plano se achar necessário.
- Com o plano selecionado, vá par ao painel shading (F5) e subpainel material e crie um novo material para esse objeto. Ainda com o plano selecionado vá para o subpainel Texture (F6) e adicione uma nova textura do tipo Image para ele. Clique em load para carregar a imagem correta criada e coloque o valor 3 nas opções XRepeat e YRepeat . Depois faça o teste com a imagem incorreta para comparar.
- F12 para renderizar.
Tile incorreto
Bom, é importante saber que grandes jogos possuem grande numero de texturas. Como todo bom profissional procure organizar seus trabalhos e sempre tente utilizar os recursos de camadas do photoshop para facilitar sua vida. Em muitos casos algumas texturas são apenas aplicações de efeitos ou camadas sobre uma arte anterior, como no exemplo abaixo.
Espero que tenham gostado deste post. Comentários são bem vindos. Até a próxima pessoal.
Assinar:
Postagens (Atom)
