ago 302013
 

Blz?
Hoje após receber mais um email perguntando sobre os padrões para jogos, resolvi publica-los no site.

O artigo tema da minha monografia da especialização de engenharia de software  e apresentado na conferência latinoamericana de padrões de software SugarLoafPlop’2010 e que em teoria também deve ou deveria estar disponibilizada na ACM Digital Library.

Caiu no esquecimento e na desmotivação. Esperei  até o momento para que pudesse ser publicado entre as obras da ACM, como não sei o estado atual e como o desejo inicial sempre foi fornecer acesso ao conteúdo e principalmente o aprendizado  construído durante a confecção do artigos estou disponibilizando o artigo da monografia junto com os slides da defesa e a revisão criada para o congresso.

Inicialmente minha intenção era criar um verdadeiro Catálogo de Padrões, acredito que poderíamos chegar a um número muito próximo do encontrado no GoF, porém desde a última apresentação do mesmo na conferência em 2010 até  o momento atual,  pude observar que o mundo acadêmico é algo que funciona com passos letárgicos. De fato as duas participações no congresso me ajudaram a ver que participar de tal comunidade não era um caminho natural para mim e que o tempo e prioridade da comunidade de padrões  não eram compatíveis com minha ideologia, o que contribuiu ainda mais para me afastar da meta inicial.

Com relação à publicação do artigo, tive algumas conversas de aconselhamento sobre a disponibilização do material, onde foi citado que o caminho “natural”, “ideal”, “melhor” seria esperar que o artigo fosse publicado na ACM para só depois disponibiliza-lo.

Nos foi apresentado que todos os padrões aceitos pela comunidade de padrões de softwares deveriam ser incluídos na ACM como um passo final de aceitação da proposta de padrão, inclusive após todas as etapas do processo de aprovação tivemos que assinar alguns termos para que o mesmo fosse publicado, o resultado disso é que até hoje não sei se o mesmo foi ou não publicado e nem se o catalogo que iniciei é tido como válido, inclusive  poderia ter sido o primeiro catalogo de padrões para jogos aceito pela comunidade internacional de padrões.

Pelo menos sempre foi à ideia passada nos congressos, que um padrão é padrão de “direito” quando o mesmo é submetido ao árduo processo de validação, refinamento, evolução e apreciação de outros escritos de padrões em uma conferência PLOP e nestes quesitos o catalogo de 5 padrões havia atingido todos os níveis de aceitação. Porém até hoje não sei dizer se são padrões oficialmente reconhecidos e nem se foram os primeiros padrões especificamente para jogos. Minhas pesquisas na época apontavam para este rumo.

Infelizmente percebi que a maioria dos padrões discutidos e apresentados nas conferências não são como nós programadores, desenvolvedores e arquitetos conhecemos, não são padrões de implementação como GoF, Posa ou JEE. São em grande maioria padrões de processo, geração de produtos e qualidade…. Poucos são os padrões para implementação de software, ou seja, são coisas muito diferentes dos idealizados pelo GoF.

O pior de tudo é que após todo o árduo trabalho de finalização, aprovação e suposta publicação dos padrões os mesmos não chegam onde deveriam, ou seja, os desenvolvedores dificilmente sabem que tais padrões existes. Não temos catálogos de fácil acesso e em sua maioria são “guardados” para serem publicados e vendidos em livros ou sites especializados, ou seja, quase sempre tem uma motivação $…

Então pergunto:
Qual o motivo de escrever um padrão? Do que adianta o conhecimento adquirido se o mesmo não chega onde deveria? Porque escrever padrões?  Pra quem eles vão servir?

Minha única resposta até o momento é: “para alimentar nosso próprio ego“. Para quando chegarmos em nossas turmas, encher o peito e falar bem alto para os  todos ouvirem frases do tipo: “Sei tudo sobre padrões, até escrevi padrões“.
Só que a realidade é outra, grande parte destas pessoas apresenta uma vida profissional teórica sem escrever softwares, muito menos por em prática os padrões mais básicos como os apresentados no GoF/J2EE.

Saber de coisas como essas apenas pesaram ainda mais na minha desmotivação o que levou a minha decisão de parar de escrever o catalogo.

Talvez até um dia possa mudar de ideia, mas neste momento prefiro gastar meu pouco tempo com outras prioridades, até mais divertidas e menos estressantes. Bora jogar WoW? 😀  Se mudar de ideia me procure no Azralon, gosto de fazer um pouco de pvp.

Voltando….
Como adepto da filosofia do software livre e do copyleft estou disponibilizando o material produzido para este catálogo.
Desculpem o desabafo, mas era algo que gostaria de avisar para aqueles que tem um perfil mais prático como o meu. Para que se entrarem de cabeça na ideia dos padrões fazer sabendo que vão ter muita briga pela frente.

Se por acaso meu trabalho servir de inspiração ou for usado gostaria de saber, sem obrigação, apenas como falamos aqui no ceará “pedido de amigo”.

Downloads:

 

Aproveitando gostaria de agradecer a todos que ajudaram na confecção do catálogo:

ARAUJO et al.,2006: Allan R. S. Araujo, Juliana M. Silva, Artur F. Mittelbach, Scrum: Novas Regras do Jogo, 2006

BARBOSA,2010: Milton Escóssia Barbosa Neto, Currículo Lattes, 2010. Disponível em: <http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4739143Y7>, Acesso em:10 ago. 2010

BASTOS,2010: Gustavo Bastos, Linkedin, 2010. Disponível em: <http://br.linkedin.com/pub/gustavo-bastos/7/816/290>, Acesso em:10 ago. 2010

BITTENCOURT F.,2010: Fernando Bittencourt, Linkedin, 2010. Disponível em: <http://br.linkedin.com/in/frbitten>, Acesso em:10 ago. 2010

BITTENCOURT R.,2010: Ricardo Bittencourt, Linkedin, 2010. Disponível em: <http://br.linkedin.com/pub/ricardo-bittencourt/5/392/423>, Acesso em:10 ago. 2010

DARKCOLONY,1997: Strategic Simulations, Dark Colony, 1997. Disponível em: <http://pt.wikipedia.org/wiki/Dark_Colony>, Acesso em:13 mai. 2009

DUKITAN,2007: DukItan Software & Games, Web Site, 2007. Disponível em: <http://www.dukitan.com>, Acesso em:12 jul. 2009

DYNAMIC,2008: Dynamic Games, Web Site, 2008. Disponível em: <http://www.dynamicgames.com.br/jogos.html>, Acesso em:20 dez. 2008

EASY2D,2009: Jonatas de Moraes Junior, Easy2D Game Library, 2009. Disponível em: <http://easy2d.sourceforge.net/>, Acesso em:20 nov. 2009

EVANGELISTA,2010: Bruno Evangelista, Linkedin, 2010. Disponível em: <http://www.linkedin.com/in/brunoevangelista>, Acesso em:10 ago. 2010

F2IBUILDER,2007: DukItan Software & Games, F2IBuilder, Font To Image Builder, 2007. Disponível em: <http://f2ibuilder.sourceforge.net>, Acesso em:05 out. 2009

FZPONG,2007: DukItan Software & Games, FZ Pong, 2007. Disponível em: <http://portal.dukitan.com/fzpong>, Acesso em:13 mai. 2009

GAMEDEV,1999: GameDev.net, Web Site, 1999. Disponível em: <http://www.gamedev.net/>, Acesso em:10 jun. 2009

GBF,2005: DukItan Software & Games, GBFramework, 2005. Disponível em: <http://portal.dukitan.com/gbframework>, Acesso em:10 mai. 2009

GDJBR,2009: GDJBR, Grupo de Desenvolvedores de Jogos, 2009. Disponível em: <http://www.gdjbr.com>, Acesso em:10 ago. 2010

GOF,1995: Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, Padrão de projeto de software, 1995. Disponível em: <http://pt.wikipedia.org/wiki/Padr%C3%A3o_de_projeto_de_software>, Acesso em:20 nov. 2009

HAWKINGS e ASTLE,2001: Kevin Hawkings, Dave Astle, OpenGL Game Programming, 2001

ICON,2006: ICON Games, Web Site, 2006. Disponível em: <http://www.icongames.com.br/>, Acesso em:10 dez. 2009

J2EE,2002: Oracle / Sun Microsystems, Core J2EE Patterns, 2002. Disponível em: <http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html>, Acesso em:20 nov. 2009

JOGOSPRO,2002: JogosPro, Lista JogosPro, 2002. Disponível em: <http://tech.groups.yahoo.com/group/jogospro/>, Acesso em:10 ago. 2010

LEITE,2010: Daniel Frederico Leite, Linkedin, 2010. Disponível em: <http://br.linkedin.com/pub/daniel-frederico-lins-leite/23/ab9/173>, Acesso em:11 ago. 2010

LIBWIISPRITE,2008: Wii Brew, libwiisprite is a C++ sprite library written for the Wii , 2008. Disponível em: <http://wiibrew.org/wiki/Libwiisprite>, Acesso em:10 dez. 2009

LIRA,2010: Felipe Lira, Linkedin, 2010. Disponível em: <http://br.linkedin.com/in/feliperlira>, Acesso em:10 ago. 2010

MAHTAB e WALI,2000: Ashic Mahtab; Zinat Wali, A Simple Fast Resource Manager using C++ and STL, 2000. Disponível em: <http://www.gamedev.net/reference/programming/features/resourceMngtCppStl>, Acesso em:10 mai. 2009

MARQUES,2010: Daniel de Albuquerque Marques, Currículo Lattes, 2010. Disponível em: <http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4209709D8>, Acesso em:11 ago. 2010

MENDES,2010: Karine Roberta Vieira Mendes, Facebook, 2010. Disponível em: <http://pt-br.facebook.com/profile.php?id=100000819386683>, Acesso em:11 ago. 201

MOREIRA,2010: Mike Moreira, Linkedin, 2010. Disponível em: <http://br.linkedin.com/in/mikemoreira>, Acesso em:10 ago. 2010

MORVICK,2008: Morbid Morvick, Resource Manager Snippet, 2008. Disponível em: <http://gpsnippets.blogspot.com/2008/07/resource-manager-snippet.html>, Acesso em:10 mai. 2009

PDJ,2003: PDJ, Programadores e Desenvolvedores de Jogos, 2003. Disponível em: <http://www.pdj.com.br>, Acesso em:10 ago. 2010

PENGUIN,2004: Icon Games, Penguin Racer, 2004. Disponível em: <http://www.icongames.com.br/pracer>, Acesso em:10 dez. 2009

POSA,1996: Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal , Pattern-Oriented Software Architecture, 1996. Disponível em: <http://www.hillside.net/component/content/article/53-architecture-requirements-patterns-books/178-pattern-oriented-software-architecture-a-system-of-patterns?directory=127>, Acesso em:19 nov. 2009

RIBEIRO,2010: Alexandre Ribeiro de Sá, Perfil Linkedin, 2010. Disponível em: <http://br.linkedin.com/in/ardes>, Acesso em:10 ago. 2010

SANCHES,2009: Bruno Crivelari Sanches, Os softwares de um jogo, 2009. Disponível em: <http://www.pontov.com.br/site/index.php?view=article&id=108>, Acesso em:18 dez. 2009.

SDL,1999: Simple DirectMedia Layer, Web Site, 1999. Disponível em: <http://www.libsdl.org>, Acesso em:12 jun. 2009

SOUZA C.,2010: Cidcley Teixeira de Souza, Currículo Lattes, 2010. Disponível em: <http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4795182D7>, Acesso em:10 ago. 2010

SOUZA J.,2010: Jerffeson Teixeira de Souza, Currículo Lattes, 2010. Disponível em: <http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4794205D4>, Acesso em:10 ago. 2010

SPACESHOOTER,2005: DukItan Software & Games, SpaceShooter, 2005. Disponível em: <http://spaceshooter.dukitan.com>, Acesso em:12 mai. 2009

TECHFRONT,2009: TechFront – Play it Forward, Web Site, 2009. Disponível em: <http://www.techfront.com.br>, Acesso em:20 mai. 2009

TUGA,2008: DukItan Software & Games, TuGA Game API, 2008. Disponível em: <http://tuga-sdk.googlecode.com>, Acesso em:10 jun. 2009

UNIDEV,2002: Unidev, Programação de Jogos, 2002. Disponível em: <http://www.unidev.com.br>, Acesso em:10 ago. 2010

WIKIPEDIA,2010: Wikipédia, Duas Dimensões e Meia – 2.5D, 2010. Disponível em: <http://pt.wikipedia.org/wiki/2.5D>, Acesso em:04 ago. 2010

XNADC,2009: XNA Developer Center, Tutorial 4: Make a Game in 60 Minutes., 2009. Disponível em: <http://msdn.microsoft.com/en-us/library/bb975644.aspx>, Acesso em:10 out. 2009

 

maio 132008
 


Blz?

Amigos pois num é que tive meus 15 segundos de fama 🙂 ou quase, hehehehehe.
Tem algumas semanas que fui indicado por um amigo como uma espécie de referência em desenvolvimento de jogos aqui no ceará(como é que pode, neh?), o que resulto em uma ligação de uma repórter de um dos maiores jornais locais “O Povo”[1].

Onde conversamos sobre diversos tópicos como:

  • Quem desenvolve jogos no brasil e no Ceará
  • Onde as pessoas buscam apoio para iniciar
  • Como são feitos os jogos
  • Que tipos de profissionais estão envolvidos
  • Questões do mercado nacional e local
  • Plataforma de jogos: PC, Console, Celular
Ou seja, foram diversos assuntos que na verdade renderam um pouco mais de 20 minutos de conversa via telefone, onde conversamos inclusive sobre o novo cenário a “TV Digital”, onde falei de algumas características que assim como a mídia televisiva deve adaptar-se para esse novo meio o mesmo deverá ocorrer com os jogos focando neste novo perfil de consumidores os quais talvez a grande maioria nunca pode ter um console em casa, e que agora com os set-top-box aparece uma grande oportunidade tanto para a difusão dos jogos como para o mercado nacional.

Inclusive aproveito a oportunidade, para divulgar que agora na InfoBrasil[2] estarei apresentando um artigo que envolve jogos e a TVDigital, entitulado de “TuGA – Um middleware para Desenvolvimento de Jogos na TV Digital Interativa”, se você estiver por lá e tiver sem nada para fazer, quem sabe não poderia assistir 🙂

Continuando na entrevista tem alguns pontos que discordo um pouco, talvez algum ruído na ligação tenha causado uma impressão diferente do que era na realidade, ou talvez eu esteja interpretando errado, mas gostaria de comentar a passagem:

“Com isso o trabalho ainda é amador, sem profissionais que se voltem para cada etapa da criação”.

Amador não é em questão de qualidade, por sinal existem diversos trabalhos muito bons com uma ótima qualidade, porém deveria ter ficado mais claro que o amador é no sentido de não ganhar a vida com eles, e sim simplesmente pelo prazer de produzi-los. Outro fato é que geralmente quem mais se interessa por desenvolvimento de jogos são programadores o que de fato deixa as outras diversas áreas a desejar ou quando se tem muita sorte encontram-se programadores com dons artísticos quer seja para música, escrita e gráficos (o que não é o meu caso).

Outro detalhe é que de quebra ainda conseguimos divulgar a nossa nova lista GDJ-CE[3] e ainda existem links no portal para baixar dois jogos que fiz o FZPong[4] e o SpaceShooter[5]

T+!
Vida Longa e Próspera!

———————————————-

Referência
[1]http://digital.opovo.com.br/reader2/Default.aspx?pID=13&eID=771&lP=24&rP=25&lT=page
[2]http://www.infobrasil.inf.br/ComoParticiparEventos.aspx
[3]http://groups.google.com/group/gdjce
[4]http://pjmoo.wiki.sourceforge.net/FZPong
[5]http://pjmoo.wiki.sourceforge.net/SpaceShooter

maio 222007
 
Estava conversando com um amigo sobre desenvolvimento de jogos, quando lembrei do bom e velho SpaceShooter, e o quão ficou “abafado” com o lançamento e a oficialização da última versão a 1.4 por causa causa do CDLivre[4] e do evento FLISOL.
Pois bem, aproveito a oportunidade agora para falar um pouco mais da experiência que o SpaceShooter me deu, além da diversão gerada tanto pela programação como pelo jogo em si.

História

Spaceshooter pra quem não conhece, é um divisor de águas para mim, ele inaugurou minha “nova geração” de jogos, agora produzidos com o framework GBF[5]. É um jogo simples e fácil no clássico estilo shoot’up, o qual foi muito venerado na época dos consoles Nes/SNes/Mega, tendo como base a temática de Star Trek.
O jogador tem como objetivo salvar seu planeta da extinção, e para isso deverá destruir a grande ameaça a nave Base Borg (Cubo Borg). Para poder enfrentar este desafio, o jogador contará com 04 naves estrelares, onde cada uma está melhor adaptada para as diversas zonas, além de contar com um arsenal de phaser e de alguns poucos torpedos. Para sua defesa deverá contar com sua habilidade, a velocidade dos motores de warp, além da força de seus escudos.
O jogo possui 07 fases, onde o jogador terá que enfrentar campos de asteróides, naves inimigas de várias raças, minas espaciais, e diversos outros desafios. Sua missão é destruir a ameaça cibernética, evitando assim que a extinção da raça humana.


Ficha Técnica

Aprendizado

O SpaceShooter, acabou sendo pra mim um grande laboratório, foram creio que quase 2 anos de desenvolvido, mas isso não quer dizer que o SpaceShooter é um jogo complexo ou que foi difícil de ser criado, muito pelo contrario, graças a sua simplicidade consegui superar tantas mudanças, sendo elas:
IDE, o inicio do SpaceShooter, se confundi que o inicio do framework GBF, os dois praticamente foram criados juntos, e se auto influenciaram, passei por muitas IDE, desde proprietárias a diversas soluções livres, só para ter uma idéia nesse projeto trabalhei com:
E minha opção em busca da unificação dos mundos foi o CodeBlocks, onde de fato consegui criar um projeto e utiliza-lo tanto no Linux quanto no MS-Windows, pois as outras IDEs, mesmo as que tinham versões para os dois S.O me obrigavam a criar projetos para cada S.O.
Sistema Operacional, o inicio do meu projeto se deu com MS Windows, e o Linux era utilizado apenas para compilação, e conforme fui me envolvendo com o Software Livre, pude conhecer mais a fundo o Linux e as ferramentas que eu poderia utilizar, graças a utilização de uma IDE completa para os dois mundos, pude inverter minha situação e ter como meu ambiente de trabalho e de uso domestico o Linux e ter o MS Windows apenas para compilação e testes, creio que graças as características do projeto consegui fazer essa migração de SO sem muitos problemas, porém tive que me adaptar as diversas rotinas que o Linux começava a me apresentar, pois eu queria de fato retirar o máximo possível das características do meu hardware e isso envolveu tempo e estudo, porém hoje estou satisfeito utilizando Linux em casa (Slackware 11.0 e comecei a testar o Ubuntu).

Uma coisa que pude constatar, ambiente mais robusto que o Linux e suas ferramentas não creio que tenha, era comum quando tentava depurar alguma coisa no MS Windows ter problemas ou a aplicação abortar, debugar jogos é complicado, e mesmo usando profilers ou qualquer outra ferramenta que tente ajudar a entender como o programa funciona no MS Windows a coisa ficava sempre muito complicada. Sem falar que se consegui compilar e rodar no Linux sem problema a chance de compilar e funcionar no MS Windows é alta, agora o contrario é complicado.

UML, comecei o projeto do GBF com o Power Designer, uma ferramenta proprietária de modelagem UML e de banco de dados, porém era complicado manter o código sincronizado, pois era necessário codificar dentro da ferramenta o corpo dos métodos, e não era fácil e pior que o suporte a estruturas do C++ não era muito bom (enumerações, structs, typedef), fiquei algum tempo utilizando ela, até que ficou inviável manter o projeto codificando e testando e copiando as implementações para a ferramenta, a engenharia reversa não funciona (ou se funcionava era uma porcaria, faz tanto tempo que não lembro), acabou tendo um lacuna muito grande entre os últimos modelos e o código implementado.
Achei que era hora de procurar outras ferramentas, achei uma chamada jumli[12], era uma ferramenta freeware e tinha versões para Linux e Ms Windows, era melhor que o Power Designer, porém possuía alguma limitação que não me recordo muito bem, sei que não me atendia como eu gostaria, creio que tinha algo relacionado com enumerações ou struct, e mais uma vez cai numa lacuna de tempo entre modelo e implementação monstruosa.

Por fim, consegui achar uma ferramenta francesa chamada BoUML, a qual gostei muito, era leve, prática e muito eficiente, atendia quase que perfeitamente minhas necessidades, sem falar que o desenvolver era muito acessível, troquei algumas mensagens no fórum com ele, e minhas dificuldades foram resolvidas, e chegou até ser implementado uma das minha solicitações que era referente aos includes de outras classes ficarem apenas no header(.h) e não no arquivo fonte (cpp), para isso foi criado uma marcação especial que definia isso, ou seja, é uma ferramenta que recomendo, sem falar que com ela é possível mesclar várias coisas comuns em C++ para produzirem a saída conforme eu queria, no caso jogar vários enums, structs num único arquivo, bastava apenas na parte de deploy informar o “artefato de destino”.

Hoje o modelo do SpaceShooter e do GBF estão mais próximos da implementação porém não posso garantir a fidelidade do modelo do SpaceShooter, porém pretendo nas próximas semanas atualizar e finalizar de vez o projeto.

Técnicas, além de tudo isso tive oportunidades de criar novos mecanismos pro framework GBF, além de desenvolver e aprender novas técnicas, das quais posso destacar:

  • Classes para gerenciadores de recursos: Audio, Imagens, Teclado, Joystick;
  • Classes para interface: Menus, Teclado Virtual (aqueles usados nos jogos de consoles)
  • Classes para efeitos especiais como sistema de partículas;
  • Classes para Sprite, Layers, Personagens;
  • Utilização de Sockets via SDL_net para envio e recebimento de dados com um servidor (na verdade uma página em php que tem acesso a um banco MySQL)
  • Utilização de designer patterns para criação do GBF e do SpaceShooter;
Após dois anos de intenso trabalho, ou quase, pois tive muitos períodos que não encostava em nenhuma linha de código desses projetos, consegui concluir este ano o SpaceShooter e entrega-lo para a comunidade, liberando seu source e agora, passando um pouco da experiência vivenciada com o seu desenvolvimento. Espero que esse relato possa ajudar ou direcionar os interessados em conhecer um pouco mais sobre desenvolvimento de jogos.

T+!
Vida Longa e Próspera!

———————————————-

Referência
[1] PJMOO no Código Livre – http://codigolivre.org.br/projects/pjmoo/
[2] Site SpaceShooter – http://pjmoo.codigolivre.org.br/site/spaceshooter/
[3] Wiki SpaceShooter – http://pjmoo.codigolivre.org.br/wiki/index.php/SpaceShooter
[4] CDLivre – http://cdlivre.codigolivre.org.br
[5] Framework GBF – http://pjmoo.codigolivre.org.br/wiki/index.php/GBF
[6] SDL – http://www.libsdl.org
[7] CodeBlocks – http://www.codeblocks.org
[8] BoUML – http://bouml.free.fr
[9] DevCPP – http://www.bloodshed.net/devcpp.html
[10] Eclipse CDT – http://www.eclipse.org/cdt
[11] KDevelop – http://www.kdevelop.org
[12] Jumli – http://www.jumli.de

maio 102007
 

Blz!

Pessoal como comentei anteriormente, fui convidado pelos amigos Erlon e Milton, para participar da Semana de Atualização Tecnológica da Faculdade FIC[1], palestrando sobre minha experiência com desenvolvimento de jogos para principalmente o pessoal da célula acadêmica de jogos.
Foi uma experiência bem interessante, e espero que as criticas e sugestões aqui comentadas sejam levadas de forma construtiva, pois meu intuito é divulgar essa arte e que cada vez mais pessoas levem a serio esta area, que as vezes é altamente marginalizada pela sociedade de por profissionais de T.I.
Cheguei na FIC por volta de 19:30hs me identifiquei para o pessoal da portaria, estacionei meu carro, tudo nos conformes, sem complicação ou enrolação, e me dirigi para os stands, já que estava acontecendo várias exposições de trabalhos das células e palestras.
Chegando no stand da célula acadêmica de jogos, demorei pra me identificar, fiquei olhando, tentando ver as coisas. Foi um pouco estranho, pois na verdade havia apenas duas pessoas as quais olhavam algumas animações 3D, e na outra máquina a qual ficava ligada a uma tv, passava uns vídeos de animação 3D e talvez alguma cena de jogos famosos, porém não era o que eu estava esperando, eu procurava ver o trabalho da célula, não importava pra mim se era um space invader em pascal modo ascii ou qualquer outra tecnologia, eu esperava ver trabalho das pessoas envolvidas, demos técnicos, modelagem e essas coisas, nesse ponto achei meio frustrante, pois buscava trocar experiência com as pessoas.
Passado alguns minutos me aproximeis das pessoas ali, e perguntei pelo meu contato, falaram que ele se encontrava na faculdade abrindo alguma palestra, e como havia combinado fiquei lá esperando por ele, e enquanto isso comecei a conversar com as pessoas da célula, e fiquei sabendo que esse era o segundo semestre da célula, e ainda estavam se estruturando, e só haviam produzido um jogo/demo em pascal, na linha do space invader (hehehe, comecei com um desses também 🙂 ), ou seja, fiquei curioso pra ver o trabalho, porém ele não estava disponível para ser mostrado :\, e que eles pretendiam então começar nesse semestre com mais força e ir pra plataforma #C com XNA, ambas tecnologias da Microsoft, nada contra o uso dessa tecnologia, porém, senti que talvez minha palestra fosse um pouco fora do foco deles, já que aderi a tecnologias e ferramentas em Software Livre, porém sou conhecedor de algumas tecnologias e ferramentas proprietárias, apenas não estão no meu foco no momento.

Fiquei curioso e perguntei pq, e ouvi algumas possíveis explicações sobre o motivo, o principal foi produzir para X-Box 360 e participar de concursos da própria Microsoft, atualmente estou por fora dos assuntos referentes a tecnologias de jogos dela, mas nada que uma consulta rápida aos meus amigos de plantão do msn/icq (É eu ainda uso ICQ!), que por sinal outro dia o AlexR, veio me perguntar justamente se eu tava trabalhando com #C e XNA :P, ele veio falar comigo sobre algumas experiências dele e etc, mas não vem ao caso agora 🙂 o AlexR ainda tem salvação ele assim como eu trabalha com diversas tecnologias sem frescura e da seus passos com Softwares Livres 🙂

Voltando ao caso do stand, e assim fiquei alguns minutos conversando com as pessoas lá, porém ainda não havia me identificado a eles que era quem ministraria a palestra sobre jogos, e fiquei tentando coletar informações, afinal estava em um ambiente “novo” no qual não conhecia ninguém e acabará de descobrir que o que iria apresentar em termos de ferramentas tecnologicas não eram as mesmas pretendidas pelo publico presente, e ficasse aquela sensação na palestra de que não teria proveito para eles.
Alguns minutos depois o meu contato chegou, me apresentei e ele me apresentou para as pessoas falando que eu iria palestrar sobre jogos para eles e que eu precisava fazer a instalação de alguns softwares para a palestra, e sendo assim fui encaminhado a um das duas máquinas que eles estavam e comecei o trabalho, comecei a tarefa de instalação das ferramentas (recebi até a visita de antigos colegas de trabalho da SEAD 😛 ), e pra variar, tive problema na máquina que havia sido designada pra instalação, ela não reconheceu meu mp4 onde estava minha palestra. Acabei trocando de máquina, e dessa vez o problema foi o CD, levei uma cópia do CDLivre[2] e deu problema, justamente na instalação do BrOffice :\, por sorte o Henrique (senão me falha minha péssima memória pra nomes) passou e tinha por obra do destino, no seu pendriver o OpenOffice :), pronto fui salvo, porém, pra variar depois veio o problema com arquivos pdf (que infelizmente nem acabei mostrando) e que novamente o Henrique tinha a solução :)).
Depois de passar por todos os problemas que eu tentei contornar, porém os contornos tiveram seus problemas, consegui instalar tudo, e no final fui demonstrar o SpaceShooter[3] ainda no stand, ele era o astro da palestra, e pra minha surpresa antes disso, muitas das pessoas da célula acadêmica, que moravam longe e pq a palestra iria ser muito tarde, disseram que infelizmente não poderia ir, mas acabaram sendo estimuladas a ir, não sei se foi a demonstração do SpaceShooter que chamou os olhares curiosos deles ou alguma outra força superior que temos nas faculdades 🙂

E assim pegamos o equipamento, digo o pessoal da célula acadêmica pegou, pois a equipe de suporte estava ocupada, e levaram por quatro andares de escada o micro. Eita coragem desse pessoal 🙂

Chegando na sala, a palestra anterior ainda estava em curso, e por coincidência era ministrada por um ex-chefe meu da Sead, conhecido na FIC como professor Arnoudo( foi ele que abriu algumas portas pra mim aqui no ceará, só pra citar, eu vim com a cara e coragem de brasília, sem emprego em vista, larguei o TSE e vim, 4 meses depois estava na Sead). Esperei mais alguns minutos e então pude me preparar pra palestrar…
E pra completar a noite como não poderia deixar, deu problema no teclado… foi trocado, depois deu problema no mouse… sendo resolvido comecei a palestrar.
Fiquei surpreso pela quantidade de pessoas num horário tão tarde, a palestra estava prevista para as 21:00hs porem comecei perto das 21:50hs o que levaria seu termino para próximo das 23hs e como todos sabemos a grande maioria dos estudantes moram longe da faculdade e andam de ônibus, pelo menos essa foi minha realidade 🙂 e acredito que a da maioria das pessoas.
E comecei… o tempo foi passado, algumas perguntas surgiram e fui dando continuidade, foi uma das melhores palestras que ministrei, o pessoal realmente estava atendo e curioso e talvez pensando se o que eu estava mostrando não era arcaico e pudesse ser aproveitado nas tecnologias ou desejos deles, foi realmente muito produtivo e pra fechar fui executar o SpaceShooter, e mais uma vez… fui pego de surpreso, o jogo abortava na passagem da primeira fase… (só mostrei a primeira, a mais simples e paia :\), pedi desculpas ao pessoal e quando notei as horas, eram mais de 23hs a palestra tinha consumido quase uma hora e meia ou mais, e mesmo assim as pessoas permaneciam, foi realmente uma experiência gratificante que valeu a pena todos os problemas e que como mencionei estou a disposição para trocar experiências e poder passar a experiência que tive a sorte de adquirir ao longo do tempo, apesar de não ser muita, acho que sempre existe alguma coisa que pode ser aproveitada 🙂
Espero que o que citei seja visto como critica construtiva se for o caso, pq não tenho o que reclamar, foi só uma maré de sorte invertida, e espero que possa surgir outras oportunidades para troca de experiências com as pessoas interessadas em desenvolvimento de jogos aqui no ceará, independente da plataforma, linguagem ou tecnologia o que vale é a vivencia, as amizades e o conhecimento 🙂

Vida Longa e próspera!
Meus parabéns e obrigado ao Milton e o pessoal da Célula Acadêmica de Jogos, por acreditarem nesse universo e apostarem suas fichas 😉 e precisando estamos a disposição 🙂

[1]http://www.fic.br
[2]http://cdlivre.codigolivre.org.br
[3]http://pjmoo.codigolivre.org.br/wiki/index.php/SpaceShooter

maio 102007
 

Blz!

Faz um tempo que prometi comentar sobre o assunto, porém, o tempo não é fácil, mas indo ao assunto de fato:

Ao ministrar a palestra “SpaceShooter : Anatomia de um jogo”[1], descobri que ao executa-lo em uma máquina com ms-windows, acontecia os seguintes problemas:

*Música OGG não tocava;
*Abortava o jogo após a mudança de fase;

E infelizmente só pude perceber tais problemas durante minha apresentação, a qual sinto que ficou um pouco prejudicada pois a palestra falava justamente do “space”, e não pude mostrar em sua totalidade o jogo, os efeitos desenvolvidos.
E o pior de tudo é que eu sabia que funcionava, pois já tinha testado e retestado ele em Linux e Ms-Windows em diversas máquinas, o pior que ouvi uma vez um comentário sobre isso, mas achei que era a falta de alguma atualização (do DirectX, por exemplo).
Terminando a palestra cheguei em casa, e fui a caça ao bug, teste, recompilei e tudo perfeito, até que me veio a idéia a mente, “E se eu retirar as dll de runtime do SDL”, dito e feito.
Descobri que o instalador embutido do SpaceShooter, o qual levava as dll’s do SDL[2], não estava incluindo as dll dependentes, e isso causava os sintomas citados.
Então pra resolver de vez esse problema, resolvi assim criar um instalador para facilitar a vida dos desenvolvedores e dos usuários para poder instalar os runtimes do SDL e dependências de forma fácil e pratica, visto que no site da SDL, eles oferecem apenas o download individual em formato “zip”, e o então criado “SDL Full Pack”[3], prové as bibliotecas necessárias para o funcionamento de qualquer jogo que utilize as seguintes bibliotecas:
  • SDL
  • SDL_image
  • SDL_mixer
  • SDL_net

Sendo assim, então você amigo desenvolvedor, não perca mais tempo tendo que criar um instalador pras suas dll do SDL, tenha a disposição o SDL Full Pack

[1]SpaceShooter – http://pjmoo.codigolivre.org.br/site/spaceshooter/
[2]SDL – http://www.libsdl.org
[3]SDL Full Pack – http://pjmoo.codigolivre.org.br/wiki/index.php/SDL_Full_Pack

maio 012007
 

Relato Semanal 04

Blz! Amigos com o corre-corre das duas últimas semanas acabei não publicando o relato semana na data correta, e agora vou relatar as ocorrências dos últimos dias, porém será um pouco diferente, como tem diversos assuntos que gostaria de abordar de uma maneira mais concreta, vou separa-los em outras publicações as quais devo fazer ainda esse semana.

Só para dar uma idéia do que vem por ai:

  • Palestra na Semana de Atualização Tecnologica na FIC, com o título “SpaceShooter: Anatomia de um jogo”;
  • Palestras no FLISOL 2007, com os títulos “Sistema de Controle de Versão” e “Desenvolvimento de Jogos Livres”;
  • Disponibilização do CDLivre na Internet;
  • Reta final da Organização do FLISOL, finalizando detalhes para preencher a grade de palestras;
  • Erro no SpaceShooter, lançamento do SDL Full Pack;
  • PDJzine, participação como avaliador do Concurso “Game PDJ Contest 2006”

Dessa vez fico por aqui, e em breve começo a postar sobre cada um desses assuntos.

Esse post é mais pra dizer que estou vivo 🙂

abr 172007
 

Relato Semanal 003

Blz, esse é o relato semana de 09 de Abril a 16 de Abril, foi uma semana movimento baixo, pouca produção de fato, porém muito movimentada em termos de contato, passando por alguns momentos de dúvidas e outros de satisfação, então sem enrolar mais vamos aos destaques:

CDLivre

Logo após publicar a informação sobre o CDLivre[1], recebi alguns críticas pouco agradáveis e nem de longe construtivas, pela falta da ISO na Internet para download, problema esse que ainda continua, porém começo a receber ajuda para resolve-lo, foi um fato um pouco chocante, você trabalhar dar duro para finalizar o projeto a tempo e algumas pessoas acharem que o trabalho é para se tirar proveito/lucro é complicado.

Onde algumas achavam que eu estava vendendo o CDLivre por R$6,50… Pergunto onde é que se vende as coisas com prejuízo? Quem faz isso vender pra ter prejuízo? Por isso que eu digo “NÃO ESTOU VENDENDO o CDLivre, estou apenas solicitando uma ajuda de custo para entregar duas(02) mídias gravadas, em sua porta de casa”.

O Fato mais curioso que achei, é que enquanto tinha gente se matando pra não pagar essa ajuda de custo, querendo que eu enviasse o CD de graça, tirando tudo do meu bolso, algumas pessoas depositaram valores a mais que o necessário, tentando assim me auxiliar de alguma forma. A essas pessoas eu agradeço mais uma vez e publicamente, e digo abertamente o que falei pra algumas: “Minha satisfação é saber que horas de trabalho investidas por mim e por amigos resultaram em algo útil e agradável para as pessoas, quer seja no dia a dia ou nos momentos de diversão com os jogos.”

Ao todo foram enviados 10 cópias completas do CDLivre para quatro regiões brasileiras (Infelizmente não houve procura por parte de pessoas da região norte :\, será que os quatro anos que morei em Manaus foram ruins assim? brincadeira, em Manaus eu ainda não sabia direito que bicho era o tal de computador, quanto mais o SL), desses cd’s enviados alguns foram para uso privativo e outros serão utilizados para replicação ou seja, vocês podem procurar pessoas próximas as suas regiões para poderem adquirir o CDLivre, sem falar que teremos o CDLivre disponível para cópia em alguns “FLISOL”. E caso você já tenha sua cópia do CDLivre e queira distribuir na sua cidade, faculdade, empresa ou entre amigos me informe para poder adiciona-lo no site[2], permitindo assim que as pessoas te procurem para copiar o CDLivre.

E com relação aos envios creio que a última remessa, o malote quatro, que sai antes do FLISOL deve ser enviado entre os dias 19 e 20 de Abril, pois como o correio informa pode-se levar até 5 dias para fazer a entrega. Então após essa data devo me concentrar para postar cd’s apenas uma ou duas vezes por mês, simplificando assim minha ida ao shopping, economizando gasolina e estacionamento, pois apesar de ter saído a medida/lei que não devemos pagar estacionamento, isso ainda não é realidade no Iguatemi, a informações dos caixas é que o shopping entrou com liminar…

Palestra

Essa semana fui convidado para palestrar sobre “jogos” em um evento a ser realizado na “Semana de Atualização Tecnológica da FIC”, mesma Faculdade que ocorrerá o FLISOL.
Pelo que me passaram gostariam de uma palestra um pouco mais técnica, pois o público alvo seria o pessoal de uma célula acadêmica voltada para programação de jogos. A sugestão que me foi apresentada foi apresentar algo em cima de um trabalho já desenvolvido no caso o jogo “SpaceShooter”[3], basicamente pelo que entendi seria mostrar como foi o desenvolvimento dele, a motivação e tudo mais possível dentro de 50 min, é um tempo curto porém vou começar a prepara-la e espero ter tempo para pedir a uma ou duas pessoas da platéia (hehehhe, se forem mais que uma pessoa claro), para joga-lo 🙂

Só para constar as informações sobre a palestra são:

  • Título: SpaceShooter, Anatomia de um Jogo.
  • Descrição: Mostrar ao publico o lado técnico da construção de um jogo,para isso será abordado as motivações do desenvolvedor, técnicas utilizadas, lições aprendidas e as mais diversas experiências na criação de um jogo.
  • Dia: 26 de Abril de 2007
  • Horário: 21:00hs
  • Local: FIC – Aldeota (Fortaleza/Ceará)
  • Duração: 50 min

Falou, vida longa e próspera!

Obs.: Sacanagem não houve sábado no Universal Channel, as séries de StarTrek :\, apesar da maratona de Heroes ser legal, não podiam fazer isso com Startrek…

[1]http://davidferreira-fz.blogspot.com/2007/04/cdlivre-de-forma-rpida-e-sucinta.html
[2]http://cdlivre.codigolivre.org.br/?q=cidades
[3]http://pjmoo.codigolivre.org.br/wiki/index.php/SpaceShooter

fev 182007
 

SpaceShooter 1.4 e GBF 0.6

Blz!

Pessoal acabei de lançar a versão (correções) no SpaceShooter agora na versão 1.4 (e creio que última deste projeto) e a versão 0.6 do GBF (Framework C++ para jogos multiplataforma).

SpaceShooter, é um jogo clássico no estilo shoot’up, tendo como base a temática de Star Trek.

Para enfrentar tudo isso, o jogador contará com 04 naves estrelares, onde cada uma está melhor adaptada para as diversas zonas, além de contar com um arsenal de phaser ilimitados e de alguns poucos torpedos. Para sua defesa deverá contar com sua habilidade, a velocidade dos motores de warp, além da força dos escudos. O jogo possui 07 fases, onde o jogador terá que enfrentar campos de asteróides, naves inimigas de várias raças, minas espaciais, e diversos outros desafios. Sua missão é destruir a ameaça cibernética, evitando assim que a extinção da raça humana.

Licença:

   SpaceShooter - GPL  GBF - LGPL

Mais informações:

Projeto PJMOO no Código Livre

   http://codigolivre.org.br/projects/pjmoo/

Site do jogo SpaceShooter

   http://pjmoo.codigolivre.org.br/site/spaceshooter/

Wiki do desenvolvimento do SpaceShooter

   http://pjmoo.codigolivre.org.br/wiki/index.php/SpaceShooter