Posts Tagged ‘engine’

Flixel Game Engine – ActionScript 3

Postado em 05 nov 2009
Categoria(s) ActionScript, Flash, Flixel, Game, Jogo, Lab

É uma biblioteca Actionscript (Flash) livre, destinada para uma grande variedade de jogos em Flash. Inclui ganchos para gravidade e profundidade. Já possui métodos prontos para trabalhar com:

  • Rápida renderização (+5000 sprites em computadores modernos);
  • Tilemaps;
  • Sistema de partículas;
  • Controle de volume, com teclas de atalho;
  • Parallax scrolling (multi-direcional);
  • Colisão de sprites;
  • Renderização de textos;
  • Renderização retro com opções de 2x pixels, 3x pixels, etc;
  • Não precisa da IDE do Flash, trabalha melhor com ferramentas livres como FlashDevelop;
  • Organização das classes por estados do jogo;
  • Botões simples;
  • Utilitários para loop de música e tocar som;
  • Efeitos especiais simples.

Facilidade de uso

É bem simples de ser usada, já possui com um conjunto de classes com vários métodos que facilitam bastante o trabalho com sprites, tilemaps, colisões e sons.

Licença envolvida

Está disponível através da licença MIT.

Linguagem

Actionscript 3.

Plataformas

Roda em cima do Flash Player, dessa forma funciona em qualquer plataforma Windows, Linux, Mac OS e Web.

Performance em 2D

Possui um ótima performance para ambientes em 2D, segundo testes do autor da game engine ela consegue trabalhar com mais 5000+ objetos na tela do jogo.

Performance em 3D

Não consegue trabalhar com o ambiente 3D.

Carregamento de modelos 2D e 3D

Consegue trabalhar com imagens em 2D e fazer o seu carregamento de forma muito simples. Não trabalha com carregamento de modelos 3D.

Facilidade de instalação

Para construir os jogos em Flixel é recomendado usar a IDE FlashDevelop, para realizar a instalação e configurar o ambiente siga os passos abaixo:

Contribuição para a comunidade

Flixel possui uma comunidade bastante ativa, com vários jogos já desenvolvidos, é possível fazer parte e interagir com a comunidade no endereço: http://flixel.org/forums/.

Testes

Para realizar o teste foi seguido um tutorial de jogo disponível em: http://flixel.org/forums/index.php?topic=226.0 e o código fonte está disponível no Github no endereço: http://github.com/patrickespake/Flixel-Ninja.

Basta efetuar dois cliques no arquivo Ninja.as3proj e ele já será carregado no Flash Develop, no diretório bin do projeto existe o arquivo chamado index.html, basta abrir esse arquivo no navegador e ver o jogo rodando.

A tecla X pula, a tecla C atira estrela e os direcionais movimentam para esquerda e direita.

  • Share/Bookmark

Meu primeiro jogo de plataforma usando Flixel Game Engine

Postado em 18 set 2009
Categoria(s) ActionScript, Flash, Flixel, Game, Inteligência Artificial, Jogo, Lab, PIBIC

tecpar-fachadaEu sou bolsista de iniciação cientifíca no TECPAR (Instituto de Tecnologia do Paraná), lá eu estou desenvolvendo pesquisa cientifíca na área de inteligência artificial para jogos. A bolsa tem duração de 1 ano e ontem completou um mês que eu estou lá, está sendo muito proveitosa a experiência, a quantidade de conhecimento que está sendo repassada é imensa, sem contar que eu estou cercado de doutores e mestres.

Uma das primeiras atividades foi pesquisar as games engines existentes e analisar os seus prós e contras no desenvolvimento de jogos, eu analisei uma série de tecnologias em diferentes linguagens e plataformas. Essa semana eu desenvolvi uma pesquisa sobre a game engine Flixel (www.flixel.org) voltada para o Flash.

Sobre a Flixel

É uma biblioteca Actionscript (Flash) livre, destinada para uma grande variedade de jogos em Flash. Inclui ganchos para gravidade e profundidade. Já possui métodos prontos para trabalhar com:

  • Rápida renderização (+5000 sprites em computadores modernos);
  • Tilemaps;
  • Sistema de partículas;
  • Controle de volume, com teclas de atalho;
  • Parallax scrolling (multi-direcional);
  • Colisão de sprites;
  • Renderização de textos;
  • Renderização retro com opções de 2x pixels, 3x pixels, etc;
  • Não precisa da IDE do Flash, trabalha melhor com ferramentas livres como FlashDevelop;
  • Organização das classes por estados do jogo;
  • Botões simples;
  • Utilitários para loop de música e tocar som;
  • Efeitos especiais simples.

Game: Green ninja don’t like the blue ninja

flixel-ninjaPara testar os recursos do Flixel eu desenvolvi um jogo de plataforma chamado “Green ninja don’t like the blue ninja”. É um jogo plataforma, onde você é o ninja azul e o seu objetivo é escapar dos ninjas verdes que querem matar você, para isso você tem estrelas que pode atirar nos ninjas verdes eliminando eles, por consequência você obtém uma pontuação por cada ninja verde morto. Os direcionais movimentam o ninja azul, a tecla X pula e a tecla C atira estrela.

Foi muito interessante desenvolver esse game no decorrer dessa semana, muitos conceitos no desenvolvimento de jogos que eram bem obscuros para mim, depois da construção desse game as coisas foram esclarecidas, e eu percebi que construir um game não é uma tarefa tão complexa como eu pensava, a análise mais difícil é você raciocionar para criar ilusão na programação, acredito que essa seja uma das tarefas mais complicadas.

Para dar o ponta pé inicial no desenvolvimento eu fui seguindo esse tutorial da comunidade do Flixel: http://flixel.org/forums/index.php?topic=226.0 e depois fui adicionando minhas customizações, melhorias no comportamento do inimigo, mais estados para o jogo, efeitos especiais e sons.

Se você seguir os mesmos passos vai ver que não é nenhum bicho de 7 cabeças.

Flixel é uma game engine bastante nova, surgiu no meio desse ano, mas eu recomendo ela fortemente, tudo que eu vi, usei e programei até agora fui muito satisfatório.

Se você quiser jogar o game visite: http://lab.patrickespake.com/flixel-ninja.

O código fonte está disponível no github: http://github.com/patrickespake/Flixel-Ninja sinta-se livre para modificar, reutilizar e distribuir.

  • Share/Bookmark

Rails Engines com I18n

Postado em 02 abr 2009
Categoria(s) Ruby on Rails

Eu estou usando Rails Engines em um projeto grande que eu estou desenvolvendo e esse projeto precisa trabalhar com I18n.

Por padrão no Rails no diretório config/locales ficam as traduções, o problema que usando Rails Engines as aplicações embutidas ficam como plugin no diretório vendor/plugins/meu_plugin.

Eu quero deixar as traduções I18n bem divididas e cada Rails Engine tem que ter o seu próprio arquivo de tradução, isso vai facilitar a minha vida para gerenciar a aplicação.

Para resolver esse problema na Rails Engine eu criei o diretório config/locales também, ficando o caminho completo /vendor/plugins/meu_plugin/config/locales e dentro desse diretório eu criei o arquivo pt-BR.yml somente com as traduções que interessam para essa aplicação embutida:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pt-BR:
  # Active Record
  activerecord:
    attributes:
      meu_model:
        kind: "Tipo"
        name: "Nome"
        module: "Módulo"
        description: "Descrição"
        help: "Ajuda"
        title_label: "Título"
        body_label: "Conteúdo"
        has_body: "Tem conteúdo"
        published: "Publicado"
        promoted_to_front_page: "Promover na página inicial"

Agora eu preciso fazer o Rails pegar essa tradução e usar no escopo da aplicação, para fazer isso eu adicionei a linha abaixo no arquivo vendor/plugins/meu_plugin/init.rb:

1
2
# Include hook code here
I18n.load_path += Dir[Rails.root.join('vendor', 'plugins', 'meu_plugin', 'config', 'locales', '*.{rb,yml}')]

Agora quando o Rails carregar o plugin vai carregar também o arquivo de tradução da Rails Engine.

Obs.: Eu acho que o Rails já deveria carregar por padrão todos os arquivos de I18n dentro dos plugins, mas ele não faz isso no momento, eu achei um patch para o Rails que tem o objetivo de adicionar essa funcionalidade: https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/2325-i18n-support-for-engines.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark