WADE 4.0 beta

Hi all

We are getting close to the long-awaited WADE 4.0 release. It contains A LOT of changes, and although we've tested it as much as possible, there may be things that aren't working quite perfectly.

So I was thinking to give access to it to a few people only for a week or so before releasing it to everybody. It will still be missing some final touches but it's mostly done, so I'm calling it a beta version.

If you want to participate, you'll get access to it starting next week, and you could try it for a bit and report anything that you think is broken.

Anybody wants to help? If so please reply here or PM me.


All 13 Comments

I'm ready, just loaded on the job, so I'll test that I can.


I am relatively new to Wade but sure I can try it. Not sure that as a user I am advanced enough to find any problems, but if you send me a link I will give it a try.


Am I too late? I would like to try the beta too. Just finishing my game, curious to see if it's compatible with the next version...


Hi and thanks for your interest

You are not too late. I am going to send links to the beta version at some point tomorrow (Wednesday 16th)


I am posting the Change Log here and will send a link to the beta version via PM to those who replied or PM'd me.

For any comments or question please use this thread.


What's new in version 4.0

  • A shiny new User Interface for the editor
  • The new Repo Browser lets you browse remote assets that you can drag and drop into your projects
  • Added lots of repos with pre-made objects, behaviors, scripts, tilesets, etc.
  • New tilemap editor
  • You can now open WADE projects from remote URL's
  • New SceneObjectGroup API to perform actions on a set of SceneObjects
  • The editor can now be downloaded and used offline (Win, Mac, Linux versions available)
  • SceneObjects can have a gridType attribute specifying if they are locked to a grid (currently only the isometric grid is supported)
  • As a consequence, isometric objects can now be handled exactly like regular objects
  • Added support for prefabs, to instantiate objects multiple times and edit them from one central location
  • Isometric terrain tiles and tilemap tiles are now prefabs
  • The .its file format is now deprecated and replaced by the more generic .prefab format
  • When editing a SceneObject in the editor, you can apply changes to all instances of that object in the scene
  • wade.getSceneObjects, wade.getObjectsInArea, wade.getObjectsInScreenArea return a SceneObjectGroup instead of an Array
  • SceneObject.getOverlappingObjects returns a SceneObjectGroup instead of an Array
  • Added SceneObject.getBoundingBox() to get an axis-aligned bounding box that contains all the sprites of a scene object
  • Added Sprite.getScreenBoundingBox() and SceneObject.getScreenBoundingBox() to get screen-space bounding boxes
  • The data passed to onMouseDown, onMouseUp, onMouseWheel handlers now includes the state of shift, alt, ctrl and meta keys
  • Timeline events now appear in the debugger under the Timeline folder in the wade.app domain (similar to SceneObjects)
  • The editor supports editing draw modifiers (opacity, mirror, flip, additive) for TextSprites
  • When cloning a SceneObject, the clone is assigned an "instanceOf" property reflecting the name of the source object or prefab
  • When calling SceneObject.toGrid(), all objects in the new grid get a "gridCoordinates" property describing where they are in the grid
  • Added an "anonymous" crossOrigin attribute by default to all images loaded through wade.loadImage
  • When adding a new file to the project, the new file is opened automatically
  • Added wade.getObjectByName() to get an object by name regardless of its type (whether it's a Path, SceneObject, SceneObjectGroup, etc)
  • You can pass an object with x and y fields to Sprite.setSize (or two separate x and y arguments like you used to)
  • Similarly, many functions now accept an object with (x, y) fields as well as two separate x and y arguments
  • You can pass an optional "sorted" parameter to wade.getSpritesInScreenArea
  • Changed the default animation names in IsoActionCharacter to match those used by IsoCharacter
  • The bundle that you get when downloading the wade framework zip now comes with a default app.js file
  • Added icons for audio files and font files in the editor
  • wade.iso.createObject has been deprecated and replaced by wade.iso.addSceneObject
  • wade.iso.deleteObject has been deprecated and replaced by wade.iso.removeSceneObject
  • Removed wade.iso.spawnObjectNearObject()
  • BugFix (B319): The data format of scene objects in saved isometric scenes contains a field called "internal__" that is not supposed to be there
  • BugFix (B320): The tilemap position on the screen doesn't match values retrieved via wade.tilemap.getWorldCoordinates()
  • BugFix (B321): The "start" parameter passed to wade.playAudioSegment doesn't actually change the starting point of the audio source
  • BugFix (B322): Any "end" parameter passed to wade.playAudioSegment causes the sound to stop immediately
  • BugFix (B323): Cached TextSprites can sometimes fail to draw on 2d canvas layers
  • BugFix (B324): On Internet Explorer 11 only one click is detected by the wade.app, subsequent clicks fail to register
  • BugFix (B325): wade.getSpritesInScreenArea() may return incomplete results when multiple layers are involved
  • BugFix (B326): When renaming animations, using an existing animation name even temporarily during the renaming process, breaks the animation data
  • BugFix (B327): Dragging physics fixtures in the behavior editor to rearrange them causes an error
  • BugFix (B328): Games using IsoActionCharacter behaviors cannot be previewed correctly in the editor
  • BugFix (B329): Pressing escape while editing code in the match-3 event editor closes the editor

Hi! Thank for new wade, it look that great work was make

I found something

When you try to add an object to the group, but if there are no free objects in the editor, an error is caused.,

wide_4.0.js:949 Uncaught TypeError: i is not a function
    at HTMLImageElement.n (wide_4.0.js:949)
    at HTMLImageElement.dispatch (jquery-1.9.1.js:3074)
    at HTMLImageElement.elemData.handle (jquery-1.9.1.js:2750)
n @ wide_4.0.js:949
dispatch @ jquery-1.9.1.js:3074
elemData.handle @ jquery-1.9.1.js:2750

This is not significant, but I think that it is worth to put the handler

In General, groups are very useful, but I do not see the scale transformation function, although the editor is free to change the size of the group

And when you change the size of the transformed image only and not text elements, alas, it is clear why, of course, but nevertheless limits the scope

In the editor in General for groups as that is not enough functions - in fact only addition of objects. Of course, it would be convenient to add a path for example

I would like to know what kernel has been improved/changed?


Wow it must have been a lot of work, many improvements!

Only one problem that I noticed so far, in your new video tutorials you mention a "wade introduction" video, and I can see the preview but it is not clickable. Also right at the end, the videos are blank for like half a minute.


Thanks for your feedback


Yes there seems to be a problem when adding objects to a group via the editor interface. I will fix it before releasing the final version. Thanks for pointing it out.

I should have mentioned that you can also select multiple objects (select an object, then hold Ctrl and select another one - if selecting objects from the list on the left panel, you can also ctrl-click and shift-click). This will allow you to create a new group.The SceneObjectGroup API is certainly not finalised, it's just a start. Please let me know which features you would like to see - a function to scale the whole group is a good suggestion.

I have a different plan for Paths, adding them to a group may not be necessary after some new features I'm going to add in version 4.1. The idea is that Paths will be able to inherit their initial values (such as poisition, size, etc) from the values stored in the SceneObject. So no need to "move" a path with the Scene Object, because there will be a way to make tha path start always at the SceneObejct's current position. There's some work to be done for this still, so it will be in version 4.1.


Yes you are right, those videos are still missing annotations and links (and subtitles). I will add them before releasing the final version. And the end of the videos (the blank bits) is where I'm going to add links to other videos and a button to subscribe - again, not finished yet but to be done before release.


For those who are wondering, I'm planning to release the final 4.0 version next Wednesday (May 23rd), so if you encounter any major problems please let me knoe asap so they can be fixed in time.

Thanks everybody for your help.


I think that for the groups most likely need all of functions for 2D transformations. Although I would like even 3d (see Pixi ->examples ->PROJECTION).

I have not seen in the new documentation  the quick access function for  connection/disconnection of the object to the group. I also don't see a feature for quick access to objects within a group. And I think that since a group of objects is an analog of an array, there must be a corresponding function for searching, filtering the elements of the group

Also Gio what about the text in groups - the fact that dinamic (if it change frequently and we cant use TextSprite.cache) text sprites can not be manipulated with" tween " increase/decrease greatly limits the ability to create an effective UI / Ux 


I should have worded it better in the documentation, and I'm going to update the description of SceneObjectGroup now. Let me clarify:

A SceneObjectGroup IS an array. So you can do:

// and all the things you can do with an array

All the wade functions such as wade.removeObjectFromArray(...) will also work with SceneObjectGroups.

However it's an array that has got some extra functions, so you can also do

// and some more functions as documented

In addition, you can also call all of the SceneObject functions on a group. These will be executed for each object in the group.

// and all the things you can do with a SceneObject

Other than resizing the group, what other functions for 2D transformations do you think are missing?

Regarding TextSprites and tweens: yes that is a good point. In reality it only applies to the size of the TextSprite, you can tween everything else (opacity, position, etc). So in practice, the only thing you cannot do is set a TextSprite on a path that changes its size while the text also changes. That is going to be a bit tricky, but I'll try to think if there is something we can do to make that possible.


I played around with the beta version (thx for the link btw), and I have found only some minor problems. Maybe you want to fix them anyway? Here's what I found

- When I create a custom function, it still says "this function is passed a data object", with the details from the previous function that was selected. But it is actually a custom function that is passed no data object

- Same problem that @krumza was having when adding objects to groups

- I had an existing isometric project, and when I upgraded to wade 4, I had to change all the sprite offsets of my iso objects. Not a big deal as I noticed that the new editor lets you drag the whole object (when it's an isometric object) to change offsets for all sprites. Still somewhat inconvenient

But after using this version for a few days I could never go back to the previous version, overall this is much better.


Error when create new blank project - causes unknown/

Progress stopped at middle

Uncaught ReferenceError: fileEntry is not defined
    at f (wide_4.0.js:672)
    at c (wide_4.0.js:673)
f @ wide_4.0.js:672
c @ wide_4.0.js:673

I dont know why, maybe low disk space

yea - it low disk space

also when added 2 animation objects:

[DOM] Found 2 elements with non-unique id #speedInput_0: (More info: https://goo.gl/9p2vKq) <input class=​"smallTextInput" id=​"speedInput_0">​…​</input>​ <input id=​"speedInput_0" class=​"smallFloatInput ui-spinner-input" aria-valuenow=​"5" autocomplete=​"off" role=​"spinbutton" aria-valuemin=​"0">​…​</input>​#shadow-root (user-agent)</input>​




I used Wade 4.0 beta to develop my latest post - no problems to report. The released version up on my site uses 3.8.1 - cheers

Post a reply
Add Attachment
Submit Reply
Login to Reply