Mostrando postagens com marcador sistema de partículas. Mostrar todas as postagens
Mostrando postagens com marcador sistema de partículas. Mostrar todas as postagens

Criando um Game Completo - Parte 6.1

Bem vindo à parte 6.1 do nosso mini curso Criando um Game Completo, onde criamos uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joysticks e uma tabela de scores online! Tudo isto compilando em Delphi e Lazarus.

Neste post, vamos complementar as melhorias introduzidas no texto anterior e criar um efeito de estrelas para deixar o plano de fundo do jogo mais interessante. A imagem ao lado mostra como ficará o visual das animações na cena do gameplay no final do processo.

Criando um Game Completo - Parte 6

Bem vindo à sexta parte do nosso mini curso Criando um Game Completo, onde criamos uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joysticks e uma tabela de scores online! Tudo isto compilando em Delphi e Lazarus.

Já faz um tempo desde o último artigo da série, um ano, para ser exato e eu gostaria de começar pedindo desculpas por esta ausência tão longa. Estive envolvido com vários projetos simultâneos nestes últimos 12 meses, ministrando muitas aulas e trabalhando com sistemas embarcados, o que foi muito enriquecedor mas acabou me afastando um pouco aqui do blog. Mea culpa, mea culpa...

Bom, explicações dadas, vamos ao que interessa: nosso game!

Sistemas de partículas

Segundo a dinâmica das partículas, um sistema de partículas é o conjunto de leis físicas que regem um conjunto de n partículas partindo de um centro de massa ou emissor. Muitos fenômenos podem ser modelados como sistemas de partículas. A chuva (cada gota é uma partícula e o emissor é o conjunto de nuvens de onde as gotas vêm), a neve (cada floco uma partícula e o emissor, o ponto de condensação/cristalização do vapor de água) o fogo (cada chama é uma partícula e o emissor é o material sendo queimado), todos estes podem ser descritos como tal.

Um sistema simples utilizando vetores bidimensionais para calcular a o deslocamento das partículas pode ser facilmente modelado no Delphi e exibido num TCanvas padrão. Neste sistema (veja os links abaixo) é possível manipular a força do vento, a força da gravidade e o centro de massa de maneira interativa e ver em tempo real o resultado na tela.
Este sistema de exemplo se distancia da realidade física por não calcular desvios de rota resultantes de colisões entre partículas e implementar somente duas grandezas vetoriais (a gravidade e o vento) quando no mundo real o número de grandezas envolvidas num sistema de partículas é muito maior. Além disso, cada partícula percorre uma trajetória linear, o que nem sempre é condizente com o sistema que se está tentando simular.

Mesmo com todas essas omissões, é possível conseguir efeitos especiais atraentes e leves para serem usados em jogos. Este exemplo faz uso das rotinas gráficas da API do Windows, portanto, não requer nenhum componente ou biblioteca especial para compliar.

Para controlar a gravidade, utilize as teclas "+" e "-" do teclado numérico. Para controlar a direção e a força do vento, use as setas direcionais.

Evoé...


Código fonte
Executável