ja um exemplo: StreetChaves, que conquistou muitos fãs, o jogo não é lá essas coisas comparado com outros títulos de luta, mas só o fato de “brincar” com os personagens do Chaves já garantiu muitas horas de diversão! Tente fazer jogos promocionais para serem distribuídos em revistas, sites especializados e eventos. Encare o fato, programando jogos você praticamente não terá concorrente no mercado. - Atualmente meu jogo precisará ser feito em um ambiente 3D utilizando DirectX ou OpenGL, o que torna o trabalho muito mais difícil. Errado novamente. O sucesso do desenho South Park deve-se a sua animação? Deve-se à arte final dos desenhistas? Claro que não, explore a comédia, o horror, choque as pessoas, torne seus jogos interessantes em algum aspecto e acredite, ele fará sucesso de alguma maneira. Além do mais, você conhece a definição do objeto TCanvas da VCL do Delphi? “TCanvas é um espaço abstrato para desenho”, sendo assim, vamos utilizá-lo da melhor forma possível. Termos e conceitos básicos sobre criação de jogos Agora que já temos a empolgação necessária para encarar o desafio, vamos começar a definir o que significa criar um jogo: “Programar um jogo nada mais é do que desenhar imagens em pontos diferentes da tela a cada iteração de um loop infinito, permitindo ao usuário interagir através de comandos pré-definidos”. Também é importante saber desde já alguns conceitos e termos comumente utilizados no mundo da criação de jogos: - RefreshRate: é a freqüência com que a tela é atualizada a cada iteração do loop. É responsável pela ilusão da animação, bem como a velocidade e desempenho do jogo. Esse valor pode variar de - ClockMove: técnica de movimento de imagens utilizada em jogos para adequar a velocidade do jogo de acordo com a velocidade da CPU. Essa técnica é utilizada em jogos a partir de Quake II. Imagine uma imagem X que deva deslocar-se do ponto A até o ponto B percorrendo uma distância D. Em CPUs mais rápidas a imagem deverá aparecer mais vezes ao longo do percurso, enquanto nas CPUs mais lentas a imagem deverá aparecer menos vezes. Porém, em ambos os casos, a imagem chegará no ponto B no mesmo instante T; - Thread Loop: é um loop infinito baseado em um thread. Geralmente garante uma maior taxa de RefreshRate. Quando programar nesse tipo de loop, você deverá utilizar a técnica de ClockMove, garantindo um bom desempenho em máquinas lentas e rápidas e impedindo a má execução do jogo em diferentes computadores; - Timer Loop: é um loop baseado - Sprite: não é o refrigerante não. Dentre muitos conceitos que já vi acredito que a melhor definição de Sprite é a seguinte: “Sprite é o agrupamento de imagem + informação, sendo que essa informação descreve seu estado, posição e direção, entre outros”. Muitos programadores chamam um TBitmap de Sprite só por ser uma imagem, mas pessoalmente não considero assim; - Strip: seqüência de imagens que representam uma animação, geralmente é dividida logicamente em frames de mesmo tamanho, utilizando-se a seqüência de frames rapidamente podemos criar a ilusão da animação nos jogos; - Flicker / DoubleBuffering: Flicker é uma “piscadela” que ocorre nas imagens devido a um acesso concorrido à memória de vídeo. DoubleBuffering é uma técnica de programação de jogos utilizada para sanar um problema de hardware que causa o efeito Flicker nas imagens e nada mais é do que desenhar todo conteúdo da tela do jogo em memória antes de apresentá-la. - Engine: nada mais é do que uma implementação do conceito RAD para o desenvolvimento de jogos. Com um Engine abstrato você poderia iniciar qualquer jogo com N passos prontos, bastando apenas programar suas regras de negócio. Seria como ter templates prontos que desempenham funções básicas. É um tipo de programação que requer no mínimo algum conhecimento de baixo nível ou pelo menos da API do sistema operacional. Criando um jogo de exemplo Agora que já estamos familiarizados com alguns conceitos e técnicas do mundo do desenvolvimento de jogos, vamos ao que realmente interessa, como implementar tais técnicas de maneira fácil, rápida e ordenada. Neste artigo vou mostrar apenas os passos essenciais para a criação de um jogo simples. Vamos observar o código da Listagem 1 e discutir seus pontos funcionais. Listagem 1. Código-fonte do jogo criado unit untGameDev1; interface
Games: Aprenda a criar jogos com Delphi
Este é o primeiro artigo de uma série que mostrará como criar um jogo simples usando Delphi. Vamos discutir a estrutura básica, alguns conceitos e tecnologias.
Quer ler esse conteúdo completo?
Tenha acesso completo
Confira outros conteúdos:
Instalando o ACBr
Mapeamento Objeto-Relacional com TMS...
Introdução aos componentes JEDI
Por
Fabio
Em 2009
<Perguntas frequentes>
Carreira
Metodologia
Assinatura e Pagamentos
Cadastro