Changes in the Lime Repository

As I previously discussed, we have decided to collaborate with the NME project, in order to build an even more stable, feature-rich shared C++ codebase for both projects.

Over the past couple weeks we have been migrating improvements, adapting the build process and preparing for the next release, which uses the unified codebase and targets HXCPP by default. As a user of Lime or OpenFL, nothing should change, except for the improvements we have all been making in the project. Continue reading Changes in the Lime Repository

How to Install Support for OUYA in Windows 8

I just added support for the OUYA on Windows 8, but it was fraught with peril.

I want to help by providing this little guide, so the next person won’t have as much trouble as I did. The OUYA developer has documentation to lead you through the process, but unfortunately that was not enough to get it working. Read on!

Android SDK

The first step is having a copy of the Android SDK installed. You’ll get this if you used “openfl setup android” and went through the steps, or if you go to the Android developer site. After you have the Android SDK on your system somewhere, you will need to run the “SDK Manager” which is in the same directory. Continue reading How to Install Support for OUYA in Windows 8

How OpenFL Works

OpenFL, as I shared earlier, combines years of development to bring you a fast and stable implementation of the industry-standard Flash development API, free and open-source, ready to provide a backbone for mobile, desktop and web projects.

How does it work? At first, it may seem to be a mystery, but I know that some of you (most of you?) like knowing how things are put together, so let’s dive into it.

Run script

OpenFL begins with a run script. The source is located here:

When you execute “haxelib run openfl” (or run the “openfl” alias for the same command), this script is being executed. Continue reading How OpenFL Works

Replacing an OpenFL Backend

When I was designing OpenFL, one of the goals was to build an architecture that would allow for easy development on one of the backends. Currently, we have two backends: “openfl-native” and “openfl-html5”

If you install OpenFL, you will probably notice that these are completely different Haxe libraries. This makes it possible to make changes to the native backend without rebuilding command-line tools, or to make HTML5 improvements without rebuilding native binaries.

The README for each project on GitHub includes instructions for using a development version. For example, to use a development version of openfl-html5:

git clone
haxelib dev openfl-html5 openfl-html5

This can also let you replace a backend entirely. Continue reading Replacing an OpenFL Backend

Introducing OpenFL

I am happy to announce a new platform for building creative content — OpenFL — which is currently available as a release candidate for Windows, Mac and Linux users.

In 1999 the world began to embrace the Flash browser plugin as a way to create and experience interactive content, reaching 92% of internet users. Times have changed, but the need to deliver creative projects has perhaps become even more important than ever.

In the past ten years, we have seen the wireless industry explode and we have seen web browsers develop features that only plugins could deliver before.

OpenFL combines years of work to provide for the industry-standard Flash API without the Flash plugin.

In order to succeed on mobile, it is important to take of advantage of device hardware, and to be as native as possible. That is why OpenFL allows direct access to device features using extensions, why OpenFL makes it possible to target iOS, Android and BlackBerry as fully native applications, and to accelerate the Flash API using OpenGL for a fast, productive development environment.

OpenFL can also target JavaScript directly, thanks to the Haxe Toolkit that powers the platform. Today, users of OpenFL can target HTML5 or the beta support for Emscripten and WebGL, while supporting the Flash Player runtime, for flexibility when providing content for the web.

OpenFL is free, hosted on Github under the permissive MIT open-source license. We invite you to join with us as we build the best 2D development platform for the next 5-10 years.

Though Flash is a popular API, we believe in allowing the community to innovate in new ways to build games and applications. That is why OpenFL seeks to also provide an open platform, including OpenGLView, an accelerated way to build content for Windows, Mac, Linux, iOS, Android, BlackBerry and HTML5 using the WebGL API.

You can Get Started with OpenFL now. More details and a new website will be coming soon.

Deploying C++ to JavaScript using Emscripten

If you paid attention during the post-GDC news, you probably heard that Epic Games and Mozilla teamed up to get the Unreal Engine running in the browser, without plugins, in a matter of four days. The secret? Emscripten.

Alon Zakai has worked three years on Emscripten, and its an amazing piece of software.

Literally, you take C++ (or technically, something that compiles to LLVM), and out comes JavaScript. Not only can you do basic code, you can take large, complex projects with myriad dependencies, and actually run it in the browser.

Let’s take one of my previous samples, and port it to the browser. Ready? Continue reading Deploying C++ to JavaScript using Emscripten

Actuate: Now with Bezier Tweens (Again)

Anyone who used the old Actionscript version of Actuate may know there used to be a “motion path” tween. In the translation to Haxe, this is something I never ported.

I am happy to announce that Actuate 1.50 has just been released on haxelib, including a new and improved version of the motion path tween! Continue reading Actuate: Now with Bezier Tweens (Again)

HTML5 Benchmark Scores: NME RunnerMark

If you are on Twitter, you may have seen links to RunnerMark, a benchmark that tests rendering performance of Adobe AIR and NME.

We have been improving the performance in the (beta) HTML5 target for NME, so I am happy to share some of the results. These improvements will be released with the next version of NME. Continue reading HTML5 Benchmark Scores: NME RunnerMark

Benchmarking HTML5 using PirateMark

Nowadays, it is not possible to reach the majority of users on the internet using Flash Player. Mobile devices that support Flash Player are dwindling, support for a standard Linux plugin has stopped and Windows 8 is going to only provide Flash Player support for a whitelisted subset of the internet.

NME and Flambe are both Haxe-based frameworks that can support both HTML5 and Flash Player, so you can provide the best experience to users, everywhere. Today, Flambe is also getting support for using NME as a backend, so that it will be possible to use either framework to also target Windows, Mac, Linux, iOS, BlackBerry, Android and webOS natively. Continue reading Benchmarking HTML5 using PirateMark