Physics joints and faster rendering for version 3.7
Posted on July 17th, 2017 by Gio
A new version of WADE, lots of new things to play with. And some very nice rendering optimizations. Here's what's new.


If you're making a physics based game, quite often you need more than some simple shapes bouncing around. Sometimes you need to connect objects with ropes, pulleys, springs and so on.

Well, now you can do just that, all from the comfort of the WADE editor (though you can do this in code too if you feel so inclined).

In the editor, simply click the button to add physics to your project (the one that looks like this ), and you'll notice a new "Add Joint" button on the left-hand side. This allows you to connect two Physics Objects with several types of joints. Just make sure that both objects have the PhysicsObject behavior, or joints won't actually do anything.

If you like doing things in code, we've added quite a few new functions to wade.physics, such as wade.physics.addJoint, to create, manipulate and remove joints. The wade.physics.addJoint function returns a joint object that exposes some public parameters and functions that you can use.

A more powerful match-3 editor

One of the most popular features of WADE is its easy-to-use match-3 editor. We've improved it quite a bit for this version - you can now write code to handle events such as onItemRemoved, onMatch and so on.

In fact we've added so many things to it that we've made a separate blog post with all the details.

Faster WebGL rendering

Our WebGL renderer was pretty fast already, but we were using a separate WebGL context per layer. This allowed us to easily mix and match canvas and WebGL layers, but it also meant that, quite often, there was a noticeable performance hit on games that used several WebGL layers, due to the constant context switching.

In the new version of WADE, the renderer does some pretty clever things under the hood - if it detects two contiguous WebGL layers, it merges them into one single context. Each layer still gets its own separate render target, so you can still have independent post process effects for each layer. However, it is all much faster - no context switching, and shared resources among different layers!

Better code editing tools

Another thing we've improved is the way you can write in the editor - when you have edited more than one file (or SceneObject function), you can use ALT-C and ALT-SHIFT-C to shift to a recent code window. It's a simple thing, but it can save you a lot of time.

A new IsoActionCharacter behavior

Wade isometric has always been a good choice for strategy or adventure games, where you click a tile and want your character(s) to move there. But what about action games? You know, where you control your character with a keyboard or gamepad, and it can freely move everywhere around the isometric map, taking into account collision and steep slopes?

That's what you can do now - simply add the IsoActionCharacter behavior to your isometric objects and they're ready to go.

And lots more

Not just bug fixes (of which there are 17). We've also been listening to your feedback and have added many of the little things you've been asking for. As a result we have an improved API, a nicer editor and better documentation.

Be sure to check the change log if you want to know everything that's changed.

Post a Comment
Add Attachment
Submit Comment
Please Login to Post a Comment