This game engine came to my attention yesterday on reddit so I took a bit of time to check it out and it has potential.
First off, it also has a few problems. The installer has absolutely no feedback to say that it installed, no UI, nothing. It left me scratching my head about what was going wrong and in the end everything was working fine behind the scenes. It all ended up being moot though, as I never got the evaluation key I applied for anyway, so I was never able to run the local executables anyway. This is all those teething growing pain issues and no doubt will be resolved in time. My money says my email provider simply rejected their email… it happens. Fortunately we can still get a pretty good look as the IDE runs in the browser as well and their is a demo on their site.
Speaking of which, here it is:
You can run the editor in demo mode by clicking here. Unfortunately you can’t actually create projects this way, but it will give you an idea what SpellJS can do. Otherwise you need a key. There are a couple options here, free, not free and slightly more expensive. Or more specifically:
So basically its free for non-commercial use, or 99 euro per developer if you want to make money selling your game directly. If on the other hand you want to make money via advertising and/or make use of the analytic or cloud features it’s 239 euro per developer. All told, fairly reasonable pricing in my opinion, but they will face the same trouble all other engine companies face… a lot of their competition is free.
Then there is the matter of what platforms are supported:
That’s most of the major platforms covered with Flash support as a fallback for the non-compliant browsers out there. The HTML5 layer is built over WebGL with fallback to Canvas/CSS3 rendering for non-compliant browsers. The Android and iOS publishing is as native applications, not as web apps by the way, which is good as the iOS browser performance is often abysmal while Android is a mixed bag.
Ok, back to SpellJS… the layout is pretty straight forward.
Games are laid out in terms of Scenes. On the left hand side you’ve got the scene graph:
Right click on a scene and select Render Scene and it appears in the Scene view:
Here you can this scene in your game. There are buttons across the top for pausing the scene and switching in and out of development mode. Unfortunately they didn’t seem to work for me, I am not sure if this is a side effect of the editor. SpellJS is supposed to support live editing, allowing you to change your game as you play it.
Across the right hand side is a context sensitive area depending on what you have otherwise selected. This for example is what happens if you select the physics component in Update:
While if you have an entity selected, such as the HighScore, you will see:
This is where you would configure your various entities by setting the properties of attached components, or by adding new components. Much like Unity, you can attach a series of components to your entities and multiple entities to your scene.
So, where the heck does code go? That is the realm of scripts. On the left hand panel, select Library:
And you will see the various assets that make up your game, such as graphics sounds and… scripts.
Here for example is the script showFinish showing in the in IDE editor:
The editor supports code folding, syntax highlighting but unfortunately doesn’t seem to support code completion.
Scripts arent your only option, if you look the various systems that compose the update group, if you right click demo_asteroids.system.shoot and select show for example, the code that composes the system will be shown in the editor.
On other big question is… how is the documentation? Quite good actually. There is a Getting Started guide, a half a dozen tutorials and a fairly comprehensive, if a little sparse, reference guide. One annoyance is, each click opens in a new tab, leading to tons of tabs to be closed.