game-dev,

Game engine: FlatRedBall (XNA)

Bruno Cicanci Bruno Cicanci Seguir 28 de Julho de 2011 · 2 min de leitura
Game engine: FlatRedBall (XNA)
Compartilhe

FlatRedBall é um framework gratuito feito em C# e XNA para desenvolvimento de jogos para PC, XBLA (Xbox Live Arcade), Silverlight e Windows Phone 7. Além disso, a FlatRedBall possui um conjunto de softwares chamado Glue, que tem como objetivo abstrair o usuário da programação do framework oferecendo ferramentas visuais.

Eu usei o framework da FlatRedBall no meu** TCC da pós-graduação**, o Oniro, e no geral foi uma experiência ótima! Eles possuem um fórum com um pessoal que sempre ajuda nas dúvidas, principalmente o criador da FlatRedBall. Eu escolhi utilizar apenas o framework ao invés do Glue, pois se usasse o Glue teria que aprender como utilizar seus softwares, e com a minha experiência prévia de C# e XNA apenas o framework foi suficiente.

Existem muitas features legais no framework da FlatRedBall, com destaque para o sistema de gerenciamento de screens (telas) que é muito fácil de usar e funciona bem. Só esse sistema de screens já fez valer a pena utilizar a FlatRedBall, pois reduziu muito o trabalho de programar coisas básicas (porém úteis). Outros destaques são as classes de Sprites e Animação, que também são muito completas e permitem a criação e controle de animações utilizando conceitos similares ao Flash, e a classe de Física, que só deixou um pouco a desejar por que senti falta de coisas como detecção de colisão por pixel, por exemplo, que ainda estavam em desenvolvimento.

Há um ano atrás, quando usei a FlatRedBall, a sua documentação já era muito boa e objetiva, hoje sua wiki está mais completa. E, se precisar de exemplos e demos, existe o GlueVault, site dedicado a códigos feitos utilizando o framework e o Glue.

A limitação de usar XNA/C# e publicar jogos apenas para plataformas da Microsoft não é tão ruim. Acho que o mais importante que aprendi utilizando a FlatRedBall foi como sua arquitetura funciona, principalmente o gerenciamento de screens. Este tipo de conhecimento pode ser aplicado em outros projetos, inclusive feitos com outras tecnologias e linguagens.

É importante entender que a FlatRedBall utiliza os recursos do XNA como base, então é como seu seu framework complementasse o framework do XNA, tornando a vida do programador mais fácil. Existem outros frameworks que podem ser utilizados com o XNA, e também há a possibilidade de fazer o jogo inteiro apenas com o XNA, você apenas terá mais trabalho para programar coisas básicas, como efeitos relacionados à Física ou Animações, por exemplo.

A FlatRedBall é um framework bem fácil de utilizar, mesmo para quem nunca programou em C# e usou XNA. Sua arquitetura e conceitos são bem fáceis de entender e usar. Outro ponto legal é que se você fizer um jogo com a FlatRedBall, ele pode ser incluído no site oficial da engine, o único requisto é ter uma splas no início do jogo com o logo da FlatRedBall. O Oniro está lá no site deles, entre os jogos para PC.

Gostou do post?
Como muitos programadores, aprecio um bom café. Se curtiu este conteúdo, que tal me presentear com um café?
Bruno Cicanci
Escrito por Bruno Cicanci Seguir
Bacharel em Ciência da Computação e pós-graduado em Produção e Programação de Jogos. Atuo profissionalmente com desenvolvimento de jogos desde 2010. Já trabalhei na Glu Mobile, Electronic Arts, 2Mundos, Aquiris, e atualmente na Ubisoft em Londres. Escrevo neste blog desde 2009.