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

 

jan 272008
 

Blz!
Estou começando a lançar os vídeos tutoriais[1] do F2IBuilder[2], o gerador de fontes bitmap, as quais são usadas principalmente em jogos e software multimídias, e estou planejando uma série de vídeos tutoriais ensinando a usar o software. Lembrando que o F2IBuilder é Software Livre, foi desenvolvido em Java e pode ser executando em diversas plataformas principalmente em GNU/Linux e MS-Windows. Agradeço sua ajuda na divulgação 😉

Veja o primeiro vídeo tutorial abaixo:

T+!
Vida Longa e Próspera!

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

Referência
[1]http://br.youtube.com/watch?v=CdV04IzJlik
[2]http://f2ibuilder.googlecode.com
[3]http://davidferreira-fz.blogspot.com/search/label/F2IBuilder

abr 012007
 

Esta é a minha segunda postagem(ou melhor seria se eu não tivesse dividido-a em outras três, porém para você leitor que não conhece ainda os meus projetos, visite os links), e estou começando a pensar na idéia de postar regularmente pelo menos uma vez por semana, com o propósito de fazer um balanço geral dos projetos que participo, além de poder contar uma ou outra curiosidade :), sendo assim vamos lá.

Esta semana trabalhei nos seguintes projetos:

Caso você não conheça os projetos seriam bom visitar os links acima, para poder se contextualizar melhor.

CDLivre
Bem, indo aos fatos, essa semana o cronograma seria que até o dia 30/03/2007, o CDLivre deveria estar finalizado ou seja, ele deveria ter passado pelos seguintes passos:

  1. Seleção dos Programas, com a ajuda da comunidade, conseguimos fechar no dia 25/03/2007 a grade dos programas;
  2. Design Gráfico, seria a alteração das imagens, ou seja, criação das diversas capas com o logo do FLISOL em diversos tamanhos;
  3. Documentação, foi finalizado em conjunto com a seleção dos programas, essa atividade seria, comentar sobre cada software e categoriza-lo, além de gerar a documentação em PDF;
  4. Autorun, com a documentação e o design finalizado, chegou a vez de alterar o autorun da versão anterior, colocando as imagens novas e os textos dos programas;
  5. Mídia, com o autorun testado e aprovado, começou o teste de gravar tudo em um CD Regravavél para testar e extrair a iso
  6. Iso, após algumas repetições (algo entre 3 a 5 vezes) de gravar mídia(20 minutos), gerar iso(5 minutos), gravar iso na mídia(20 minutos), foi extraída a matriz que dará origem as cópias do CDLivre.

Com tudo pronto, está semana devo enviar pelo correio para meu irmão, uma cópia do CDLivre e CDLivre – Extra Games, para obter de fato o valor do custo de envio, para servir de base para as pessoas em outras cidades que desejam divulgar e distribuir o CDLivre no FLISOL.

F2IBuilder
Esta semana, consegui uns intervalos na edição do CDLivre, já que uma gravação levava, algo de 20 minutos, acabei aproveitando o tempo, e migrando o repositório do F2IBuilder do códigolivre (visto que o código livre anda nos últimos meses passando por muito instabilidade, as quais leva ele a ficar dias ou semanas fora do ar, sem nenhum aviso), para o code do google.

Como o F2IBuilder atende pessoas de diversos grupos de desenvolvimento, e tem um bom potencial para exploração e utilização, acabei promovendo ele ao status de projeto, pois antes era um subprojeto do PJMOO, onde ele ficava muito “escondido”, já que não era foco.

Com essa migração, ainda em testes, comecei a modificar os pacotes para refletir o novo domínio (ele é escrito em Java e utiliza a convenção de nomeação de pacotes baseados na url de domínio) no code.google.com (repositório do google para projetos de software), e lá iniciei de forma pequena uma wiki, que por sinal os recursos são bem limitados, quando se relaciona com layout. Basicamente o wiki de lá foi criado para permitir páginas bem “primivitas”, pois você não pode utilizar código html, nem muito menos organizar o conteúdo com tabelas. Apesar disso, o fato do projeto ter seu próprio espaço é importante principalmente já que pretendo expandi-lo com a ajuda de outras pessoas, e agora ele conta com recursos próprios como: wiki, subversion, espaço para armazenar downloads, ferramenta para requisições.

Bem, creio que este foi o trabalho da semana envolvendo estes dois projetos os quais coordeno e mantenho, espero em breve conseguir mais pessoas para ajudar a mante-los, principalmente com relação ao F2IBuilder, o qual atuo sozinho.

Até qualquer outra hora, um fato legal, é que durante a montagem do CDLivre achei diversos softwares e jogos interessantes, coletei algumas informações sobre links e sites especializados, qualquer dia desses, quanto tiver mais calmo, posto os links.

Vida Longa e Prospera!

abr 012007
 

É um software livre e multiplataforma, ou seja, executa tanto em MS-Windows(r), GNU/Linux e qualquer outro sistema que possua uma máquina virtual java (JRE).

O objetivo dele é permitir que desenvolvedores de jogos, possam usa-lo para criar suas fontes (letras) em imagens, as quais são utilizadas para exibir/escrever na tela, durante o jogo.
Apesar de parecer estranho a primeira vista, essa técnica é conhecida como FontBitmap, mas não quer dizer que sejam utilizadas apenas imagens bitmap (.bmp), na verdade o que se faz é ter em uma imagem todas as letras, números e caracteres especiais utilizados para exibir informações ao jogador, ou seja, o programador mape-a as letras que seram exibidas por um pedaço da imagem, e com isso de pedaço em pedaço consegue-se escrever na tela.

Originalmente no mundo ms-windows existem programas famosos para gerar essas imagens, porém quando comecei a utilizar mais o Linux, percebi que não havia um programa que pudesse gerar para mim tais imagens, o que resultou em n-vezes ter que recorrer a um máquina com MS-Windows para gerar as imagens, isso perdurou até que um dia, tive a idéia de criar um programa que fizesse isso para mim, e assim acabou surgindo o F2IBuilder, que quer dizer “Fonte para Image”.

Mais informações podem ser vistas no seguintes sites: