I have been following the Loom Engine since it was first publicly released. I even did a five part guided tour of Loom Engine functionality, so this is one that I’ve been keeping an eye on. One of the major aspects of Loom was it was layered over top of Cocos2D-x, for better or worse.
(Sadly, not that Loom)
In this release, that has has changed.
Loom Engine
The Loom Engine saw a huge amount of work this sprint. You will notice substantial gains in performance and stability.
We shifted to the new bgfx-based renderer this sprint, improving Loom2D performance substantially and setting the stage to support DirectX and other graphics APIs. Cocos2DX is now unsupported.
We have extended Loom2D with some new features and filled in some missing features:
* You can specify z-sorting mode to have C++ sort large numbers of sprites for you. This is demonstrated in IsoVille.
*center()
method on DisplayObject to set the pivot point to the center of the DO.
* Keyboard input now works.
* Touch handling is much better.
* TMX loading/rendering works (now implemented in LS).
*loom2d.animation
package is ported.
* Text rendering/text input works!
* Hierarchical alpha works.All package names are lower case now. If you run a sprint27 project under sprint28 you will see a lot of errors due to this; we recommend doing a replace-in-files to replace all your
import Loom2D.Display.
withimport loom2d.display.
and so on – this will get you up and running within minutes. Don’t do it by hand unless you like menial labor! 🙂Loom projects now inherit from
loom.Application
and do not require a main.ls any longer.Cocos2DApplication
andCocos2DGame
andApplication
are all combined now.Feathers is now a standard Loom library and available to use in your projects!
The profiler works, and also reports a lot of object allocation statistics. Use
profilerEnable
andprofilerDump
in the Loom console to start it and have it report results.Porting Feathers (50,000 lines of AS3 code) drove major improvements to LoomScript. Wins include:
*is
/as
/instanceof
now are compliant with AS3/JS standards.
* Allow{foo: "bar"}
style Dictionary literals.
* AddedNaN
andisNaN
, and some useful constants onSystem.Number
.
* Convenience for porting:try
/catch
/finally
parse, but thecatch
/finally
blocks are never run.throw
triggers aDebug.assert
. Vararg type specification is now allowed (but does nothing).new <String>[]
syntax is now supported for initializingVector
s.
*Array
is now an alias forVector.<Object>
.
* Fixed crashes related to printing too-long strings withtrace()
.
*Vector.push()
is now much more efficient for pushing a single item.
* You may reference properties viasuper
, ie,super.x
.
*trim
/split
work properly now, and are much faster.
* AddedNumber.fromString
.
* Added a Base64 utility class.
* ByteArray gainsuncompress
and theposition
property.
*Stage
gains a method to dump the DisplayObject hierarchy; it also has a bunch of nice new methods for dealing with scaling/native size.Loom CLI
Loom CLI’s
loom new
template was updated to use the new Loom2D APIs as well as package naming convention. Also the default Curse Font color was changed to Blue, as the white font tended to disappear on the default background.We added new commands:
*loom gdb
Launches the current Loom project under gdb to help debug runtime crashes.
*loom gdb compile
Compiles the current Loom project under gdb to help debug compiler crashes.
*loom android release
Prepares a release-ready APK! It has options to set the keystore and signing settings.
*loom init
Set up the current directory to be a Loom project. Mostly useful for tool developers.
*loom build android --unsigned
was removedYou can add –verbose to any CLI command to get more log output.
CLI now explains why it asking for your system password to update on OSX.
So, Cocos2D is out and a custom C++ renderer is in. Additionally they added support for the feathers UI library as well as TMX loading/rendering. There are other changes as well as numerous bug fixes, mentioned in the release post. Loom is no longer completely free, although they offer a free option and quite reasonable pricing. Of course, if you signed up when I first linked it, it’s still free for you.
News Programming