The Moai team got great news today as the snow fell in Seattle: Moai was selected as one of the 2011 Open Source Rookies of the Year by Black Duck Software.  We see the open source nature of Moai as a huge advantage for game developers, many of whom have hit a wall or been stuck waiting at some point in the past with a closed source engine.  The ability to add your own platform features or change the way the platform works to make the game you want on your own timeline is great for game quality and it's great for developer piece of mind, too.  It's usually those "unknown unknowns" that throw a schedule off, and open-source is the escape valve that helps you deal with them efficiently.

Thanks to Black Duck for the Rookie of the Year honor, and thanks to the Moai developer community for your regular input and contributions that have helped make Moai into something great.

A new moai-beta and binary release of the Moai SDK is now available (details below the fold). This release includes a handful of bug fixes, some reorganization of the SDK binaries and samples hosts, support for building Android for armeabi, armeabi-v7a (default) or both and some community-contributed documentation fixes. As usual, see the git log for detailed release notes.

- Added method chaining on MOAIActions (thanks, Pygy!)
- Fixed a bug in ZipFS affecting un-zipaligned APKs (and therefore, debugging in Eclipse)
- Fixed build warnings in Xcode
- Allow Android builds to target armeabi, armeabi-v7a (default) or both
- Rename ‘android’ top-level source directory to ‘ant’ for consistency with other SDK organization
- Rename ‘nacl’ top-level source directory to ‘scons’ for consistency with other SDK organization
- Rename ‘android’ sample host directory to ‘ant’ for consistency with other SDK organization
- Rename ‘nacl’ sample host directory to ‘chrome’ for consistency with other SDK organization
- Rename ‘xcode-ios’ sample host directory to ‘xcode/ios’ for consistency with other SDK organization
- Rename ‘xcode-osx’ sample host directory to ‘xcode/osx’ for consistency with other SDK organization
- Reorganize the ‘scons’ top-level source directory to more closely match other build organizations
- Added ‘sdk-setup’ scripts to ‘ant’ (Android) and ‘chrome’ (Native Client) sample hosts to copy necessary resources
- A handful of documentation fixes (thanks again, Pygy!)

A new moai-beta and binary release of the Moai SDK is now available (details below the fold). This release includes improvements and cleanup across the board, introduces a sample host for Moai use in Chrome Native Client and brings a handful of Android enhancements as well. As usual, see the git log for detailed release notes.

- Added luafilesystem to luaext; enabled in glut host
- Added moaigui to samples/contrib folder
- Added proof-of-concept implementation of Moai class extension model (extend () method)
- Added attributes for box2D objects; can now be linked and animated (thank you, Byron!)
- Many fixes to MOAIBox2DWheel joint binding and coordinate converstions (thank you, Thomas!)
- Updated sample for TexturePacker (thanks, Paul!)
- Added blocking (synchronous) option for MOAIHttpTask
- Fixed cycle handling in dep graph update
- Fixed crash bug in propListForPoint
- Fixed gl-vertexBuffer sample to work with default mesh shader
- Moved Moai http and data IO event handler to top of sim loop (callbacks now execute *before* action manager update)
- Moved uslsext into uslscore; got rid of some unused source files
- MOAIProp2D – Added expandForSort flag to enable axis sorting of individual map tiles
- MOAILayer2D – Added additional sort modes
- MOAIThread – renamed to MOAICoroutine (left alias in place for back compat)
- MOAIImage – fixed detection of JPEG images (thanks, Joshua!)
- MOAIShader – added UNIFORM_PEN_COLOR (bind global pen color to shader)
- MOAIMesh – added default shader
- MOAIGrid – support for ‘fancy’ tile shapes (hex, diamond, oblique)
- MOAITextBox – added flag to reverse LTR order of characters
- MOAIPathFinder – proof-of-concept implementation of A* pathfinding
- MOAIWheelSensor – wheel input sensor
- zipfs – fixed crashes on entry reading and seek
- Android – host mounts APK as vfs (no more unpacking to SD card)
- Android – imroved handling of back button
- Android – min SDK is now API level-8 (Froyo, 2.2)
- Android – allow project name to differ from app name
- Android – expose proper app name through MOAIEnvironment
- Android – improved multi-touch performance and input stability
- Android – added keystore and alias password support
- Android – added simple support for sharing
- Android – added openURL to host
- Untz – many fixes and improvements (all platforms)
- iOS – added an AKU call for rotation event
- Tapjoy – updated to 8.1.5
- Native Client – added a sample host

 

YMobe Ltd. led by Moai community member ugo.landini has created a new high level framework for Moai games called RapaNui.

RapaNui (which was also the name of the indigenous people of Easter Island) gives game developers an open-source, ready-to-use, high-level framework for writing games with far fewer lines of code.

YMobe put together a very exciting 2 minute video of the RapaNui sample games and the code behind them, which we’ve re-embedded here because it’s just so good.

{youtube}SP36ydtUj7o{/youtube}

wolftossBanner 750

The Zipline Games Studio just released their first game, Wolf Toss, simultaneously to iOS, Android, and Chrome (via NaCl).  The whole game was written in Lua using Moai by a small studio team with 2 programmers.  With three worlds to explore and 144 different levels to play across the various difficulty settings, the studio team was working hard on level design, game balance, and game art right up to release day.

We’ll get an interview posted soon, but right now the news sites are covering that and we’re just thrilled that “released for half a billion devices” and “made with Moai with 2 programmers” are the new standard for broad reach mobile games.

Check out the Wolf Toss Trailer Video and the Game page.  And download and play the game!

Moai Developers: hopefully you’ve all noticed that over the last several weeks the forums have been more active than ever and the Moai platform updates are coming out even more frequently than before.  There are pretty simple reasons behind this: more and more developers are starting new game projects with Moai and we’ve expanded our platform team to keep up with the demand.

Notable stats:

  • There are now over 3000 Moai developers, and hundreds more are signing up each week
  • Developers are actively working on new titles with Moai at several of the biggest and most well known game companies on Earth
  • We’ve released 4 updates to Moai in the last 5 weeks, and we’re looking forward to announcing the end of our Beta period fairly soon

Please keep asking questions, sending us your feedback, asking for the features you’d like to see and contributing to the Moai development community.  You are a big part of what makes Moai great.

Oh, and stay tuned for news about Zipline’s first in-house game release.

They are on fire, having pulled off iOS and Android (Kindle) releases less than two weeks apart.

Wow, congrats again to Go Go Kiddo for their release on the Amazon App Store and Kindle Fire!  They are on fire, having pulled off iOS and Android (Kindle) releases less than two weeks apart.  Please join us in wishing them a ton of success this holiday season!

If you want to download for iPhone or iPad, this is the link you need.

Go Go Kiddo is out for iOS and is the first educational title based on Moai.  One of the big reasons the Go Go Kiddo team chose Moai, was to add Flash video support in to mix and match their preset content with interactive elements.  Since Moai is open source, this was straightforward for them to do.

GoGoKiddo screen

Branded as “Vitamin Fortified Fun,” Go Go Kiddo is packed with interesting games, great cartoon video content, a giant island to explore and quite a lot of learning along the way.  A very polished, content-rich game that my own 3-year-old son can’t put down.

Kudos to the Go Go Kiddo team!  We hope to have an dev team interview posted before too long.

 

Join the forum discussion on this post

This release includes a slew of updates and fixes and exposes Google In-App Billing support for Android and basic Twitter support for iPhone.

 

A new moai-beta and binary release of the Moai SDK is now available. This release includes a slew of updates and fixes and exposes Google In-App Billing support for Android and basic Twitter support for iPhone. As usual, details below the fold and see the git log for detailed release notes.

- MOAITextBox – exposed set line spacing
- MOAILayer2D – added user configurable sort
- MOAITexture – CPU based mipmap generation (previously using OpenGL’s)
- MOAITexture – changed default wrap mode to GL_CLAMP_TO_EDGE
- MOAIImage – fixed USColor alpha-only color conversion bug
- USMemStream – fixed crash bug (crash when writing 0 bytes)
- MOAIGfxDevice – moved setClearColor, setClearDepth from MOAISim
- MOAIGfxDevice – can set MOAIColor as clear color
- MOAIColor – added additive color inheritance attribute
- MOAIPartitionCell – gather props for point now checks local bounds as well as global
- MOAIXmlParser – fixed crash on file open
- MOAIWebView – improved alignment
- MOAISim – added ‘long delay’ flag and threshold for automatically handling long loads; etc.
- untz – lowered streaming buffer size for better memory performance
- untz – improved memory use; release temporary buffers used during audio decoding
- Basic Twitter API support exposed (iPhone)
- Google In-App Billing support exposed (Android) – see samples/android/app-billing

A new moai-beta and binary release of the Moai SDK is now available (details below the fold). This release includes a few additional Lua extensions and fixes a crash in the Android host. As usual, see the git log for detailed release notes.

- Add Lua callbacks to determine the success or failure of a Tweet (iPhone)
- Add Lua callbacks for connectivity change notifications (Android & iPhone)
- Add a Lua callback to trap ‘back’ button presses (Android)
- Add Lua methods for simple AlertDialog creation and response (Android)

There’s a new moai-beta and binary SDK with NaCl Binaries and an updated Box2D physics engine. Details after the fold…

The big news with this update is the inclusion of the Native Client binaries for Chrome, and the physics engine has been updated to Box2D 2.2.1 (kindly updated and submitted by Byron Wright). We also had some other great contributions and fixes from the community, so thanks to everyone who helped!

There are myriad other fixes and improvements, including an overhaul of the traits system. As usual, see our git log for the detailed release notes.  Release summary:

- MOAIFont loadFromTTF – dpi param now optional
- MOAIFont loadFromTTF – now also loads OTF (it’s a secret!)
- MOAIFont, MOAITextBox – exposed additional metrics
- MOAIFont – fixed serialization bugs (uninitialized values)
- Box2D – converted sleep constants to world members
- Box2D – exposed contact normal through arbiter
- Box2D – updated to Box2D 2.2.1 and new features (thank you, Byron Wright!)
- MOAICameraFitter2D – improved functionality; added fitting modes
- MOAIImage – added resize, copyRect (with scaling and filtering)
- MOAIJsonParser – fixed encode bug (nested arrays exported improperly)
- MOAILayerBridge2D – updated/fixed and added an example
- MOAIShader – improved uniform binding (now uses attribute system)
- MOAIEaseDriver – improved to allow targeted attributes (i.e. chasing)
- MOAISerializer – support for custom fields on Lua objects
- MOAITransform – added pivot point
- Overhaul of traits system (trait inheritance now handled by attributes system)
- Integration with TLSF memory manager (via zipfs)
- Improved substitution model for stdio, stlib via header injection (all libraries)
- Reverted to ‘pristine’ Lua-5.1.3 (modifications no longer due to header injection)
- Code organization, refactor: moved all Lua binding, contexts, lifecycle code into moaicore
- Added Tapjoy SDK, binaries and video support (iOS)
- Improved Android build and host
- Added Lua contributions from community (cpRect, ParticleHelper – thanks to Andrew Scott and Tommo Zhou!)
- Lots of little bug fixes and API tweaks; integrated bug fixes from community

There's a new SDK available that includes a new tool for memory optimization, a hardened Untz sound system and numerous other fixes and improvements. More after the fold.

Developer Andreas Löw's TexturePacker is a tool for automatically combining image files into sprite sheets and generating reference files that detail where each image is on the sheet, for easy integration into your game projects. The latest version of TexturePacker supports the creation of .lua files for use with the Moai platform.

The first browser platform for Moai is here. Moai SDK now includes support for Google Chrome via the Native Client SDK. We've been having a good bit of fun these last two weeks posting test releases of Moai games to the Chrome Web Store and playing them in the browser. The games run fast and smooth - Native Client is a terrific option for developers looking to broaden the distribution of their titles without making gameplay compromises.