Contato
Entre em contato comigo através do e-mail:
Experiência
Algumas ferramentas e linguagens com as quais trabalho ou já trabalhei.
Programação geral
- Programação orientada a objetos: C/C++, Java, PHP
- Experiência com APIs gráficas e multimídia: Direct3D, OpenGL e SDL
- Programação para GPU e computação gráfica geral: Cg (NVIDIA), HLSL, GLSL
- Programação de efeitos visuais em tempo real de luz e sombra
- Desenvolvimento de bibliotecas e engines orientados a objeto ou estruturados
Desenvolvimento de sistemas e web
- JavaEE, PHP
- JavaScript (Ajax, jQuery), CSS
- Bancos de dados SQL
Ethanon Engine
Ethanon Engine é um motor gratuito para desenvolvimento de jogos 2D focado nas placas de vídeo mais recentes para aceleração por hardware e efeitos de shader. EE pode ser utilizado para desenvolver jogos como puzzles, side scrollers, tiro e principalmente jogos com visão top-down (como RPGs e estratégia). A principal característica do motor é possibilitar iluminação de alta qualidade, sombras e efeitos de partícula com uma interface visual fácil de usar e um sistema de scripting simples e direto.
EE é totalmente baseada em sprites 2D, utilizando pixel shaders para realizar uma iluminação baseada em mapas de normais e suporta qualquer tipo de construção de mapa (ex.: isométricos, ortogonais ou hexagonais) pois é baseado em entidades arbitrarias ao invés de tiles fixos.
Para controlar o fluxo do jogo e manipular seus eventos, Ethanon Engine utiliza AngelScript para scripts, trazendo a familiar sintaxe da C++ para o código. A integração com a linguagem de scripting é simples e fácil de entender. Entre as principais características está a possibilidade de salvar e carregar o jogo facilmente, suporte a playback de vídeos e mais.
GameSpaceLib
GameSpaceLib é uma biblioteca desenvolvida em C++ para o controle de dispositivos de entrada e saída: vídeo (2D), áudio e mouse, teclado e joysticks. A GameSpaceLib é gratuita, portável para outros sistemas operacionais e possui o código-fonte aberto.
Quais são as vantagens da GameSpaceLib?
Dentre outras bibliotecas multimídia como SDL e Allegro, a vantagem da GameSpaceLib é que ela possui objetos muito mais fáceis e intuitivos para programação orientada a objetos. A GameSpaceLib foi programada para acessar diretamente as funções da API, o que a torna veloz, pois utiliza todos os recursos da placa de vídeo e de forma direta, sem passar por outros motores ou frameworks para fazer a mediação.
O que é preciso para programar jogos com a GameSpaceLib?
Para programar com a GameSpaceLib é necessário um compilador de C++ compatível com alguma versão do framework (Microsoft Visual Studio ou Dev-C++) e conhecimento em lógica da programação e em linguagem C++. Devido ao fato de que o GameSpace fornece apenas funções relativas as funcionalidades básicas de entrada e saída, ainda é importante que o desenvolvedor possua conhecimento em lógica da programação e programação de jogos.
Quanto custa a GameSpaceLib?
Nada. A GameSpaceLib é totalmente gratuita e pode ser utilizada, alterada e redistribuída livremente de acordo com a Licença Pública Menos Geral (LGPL) da GNU e de acordo com os parâmetros da iniciativa Open Source de software livre.
Portfólio
Softwares, trabalhos acadêmicos e projetos desenvolvidos por mim.
FISL11 - Técnicas 3D para reinventar o 2D
Slides da palestra ministrada por mim na FISL11 em Porto Alegre - RS,
no dia 23 de julho de 2010.
Ethanon Engine
Motor para programação de jogos 2D que utiliza
recursos avançados de GPU para a renderização dos sprites, como shaders e frame buffers. Este motor permite a criação
de cenas 2D com alta qualidade de luz e sombra. Apesar de seu carater experimental, propõe oferecer todos os recursos
necessários para desenvolvimento de qualquer jogo completo, como um sistema de scripting completo e editores visuais.
A Reinvenção do 2D
A palestra ministrada por mim na FLISOL 2010 Campo Grande - MS.
Discute as possibilidades que o hardware 3D atual oferece para os desenvolvedores de jogos 2D e suas implicações para o mercado
de jogos casuais e independentes e de software livre.
GameSpaceLib
Biblioteca desenvolvida em/para C++ para o controle e
utilização de dispositivos de entrada e saída: vídeo (2D), áudio, mouse, teclado e joysticks. É gratuita e possui
código-fonte aberto.
O grande diferencial desta biblioteca é basear-se no GPU moderno para produzir gráficos 2D que possam utilizar recursos
que são utilizados normalmente em 3D, como os shaders.
Slides para a Campus Party
Apresentação em slides sobre o uso de recursos do GPU
moderno para renovar o estilo 2D. Apresenta uma nova perspectiva e traz sugestões aos desenvolvedores de jogos.
Foi feito para ser veiculado na Campus Party de 2009.
Programação de jogos com C++ e DirectX
Livro escrito por mim e publicado em 2004 pela
Novatec Editora. Aborda os conceitos básicos da linguagem C++ e a programação com DirectX com maior
ênfase na API Direct3D. Tem como proposta trazer uma introdução à lógica da programação gráfica e de jogos.
Reverse-parallax mapping
Técnica (baseada em parallax mapping)
projetada por mim em 2004 que utiliza shaders para criar um efeito de parallax que tem um potencial de
oclusão de pixeis superior em comparação ao parallax tradicional.
SceneGen
Um pequeno engine gráfico experimental desenvolvido por
mim para fins de estudo. Baseado em Direct3D e no shader model 2.0, renderiza gráficos com iluminação dinâmica por
pixel (difusa e especular) e sombras reais em tempo real (soft-shadows).
QuickNormal
Software que gera normal maps à partir de height maps.
Ideal para criar texturas realistas que utilizam iluminação, reflexão ou refração por pixel, como no bump mapping.
SceneGen
SceneGen é um engine 3D experimental desenvolvido para fins de estudo voltado aos gráficos 3D para as recentes gerações de GPU, com suporte ao shader model 2.0. Permite a criação de cenas com alto nível de detalhes na iluminação.
O motor foi todo programado em C++ e especialmente desenvolvido no formato de framework, trabalhando com um sistema de plugins de "profiles" para renderização e possui 6 profiles distintos:
1. Iluminação (difusa e
especular) por vértices sem sombras: profile recomendado para placas de
vídeo bem antigas, como a Vodoo, TNT, etc.
2. Iluminação (difusa e
especular) por vértices e sombras em tempo real*: recomendado para
placas de vídeo como a Geforce 4 MX 440 ou Radeon 9200, que possuem um
desempenho razoavel.
3. Iluminação por pixel** com
ou sem sombras em tempo real*: utiliza o ps_1_1, e pode rodar a partir
da Geforce 3ti e Radeon 9000.
4. Iluminação por pixel** com
ou sem sombras em tempo real* e parallax mapping: utiliza ps_1_4 e pode
rodar a partir da Geforce FX ou Radeon 9600.
5. Deferred Shading:
iluminação 100% à nível de pixal com alta qualidade em luz difusa e
especular e com performance exelente para as placas de video que possuem
suporte a ps_2_0 e Multiple Render Targets (MRT).
6. Deferred Shading com
softshadows: iluminação 100% à nível de pixel com alta qualidade em luz
difusa e especular e com performance exelente para as placas de video
que possuem suporte a ps_2_0 e Multiple Render Targets (MRT).
*As sombras do SceneGen utilizam o modo "sombra de tudo em tudo", o mesmo
utilizado em motores como o do Doom 3.
**Iluminação difusa 100% por pixel e especular por vértice com glossing por
pixel e atenuação por vértice, devido as limitações do shader model 1.0.
O SceneGen possui um próprio sistema de materiais com uma linguagem própria e muito fácil que pode tratar de diversas propriedades dos meshes e malhas como cor difusa e especular, bump map, particulas, animação (deformação da vértices) e mais.
O framework 3D base desenvolvido especialmente para o SceneGen de forma modular para suportar a implementação em qualquer API gráfica além do Direct3D 9, permite a troca de profiles em tempo de execução e sem comprometer o andamento do programa ou jogo.
O SceneGen também possui:
-Física e detecção colisão dinâmica e em tempo real
-Cubemapping
-Efeito glow
-Sistema de partículas com diversas opções e formas de blending
Screenshots de janeiro de 2005:




Downloads
-Código fonte (liberado sob licença
GPL)
-Demo interativo (tech demo)
Os modelos mostrados como decoração dos mapas nos screenshots foram todos feitos no 3D Studio Max por Arthur Santee (Arthur3D).
Links
Amigos, parceiros e recomendações.
- Editora Novatec - Livros sobre programação e tecnologia.
- CrociDBlog - Programação, Jogos, Desenvolvimento de Games e opinião.
- Kleber Andrade - Desenvolvimento de Jogos – dicas, informações e tutoriais sobre Inteligência Artificial (IA), C#, XNA, C++, SDL, etc…
- Renan Vieira - Diretor de arte.
- Shaolin Brasil - Game para iPhone feito por Fernando Ribeiro.
- @decosantee - Eu no Twitter.







