Motores De Jogos
Motor de jogo (game engine ou apenas engine) é um programa de computador e/ou conjunto de bibliotecas para simplificar e abstrair o desenvolvimento de jogos. A funcionalidade tipicamente fornecida por um motor de jogo inclui: um motor gráfico para renderizar gráficos 2D e/ou 3D, um motor de física para simular a física, uma linguagem de script, suporte a animação, sons, inteligência artificial, networking, e outros.
Os motores procuram simplificar a utilização de funções bastantes utilizadas no desenvolvimento de um jogo. Um motor é composto de sub-sistemas que controlam determinadas partes das funções comuns dos jogos. A maioria dos jogos possuem os seguintes sub-sistemas como os descritos a seguir:
Núcleo Gráfico: são as funções necessárias para desenhar os elementos gráficos na tela, animações, janelas, etc. Porém, desenvolver um núcleo gráfico geral que suporte tudo que é necessário não é uma tarefa fácil. Algumas das funções mais básicas que podem ser listadas são texturas, animações, fontes e câmera.
Núcleo de Entrada: são as funções para capturar informações do usuário provindas de dispositivos tais quais mouse, teclado, joystick, etc.
Núcleo de Som: responsável por tratar as funções para a trilha sonora do jogo e demais sons.
Núcleo do Sistema: responsável pelos detalhos da criação de janela, gerenciamento do estado do jogo e dos processos do jogo. De qualquer forma, a organização do núcleo dependerá do projeto do jogo.
A maioria dos motores de jogo são distribuídos em forma de API, porém, alguns motores são distribuídos em conjunto de ferramentas que agilizam e simplificam ainda mais o desenvolvimento do jogo, como por exemplo: IDEs, scripts pré-programados, e programas que “empacotam” e deixam pronto o jogo para distribuição. Esses motores "completos" são chamados de Middleware. Pelo fato de serem distribuídos com outras ferramentas, eles suprem a necessidade da compra de outras ferramentas, reduzindo os custos.