Haxe || OpenFL || Flash


Motivação do post: Nos últimos anos, por motivos errôneos ou não, o SWF perdeu força no mercado. Como ainda existem muitos leigos com o poder de decisão o AIR normalmente não se torna uma opção crossplatform (isso quando quem toma as decisões sabe o que é o AIR ). E no outro lado do campo, ganhando espaço na área de games, temos a Unity3D (Eu não vou com a cara dessa ferramenta =P mas acho C# do caralho). Há alguns anos eu naveguei por esses mares(Unity3D) e  também estudei UDK para saber aonde eu iria…bom….resolvi ficar no AS3/Flash/Air/SWF =D até queeee…um cara chamado Joshua Granick apareceu com esse OpenFL \o/ Depois HAXE com OpenFL passaram a ser algo constante nas timelines da vida.Resolvi experimentar!

Objetivo: Um Jogo em 48h usando OpenFL/Haxe/HaxePunk. Claro, demorou beeeem mais do que 2 dias =/ isso porque tenho dedicado não mais que 4h semanais com esse projeto, e com alguns problemas bobos que levam o dia todo pra resolver não deu pra cumprir as 48h certinho.

Conclusão (Minha primeira visão sobre Haxe/OpenFL):
Eu ainda nao sei muito bem onde um termina e o outro começa (e se é que um precisa terminar para o outro começar) =D

HAXE: Muito bom!  Meio que uma mistura de Actionscript3 + Java + C#. (Já tive a oportunidade de ganhar dinheiro com ele \o/ Tem futuro hehe)

OpenFL: Mesmo com o suporte de boas ferramentas eu senti bastante dificuldade com o workflow no início, mas OpenFL está melhorado rapidamente. Entretanto….nunca é tão magico quanto parece =/ os builds para as N plataformas disponíveis parecem ter um caminho longo pela frente. Espero que um dia  OpenFl possa oferecer o mesmo produto rodando limpo em todas as plataformas.

  Colocarei aqui tudo que usei como apoio nesse projeto:

Instalações:

FlashDevlop ou  Sublime AndoidSDK Ant OpenFl (Haxe e NME)

  Links:

http://www.gamefromscratch.com/post/2013/04/24/Input-in-Haxe-and-NME.aspx
Aborda: HAXE TouchEvent

http://www.willhawthorne.com/tutorials/haxe/haxeMouseButton.php
Aborda: Uma forma mais ousada de criar botoes

http://haxepunk.com/documentation/tutorials/getting-started/
Aborda: Pontape inicial com HaxePunk

http://www.openfl.org/documentation/setup/install-openfl/
Aborda: Pontape inicial com OpenFL

http://stackoverflow.com/questions/19760847/how-to-get-touchevent-on-windows-desktop-for-openfl-app
Aborda: Mais sobre TouchEvent

http://stackoverflow.com/questions/21128883/how-do-you-clear-this-error-with-using-haxepunk-in-flashdevelop
Aborda: Problemas com o mouse (usando HaxePunk)

http://www.youtube.com/watch?v=HVysAukOpCA
Aborda: Como usar o emulador (Que é uma bosta >.<)

https://groups.google.com/forum/#!topic/haxeflixel/CZIjTAYW3L8
Aborda: Mo dule UInt does not define type UInt

http://stackoverflow.com/questions/3666527/haxe-create-an-instance-of-a-class-from-a-string-name
Aborda: Type.createInstance(Para criar instancias de forma flexivel) / new Array<Class<Dynamic>>() (Um array de Class(Type))

http://stackoverflow.com/questions/18754521/android-sdk-emulator-not-supporting-opengl-es-2-0-error – debugando no device
Aborda: Problemas com o emulador

http://stackoverflow.com/questions/21408674/adb-error-device-not-found
Aborda: “erro no meu usb-drive” Tive que instalar o drive da motorola =/

Artigo(recente) que li depois de ter feito o jogo, mas pode ajudar. http://gamasutra.com/blogs/TalhaKaya/20140407/214965/OpenFL__Haxe_A_Bumpy_Start.php
Aborda: Erro com instalacao do HAXE e tambem problema com a versão

Dicas HAXE:

https://github.com/jcward/HaxeSWCExample
Aborda: Como criar um SWF de uma lib usada no haxe (É bem útil para levar um funcionalidade para As3Puro)

http://haxe.org/com/ide/sublime_text http://haxe.org/com/ide

Dicas para Android:

adb e uma mao na roda. Basicamente eu uso adb coneect IP para usar os meus devices
depois fico rodando, para desinstalar o app,adb devices | tail -n +2 | cut -sf 1 | xargs -iX adb -s X uninstall espigah.app e para instalar adb devices | tail -n +2 | cut -sf 1 | xargs -iX adb -s X install ./Desktop/MyHaxePunkProject-release.apk.
No inicio eu usava adb install e adb uninstall, porem, com vários devices ele não funciona e tive que correr atras do comando certo…
Uso adb logcat para rastrear problemas no apk. Antes de usar um logcat -v eu uso sempre o logcat -c para limpar o arquivo

adb devices | tail -n +2 | cut -sf 1 | xargs -iX adb -s X uninstall espigah.app
adb devices | tail -n +2 | cut -sf 1 | xargs -iX adb -s X install ./Desktop/MyHaxePunkProject-release.apk

Para Criar uma chave para gerar o APK eu usei isso (mas acho que nem precisava)->

 keytool -genkey -v -keystore MyHaxePunkProject.keystore -alias MyHaxePunkProject -keyalg RSA -keysize 2048 -validity 10000 

Dicas OpenFL:

http://www.openfl.org/forums/
https://www.indiegogo.com/projects/cactus-ide ou
https://github.com/as3boyan/HIDE
Cactus IDE parece ser uma coisa boa que está no forno http://www.haxestudio.com/
Openfl + swf -> https://medium.com/@premith/haxe-lime-openfl-ec9c2784aaa8

Ferramentas:

http://www.gamefromscratch.com/post/2013/05/12/Choosing-a-Haxe-NME-game-engine.
Aborda: Ash Entity Framework, Awe6, Flambe, Hydras, Spur, Cocos2D, Citrux Engine, Stencyl, Firmament Game Engine , HaxePunk e HaxeFlixel

 Meu bat para iniciar os trabalhos: OpenFl_setup.bat

<pre>@echo off
set hlib=C:\haxe\Motion-Twin\Haxe\haxelib.exe
:: (ou %HAXEPATH%)
%hlib% install lime
%hlib% run lime setup
%hlib% install format
%hlib% install svg
%hlib% install format
%hlib% install haxe-ga
%hlib% install actuate
%hlib% install HaxePunk
%hlib% run HaxePunk setup lime setup windows git clone https://github.com/openfl/lime-tools
%hlib% dev lime-tools lime-tools
%hlib% install openfl lime rebuild windows lime rebuild tools lime setup android
%hlib% upgrade
pause
*Ainda falta colocar um “tracking” pra funcionar. Feito isso, eu disponibilizarei o .apk (talvez um .ipa)

5 responses to this post.

  1. Posted by Rafael Lima on 14 de abril de 2014 at 7:34 pm

    Exatamente meu camarada.
    Tá complicado explicar para o cliente, que o AIR é a melhor opção para desenvolvimento de aplicações CrossPlatform.
    Tenho que fazer info-gráfico detalhado. Destrinchando os prós e contras.

    Curtir

    Responder

    • Posted by Fabricio { Espigah } on 15 de abril de 2014 at 2:18 pm

      Não da pra nadar sempre contra a meré…
      Agora é buscar algo novo(mesmo bem depois do boom HTML5/JS).

      Muito obrigado por sua visita!

      Curtir

      Responder

  2. Posted by Rafael Lima on 15 de abril de 2014 at 10:07 pm

    No meu setor eu descordo um pouco, porque eu trabalho com Jogos e Aplicações robustas. Logo Adobe AIR, é a melhor solução para Mobile até o momento.

    Trabalhei durante 2 anos e meio na http://www.jogatina.com.br.
    A mesma usava a linguagem nativa de cada plataforma para desenvolver seus jogos no Mobile. Depois que a empresa passou a utilizar o Adobe AIR, ficou tudo mais fácil.
    A empresa abandonou o Nativo (objective-C e Java) e passou a utilizar o Adobe AIR:
    Dos 17 jogos na google play e apple store, somente 5 são nativos:

    https://play.google.com/store/apps/developer?id=Jogatina.com

    Curtir

    Responder

    • Posted by Fabricio { Espigah } on 16 de abril de 2014 at 2:18 am

      Show! Muito bom mesmo Rafael! Como sua empresa ja confia no AIR tudo tende a ficar mais facil, mesmo assim…
      espero que a unity nao bata na sua porta como bateu na minha =D
      Um monte(>200) de contrato foram fechados para serem feitos em unity =/
      Abracos e vlw pela leitura

      Curtir

      Responder

  3. […] para hablar um pouco do que foi desenvolver em Flambe e em OpenFl Primeiro estudo foi usar OpenFl (Escrevi sobre aqui) OpenFl parece funcionar de forma mais natural com Haxe do que Flambe. Flambe se propõem a ser uma […]

    Curtir

    Responder

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: