Aew galera,

eu postei um livro aqui esses dias...e eu fuçando na net procurando ele..acabei achando um capítulo..
q eh o 23: Programando o Jogo..

http://www.novatec.com.br/livros/pro...8575220640.pdf

eu tou pra comprar esse livro pra mim...tou curtindo muito ele..e tou mostrando ai pra vcs...

uma das principais funções pra se criar um jogo eh fuçar no engine do seu game...sem um engine....acho q nao tem game..nao sei..mas o engine eh o q vc usa em td o game....é a base da pirâmide:

segundo o livro:

Motores

Com certeza, o termo mais conhecido entre qualquer gamer é “engine”, conhecido também,
em português, como motor. Mas o que é um motor? Como, quando e onde são feitos? Como
são usados? O que esperar de cada um deles? Estas são as questões a que, ironicamente,
qualquer gamer imponente, orgulhoso e soberano não saberá responder.

Definir o significado e a utilidade de um motor, para quem não é da área da programação,
não é uma tarefa fácil. Poderiamos dizer que é o pilar sustentador de um jogo, são as
engrenagens que o jogador não pode ver. Porém essa resposta teoricamente explicativa não
esclarece nada.

Vamos começar pela exclusão do conceito: “engines são programas que fazem os jogos”.
Em parte, a afirmação está correta, mas motores não são obrigatoriamente programas ou um monte de aplicativos e ferramentas de auxílio com interface visual e linguagens de scripting
com regras e constantes próprias, como 3D Game Studio, entre outros.

A maior parte dos motores é constituída de código, normalmente armazenados em um
arquivo DLL. Instruções como “desenhe o personagem”, “se o objeto está em uma superfície inclinada, deslize em direção à depressão”, “ilumine a superfície se está apontada para a luz”, “crie o volume da sombra e realize sua extrusão “, então, são chamadas e executadas no jogo.

Motores são desenvolvidos, normalmente, com linguagens de programação de alta performance,
como C++. Os códigos contendo as instruções e rotinas são compilados em DLLs ou LIBs, arquivos binários que armazenam todo o código compilado que é utilizado pelo executável.

Existem também os motores do tipo software, ou framework, oferecendo aplicações com
interface visual ou simples linguagens de programação/scripting para a criação e edição dos mais variados eventos e efeitos.

Encontramos diversas características muito peculiares ao analisarmos os diversificados
tipos de motores. A maioria deles usada apenas em projetos que envolvem programação
de baixo nível, como Half-Life 2, é desenvolvida para executar apenas uma ou poucas tarefas.
Como processar o controle de física e colisão da cena, renderização, animação facial e controle de dispositivos de rede são algumas das funcionalidades que possuem os motores
especializados.

Vamos exemplificar o uso de um elemento técnico de um pequeno motor de tratamento
de personagens animados: para carregar apenas um modelo e renderizar, precisamos de
centenas de linhas de código para abrir o arquivo, ler o que está contido nele, converter para o cachê de vértices do Direct3D e, finalmente, executar a animação. Então, para simplificar esse processo, podemos escrever um simples motor para que possa carregar o arquivo com apenas dois ou três métodos. Consideramos então a classe MD2Loader:

Código:
MD2Loader md2file;
md2file.LoadMD2(“tris.md2”);
md2file.RenderMD2();
Assim, com um comando carregamos o arquivo e com outro o desenhamos. Criar componentes
como este faz com que o resto do desenvolvimento do jogo torne-se mais simples.
fica ai a dica do engine...
espero q vcs usem muito essa parte!!!