Nesta serie de artigos, divida em 9 partes, vamos partir do zero e criar uma versao do classico Space Invaders compativel com Windows e Linux, utilizando aceleracao de hardware para graficos 2d, suporte a joystick e uma tabela de high scores online.O jogo e propositalmente simples para que o leitor com pouca experiencia na linguagem e no desenvolvimento de games possa acompanhar o texto e o codigo o inicio ao fim.Ao final de cada etapa, como de costume, estarao disponiveis para download tanto o codigo fonte como o executavel equivalente.Espero que apreciem.LazarusSetup do Lazarus 1.5Vamos utilizar o Lazarus 1.5 junto com a versao 3.0 do Free Pascal para escrever nosso game. Alem disto, minha estacao de trabalho e um PC com o Windows 8 de 64bits e as imagens que mostraremos sempre irao refletir este ambiente de desenvolvimento.Para realizar o download do instalador, visite http://www.getlazarus.org/setup/?download#windowsNo momento em que escrevo, somente e possivel obter este ambiente pelos nightly build do projeto, entao, se alguma instabilidade for encontrada em seu PC, voce pode recorrer a versao estavel do Lazarus disponpivel em sua pagina no Source Forge. As versoes da IDE e do compilador serao um poco mais antigas, mas o codigo desenvolvido nos proximos textos devera compilar sem problemas.Depois de baixar o setup, a instalacao segue o padrao next, next, finish tipicos do windows. Simples e rapido!Vamos em frente.SDL 2O SDL (Simple DirectMedia Layer) e uma biblioteca multimidia livre e de codigo aberto, multiplataforma, escrito em C que representa uma interface simples para graficos, som, e dispositivos de entrada de varias plataformas.Trine, exemplo de game escrito com SDLMuito usada para criacao de jogos comerciais, o SDL e a plataforma de escolha da Valve para o seu famoso Steam Client, e o caminho escolhido por varios desenvolvedores ao redor do globo para escrever seus jogos para Windows, Linux e MAC.Para se ter uma ideia do que e possivel fazer com SDL, veja o primeiro game da trilogia Trine na loja do steam ou clique na imagem ao lado para amplia-la.Animador, nao?Bom, por ser escrita em C e possuir bindings para varias linguagens, integrar o SDL 2 ao lazarus e uma tarefa trivial.Primeiro precisamos baixar a biblioteca compilada para o windows ( vamos nos preocupar somente com a versao de 32 bits, por enquanto ). Acesse o endreco http://www.libsdl.org/download-2.0.php e escolha a dll adequada para seu ambiente.Agora, para baixar os bindings ( as units com as chamadas de funcao, e declaracoes de tipos contidos na biblioteca compilada ) acesse o projeto de traducao dos headers no GitHub em e faca o download dos arquivos compactados.Configurando o AmbienteNeste ponto, voce deve ter o Lazarus instalado, a SDL2.dll e os headers descompactados em algum lugar de sua maquia. Vamos comecar.Abra o Lazarus, escolha a opcao do menu Projeto > Novo Projeto e crie um novo projeto do tipo "Programa Simples".Salve o projeto em um diretorio qualquer com o nome space_invaders.lpi. Para facilitar, vamos nos referir, neste texto, ao diretorio em que o projeto foi salvo como PROJDIR.Agora, crie dentro de PROJDIR, uma estrutura de diretorios seguindo a tabela