Programação de Jogos 


[ Downloads]  [ C/C++ ]  [QBasic]  [Links]

    Essa página é dedicada aos programadores, especialmente de jogos, em qualquer linguagem. Eu programei muito em QBasic e um pouco em Visual Basic. Depois passei para C e hoje estou aprendendo C++.
    Aqui você vai encontrar jogos feitos por mim, e também alguns jogos que me enviaram. Eu só coloquei aqueles que estão "completos" (jogáveis). É claro que muitos eu só comecei a fezer e desisti. Além de disponibilizar o download desses jogos, também escrevo algumas dicas de programação e de como fazer jogos em QBasic e C.
    Depois de quase um ano sem atualizar, finalemente pude dedicar algum tempo para isso (pelo menos para isso serve essa greve da universidade). Com esse período livre pude terminar um jogo (já fazem 2 anos que eu não fazia um).
    Além de programar, também gosto de jogar, é claro. Os que mais gosto são:


Procurando imóvel em Porto Alegre?
Conheça o Tá Tri Imóveis
imoveis.tatri.com.br
C/C++

    A grande vantagem em C é a velocidade a a infinidade de recursos. Se você já tem alguma experiência em programeção e realmente quer programar jogos eu recomendo fortemente que você aprenda C.
    Para que você começe a programar em C, primeiro é preciso ter um compilador. Eu recomendo o DJGPP que é um ambiente de desenvolvimento de programas em C e C++ para DOS em modo protegido (32 bits). Ele é ótimo e vem com tudo o que você precisa para desenvolver programas. E o melhor: é de graça!
    Para criar jogos, você precisa de rotinas para gráficos, som, joystick, etc. Aí é que entra o Allegro: uma ótima biblioteca específica para jogos, inicialmente desenvolvida para ser usada com o DJGPP, mas que hoje já suporta muitos outros compiladores, inclusive em Linux e Windows.

    Como instalar o DJGPP e o Allegro: entre na página do DJGPP (www.delorie.com/djgpp) e clica em Zip Picker. Eu aconselho pegar o editor Rhide, então não precisa o text-mode GNU debugger. Aí é só pegar os arquivos que ele indica. Descompacte tudo num mesmo diretório (ex. C:\DJGPP). Edite o autoexec.bat acrescentando as seguintes linhas:
set PATH=C:\DJGPP\BIN;%PATH%
set DJGPP=C:\DJGPP\DJGPP.ENV
    Feito isso, reinicie o computador e tente fazer um programa de "Hello Word" para ver se está tudo funcionando.
    O Allegro (versão WIP) pode ser baixado em www.allegro.cc (em files). Descompacte-o em um diretório (ex. C:\DJGPP\ALLEGRO). Pelo prompt do DOS, vá no nesse diretório e escreva "make" e espere até que o Allegro seja compilado, depois escreva "make install" e a biblioteca estará pronta para ser usada.
    No diretório docs você encontra a documentação de todas as rotinas do Allegro. Para compilar um programa com Allegro pelo DOS escreva: "gcc programa.c -o programa.exe -lalleg". Se você usa o Rhide, tem quee ir em Options, Libraries, escrever "alleg" no primeiro campo e marcá-lo na caixa a esquerda.
    Ufa, acho que é isso, qualquer dúvida consulte a documentação do DJGPP ou do Allegro.
 

Guilherme Goettems Schneider (22/09/2001)


Downloads
[Meus jogos] [Outros jogos] [Programas úteis] [Arquivos]

    Todos os arquivos abaixo estão no formato ZIP, portando você terá que ter o Winzip do Windows ou Pkunzip do DOS.
Meus jogos
Ícone
Nome Tamanho Ambiente
Formato
Escrito em Descrição
Aviões X Canhões 4 KB DOS BAS QBasic Proteja sua cidade dos ataques aérios com os canhões ou destrua a cidade com os aviões.
Telejogo 5 KB DOS BAS QBasic Meio futebol meio pingue pongue. Proteja seu gol e vença este campeonato. Para um ou dois jogadores.
Bolas 5 KB DOS BAS QBasic Controle o vento e a gravidade para levar todas as bolinhas ao final.
Senha * 7 KB Win3.1
ou superior
EXE Visual Basic Adivinhe a senha dada pelo computador com menos chances possíveis.
O Poder de Glug * 45 KB Win3.1
ou superior
EXE Visual Basic Construa seu labirinto, pegue todos os tonéis possíveis e acabe com seu adversário. Para um ou dois jogadores.
Pinball
3 KB
DOS
BAS
QBasic
Seu objetivo é fazer as duas bolinhas não cairem nos buracos das laterais e marcar muitos pontos.
 Cart
72 KB
DOS
EXE
QBasic
Edite seu cart e corra em dez pistas, deixando marcas de derrapada e quebrando records.
 Karatê 120 KB DOS
EXE
QBasic Crie seu lutador e derrote seus adversários para se tornar o campeão!
O Computador Inteligente
 2 KB
DOS
BAS
QBasic
Você pergunta e o computador responde. Clique  para ver como funciona.
Telejogo 2
500 KB
DOS
EXE
C
Versão em C do Telejogo.
Resta Zero
343 KB
DOS
EXE
C
Este é para você quebrar a cabeça. Possui editor de fases e os arquivos fonte.

Campo Minado Hexagonal
184 KB
Win9x
ou superior
EXE
C++
O nome já diz tudo. Tem três níves de dificuldade para você descobrir todas as minas no menor tempo possível.
    Qualquer problema com os jogos acima, opiniões, idéias, críticas, ou qualquer outra coisa, mande um .
    Os jogos de ambiente DOS devem rodar normalmente em Windows 95 e 98.
    * Para o jogo Senha e o jogo O Poder de Glug, talvez você precise baixar o arquivo vbrun300.dll (veja abaixo).

Outros jogos

Nome
Autor Tamanho Ambiente
Fromato
Escrito em Descrição
Formigas
Ian Cavalheiro
Machado Rego
47 KB DOS EXE QBasic Jogo de labirinto, onde você tem que pegar todas as chaves para chegar no final.
Mande seu jogo para cá!

Programas úteis

Programa
Tamanho
Linguagem
Descrição
Função Tem
1 KB
QBasic
Função que verifica se existe uma certa expressão numa string. Exemplos de uso.
Menu de Opções
1 KB
QBasic
Programa que exemplifica o uso de menus, com comentários explicativos.
Qualquer dúvida mande um 

Arquivos

Arquivo
Tamanho
Descrição
QBasic 1.1
190 KB
Linguagem de programação. Necessário para executar os arquivos .BAS. Em português.
qbasic.hlp
111 KB
Se você quer aprender a mexer no QBasic este arquivo será muito útil. Em português.
vbrun300.dll
289 KB
Necessário para executar programas feitos no Visual Basic 3.0. Verifique se você já tem.
[Meus jogos] [Outros jogos] [Programas úteis] [Arquivos]
Guilherme Goettems Schneider (21/09/2001)

QBasic


[Atalhando no Windows] [Lendo o teclado] [Ajuste de velocidade]
    Aqui estão algumas dicas para a programação de jogos em QBasic. E qualquer um pode me ajudar nisso se quiser. Ajudem a descobrir novas técnicas para o QBasic!!! Mandem s!
    Qualquer dúvida é só mandar um . Será um prazer responder as perguntas.

    Atalhando no Windows: para executar um programa de QBasic direto do Windows basta criar um atalho (Win 95/98) ou item de programa (Win 3.x) e na linha de comando colocar: caminho do QBasic + /RUN + caminho para o arquivo .bas (ex: C:\DOS\QBASIC.EXE /RUN C:\DOS\PROG.BAS). Depois selecione o ícone apropiado e pronto. Um programa executado desta maneira que tenha o comando SYSTEM para terminá-lo fechará automaticamente o QBasic ao seu final.

    Lendo o teclado: sempre quebrei a cabeça por causa disto. Usava o INKEY$, mas este não é apropriado para fazer jogos. Agora finalmente consegui um jeito muito melhor: o INP(&H60). Este retorna a tecla pressionada no momento, e sem dar aquele intervalo do INKEY$. Para jogos isto é muito importante. Mas além de usar o INP(&H60), você deve também colocar um INKEY$, para esvasiar o buffer.

    Para saber qual tecla é a correspondente ao valor de INP(&H60), olhe em Códigos Pesquisa de Teclado, no ajuda do QBasic. 
    A única desvantagem do INP(&H60) é que ele ainda não permite que você aperte duas teclas ao mesmo tempo. O único jeito que consegui para jogos que precisam que se aperte mais de uma tecla ao mesmo tempo é o PEEK(1047). Porém, antes, não se esqueça de pôr um DEF SEG = 0. O PEEK(1047), retorna um número correspondente ao das teclas CTRL, ALT, SHIFT direito e esquerdo, além de verificar se o Num Lock, o Caps Lock, Scroll Lock e o Insert estão ligados. Assim você pode ver se duas teclas estão sendo pressionadas ao mesmo tempo (p. ex. CTRL+ALT). 
    O valor de PEEK(1047) é a soma dos valores de cada uma das teclas, veja a tabela ao lado. Qualquer dúvida mande um .
Tecla
Valor
Shift direito
1
Shift esquerdo
2
Ctrl
4
Alt
8
Scroll Lock
16
Num Lock
32
Caps Lock
64
Insert
128
 

    Auto-ajuste de velocidade: se você faz jogos em QBasic já deve ter passado por esse problema, os jogos rodam com velocidades diferentes em computadores diferentes. Como fazer para que a velocidade do jogo se ajuste à do computador? O que normalmente se faz para dar uma pausa rápida ao fim de cada looping do jogo é algo do tipo:

    FOR i = 1 TO 1000
    NEXT

    Sendo que o 1000 varia conforme a velocidade do jogo e do computador. O programa faz esse FOR várias vezes por segundo. Podemos contar quantas vezes por segundo o programa está rodando, deste modo:

    t = TIMER
    DO
      IF TIMER + 1 < t THEN
        LOCATE 1, 1: PRINT fps
        fps = 0
      END IF
      fps = fps + 1
      FOR i = 1 TO 1000: NEXT
    LOOP

     Assim a cada vez que o programa faz um looping é adicionado +1 a variável fps, que após um segundo é exibida na tela e zerada. Assim a podemos ver quantas vezer o programa executou a rotina por segundo. Agora podemos ver como faríamos para que o programa rodasse por exemplo sempre em torno de 20 vezes por segundo.

    t = TIMER
    vel = 1000
    DO
      IF TIMER + 1 < t THEN
        IF fps <> 20 THEN vel = vel + (fps - 20)
        IF vel < -10 THEN PRINT "Seu computador é muito lento para este jogo!": END
        fps = 0
      END IF
      fps = fps + 1
      FOR i = 1 TO vel: NEXT
    LOOP

    A variável vel, inicialmente 1000, se ajusta conforme a velocidade do computador. Se o jogo rodar mais de 20 vezes por segundo, no caso acima, a variável vel aumenta de valor e o jogo fica um pouco mais lento. Se rodar menos de 20 vezes por segundo vel diminui e a velocidade do jogo aumenta. Se vel chegar a -10 então o jogo não cosegue rodar a 20 vezes por segundo e o programa é paralizado.
    Esse não é o modo mais indicado para ajustar a velocidade de um jogo, até porque ele leva algum tempo para se ajustar. O problema é que a função TIMER é bem pouco precisa, o que impossibilita uma melhor maneira de fazer isso no QBasic. Esse sitema é usado no jogo PinBall e Cart que você pode dar o download acima.
    Em breve, como fazer auto ajuste de velocidade utilizando C e Allegro.

[Atalhando no Windows] [Lendo o teclado] [Ajuste de velocidade]

Guilherme Goettems Schneider (10/05/2000)


    www.geocities.com/Athens/7159 - veja como fazer o download do C. Tutoriaiss de QBasic e C.
    www.programadoresdejogos.com.br - a página dos programadores de jogoss brasileiros!
    Página do DJGPP - faça o download de tudo o que você precisa para programar em C/C++, de graça! (inglês)
    Página Oficial do Allegro - faça o download desta ótima biblioteca para jogos em C. (inglês)
    Allegro.cc - a página dos programadores de jogoss em Allegro. Fóruns de discussão, centenas de jogos para download, e as últimas versões WIP do Allegro. (inglês)

    Se você também tem uma página de programação de jogos mande um  que eu colocarei um link para sua página.


[ Downloads]  [ C/C++ ]  [QBasic]  [Links]

RPG
Magic
Programação
Gui Bocca Page
Automobilismo
Futebol
Jogos
Gui Bocca Page
Automobilismo
Futebol
Jogos

e-mail


Hosting by WebRing.