Goo Create is a WebGL based game engine with a full editing environment. They just released an update that enables live editing, which enables you to change the values and code of your game while the game is running, enabling a fast development, testing and debugging cycle. You can see Live editing in action in this video:
There are several other new features in this update including a new JSON data type enabling you to drop in and use JSON files in your project. Rigid Body physic objects can now have their position or rotation frozen along any axis, useful for constraining objects in a 2D game. You can now duplicate the states of existing objects in the behavior editor. There is now a preview of the selected camera, making camera placement easier, they also added fixedUpdate and lateUpdate callbacks to script objects enabling finer control over the lifecycle of your scripts.
There were also several fixes and improvements:
Other improvements & engine updates
- Exported ZIP files are now more conveniently named, for example
- Webpage export now includes the engine JS files.
- The engine now uses commonjs modules instead of AMD. This way you can use it “natively” in Node.js for your multiplayer games, or use it with modern web development tools like webpack. Just
npm install goojs!
- Tween was removed from the engine. If you still want to use Tween, use this library or update your script to use the new Easing class instead.
- If you were injecting APIs on the entity instances from components, and the method already was taken, now you get an error instead of a warning.
- The transform components now update lazily. The new way of using them is via
.getWorldTranslation(), etc. See the ScriptingTransforms tutorial or the TransformComponent docs.
- We removed doppler factor support because it’s being dropped from the WebAudio API.
- Added a fixed update loop, mainly for physics but also for other things that need frame rate independece.
ctx.playTime is now updated before running
You can read more about this release in this blog post.