GameDevelopment em Português

  1. Dicas uteis
    1. Algumas notas
    2. Notas especificas do SDL
  2. Links uteis
  3. Telas de projetos de jogos para 770
    1. Engine para jogos de plataforma
    2. http://cs.joensuu.fi/~tpalli/jee.png
  4. Portagem de jogos e desenvolvimentos do INDT
    1. Portagem de DOOM (baseada na portagem para SDL)
    2. http://www.marceloeduardo.com/blog/up/18072005002.jpg
    3. Battle Gweled
    4. http://www.marceloeduardo.com/blog/up/battlegweled.jpg
    5. Crazy Parking
    6. http://www.marceloeduardo.com/blog/up/crazyparking.jpg
    7. Maemo Blocks
    8. http://www.marceloeduardo.com/blog/up/maemoblocks.jpg
    9. Maemo Sweeper
    10. http://www.marceloeduardo.com/blog/up/maemosweeper.jpg
    11. Ice Breaker
    12. http://www.marceloeduardo.com/blog/up/icebreaker.jpg

Esta pagina contem dicas uteis para o desenvolvimento de jogos para o 770 e também sobre a biblioteca SDL em geral.

MoinMoinWiki Macro: TableOfContents

Dicas uteis

Algumas notas

  • 770 possui uma touchscreen( tela sensivel ao toque ), que necessita de novos modos de implementação das caracteristicas dos jogos, como botões incluidos nas telas, desenho da tela, movimento dos personagens por toques na tela, etc.
  • Como o dispositivo não possui botões no lado direito, implemente-os via software!
  • Evite usar o "4 way rocker"( direcional ) para movimentos rapidos e complexos. Ele não é bom para usar em um jogo, e ele não possui diagonal.
  • Quando estiver usando orientação vertical( como no jogo tetris ) continue evitando o uso o "4 way rocker". Ele é muito proximo do botão ESC, então pressionamentos acidentais podem acontecer.

Notas especificas do SDL

Coisas para lembrar:

  • A tela é nativamente 800x480. Mudanças de resolução não são suportadas. Talvez, no futuro, nós possamos ter suporte a uma resolução de 400x240 para graficos mais rapidos porem isso é apenas suposição. Se você tentar tornar usar a janela cheia e maior que o tamanho nativo da tela, você terá bordas negras.
  • Em um modo de janelas o matchbox irá força-la para determinado tamanho( você deve observar as especificações para descobrir o tamanho atual da tela ). Isso significa que se você tiver bordas negras é por que sua janela requerida é maior que o tamanho da janela atual.
  • Normalmente janelas SDL( sem fullscreen ) parecem ruins com algum tema se nada estiver sendo mostrado dentro dela, mas é você quem decide.
  • Prefira não fazer atualizações para o modo de tela cheia. A tela é 800x480x16 e a capacidade do hardware não é muito grande( o hardware de video não pode fazer nada ). Se você ainda estiver fazendo por algum motivo, você deve uma área menor( tendo apenas a barra de status ou algum outro elemento GUI que não precise ser atualizado o tempo todo ). Também não use SDL_Flip(), por que ele atualiza toda a tela. Use funçoes de atualização rect. Obrigado.
  • O modo 32 bits não funciona. Isto significa que pode ocorrer um bug de segfault( Segmentation Fault ) quando você tiver uma janela de 32 bits e você recriar a janela. Como o display é de 16 bits, então não existe motivo para suportar o modo 32 bits, isto daria uma camada extra de pixels para conversão o que tornaria as coisas mais lentas. Use o modo nativo de 16 bits.
  • Eventos de mouse. Isto é uma touchscreen, e você deve assumir um usuario final mediano Billy-Bob que faz um hack no dispositivo no modo de host USB e usa um mouse USB. Usando coordenadas absolutas isso é possivel. Um exemplo onde coordenadas relativassão usadas é no scummvm. Se você usar o keypad para mover o cursor, e depois usar o touchscreen, o cursor atual será modificado para o endereço original do touchpad. Pense absolutamente, não relativamente.;)

Links uteis

http://www.libsdl.org/

http://www.gamedev.net/

http://2dnow.zenzer.net/

Telas de projetos de jogos para 770

Engine para jogos de plataforma

Engine simples, 2D, contendo mapa de quadrados e gerenciamento de sombras, checagem de colisão por bounding-box e + outras coisas. (vai ter alguns efeitos de luz simples, que podem ser pré-desenhados em cima do mapa de quadrados ou das figuras de fundo.)

http://cs.joensuu.fi/~tpalli/jee.png

~- programa de teste -~

Portagem de jogos e desenvolvimentos do INDT

Estas são pequenas portagens e desenvolvimentos feitos para Maemo. Todas delas estarão disponiveis para download para servir como referencia para desenvolvimento de novos jogos. Integração com Dbus, jogos SDL ou GTK, multiplayer usando wifi e bluetooth. Técnicas de otimização e documentação vão estar disponiveis em breve.

Portagem de DOOM (baseada na portagem para SDL)

Jogo rodando em tela cheia no dispositivo real. RÁPIDO! BEM RÁPIDO! O som esta otimo também, melhor ainda com um fone de ouvido. Depois de resolver uns problemas relacionadas a interface, vamos postar o código. Apenas algumas funções relacionadas com texturas precisam ser mudadas.

http://www.marceloeduardo.com/blog/up/18072005002.jpg

Battle Gweled

Jogo de gweled (baseado no clássico bejeweled) com multiplayer por wifi. O usuário deve fazer 3 ou mais sequencias de pedrinhas para melhorar a barra de poder. Após alguns segundos parado, um tranco é feito no inimigo.

http://www.marceloeduardo.com/blog/up/battlegweled.jpg

tela de jogo solo

http://www.marceloeduardo.com/blog/up/battlegweled2.jpg tela de título

Crazy Parking

Baseado no famoso jogo da hora do rush, você deve mover carros fora do caminho para tirar seu carro!

http://www.marceloeduardo.com/blog/up/crazyparking.jpg

Maemo Blocks

Jogo de blocos clássico, então não é nescessário falar mais nada =-). Uma otima pedida para qualquer plataforma.

http://www.marceloeduardo.com/blog/up/maemoblocks.jpg

Você pode jogar com o direcional de 4 direções ou pegando as pedras com a stylus

Maemo Sweeper

Portado de SDLMINE http://www.libsdl.org. Outro classico!

http://www.marceloeduardo.com/blog/up/maemosweeper.jpg

http://www.marceloeduardo.com/blog/up/maemosweeper_startup.jpg

~- exemplo da tela de inicialização do jogo -~

Ice Breaker

Portado para maemo! http://www.libsdl.org. Muito divertido de jogar com a stylus!

http://www.marceloeduardo.com/blog/up/icebreaker.jpg

"[GameDevelopment"] in English