If you need to create an application, Enyo is a choice you may want to consider. You can learn more at enyojs.com, and if you are a fan of Haxe-based development, there are externs for Enyo 1.0 on haxelib which can enable you to use the framework while also benefiting from the many advantages of haxe JS.
Although most of the samples for Enyo are applications, at least one sample, “Pirate Pig,” is that of a game. It is a quirky game that uses similar mechanics to Bejeweled. You can view the original version here:
In the spirit of a game jam, I wanted to create the game in two days. In the interest of supporting my wife, I wanted to also keep it during the day instead of working late. Continue reading NME Game Example: “Pirate Pig”
In addition to writing HXCPP, NME and most of the SWF library, Hugh Sanderson also has a “waxe” project that I’ve never really played with. On the Haxe mailing list, Luke Davies asked if it was possible to display a “file.browse” dialog box from NME.
This hasn’t been possible, but Hugh pointed out that waxe could make this possible, and offered suggestions for anyone interested in trying it out. I’ve known about this project for a while, and also known that wxWidgets powers well known cross-platform applications, such as FileZilla, but somehow my interest was never piqued until I read these instructions last night.
So I downloaded waxe from SVN and lept into it. Thanks to Hugh’s instructions, I was able to get wxWindows and the waxe NDLL compiling on Windows. This morning, I worked on getting it to compile for Linux, but there are still a few linker errors that need to be sorted. Nevertheless, with some changes I was able to create a Cocoa-based OS X build… and as far as I have tested, it works! Continue reading NME + wxWindows
Ask and you shall receive.
I know that some people have wished NME could support a joystick or gamepad natively. I am very happy to announce that joystick/gamepad support was added today in the development builds for NME!
Earlier I was not able to find my gamepad, so I installed MotioninJoy and plugged in my PS3 controller.
Please check out my example project, and let me know what you think about the API. There is a new JoystickEvent class, which you use to listen to events from the stage, similar to KeyboardEvents. You can listen for JoystickEvent.AXIS_MOVE, JoystickEvent.BALL_MOVE, JoystickEvent.BUTTON_DOWN, JoystickEvent.BUTTON_UP or JoystickEvent.HAT_MOVE.
If the device is a gamepad, the analog joystick will usually appear as an axis, and the d-pad will appear as a hat. Continue reading Joystick and Gamepad Support for NME
I created a native extension sample for NME this morning that I would like to share with you:
Have you ever wanted to access your own code, written in C, C++ or Objective-C? This sample should help illustrate the “glue” that makes it possible to write and access native code from Haxe. I’ve also added a new “extension” tag to the NMML project file format which should make the workflow even easier. Continue reading Sample Native Extension for NME
MineHX was created a year ago. At the time, my phone used a native resolution of 320 x 480. Like most games, MineHX was designed specifically for only one or two devices.
Supporting multiple screen sizes, and worse, multiple screen densities, can be rather complicated. I’ve done some work recently to make this process less painful, and would like to share with you a sample from MineHX. The whole game is not completed at multiple resolutions, but there is still enough here that you can borrow or improve the concept for your own games.
http://www.joshuagranick.com/code/haxe/MineHX%20Sample%20(10-03-2011).zip Continue reading Adding Screen Density Support to MineHX
I am very happy to share with you some of the first-fruits of integration between NME and Jeash — a working game!
Yesterday, I began the process of experimenting with adding an HTML5 target, thanks to Jeash. I am really impressed with how the project has developed since I last tried it out. Niel Drummond has done a great with the framework, as well as all others who have contributed to Jeash.
From the beginning, Haxe was created to be a “multi-platform programming language.”
For everyone who is excited by HTML5, you can now publish to Flash, C++ and Canvas as easy as…
haxelib run nme test MyProject.nmml flash
haxelib run nme test MyProject.nmml ios -simulator
haxelib run nme test MyProject.nmml webos
haxelib run nme test MyProject.nmml android
haxelib run nme test MyProject.nmml cpp
haxelib run nme test MyProject.nmml cpp -64
haxelib run nme test MyProject.nmml html5
Here is my previous “Actuate Example,” running in Flash and in Canvas as a comparison:
“…One codebase for all platforms? A dream come true.”
– from Twitter, 19 minutes ago
Going cross-platform is getting even easier. The latest builds of NME make it possible to cross-compile to Android, iOS, webOS and Windows, right out-of-the-box. Support for Mac OS, Linux, Flash, Neko and GPH should also be re-integrated soon. This is due, in no small part, to Nicolas Cannasse, who created the Haxe language and compiler, and Hugh Sanderson, who created NME for Haxe.
Update (01/16/2012): If you would like to get started with NME, the best resource is http://www.haxenme.org/developers/get-started. There are automated installers for Windows, Mac and Linux, as well as a new “nme setup” command which simplifies the install of supporting tools for Windows, webOS, Android and other targets. These were not available at the time that I created this blog post.
Pictured: Actuate Example (Haxe) running on Windows 7, an HP TouchPad, an HP Veer 4G, an LG Optimus S and the Xcode 4 iPhone simulator
This is a screenshot of my previous Actuate example, running on Windows, webOS, Android and the iPhone simulator. With the NME install tool, do you want to know how easy this is? Of course you do: Continue reading Android, iOS, webOS (and More!) — Cross-Platform Made Easy
They aren’t joking when they say that haXe is a multi-platform programming language.
Here is an example project which will compile to Flash or webOS from Windows, OS X or Linux. It even compiles as a native desktop application for OS X or Linux, and almost for Windows — I just need to fix a couple of header references.
It’s pretty simple to get things started. I’ll walk you through the steps it takes to get things configured for each platform. Continue reading Getting Started with haXe for Flash, webOS, and Windows/Mac/Linux
Unlike other cross-platform tools, the code is MIT licensed, so you have no licensing fees and you aren’t limited. haXe has a passionate open-source community behind it, and the code is unlocked, so it isn’t hard to delve into the underlying code if you want to add a new feature. Continue reading Installing haXe (Flash/Canvas/PHP/C++)