<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title>labe.me</title><link>http://labe.me/en/blog/</link><description>Mr Laurent Bedubourg's blog</description><lastBuildDate>Sun, 02 Dec 2018 22:27:23 GMT</lastBuildDate><generator>Static Site</generator><item><title>Rethink basics</title><link>http://labe.me/en/blog/posts/2016-08-22-rethink-basics.html</link><description>&lt;p&gt;Every single thing or thought can be challenged (even this one).&lt;/p&gt;
&lt;p&gt;For instance, we are currently building a great app for juga: the &lt;strong&gt;guest book&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;How can we challenge the good old guestbook? The book which is there mostly to be ignored... or to divert you while you&amp;#39;re queuing for the WC.&lt;/p&gt;
&lt;p&gt;Well we built it using juga&amp;#39;s platform and the context changes a lot:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;No more paper and pen, you can interact with the guestbook at the same time as another person,&lt;/li&gt;
&lt;li&gt;With your mobile you can send messages and selfies/photos,&lt;/li&gt;
&lt;li&gt;Connectable to a TV you get your local social feed on the big screen,&lt;/li&gt;
&lt;li&gt;Numeric, you can print or save your book or reuse the photos in a different context,&lt;/li&gt;
&lt;li&gt;Real-time, people interact with the book and it become a social game,&lt;/li&gt;
&lt;li&gt;Optionally Moderated :)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I was stunned to create such a useful and provocative app in only a few days, I believe Juga&amp;#39;s guestbook is a fantastic tool for weddings, parties, hot places, businesses, etc.&lt;/p&gt;
&lt;p&gt;You can already try it on Juga.tv, a dedicated and over-simplified service for weddings is on its way :)&lt;/p&gt;
</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2016-08-22-rethink-basics.html</guid><pubDate>Mon, 22 Aug 2016 16:00:00 GMT</pubDate></item><item><title>About future</title><link>http://labe.me/en/blog/posts/2016-07-05-about-future.html</link><description>&lt;p&gt;Juno reached Jupiter today, maybe I can write something personal then :)&lt;/p&gt;
&lt;p&gt;It was a few days ago, they were waiting for their dad to stop working and come play with them.&lt;/p&gt;
&lt;p&gt;After five seconds of disruptive silence Léonce asked: &amp;quot;Dad, what will exist after humans?&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;Hmm,&amp;quot; they were behind me but I bet they sensed the smile of pleasure on my face, &amp;quot;probably robots,&amp;quot; I answered while pushing my work of the day to gitlab.&lt;/p&gt;
&lt;p&gt;&amp;quot;Maybe OUR robot then!&amp;quot; Exclaimed Joseph full of hope and pride.&lt;/p&gt;
&lt;p&gt;I looked at the little Arduino bot standing on my desk. A white protoboard, cheap colored cables, a cheap three wheels chassis, four AA batteries, a clock, a distance sensor, and the dust accumulating. The thing shouldn&amp;#39;t survive two years.&lt;/p&gt;
&lt;p&gt;&amp;quot;We&amp;#39;ll have to improve it a little then,&amp;quot; I said cheerfully after closing the laptop.&lt;/p&gt;
&lt;p&gt;I believe in the theory that humans are the bees of Earth&amp;#39;s life. In other words: Our specie is programmed to spread Earth&amp;#39;s life in the universe.&lt;/p&gt;
&lt;p&gt;I admit it&amp;#39;s been a little bit chaotic during a few millenniums, but, hey, that&amp;#39;s how life goes on, slowly, with errors, and never giving up!&lt;/p&gt;
&lt;p&gt;Compatible with science and god, your ancestors will pat your back when you&amp;#39;ll join them!&lt;/p&gt;
</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2016-07-05-about-future.html</guid><pubDate>Tue, 05 Jul 2016 21:00:00 GMT</pubDate></item><item><title>Juga.tv</title><link>http://labe.me/en/blog/posts/2016-03-16-jugatv.html</link><description>&lt;p&gt;It&amp;#39;s hard to believe my last post is one year old :)&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve been working on quite a lot of things but the most important is a fresh start-up called &amp;quot;Juga Entertainment S.L.&amp;quot;.&lt;/p&gt;
&lt;p&gt;With my friend and co-founder Michele, we had this revelation of an easy to use gamification system for public places and events.&lt;/p&gt;
&lt;p&gt;Something both fun and immensely useful for the world (from the bar to the education).&lt;/p&gt;
&lt;p&gt;So I stopped all my projects, we worked hard, and with the help and support of many friends we reached the point where our first product is available in BETA and it rocks!&lt;/p&gt;
&lt;p&gt;It&amp;#39;s called &lt;strong&gt;Juga.tv&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s a small taste of what it look like:&lt;/p&gt;
&lt;div class=&quot;vidContainer&quot;&gt;
&lt;iframe width=&quot;100%&quot; height=&quot;100%&quot; src=&quot;https://www.youtube.com/embed/fkJpDHSHNLc?rel=0&amp;amp;controls=0&amp;amp;showinfo=0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;We created this entertainment system based on modern web technologies. It connect TVs with Mobiles for real-time interaction and communication.&lt;/p&gt;
&lt;p&gt;We believe in local community and in the power of people having fun together (Hello, I have been creating games for more than 15 years :).&lt;/p&gt;
&lt;p&gt;With Juga your will manage things like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;your quiz night with prizes and ready to use questions (more than 10k in 3 languages at the time of this writing),&lt;/li&gt;
&lt;li&gt;your interactive karaoke where the public will be able to note the performers,&lt;/li&gt;
&lt;li&gt;wait, it also works with any kind of performance and concourse!&lt;/li&gt;
&lt;li&gt;your whatever-sport-real-or-imaginary betting for fun,&lt;/li&gt;
&lt;li&gt;a lottery to give some prizes? done,&lt;/li&gt;
&lt;li&gt;a vote for the best presentation of the event? sure,&lt;/li&gt;
&lt;li&gt;ok... I think you get the idea, a lot of things, very flexible games, and more to come...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Plus, since Juga takes control of your TVs your can display your own information like schedules, menus, offers, youtube channel, whatever.&lt;/p&gt;
&lt;p&gt;We still have a lot to do, we have a plan, we move fast and we already provide many activities and tools so anyone can potentially take control of his TV to provide great entertainment and better communicate with his customers!&lt;/p&gt;
&lt;p&gt;Technology wise juga.tv is mainly developed with Scala, Scalajs, Akka and uses docker tools for deployment. It&amp;#39;s the work a big productive year and there&amp;#39;s a lot of good stuff under the hood. I hope I&amp;#39;ll find the time to talk about some of these things in the future. :)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://juga.tv/about?ref=labe&quot;&gt;Test Juga.tv (yes, there&amp;#39;s a free plan for that) and send me your feedback!&lt;/a&gt; And if your like it...&lt;/p&gt;
</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2016-03-16-jugatv.html</guid><pubDate>Tue, 15 Mar 2016 23:00:00 GMT</pubDate></item><item><title>MiliWorlds on its way to your tablet</title><link>http://labe.me/en/blog/posts/2014-12-20-miliworlds-on-its-way-to-your-tablet.html</link><description>&lt;p&gt;Made with &lt;a href=&quot;http://openfl.org&quot;&gt;openFL / lime&lt;/a&gt; and lot of love the new version of MiliWorlds is ready for you to have a lot of fun on your Android tablet.&lt;/p&gt;
&lt;p&gt;The iPad version was sent to Apple and with a little bit of luck you will be able to test this great update next week.&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s a glimpse of &lt;a href=&quot;http://carbonara.es&quot;&gt;Yeray&lt;/a&gt;&amp;#39;s new design. Since it&amp;#39;s an action game expect a GamePlay video in the future.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://miliworlds.labe.me&quot;&gt;&lt;img src=&quot;http://miliworlds.labe.me/miliworlds.jpg&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=me.labe.miliworlds&quot;&gt;Google Play store&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://itunes.apple.com/us/app/miliworlds/id668016929&quot;&gt;iOS App Store&lt;/a&gt; (will be updated soon)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Happy Holidays!&lt;/p&gt;
&lt;p&gt;Laurent&lt;/p&gt;
</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2014-12-20-miliworlds-on-its-way-to-your-tablet.html</guid><pubDate>Sat, 20 Dec 2014 09:00:00 GMT</pubDate></item><item><title>MiliWorlds+... incoming</title><link>http://labe.me/en/blog/posts/2014-12-16-miliworld-incoming.html</link><description>&lt;p&gt;One month ago I met &lt;a href=&quot;http://carbonara.es&quot;&gt;Yeray Pérez Vallejo&lt;/a&gt; at the &lt;a href=&quot;http://www.mob-barcelona.com/&quot;&gt;MOB&lt;/a&gt;, a co-working space in Barcelona.&lt;/p&gt;
&lt;p&gt;Yeray is a designer/illustrator with a vicious passion for popups (popup books, not the anoying windows) and paper objects. Another passion he have is the more common one: video games!&lt;/p&gt;
&lt;p&gt;We were talking about our projets and he saw MiliWorlds. &lt;a href=&quot;http://miliworlds.labe.me&quot;&gt;MiliWorlds is a little game/prototype I created some months ago&lt;/a&gt;. It&amp;#39;s a fun little action game for two players on one tablet.&lt;/p&gt;
&lt;p&gt;One game later, it was set: he would entirely recreate the graphic design of the game.&lt;/p&gt;
&lt;p&gt;One thing leads to another and here we are, with a MiliWorlds on steroids with a delicious retro-game flavour, spiced up with 8bits sounds and musics!&lt;/p&gt;
&lt;p&gt;The MiliWorlds update will soon be sent to iOS and Android tablets, you will love it.&lt;/p&gt;
&lt;p&gt;See you soon and be prepared!&lt;/p&gt;
&lt;p&gt;(Psst: the game will be published with &lt;a href=&quot;http://frenchcows.com&quot;&gt;#FrenchCows&lt;/a&gt; the french indie collective!)&lt;/p&gt;
</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2014-12-16-miliworld-incoming.html</guid><pubDate>Tue, 16 Dec 2014 16:00:00 GMT</pubDate></item><item><title>Old openfl project, one year later, will it blend?</title><link>http://labe.me/en/blog/posts/2014-11-11-old-openfl-project-one-year-later-will-it-blend.html</link><description>&lt;p&gt;Two months ago I wanted to do a small update to my old game &lt;a href=&quot;http://miliworlds.labe.me&quot;&gt;Miliworlds&lt;/a&gt; but I failed to install a working openfl environment and had no time to fight the system.&lt;/p&gt;
&lt;p&gt;Tonight I decided to fix the problem.&lt;/p&gt;
&lt;p&gt;After installing and uninstalling things and searching the web it turned out the problem came from a bad combination of haxe and hxcpp versions (&lt;a href=&quot;http://echelog.com/logs/browse/haxe/1408485600&quot;&gt;Thank you IRC log&lt;/a&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;haxe 3.2.0&lt;/li&gt;
&lt;li&gt;hxcpp 3.1.39&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I had to install github&amp;#39;s version of hxcpp and recompile a few platforms:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;haxelib git hxcpp http://github.com/HaxeFoundation/hxcpp
cd `haxelib config`
cd hxcpp/git/project
neko build.n clean
neko build.n
neko build.n android
neko build.n ios
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I also had to add a &lt;code&gt;-Dlime-legacy&lt;/code&gt; flag at the end of each command call so lime wouldn&amp;#39;t complain about missing haxelib/lime/2,0,0-alpha,8/ndll/IPhone/liblime.iphoneos.a (I am pretty sure I can find a way to compile that but adding the &lt;code&gt;-Dlime-legacy&lt;/code&gt; just worked so why bother:).&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;lime test project.xml ios -simulator -ipad -Dlime-legacy
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Since the problem was due to my non-standard setup, it looks like openfl grew stabler during the year. That&amp;#39;s good news.&lt;/p&gt;
</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2014-11-11-old-openfl-project-one-year-later-will-it-blend.html</guid><pubDate>Tue, 11 Nov 2014 22:56:00 GMT</pubDate></item><item><title>Edukymoz 2014.10 aftershock</title><link>http://labe.me/en/blog/posts/2014-10-06-edukymoz-201410-aftershock.html</link><description>&lt;p&gt;My vigorous education project &amp;quot;Edukymoz&amp;quot; had a huge success this week-end at the &lt;a href=&quot;http://animasia.org&quot;&gt;Animasia event&lt;/a&gt;, on the FrenchCows stand of course.&lt;/p&gt;
&lt;div class=&quot;vidContainer&quot;&gt;
  &lt;iframe src=&quot;https://player.vimeo.com/video/112794868?loop=1&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Sadly I did not count how many slaps where exactly given. I estimate (and that&amp;#39;s a conservative estimation) that at least 130 persons tried the game during the 2 days. Hence, probably more than 5 &lt;em&gt; 130 &lt;/em&gt; 3 = 1950 slaps where distributed (each error gives 3 quick slaps).&lt;/p&gt;
&lt;p&gt;Thanks goes to all the glorious people who had the guts to try the game. They were kind and cheerful, they were fun, we all laughed a lot and so did the people who where watching them been slapped! The Animasia public was really great and I spend two fantastic hilarious days.&lt;/p&gt;
&lt;p&gt;I may work on a V2 when FrenchCows will be invited to the next event. Two paddles, faster servo motors, more questions, customizable slap power. That would be really epic :)&lt;/p&gt;
</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2014-10-06-edukymoz-201410-aftershock.html</guid><pubDate>Mon, 06 Oct 2014 10:00:00 GMT</pubDate></item><item><title>Moving Arduino with Haxe/JS</title><link>http://labe.me/en/blog/posts/2014-09-14-moving-arduino-with-haxejs.html</link><description>&lt;p&gt;I recently created a small &lt;a href=&quot;http://arduino.cc&quot;&gt;Arduino&lt;/a&gt; prototype, controlled by a simple Quiz game, itself controlled by a &lt;a href=&quot;https://www.leapmotion.com/&quot;&gt;Leap motion controller&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Leap -&amp;gt; Game -&amp;gt; Arduino&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I really like coding games using HTML5 and CSS. I regularly create comissionned HTML5 games and nothing beat the web platform to iterate fast. The game had to be in Haxe (Javascript target). &lt;/p&gt;
&lt;p&gt;Using the &lt;a href=&quot;https://github.com/leapmotion/leapjs&quot;&gt;Leap javascript API&lt;/a&gt; is as simple as including the right script in the HTML and running &lt;code&gt;Leap.loop()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Javascript then uses a Websocket to talk to the local Leap server, connected to the LEAP device.&lt;/p&gt;
&lt;p&gt;As far as Arduino is concerned, there is a great javascript library out there to communicate with the board using the &lt;a href=&quot;http://www.firmata.org/&quot;&gt;Firmata&lt;/a&gt; protocol : &lt;a href=&quot;https://github.com/rwaldron/johnny-five&quot;&gt;Johnny-five&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Using the Arduino IDE, install the Examples &amp;gt; Firmata &amp;gt; StandardFirmata sketch on your Arduino board and you will then been able to communicate with your board from Node.js using the serial connection.&lt;/p&gt;
&lt;p&gt;Firmata is great : you control your board from your computer and receive sensor&amp;#39;s values too. Moreover the Johnny-five library have quite a few helper classes to work with Led, Motor, gyro, joystick, lcd, etc. &lt;/p&gt;
&lt;p&gt;Using some elbow grease you can even make it work with &lt;a href=&quot;https://github.com/rogerwang/node-webkit&quot;&gt;node-webkit&lt;/a&gt; (it requires a few fixes to make it work as expected).&lt;/p&gt;
&lt;p&gt;Another really convenient option is to create a &lt;a href=&quot;https://developer.chrome.com/apps/first_app&quot;&gt;Google Chrome Application&lt;/a&gt; instead of a node-webkit one. The main difference is that you have access to the browser&amp;#39; Serial API and can switch to &lt;a href=&quot;https://github.com/garrows/johnny-five&quot;&gt;This version of Johnny five&lt;/a&gt; to communicate directly with the Arduino Board.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;lang-bash&quot;&gt;npm install browser-serialport
npm install garrows/johnny-five
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Note: I had to use &lt;a href=&quot;http://browserify.org&quot;&gt;Browserify&lt;/a&gt; to merge dependencies.&lt;/p&gt;
&lt;p&gt;The initial setup is easier and the iteration is faster, you can start your application from the command line.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;lang-bash&quot;&gt;google-chrome --load-and-launch-app=`pwd`
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can refresh the app with right click / &lt;em&gt;Reload App&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;And of course you have access to the regular Chrome developer tools.&lt;/p&gt;
&lt;p&gt;To break the Google Chrome dependency and create universal web pages connected to physical stuff we could create a Firmata proxy program. People could install this program on their computer, connect something to their computer and then surf to a dedicated webpage to run a physical JS app. Very much like the LEAP does.&lt;/p&gt;
&lt;p&gt;My little prototype won&amp;#39;t be available on the web so it doesn&amp;#39;t matter but it&amp;#39;s a good thing to know that it would be easy to engineer :)&lt;/p&gt;
&lt;p&gt;If you need more input or maybe a tutorial to do this kind of job drop me a word.&lt;/p&gt;
&lt;p&gt;(And some useless photos just because you cannot talk about Arduino without showing yours:)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/gfx/edukymoz/a.jpg&quot; alt=&quot;Circuit&quot;&gt;
&lt;img src=&quot;/gfx/edukymoz/b.jpg&quot; alt=&quot;Circuit&quot;&gt;&lt;/p&gt;
</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2014-09-14-moving-arduino-with-haxejs.html</guid><pubDate>Sun, 14 Sep 2014 20:30:00 GMT</pubDate></item><item><title>How to use libgdx with haxe (part 2)</title><link>http://labe.me/en/blog/posts/2014-07-14-libgdx-with-haxe-2.html</link><description>&lt;a href=&quot;/en/blog/posts/2014-05-05-libgdx-with-haxe.html&quot;&gt;Follow up of previous post&lt;/a&gt;.
&lt;p&gt;I did a few more tests and it looks like Haxe/Java doesn't support a specific feature. Using libgdx skins breaks haxe compilation. The haxe/java team is working on this and it should be fixed soon.&lt;/p&gt;
&lt;p&gt;In the meantime, I modified libgdx code to make haxe happy. It wasn't too hard, only renaming a field in &lt;code&gt;gdx/src/com/badlogic/gdx/utils/ObjectMap.java&lt;/code&gt; (&lt;code&gt;hasNext&lt;/code&gt;) and recompiling the jar.&lt;/p&gt;
&lt;p&gt;Using the modified jar as the &lt;code&gt;-java-lib&lt;/code&gt; is all is required to generate working java code. The official libgdx/gradle project do the rest.&lt;/p&gt;
&lt;p&gt;If you want to give it a try, you can &lt;a href=&quot;https://dl.dropboxusercontent.com/u/5090326/gdx.jar&quot;&gt;download my modified jar on dropbox&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Just put it somewhere on your system and use it as the &lt;code&gt;-java-lib&lt;/code&gt; jar as seen previously.&lt;/p&gt;
&lt;p&gt;Feature wise, everything I tested seem to work. I had a few hipcups with the haxe/java support with the following things but nothing blocking:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;importing interfaces static fields is cumbersome, remember that you have to import like this:&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;pre&gt;
import com.badlogic.gdx.graphics.VertexAttributes.VertexAttributes_Usage.*;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;If you encounter &quot;is already defined in X&quot;, it means you have some extra import which is not required.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;haxe/java does not seem to support varargs method calls, I had to create a native array to create a Material. I hope the API has alternative methods everywhere varargs are involved:&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;pre&gt;
var attrs = new java.NativeArray&amp;lt;Attribute&amp;gt;(1);
attrs[0] = ColorAttribute.createDiffuse(new Color(0xE50000FF));
var material = new Material(attrs);
&lt;/pre&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://old.haxe.org/doc/java/externs#type-equivalences&quot;&gt;double means Float, float means Single and long means Int64&lt;/a&gt;, type conversion can be boring, even more when bits are involved, &lt;code&gt;cast&lt;/code&gt; can help, for instance &lt;code&gt;cast (Position | Normal)&lt;/code&gt; will make haxe/java works for you instead of having to call &lt;code&gt;haxe.Int64.ofInt(Position | Normal)&lt;/code&gt; for the same result.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I did not inspect the generated java source a lot, nor did I test performances. I just hope an haxe user is not too much penalized for his choice of language compared to a native java developer :)&lt;/p&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2014-07-14-libgdx-with-haxe-2.html</guid><pubDate>Mon, 14 Jul 2014 11:34:00 GMT</pubDate></item><item><title>How to use libgdx with haxe</title><link>http://labe.me/en/blog/posts/2014-05-05-libgdx-with-haxe.html</link><description>&lt;h2&gt;Forewords&lt;/h2&gt;&lt;a href=&quot;http://libgdx.badlogicgames.com/&quot;&gt;Libgdx&lt;/a&gt; is a stable 2D/3D library, quite complete, multiplatform (Desktop PC/Mac/Linux, Android, iOS, HTML, Blackberry?), performant, easy to grasp and it comes with useful tools, a clean documentation and a decent community.
&lt;p&gt;There are two problems: java and… well… java&lt;/p&gt;
&lt;p&gt;I don't hate java, it's just that it doesn't reach the top 3 of my favorite languages :)&lt;/p&gt;&lt;a href=&quot;http://haxe.org&quot;&gt;Haxe&lt;/a&gt; can compile to jar and java source code hence replacing java with haxe should be doable. The haxe/java support is quite new so things may break but givin a try doesn't hurt!
&lt;p&gt;With the latests releases libgdx now comes with a new build/dependency system based on &lt;a href=&quot;http://www.gradle.org/&quot;&gt;gradle&lt;/a&gt;. This tool eases many things and provides a nice and simple access to compilation tasks from the command line.&lt;/p&gt;
&lt;h2&gt;The project structure&lt;/h2&gt;
&lt;p&gt;I chose to isolate haxe from libgdx projects but you are free to customize to your needs.&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
mygame/
  gdx/       # libgdx content
  src/       # our haxe source code will go there
  build.hxml # our build script (could be a Makefile)
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The workflow:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;we code in haxe in the src folder&lt;/li&gt;&lt;li&gt;haxe compiles the code to java source and send it into gdx/&lt;/li&gt;&lt;li&gt;we use gradle to compile the gdx java project&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;So for now:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
$ mkdir -p mygame/src
$ mkdir -p mygame/gdx
$ touch mygame/build.hxml
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;We will edit build.hxml later.&lt;/p&gt;
&lt;h2&gt;Create the gdx project&lt;/h2&gt;
&lt;p&gt;Libgdx has a setup tool which eases the creation of new projects:&lt;/p&gt;&lt;a href=&quot;https://bitly.com/1i3C7i3&quot;&gt;Download and run gdx-setup.jar&lt;/a&gt; (&lt;a href=&quot;https://github.com/libgdx/libgdx/wiki/Project-Setup-Gradle&quot;&gt;documentation&lt;/a&gt;)
&lt;p&gt;&lt;code&gt;java -jar gdx-setup.jar&lt;/code&gt;&lt;/p&gt;&lt;img src=&quot;/gfx/misc/gdx/gdx-setup.png&quot;/&gt;
&lt;p&gt;Just make sure to choose &quot;mygame/gdx&quot; for the destination and to point to the right path of your android-sdk if you plan to play with Android. (on macosx I downloaded the android-sdk with brewer).&lt;/p&gt;
&lt;p&gt;Click Generate and wait a little.&lt;/p&gt;
&lt;h2&gt;Ensure that the gdx base project works&lt;/h2&gt;
&lt;p&gt;&lt;pre&gt;
$ cd mygame/gdx
$ ./gradlew desktop:run
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;You should see something like that:&lt;/p&gt;&lt;img src=&quot;/gfx/misc/gdx/mygame-gdx.png&quot;/&gt;
&lt;h2&gt;GDX organisation&lt;/h2&gt;
&lt;p&gt;If you are not familiar with libgdx you can take a look at their &lt;a href=&quot;https://github.com/libgdx/libgdx/wiki&quot;&gt;excellent wiki&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The gdx/ structure looks like this&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
core/
android/
desktop/
ios/
html/
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Plus some project files.&lt;/p&gt;
&lt;p&gt;Each folder is a subproject with a java launcher dedicated to one platform. The launcher initiates what's inside &quot;core&quot; : our game.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; for some reason games assets must be put into &lt;code&gt;android/assets&lt;/code&gt; by default but you can change this editing the files &lt;code&gt;desktop/build.gradle&lt;/code&gt;, &lt;code&gt;html/src/me/labe/mygame/GdxDefinition.gwt.xml&lt;/code&gt;, &lt;code&gt;html/src/me/labe/mygame/GdxDefinitionSuperdev.gwt.xml&lt;/code&gt;,
&lt;code&gt;ios/robovm.xml&lt;/code&gt; (&lt;code&gt;fgrep -R &quot;android/assets&quot; *&lt;/code&gt; is you friend).&lt;/p&gt;
&lt;p&gt;Gradle is a dependency/build system, some interesting build tasks:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
$ cd gdx
$ ./gradlew desktop:run
$ ./gradlew android:build android:installDebug android:run
$ ./gradlew ios:build ios:launchIPhoneSimulator
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And many other things we don't care about right now :)&lt;/p&gt;
&lt;p&gt;So now that you have everything running (&lt;a href=&quot;https://github.com/libgdx/libgdx/wiki&quot;&gt;use libgdx documentation&lt;/a&gt; to fix things until the default project works on your system) we can start using haxe.&lt;/p&gt;
&lt;h2&gt;MyGame.hx file&lt;/h2&gt;
&lt;p&gt;Gdx-setup created &lt;code&gt;core/src/me/labe/mygame/MyGame.java&lt;/code&gt; for us, it looks like this:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
package me.labe.mygame;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class MyGame extends ApplicationAdapter {
	SpriteBatch batch;
	Texture img;

	@Override
	public void create () {
		batch = new SpriteBatch();
		img = new Texture(&quot;badlogic.jpg&quot;);
	}

	@Override
	public void render () {
		Gdx.gl.glClearColor(1, 0, 0, 1);
		Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
		batch.begin();
		batch.draw(img, 0, 0);
		batch.end();
	}
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This is the regular entry point for our game so we want it to be written in haxe.&lt;/p&gt;
&lt;p&gt;Here's the haxe equivalent: &lt;code&gt;src/me/labe/MyGame.hx&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
  package me.labe.mygame;

  import com.badlogic.gdx.ApplicationAdapter;
  import com.badlogic.gdx.Gdx;
  import com.badlogic.gdx.graphics.GL20;
  // this is important, in haxe you cannot access java interfaces' static members,
  // they are hidden inside a subclass CLASSNAME_Statics, must know trick, hope
  // it will be fixed soon if not already fixed.
  import com.badlogic.gdx.graphics.GL20.GL20_Statics.*;
  import com.badlogic.gdx.graphics.Texture;
  import com.badlogic.gdx.graphics.g2d.SpriteBatch;

  class MyGame extends ApplicationAdapter {
    var batch : SpriteBatch;
    var img : Texture;

    @:overload
    public function create() {
      batch = new SpriteBatch();
      img = new Texture(&quot;badlogic.jpg&quot;);
    }

    @:overload
    public function render() {
      Gdx.gl.glClearColor(1, 0, 0, 1);
      Gdx.gl.glClear(GL_COLOR_BUFFER_BIT);
      batch.begin();
      // we center the image so we know for sure OUR code is in charge
      batch.draw(
        img,
        (Gdx.graphics.getWidth() - img.getWidth()) / 2,
        (Gdx.graphics.getHeight() - img.getHeight()) / 2
      );
      batch.end();
    }
  }
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;We want haxe to compile this to java and replace the original gdx file. It's quite easy.&lt;/p&gt;
&lt;h2&gt;build.hxml&lt;/h2&gt;
&lt;p&gt;Our first iteration looks like this:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
-D no-compilation
-cp src
-java gdx/core
me.labe.mygame.MyGame
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;We don't want to compile jar files, we just want java source.
Our haxe code resides in the src folder.
We send the result into gdx/core as expected.
Our entry point is me.labe.mygame.MyGame.&lt;/p&gt;
&lt;p&gt;If you try to run this build script with haxe you will get an error:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
src/me/labe/mygame/MyGame.hx:3: characters 7-42 : Class not found : com.badlogic.gdx.ApplicationAdapter
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;That's because haxe doesn't know about gdx yet, we have to tell it about the .jar files we are using.&lt;/p&gt;
&lt;h2&gt;Link the libs&lt;/h2&gt;
&lt;p&gt;Since we compiled the gdx project, the jar files should already be somewhere on our system.&lt;/p&gt;
&lt;p&gt;We are looking for &lt;code&gt;gdx.jar&lt;/code&gt;, gradle uses ivy for its dependencies. It caches things inside the &lt;code&gt;~/.ivy2&lt;/code&gt; folder on OSX.&lt;/p&gt;
&lt;p&gt;With OSX or linux you can find your libs with a command like this:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
$ find ~/ -name &quot;*.jar&quot; | grep gdx.jar
...
/Users/lbedubourg/.ivy2/cache/com.badlogicgames.gdx/gdx/jars/gdx-1.2.0.jar
...
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;As seen in the above gdx-setup screenshot, 1.2.0 is the right version, we can use this full path, create a symlink, even copy the file, whatever you prefer. I'll use the full path for this tutorial.&lt;/p&gt;
&lt;p&gt;We just have to add the reference to the lib to our build.hxml:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
-D no-compilation
-cp src
-java gdx/core
-java-lib /Users/lbedubourg/.ivy2/cache/com.badlogicgames.gdx/gdx/jars/gdx-1.2.0.jar
me.labe.mygame.MyGame
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And voila, &lt;code&gt;haxe build.hxml&lt;/code&gt; will generate your java code.&lt;/p&gt;
&lt;h2&gt;Enjoy&lt;/h2&gt;
&lt;p&gt;Running our code using gradle is just a question of going into the gdx folder and running ./gradlew with the right arguments.&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
$ cd gdx
$ ./gradlew desktop:run
&lt;/pre&gt;&lt;/p&gt;&lt;img src=&quot;/gfx/misc/gdx/mygame-haxe.png&quot;/&gt;
&lt;p&gt;You will certainly want to include the gradlew call into your build.hxml or your Makefile or whatever you are using to manage your build process.&lt;/p&gt;
&lt;p&gt;For instance to compile and run the desktop version after each compilation you can edit the build.hxml file:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
-D no-compilation
-cp src
-java gdx/core
-java-lib /Users/lbedubourg/.ivy2/cache/com.badlogicgames.gdx/gdx/jars/gdx-1.2.0.jar
me.labe.mygame.MyGame

--next
-cmd cd gdx
-cmd ./gradlew desktop:run
&lt;/pre&gt;&lt;/p&gt;
&lt;h2&gt;Next&lt;/h2&gt;
&lt;p&gt;You'll want to learn a little bit about gradle.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;libgdx uses gradlew (a gradle wrapper) and on my macbook using the wrapper as instructed in this tutorial was slower than using my localy installed gradle (version 1.12).&lt;/li&gt;&lt;li&gt;using &lt;code&gt;--offline&lt;/code&gt; can save you a few networking roundtrip and one or two seconds while starting gradle&lt;/li&gt;&lt;li&gt;libgdx requires old gradle, things may improve when they will switch gradle v2.0, maybe :)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;HTML support doesn't work out of the box.&lt;/p&gt;
&lt;p&gt;Libgdx relies on GWT to generate javascript code, you will have to edit &lt;code&gt;gdx/core/src/MyGame.gwt.xml&lt;/code&gt; to add the following lines (so GWT will find haxe stuff).&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
&amp;lt;source path=&quot;haxe&quot;/&amp;gt;
&amp;lt;source path=&quot;haxe/lang&quot;/&amp;gt;
&amp;lt;source path=&quot;haxe/root&quot;/&amp;gt;
&amp;lt;source path=&quot;_Array&quot;/&amp;gt;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;But then gwt will complain about java.lang.reflect.* which is not supported by GWT… This problem might be fixed by this &lt;a href=&quot;https://code.google.com/p/gwt-preprocessor/&quot;&gt;pre-processor&lt;/a&gt; but I don't have the time to investigate more.&lt;/p&gt;
&lt;p&gt;Replacing platforms launchers with haxe should also possible, you will have to create different targets and add the related jar file as -java-lib.&lt;/p&gt;
&lt;p&gt;You can use libgdx extensions, don't forget to add -java-lib to make haxe happy.&lt;/p&gt;
&lt;p&gt;I just made it work yesterday and did nothing more than what is written here, moreover haxe/java support is quite new, so bugs may arise if you try to use libgdx with haxe to produce an entire game.&lt;/p&gt;
&lt;p&gt;Haxe is great because you can reuse the hard work of others. Of course having a great multiplatform 2d/3d api entirely written in haxe would be awesome but in the meantime, using libgdx could be a great alternative to adobe air. It's up to you to decide, you now have one more choice!&lt;/p&gt;
&lt;p&gt;Best regards, Laurent&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; As written, haxe/java support is quite recent and a few bugs needs to be resolved before we can use all of GDX features from haxe. However the bases are there and I am pretty sure the haxe/java team will be happy to clean edge cases.&lt;/p&gt;&lt;a href=&quot;/en/blog/posts/2014-07-14-libgdx-with-haxe-2.html&quot;&gt;More in part 2&lt;/a&gt;.</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2014-05-05-libgdx-with-haxe.html</guid><pubDate>Sat, 05 Jul 2014 08:22:00 GMT</pubDate></item><item><title>Dangerous Entities</title><link>http://labe.me/en/blog/posts/2014-04-29-dangerous-entities.html</link><description>&lt;div class=&quot;vidContainer&quot;&gt;
&lt;iframe width=&quot;100%&quot; height=&quot;100%&quot; src=&quot;//www.youtube.com/embed/3OB-gLlGJQ4?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;I finally have the time to work with assiduity on my next game: &quot;Dangerous Entities&quot;.&lt;/p&gt;
&lt;p&gt;If everything goes as planed, you should find yourself in your own skin, augmented with super-powers allowing you to communicate with a parallel world! :)&lt;/p&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2014-04-29-dangerous-entities.html</guid><pubDate>Tue, 29 Apr 2014 11:31:00 GMT</pubDate></item><item><title>Hello 2014</title><link>http://labe.me/en/blog/posts/2014-01-02-Hello-2014.html</link><description>&lt;p&gt;2013 has been a quite creative year: &lt;a href=&quot;http://proselytizer.labe.me&quot;&gt;Proselytizer&lt;/a&gt;, &lt;a href=&quot;http://saucer.labe.me&quot;&gt;Flying Saucer ChampionShip&lt;/a&gt;, &lt;a href=&quot;http://articube.labe.me&quot;&gt;Articube&lt;/a&gt;, &lt;a href=&quot;http://bombcat.labe.me&quot;&gt;Bombcat&lt;/a&gt;, &lt;a href=&quot;http://miliworlds.labe.me&quot;&gt;MiliWorlds&lt;/a&gt; and &lt;a href=&quot;http://frenchcows.com&quot;&gt;FrenchCows&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I also learned a lot along the way, about technology and platforms, about design, about humans.&lt;/p&gt;
&lt;p&gt;For 2014, I wish FrenchCows to get a lot of interesting games from a lot of great artists and to be joined by a huge number of players.&lt;/p&gt;
&lt;p&gt;Now that the project is running and only requires pet work I should be able to start working on my next game really soon (like in &quot;next week&quot;).&lt;/p&gt;
&lt;p&gt;I don't intend to dedicate myself to mobile work but it happens that my next game requires a GPS sensor :)&lt;/p&gt;
&lt;p&gt;I would also like to help the Haxe community in some way. I know some of my posts were useful to a few people and I think I could do more this year.&lt;/p&gt;
&lt;p&gt;Finally, if I want to stay independent, I have to become more serious about incomes, that's not the funniest part ;P&lt;/p&gt;
&lt;p&gt;See you all soon!&lt;/p&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2014-01-02-Hello-2014.html</guid><pubDate>Thu, 02 Jan 2014 14:33:00 GMT</pubDate></item><item><title>Merry FrenchCows at MOB</title><link>http://labe.me/en/blog/posts/2013-12-21-Merry_FrenchCows_at_MOB.html</link><description>&lt;div class=&quot;vidContainer&quot;&gt;&lt;iframe width=&quot;100%&quot; height=&quot;100%&quot; src=&quot;//www.youtube.com/embed/R5HLt2ungFQ?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2013-12-21-Merry_FrenchCows_at_MOB.html</guid><pubDate>Fri, 20 Dec 2013 23:49:00 GMT</pubDate></item><item><title>We launched a month ago :)</title><link>http://labe.me/en/blog/posts/2013-12-02-We_launched_a_month_ago.html</link><description>&lt;p&gt;Ok, so what's FrenchCows exactly?&lt;/p&gt;
&lt;p&gt;It's a fair community where players, creators and creations are respected and cherished.&lt;/p&gt;
&lt;p&gt;A quick summary:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;As a player you buy 6 months of fresh game creations for 15€. If you feels like helping the creators you can dive into our forums, talk to them and contribute to make their game even better!&lt;/li&gt;&lt;li&gt;As a creator you can come with your game (completed or in progress), sell it as part of the collective, get a fair share, improve it with players feedbacks. You can talk to the community, ask for views and help… And you are free to sell your game elsewhere (although we'd love to have the exclusivity during the first 3 months).&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;FrenchCows is a fresh collective, currently 10 studios/developers are working on the project, 8 are creating games and 2 are working on the marketing and media part.&lt;/p&gt;
&lt;p&gt;We are working hard to improve the service, create new content and promote the collective and the games.&lt;/p&gt;
&lt;p&gt;We welcome new developers, we welcome new players and we would love to ear you talk about us!&lt;/p&gt;
&lt;p&gt;We have games for PC, MAC, Android and Linux. Some of them are just great: you have to try!&lt;/p&gt;&lt;a href=&quot;http://frenchcows.com&quot;&gt;Come and help us grow the cowmunity!&lt;/a&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2013-12-02-We_launched_a_month_ago.html</guid><pubDate>Mon, 02 Dec 2013 21:46:00 GMT</pubDate></item><item><title>We launch in 4 days</title><link>http://labe.me/en/blog/posts/_2013-11-01-We_launch_in_4_days.html</link><description>&lt;p&gt;The last sprint to launch FrenchCows, our fair and unique video games collective.&lt;/p&gt;
&lt;p&gt;Tip: if you are not subscribed to the Moosletter yet, you really should do it now to get a surprise for d-day.&lt;/p&gt;
&lt;p&gt;We are all really excited!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://frenchcows.com&quot;&gt;http://frenchcows.com&lt;/a&gt;&lt;/p&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/_2013-11-01-We_launch_in_4_days.html</guid><pubDate>Fri, 01 Nov 2013 07:23:00 GMT</pubDate></item><item><title>Long live the Queen</title><link>http://labe.me/en/blog/posts/2013-10-18-Long-live-the-Queen.html</link><description>&lt;p&gt;&lt;em&gt;Breaking News:&lt;/em&gt; the &lt;a href=&quot;http://en.wikipedia.org/wiki/Elizabeth_II&quot;&gt;Queen of England&lt;/a&gt; had a conversation with a charming little boy who enjoys playing &lt;a href=&quot;http://miliworlds.labe.me&quot;&gt;MiliWorlds&lt;/a&gt; with his brother. I am pretty sure they didn't mention the game but I take for granted that Elizabeth would be a great player.&lt;/p&gt;&lt;img src=&quot;/gfx/illustrations/BritishCrown.svg&quot;/&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2013-10-18-Long-live-the-Queen.html</guid><pubDate>Fri, 18 Oct 2013 08:06:00 GMT</pubDate></item><item><title>FrenchCows tasty video</title><link>http://labe.me/en/blog/posts/2013-09-27-FrenchCows-tasty-video.html</link><description>&lt;div class=&quot;vidContainer&quot;&gt;&lt;iframe src=&quot;http://player.vimeo.com/video/75501575?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=4997d9&quot;  width=&quot;100%&quot; height=&quot;100%&quot; frameborder=&quot;0&quot; webkitAllowFullScreen=&quot;true&quot; mozallowfullscreen=&quot;true&quot; allowFullScreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;As you can see, we work really hard here, an english version should be available soon :)&lt;/p&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2013-09-27-FrenchCows-tasty-video.html</guid><pubDate>Fri, 27 Sep 2013 07:39:00 GMT</pubDate></item><item><title>MiliWorlds for iPad</title><link>http://labe.me/en/blog/posts/2013-09-14-MiliWorlds-for-iPad.html</link><description>&lt;p&gt;Do you enjoy bloody conflicts? &lt;a href=&quot;https://itunes.apple.com/us/app/miliworlds/id668016929&quot;&gt;MiliWorlds is available for your iPad&lt;/a&gt;. I hope you will have fun destroying your friends!&lt;/p&gt;&lt;a href=&quot;https://itunes.apple.com/us/app/miliworlds/id668016929&quot;&gt;&lt;img src=&quot;http://miliworlds.labe.me/miliworlds.png&quot;/&gt;&lt;/a&gt;
&lt;p&gt;MiliWorlds was made with &lt;a href=&quot;http://haxe.org&quot;&gt;haxe&lt;/a&gt;, &lt;a href=&quot;http://www.openfl.org&quot;&gt;openfl&lt;/a&gt;, &lt;a href=&quot;http://www.pixelmator.com/&quot;&gt;pixelmator&lt;/a&gt;, &lt;a href=&quot;http://www.gnu.org/software/emacs/&quot;&gt;emacs&lt;/a&gt; and elbow grease.&lt;/p&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2013-09-14-MiliWorlds-for-iPad.html</guid><pubDate>Sat, 14 Sep 2013 07:44:00 GMT</pubDate></item><item><title>The dairy revolution is coming</title><link>http://labe.me/en/blog/posts/2013-09-13-the-dairy-revolution.html</link><description>&lt;p&gt;We (a group of friends) spent a good part of this summer thinking a new human project. We hope this adventure will revolutionize the french independent video game world.&lt;/p&gt;&lt;img src=&quot;/gfx/illustrations/frenchcows.png&quot;/&gt;
&lt;p&gt;We are working on technical details and you should be able to learn a little bit more this monday.&lt;/p&gt;
&lt;p&gt;Of course my own productions are paused while I work on this but it's for the good cause !&lt;/p&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2013-09-13-the-dairy-revolution.html</guid><pubDate>Fri, 13 Sep 2013 10:15:00 GMT</pubDate></item><item><title>Distributing your openFL app on the iOS App Store</title><link>http://labe.me/en/blog/posts/2013-09-06-distribution-your-openfl-app-on-the-ios-app-store.html</link><description>&lt;p&gt;If you use openFL chances are that, when you want to ship, you open your Build/ios/Project.xcodeproj with xCode, change the Release signing options, recompile from xCode and create an Archive with xCode.&lt;/p&gt;
&lt;p&gt;And redo this everytime you change your mind and modify something in your app…&lt;/p&gt;
&lt;p&gt;I worked on the openfl-native templates/iphone/PROJ.xcodeproj/project.pbxproj this morning and &lt;a href=&quot;https://github.com/openfl/openfl-native/pull/53&quot;&gt;we will soon fix this with Joshua&lt;/a&gt; so you will be able to sign your app without opening xCode (hacking the template worked for me).&lt;/p&gt;
&lt;p&gt;The missing part is: how to create the archive (zip) and send it to Apple.&lt;/p&gt;
&lt;p&gt;I am trying this and will tell you if the archive was accepted by apple:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;
$ cd Build/ios/build/Release-iphoneos
$ zip -r MiliWorlds.zip MiliWorlds.app
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;To send the App, I first configure it on itunesconnect and then use the xCode &quot;Application Loader&quot; tool and select my zip file (I don't do that a lot so I guess it's ok).&lt;/p&gt;
&lt;p&gt;I hope it will work, please tell me if you think it won't! :)&lt;/p&gt;
&lt;p&gt;The next interesting thing to easier your life may be to use &quot;Transporter, Apple’s command-line delivery tool, to deliver App Store metadata localizations, in addition to In-App Purchase and Game Center metadata.&quot;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;EDIT:&lt;/em&gt; Miliworlds was accepted by the App Store. This process is valid :)&lt;/p&gt;</description><guid isPermaLink="true">http://labe.me/en/blog/posts/2013-09-06-distribution-your-openfl-app-on-the-ios-app-store.html</guid><pubDate>Fri, 06 Sep 2013 14:33:00 GMT</pubDate></item></channel></rss>