BUSCA: 


Se você encontrou algum artigo interessante mas não lembra sua localização, pode fazer uma pesquisa pelo seu nome, descrição ou categoria.

 

 

ALLEGRO

O Game Loop


Jul 30th 2007, 19:34

Explicações sobre o game loop.

Bookmark and Share        

O Game Loop é o conceito mais fundamental na programação de um jogo. Basicamente ele constitui-se do seguinte ciclo:



Onde:

  • ENTRADA: nesta parte temos a entrada de dados no sistema que pode ser feita via teclado, joystick, sensores, gestos, etc.
  • PROCESSAMENTO: com base nos dados (existentes no sistema e vindos da entrada), será feito o processamento, em um jogo isto significa detectar se houve ou não colisão, atualização de informações, posições, física, etc.
  • SAÍDA: depois que temos os dados prontos, podemos exibir as informações na tela, aqui temos toda a parte de conversões, apis gráficas, etc.

Um jogo nada mais é do que um aplicativo que possui este ciclo mas de uma maneira “infinita”, isto é, o processamento é efetuado mesmo que não haja uma entrada. Quer um exemplo? Quando você está jogando Mário e uma tartaruga vem em sua direção, se você ficar parado a tartaruga continuará vindo do mesmo jeito, o processamento não parou porque você não deu mais uma entrada.

A maneira como você organiza esse processamento “central” constiui o “game loop”. Depois que você dominar o game loop poderá fazer pequenas animações, etc, assim que dominar a “entrada” e “saída” e um pouco de “detecção de colisão” será capaz de fazer jogos simples.

O game loop pode ser tão simples ou tão complexo quanto quisermos. Hoje em dia é muito comum utilizar programação “multithreaded” onde cada “thread” executa uma parte deste processamento. Consulte http://en.wikipedia.org/wiki/Thread_(computer_science) para maiores informações.

No próximo post entraremos na parte prática onde postarei com detalhes o exemplo de um game loop em C e Allegro e esmiuçaremos cada um dos processos assim começaremos a fazer jogos simples.

Lição de casa


  • de uma consultada no manual do allegro para verificar as funções disponíveis (sem decoreba, saiba apenas o que existe);
  • analise a implementação de game loops em outros ambientes & linguagens (não precisa compilar nada, é só tentar identificar onde se realizam as entradas, processamentos, saídas);
  • faça sua própria implementação do game loop.

Referências e recomendações



Até a próxima.






© 2010 - VSoftGames - Programação, jogos e um pouco mais