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

 

mar 042009
 

Blz?

Se você não conhece o GDJCE.com está na hora de conhecer, essas últimas semanas o site tem publicado diversos artigos do antigo site ArsLudica, quem conheceu as comunidades brasileiras de gamedev por volta de 2001 a 2002 deve lembrar dele. Foi criado quando o primeiro PDJ, o qual era mantido pelo seu fundador o Geovanni da (infomaster, senão me engano) teve alguns problemas com a sustentabilidade do site e foi forçado a fecha-lo, assim diversos membros ativos da comunidade se uniram e criaram o ArsLudica, o qual foi durante muito tempo uma ótima referencia sobre o assunto aqui no brasil, chegando a fazer parcerias importantes como por exemplo com o NeHe e com GameTutorials, onde tiveram diversos artigos traduzidos para nosso idioma.

Pois bem, a novidade agora é que o GDJCE.com que apesar de se focar em encontros locais(presenciais) está meio que ampliando seu papel e está publicando os artigos que foram esquecidos por quase 04 anos na internet. Inclusive diversos dos artigos publicados são de “figuras” conhecidas das comunidades hoje.

Só para citar olha os artigos que merecem destaque:

out 282008
 

Blz!

Para mostrar a um amigo, alguns dos jogos/demos que estou desenvolvendo, coloquei no youtube dois videos, mas cuidado!, É uma super produção caseira 😛

Para quem não conhece temos, o Pancada, o famoso jogo de boxing, que um dia vou terminar, pior que só esta faltando coragem pra fazer a pseudo-ia do jogo 😉

E o TechDemo, Caveman (que nome original), o qual é a base de futuros testes para o desenvolvimento de jogos estilo plataforma, existe alguns problemas relacionados a movimentação, regras de saltos, movimento de queda, mas em fim, é o começo 😉

abr 022008
 

Foi lançado recentemente o FZpong 2.0, o qual faz parte do CDLivre 3.0[1].

O FZPong[2] é um pong com versões para MS-Windows e GNU/Linux, desenvolvido em SDL[3] / GBF[4] e licenciado em GPL, ou seja, você pode estudar o código fonte do FZPong para aprender a programar jogos para computador.

Se antes tudo parecia fácil, agora no FZPong 2.0 as coisas já não estão tão simples assim, o computador ganhou uma nova e melhorada percepção do jogo e que em alguns momentos vai lhe exigir bons reflexos e o uso de estratégias para conseguir vencer.

Como melhorias nesta nova versão temos:

  • Suporte a internacionalização, agora o jogo está disponível em português e inglês;
  • Melhoria na inteligência artificial do computador;
  • Aplicação de novos efeitos na bola de acordo com o local da rebatida;
  • Modificação das regras do jogo;
  • Melhorias no aspecto visual dos textos e janelas de mensagens;

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

Referência
[1]http://cdlivre.wordpress.com
[2]http://pjmoo.wiki.sourceforge.net/FZPong
[3]http://www.libsdl.org
[4]http://pjmoo.wiki.sourceforge.net/GBF
[5]http://davidferreira-fz.blogspot.com/2007/06/fzpong.html

mar 222008
 
Em julho de 2007, criei o projeto “SDL Full Pack“, o qual visava uma forma fácil para distribuir as principais dll’s da SDL[1] para MS-Windows, evitando assim sempre ter que envia-las com meus jogos/demos, basicamente o projeto é composto das bibliotecas oficiais (SDL, SDL_mixer, SDL_image, SDL_net e SDL_ttf) e as suas dependências (zlib, ogg libpng, etc..).
A aceitação do projeto foi tão grande que com a pouca divulgação que tive, já foram realizados mais de mil downloads apenas com as versões 1.0 e 1.5, sendo assim resolvi lançar a versão 2.0 do pacote e de quebra lançar um outro pacote focado para os desenvolvedores, ou seja, além do “SDL Full Pack“, foi criado agora o “SDL Devel Pack“, o qual contém os headers e as lib (.a, .lib) necessárias para você programar jogos com SDL no MS-Windows com o compilador MinGW[2], ideal para quem quer programar de forma multiplataforma (MS-Windows e GNU/Linux) onde aconselho a IDE para C/C++ CodeBlocks[3], a qual tem uma versão com o compilador MinGW embutido.

Não perca tempo, baixe agora mesmo os pacotes SDL * Pack em:

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

Referência
[1]http://www.libsdl.org
[2]http://www.mingw.org/
[3]http://www.codeblocks.org

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