|
Neste artigo vou apresentar alguns dos meus jogos e outros programas quase jogos que fiz ao longo dos anos. Nem todos foram feitos integralmente por mim (se esqueci de alguém nos créditos, favor dar um puxão de orelha) e nem tudo posso disponibilizar, mas acredito que sejam uma boa referência para aprendizado (de como fazer e de como não fazer).
Tetris
Este foi o mais antigo que consegui encontrar, este Tetris foi desenvolvido como trabalhado da disciplina de Programação Imperativa do primeiro ano de faculdade (1999). O que tem de especial nele é que foi o primeiro jogo que fiz quando estava começando a aprender programação de gráficos no Dos (e arranhando no C), também não fazia muito tempo que eu havia descoberto o Modo 13h e estava me sentindo nas nuvens podendo realmente manipular pixels com mais de 16 cores.
O jogo podia ser jogado por um ou dois jogadores, apesar que o modo dois jogadores é meio mala no teclado mas serviu apenas de experiência, ele nunca chegou a ser concluído 100%, faltou implementar o sistema de highscores.![]()
Para rodar ele hoje acredito que apenas usando o DosBox, testei com a versão 0.74 e funcionou sem problemas. Para compilar apenas usando o TurboC ou o BorlandC++ 3.0 (não lembro qual dos dois usava na época, acredito que o Borland), ambos compiladores 16 bits.
Este é um exemplo simples para quem quer ver como se fazia um jogo antigamente e a acessava o Hardware para tal.
O código fonte pode ser baixado clicando se aqui. Os binários podem ser encontrados aqui.
Craft 3D
O Craft3d foi um motor 3d que comecei a desenvolver durante a graduação em parceria com o Danny Angelo, o Craft era feito em C++ e a principio era um motor construído para jogos de primeira pessoa e o enfoque principal eram ambientes internos (numa época onde ambiente externo e interno eram coisas bem distintas e raramente um motor 3d tinha os dois de forma bem feita).
O Craft era um render baseado em Árvores BSP e os cenários eram construídos utilizando-se editores para alguma versão do motor do Quake, sendo o nosso preferido o QuArK. Construído o mapa no editor o artista devia então compila-lo utilizando um compilador que construímos, este gerava árvore BSP e convertia o resultado final para um formato binário próprio.
Inicialmente o motor trabalhava apenas com modelos md2, mas depois consegui desenvolver um sistema de animação por ossos, este era baseado no formato texto smd do Half Life, que foi escolhido devido a facilidade em se encontrar exportadores.![]()
Nos últimos meses de desenvolvimento o Craft recebeu um sistema de som (usando OpenAL) e o motor estava sendo modificado para fazer o culling utilizando um sistema de portais, que pode ser visto em testes na imagem ao lado.
O auge do Craft foi sua utilização no Jogo Jessy: Ein Zirkuspferd in Not que foi publicado na Europa.
Disponibilizei a ultima versão binária que consegui encontrar aqui. Quase toda a arte foi criado por Flavio Tales, artista de mão cheia e grande parceiro nas empreitadas para criação de jogos 3d. Além dessa versão coloquei uma com outros cenários que consegui encontrar no que acredito que seja o ultimo backup que fiz antes da Jessy, esta versão pode ser baixada clicando-se aqui. Esta ultima versão possui alguns cenários que utilizam texturas do Quake II (acredito que da versão demo apenas).
Stock Car
Este jogo 2d foi desenvolvido em 2003 como trabalho para uma das disciplinas da Especialização em Desenvolvimento de Jogos Digitais da Universidade Positivo.
Foi desenvolvido em C++ e usou “pedaços” do Craft3d, os gráficos foram extraídos de um jogo de corridas (que não me lembro qual) e o jogo tinha uma física bem simples, mas me lembro que a diversão mesmo foi a criação do sistema de Inteligência artificial e fazer com que os oponentes andassem pela pista de forma correta.
Nessa época já havíamos criados uma biblioteca chamada de BCL (BitCrafters Common Library) que servia de camada básica para criação de jogos, possuindo sistema de arquivos, vídeo, abstração de API 3d e outras funcionalidades.
No final foi criado um “caminho” pela pista onde colocamos pontos pela pista marcando o caminho que o IA deveria seguir, os carrinhos então tentavam se manter nessa trajetória e acidentalmente ultrapassavam o jogador quando esse fizesse alguma barberagem.
Para deixar o jogo mais divertido a gente acabou colocando alguns npcs passeando pelo cenário que eventualmente acabavam sendo atropelados.
O código fonte pode ser baixado aqui, os binários podem ser baixados aqui. Na minha maquina atual o som não funciona, não sei como vai se comportar em outras maquinas.
Erinia
O Erinia foi um MMORPG criado pela Ignis Games com o objetivo de fornecer ao mercado nacional um MMO mais com cara de Brasil, o jogo tinha como objetivo ser simples e acessível a jogadores casuais, além de ter uma temática baseado no folclore nacional e elementos da nossa história (nada como detonar alguns sacis). O Erinia foi feito em C++ (cliente e ferramentas) e tinha o servidor desenvolvido em Java. Trabalhei em diversas áreas, sendo as mais freqüentes ferramentas e no motor 3d (totalmente criado pela Ignis Games).
O que dificultou muito nosso trabalho na época foi fato de estarmos trabalhando num MMO, isso nos trazia grandes dificuldades técnicas e para deixar nosso dia a dia mais interessante o foco do jogo eram jogadores casuais e maquinas mais modestas, para uma época onde computadores baratos como temos hoje era algo inexistente isso significava suporte a hardware bem modesto e muita otimização e para completar o jogo tinha que funcionar com conexões discadas (banda larga era luxo bem caro) e isso significava que o download tinha que ser mínimo. Dessa forma a equipe de arte ralou para fazer bons gráficos com poucos recursos e a equipe de programação ralou um bocado para compactar ao máximo os arquivos e gastamos muitas horas aprendendo a programar compactadores.
O Erinia infelizmente não acabou sendo o sucesso comercial que todos nós esperávamos que fosse e infelizmente o projeto teve que ser cancelado, mas recentemente uma versão foi colocada no ar e pode ser acessada clicando-se aqui.
Não posso disponibilizar o código (que nem tenho acesso) ou o download do jogo, mas quem quiser experimentar no site oficial pelo o que entendi basta se cadastrar.
Jessy: Ein Zirkuspferd in Not
Este jogo (chamado por nós apenas de Jessy) foi desenvolvido pela empresa que fundei juntamente com Danny Angelo e dois amigos ex funcionários da Ignis Games, sendo o Eros Carvalho (programador) e o Mauricio Valle (artista), a empresa que criamos chamada de BitCrafters Inc. desenvolveu a Jessy que foi publicado na Alemanha pela DTP-AG e Caipirinha Games. Após a Jessy foram criados outros protótipos que infelizmente não renderam frutos.
O jogo é baseado na Jessy, uma personagem de quadrinhos que segundo nos foi dito é muito famosa na Alemanha. O jogo foi feito utilizando-se o Craft3d e em Março de 2005 chegou a ficar em sétimo lugar nas vendas de jogos educativos / infantis na Alemanha.
O Craft3d recebeu vários melhoramentos para a criação da Jessy, dos principais que me lembro foi um sistema de Gui criado pelo Eros que me surpreendeu por ter sido feito sem precisar de grandes modificações no motor e tirando proveito do quase sistema de script que o motor tinha para fazer o console. Além deste construímos um motor de gameplay para jogos estilo aventura, onde utilizando o editor de maps era possível criar missões, conversas, animações onde npcs realizavam ações e outros eventos típicos desses jogos.
Infelizmente este não posso disponibilizar o download, mas estamos vendo se legalmente podemos disponibilizar o código.
Outros Projetos
Após a Jessy ainda me envolvi em dois outros projetos que nunca chegaram a ser comercializados, sendo ambos para Playstation 2 e Xbox. Foi uma fase bem interessante onde aprendi a trabalhar com tecnologias bem diferentes e a entender código C com comentários em Japonês. Ambos projetos foram feitos em C e ambos chegaram a estágio funcionais e eram realmente jogáveis, mas infelizmente devido a problemas com investidores foram cancelados.
Caso esteja procurando mais jogos com código, de uma conferida na pagina do Vinícius clicando aqui.
-
17/08/2010 18:55:46 |Administrator| Bruno Crivelari Sanches

Olá Jessé,
sem problemas, o único pedido é mantenha os créditos e deixe como fonte o PontoV
.Abraços
-
04/09/2010 12:04:01 |201.12.130.xxx| gokernel

Muito legal você disponibilizar os seus trabalhos para download.
Gostei muito de ver o trabalho de alguém que considero um mestre.
Parabens... depois vou dar uma olhada nos fontes.
gokernel
gokernel@hotmail.com
-
04/09/2010 19:54:19 |Administrator| Bruno Crivelari Sanches

Valeu Gokernel,
só cuidado que tem muita velharia que na verdade mostra como não se deve fazer algo
.
-
04/09/2010 19:55:44 |SAdministrator| Vinícius Godoy de Mendonça

Eu sempre olho pros meus jogos antigos e penso que são um lixo. Ainda bem, vou ficar preocupado quando olhar pro passado e pensar "putz, eu programava bem pra baralho!"
Seria um sinal de que eu involuí.
-
05/09/2010 08:07:37 |Administrator| Bruno Crivelari Sanches

Eu também, quando a reação for ao contrário, dai acho que já é hora de pensar em mudar de profissão ou aposentar
-
05/09/2010 08:08:28 |Administrator| Bruno Crivelari Sanches

Você quer dizer modelos? Dai já não é tanto área de programação
.
-
08/09/2010 11:09:18 |201.12.130.xxx| gokernel
Citou:
só cuidado que tem muita velharia que na verdade mostra como não se deve fazer algo
.
LOL... Estou também aprendendo com isso... "O MEU MAIOR CONCORRENTE SOU EU MESMO".
------------------------------------------------------------------- -
Acho que seria vc colocar as datar (dia, mes, ano) nos seus próximos trabalhos.EI... ISSO FOI UMA OPINIÃO PESSOAL.
-------------------------------------------------------------------- p>Abraços.
gokernel
gokernel@hotmail.com











Caro Bruno
Você me permite usar seus códigos para ensinar meus alunos?
Creio que pode ser de grande valia para eles.
Jessé