Tutoria de Jogos

Responsável: Paulo V. W. Radtke
Contato: pvwradtke ARROBA gmail PONTO com
Período: ano letivo de 2006

Conteúdo

  1. Introdução
  2. Seminários
  3. Estudo de Caso - Jogo da Velha
  4. Ambientes, Bibliotecas e Ferramentas
  5. Recursos Áudio-Visuais
  6. Leitura Complementar

Introdução

     A atividade de desenvolvimento de jogos é oferecida aos alunos dos cursos de Ciência da Computação, Engenharia da Computação e Sistemas de Informação, sem custo adicional. O objetivo de se desenvolver um jogo é fomentar o desenvolvimento de uma aplicação completa, que envolva diversos aspectos de computação, requisitos atendidos facilmente com um jogo eletrônico, que combina em um software único aspectos de programação, estrutura de dados, multimídia e áreas afins.

     Para tal, serão desenvolvidas quatro etapas, associadas a cada bimestre do ano letivo de 2006, culminando com a apresentação do projeto do jogo na feira dos cursos da PUCPR. Esta será uma experiência inédita, mostrando tanto ao aluno como para a comunidade o que ele pode integrar em desenvolvimento durante o primeiro ano letivo. Para os interessado há ainda a possibilidade de participar da competição de jogos independentes na SBGames, o congresso brasileiro de jogos. As etapas desenvolvidas são as seguintes:

  1. Projeto do jogo
  2. Interface visual
  3. Lógica do jogo
  4. Menus e interface com o usuário

     Os projetos são desenvolvidos dentro do escopo dos PAs de programação dos cursos, complementado com experiência prática o conteúdo estudado durante o semestre. Para dar suporte ao aluno neste campo de conhecimento novo foi proposta esta tutoria, composta de horário de permanência em laboratório para a realização de seminários e esclarecimento de dúvidas. Os horários da tutoria são os seguinte, por curso:

  • Ciência da Computação
    • Sexta-Feira: 9h30 - 11h10, Lab. 11 CCET
    • Sexta-Feira: 11h10 - 12h50, Lab. 11 CCET
    • Sexta-Feira: 13h30 - 15h10, Lab. 10 CCET
  • Engenharia da Computação
    • Terça-Feira: 16h20 - 17h10, Lab. 10 CCET
    • Quarta-Feira: 15h30 - 17h10, Lab. 10 CCET
    • Sexta-Feira: 15h30 - 17h10, Lab. 10 CCET
  • Sistemas de Informação
    • Terça-Feira: 17h10 - 18h50, Lab. 10 CCET
    • Sexta-Feira: 17h10 - 18h50, Lab. 10 CCET
    • Sábado: 7h30 - 9h10, Lab. 10 CCET

     Os seminários serão realizados no início de cada bimestre, consistindo em dois ou mais módulos para detalhar as etapas do projeto e seus requisitos. Verifique nesta página as datas dos seminários e os arquivos (formato PDF) apresentados.

Volta para o início.

Seminários

     Esta seção é dedicada aos seminários da tutoria, disponibilizando os arquivos PDF dos mesmos para referência futura.

  • Primeiro Bimestre - Projeto:
  • Segundo Bimestre - Interface Visual:
    • Edição Visual - 02/05/2006 a 06/05/2006 - tutorial dedicado a ciração de tilemaps, sprites e fontes próprios para o desenvolvimento do jogo. Versão PDF.

    • Programação Visual - Parte 01 - 09/05/2006 a 13/05/2006 - tutorial dedicado a implementação de código visual do jogo. Note que este seminário possui DUAS versões, uma para Ciência/Engenharia da Computação e outra para Sistemas de Informação, devido as plataformas diferentes utilizadas (C e J2ME).

    • Programação Visual - Parte 02 - 16/05/2006 a 20/05/2006 - segundo tutorial dedicado a implementação de código visual do jogo. Note que este seminário possui DUAS versões, uma para Ciência/Engenharia da Computação e outra para Sistemas de Informação, devido as plataformas diferentes utilizadas (C e J2ME).

    • Programação Visual - Parte 03 - 23/05/2006 a 27/05/2006 - terceiro tutorial dedicado a implementação de código visual do jogo. Note que este seminário possui DUAS versões, uma para Ciência/Engenharia da Computação e outra para Sistemas de Informação, devido as plataformas diferentes utilizadas (C e J2ME).

    • Programação Visual - Parte 04 (apenas Sistemas de Informação).Versão PDF.
      Os exemplos base para esta aula são encontrados aqui: exemplo 05 e exemplo 06.

  • Terceiro Bimestre - Lógica de programação:
    • Conceitos Teóricos - 31/07/2006 a 05/08/2006 - tutorial dedicado à teoria necesária para a implementação de um jogo no estilo plataforma/ação. Seminário na versão PDF

    • Exemplo de um jogo Plataforma - 08/08/2006 a 12/08/2006 - tutorial dedicado à implementação de um jogo simples de plataforma. Exemplo na versão C (corrigido, funciona 100% correto) e J2ME (testa colisão com o cenário).

    • Exemplo de um jogo Plataforma - Segunda Parte - 15/08/2006 a 19/08/2006 - tutorial dedicado à implementação de um jogo simples de plataforma. Exemplo na versão C (corrigido, funciona 100% correto) e J2ME (gravidade, animação, derrota e vitória do jogador).

    • Exemplo de Uso de Áudio em Jogos - 04/09/2006 - exemplo dedicado a introduzir o uso da SDL_Mixer nos jogos, através de um código gerenciador de música e efeitos sonoros. Possui arquivo PDF explicando o uso, fontes em C e exemplo de uso no jogo plataforma desenvolvido durante o bimestre. Tutorial de Áudio em C/C++. Devido a restrições nos handsets de celulares, não haverá exemplo de áudio para celulares.
  • Quarto Bimestre - Implementação Final:
    • Cronograma - 03/10/2006 a 07/10/2006 - tutorial dedicado a discutir o conteúdo a ser desenvolvido durante o quarto bimestre. Seminário na versão ZIP

Volta para o início.

Estudo de Caso - Jogo da Velha

     Esta seção disponibiliza o projeto do estudo de caso, o Jogo da Velha. Todas as etapas serão cumpridas, visando fornecer subsídio para a confecção do trabalho dos alunos participantes da tutoria.

Volta para o início.

Ambientes, Bibliotecas e Ferramentas

     Aqui você encontra uma relação de softwares utilizados para o desenvolvimento de um jogo eletrônico. Sempre que possível serão listados softwares livre e, quando adequado, um comercial de baixo custo.

  • SDL - Biblioteca multiplataforma para o desenvolvimento de jogos em C/C++. Será usada pelos alunos de Ciência da Computação e Engenharia da Computação no desenvolvimento do jogo eletrônico. Site oficial

  • Pacote SDL para Dev CPP - Pacote das bibliotecas SDL que serão utilizadas (SDL base, SDL Mixer e SDL Image) preparado para o DevCPP. Para instalar, descompacte o arquivo no diretório em que se encontra instalado o Dev CPP (ex: no caso do programa estar instalado em C:\DevCPP\, você deve descompactar o arquivo em C:\). Download

  • Allegro - Biblioteca multiplataforma alternativa a SDL. Site oficial

  • Dev CPP - Ambiente para desenvolvimento em C, alternativa free software ao Visual Studio. Possui um módulo gerenciador de pacotes para a instalação facilitada de diversas bibliotecas. Site oficial

  • J2ME SDK - Pacote de desenvolvimento JAVA pada dispositivos móveis. Será utilizado pelos alunos de Sistemas de Informação. Site oficial

  • NetBeans mobility Pack - Ambiente para desenvolvimento de aplicações J2ME. Site oficial

  • Mappy - Ferramenta para criação de tile maps de jogos 2D. Possui bibliotecas de playback para diversas plataformas, inclusive a SDL e Allegro. Pode ser utilizado para gerar tile maps para J2ME (MIDP2.0). clique aqui para fazer o download da versã0 1.4.9. Site oficial

  • Gimp - Editor de imagens gratuito. Site oficial

  • Corel Paint Shop Pro X - Editor de imagens comercial, com mais opções que o Gimp e melhor para a edição de imagens ponto-a-ponto (neste aspecto é melhor que o Photoshop, além de consideravelmente mais barato). Possui versão trial para download. Site oficial

  • Paint.NET - Editor de imagens gratuito, alternativa sem custo para o Paint Shop Pro. Site oficial

  • Projet Dogwaffle 1.2 - Ferramenta gratuita para edição de imagens e animações. Site oficial

  • Jazz MIDI Sequencer - Editor MIDI gratuito. Site

  • Anvil Studio - Outro editor MIDI gratuito. Site

  • Modplug - Editor de músicas no formato tracked, com a opção de exportar em formato MP3. Site oficial

  • Audacity - Editor de áudio (WAV e MP3). Site

  • Vorbis Tools - Ferramentas para conversão de áudio no formato Ogg Vorbis. Site

  • Cute PDF Writer - Ferramenta gratuita para a geração de arquivos PDF, úteis para confeccionar manuais eletrônicos. Site oficial

  • Bitmap Font Builder - Ferramenta gratuita para a geração de arquivos de fontes em imagem raster. Site oficial

Volta para o início.

Recursos Áudio-Visuais

     Esta lista apresenta um apanhado de sites que possuem recursos áudio-visuais gratuitos e originais para uso em jogos. Caso você encontre algum diferente, envie-o por e-mail para que este seja incluído.

  • 3D Cafe - site com imagens e efeitos sonoros. Site

  • Castle Music Sound FX - site de músicas e efeitos sonoros. Site

  • MODArchive - site de músicas no formato tracked. Site

  • Chiptune - Outro site com músicas no formato traked. Site

  • Waveform.dk - Site de efeitos sonoros. Site

  • Sprite Lib GPL - biblioteca de sprites e tile sets gratuita para jogos. Possui gráficos para clones de jogos como Arkanoid, Space Invaders, 194X, etc. Site

  • Molotov.NU - biblioteca de imagens para jogos, baseado em um projeto de MMORPG cancelado. Site

  • Reiner's Tilesets - Site contendo diversos tile sets para jogos. Site

Volta para o início.

Leitura Complementar

     Para complementar o material apresentado nos seminários e aprofundar os conhecimentos no desenvolvimento de jogos. A lista contém referências de livros, sites e artigos.

  • What is a Good Game? - por Mark Overmars Versão eletrônica.

  • Gamasutra - Portal online de desenvolvimento de jogos. Muito recomendado. Site.

  • The Escapist Magazine - Revista eletrônica sobre jogos, contém diversos artigos escritos por desenvolvedores e insiders da indústria. Site.

  • Game Architecture and Design: A New Edition - Andrew Rollings, Dave Morris - New Riders Games (765 pág.) - Livro sobre projetos de jogos. Não trata de programação, mas estudos de caso de desenvolvimento de jogos. Leitura bastante interessante para o primeiro bimestre.

  • Indie Game Development Survival Guide - David Michael - Charles River Media (384 pág.) - Trata da produção e distribuição de jogos no mercado independente, uma abordagem mais realista do que o modelo tradicional de caixinha, praticamente inacessível para desenvolvedores de pequeno e médio porte.

  • Wireless Game Development in Java with MIDP2.0 - Ralph Barbagallo - Wordware Publishing (500 pág.) - Livro introdutório ao desenvolvimento de jogos para dispositivos móveis com suporte a J2ME, com enfoque no MIDP2.0.

  • Game Scripting Mastery - Alex Veranese - Premier Press Game Development Series (1272 pág.) - Livro avançado sobre técnicas de scripting em jogos.

  • AI Techniques for Game Programming - Mat Buckland - Premier Press Game Development Series (480 pág.) - Livro sobre o uso de técnicas de inteligência artificial no desenvolvimento de jogos.

  • Tutoriais de SDL - Vários - Diversos tutoriais sobre o SDL, variando do nível introdutório ao avançado. Site.

  • Tutoriais de Allegro - Vários - Diversos tutoriais sobre o Allegro, variando do nível introdutório ao avançado. Site.

Volta para o início.


2006 Paulo V. W. Radtke - Proibida a Reprodução