Refinements aplenty for our WebGL Editor

You probably saw this week’s big announcement about our seamless integration with WebVR. But while WebVR is getting a lot of attention, we still care about the small details that can make you even more productive. We’ve spent the week adding some simple yet useful tweaks to the Editor.

Previous Selection Button

We’ve added a button to the top right of the Inspector panel that allows you to step back through the selection history. There’s also a tooltip that shows clearly what the previous selection was. So if you’ve selected a model, then a material, and then a texture, you can now bubble back up to the model quickly and easily.

selection-back

Updated Physics Engine

We have updated PlayCanvas’ build of Ammo.js to the very latest version. This update benefits from 2 years of Emscripten improvements and exposes much more of the Bullet API. So if you are feeling adventurous, you can delve into the parts of Ammo that PlayCanvas does not expose and try some more advanced physics effects. For example, soft body physics. Or maybe utilize constraints for things like ragdolls, as shown below:

What to check out the project above? It’s here.

Miscellaneous Improvements
  • You can search for an asset by ID in the Assets panel
  • Edit boxes in the Inspector panel now lose focus on hitting ENTER
  • Read-only collaborators can now download assets from projects
  • CTRL-A now correctly ‘selects all’ in the Assets panel
  • A material’s ‘reflectivity’ property can now exceed 1
  • F2 (or ‘n’) now renames a selected asset or entity
  • Page Up/Down move the Editor camera up and down

We hope you like these little tweaks. We do love to make your lives easier!

WebGL Texture Compression Made Easy

Big news! PlayCanvas is excited to introduce easy texture compression, enabling you to build bigger and better WebGL apps.

Today, the vast majority of WebGL developers load textures from JPG and PNG images. Unfortunately, while these formats compress well for transmission (especially JPG), they occupy a great deal of video memory when passed to WebGL. For example, let’s consider this image of the Earth:

… 

Miniclip Launches Their First PlayCanvas Game

PlayCanvas is proud to announce that browser-gaming giant Miniclip has published their first PlayCanvas-powered game: Virtual Voodoo.

Virtual Voodoo is designed to get you in the mood for a spooky Halloween. Make the poor Voodoo doll’s life a misery with a dastardly selection of spells, curses and implements of pain! You can even customize the doll with different clothing and accessories.

Jamie Cason, Executive Producer at Miniclip said:

We’re really excited by PlayCanvas technology and the promise that it holds for the future of Open Web Games. It is currently the best toolchain and engine for WebGL that we’ve seen and Virtual Voodoo represents the first of, what we hope to be, a series of successful PlayCanvas-powered Miniclip titles.

Using PlayCanvas to create new games is a no-brainer for Miniclip. Browser plugins are gradually being phased out of the browser ecosystem and HTML5/WebGL are the technologies browser game developers are moving to. PlayCanvas is the only professional IDE for building lightweight HTML5/WebGL games that have incredibly short load times. Virtual Voodoo is playable after loading only 4MB and loads in seconds. This means more players end up playing the game and Miniclip achieves better retention.

Look out for more PlayCanvas-games from Miniclip in the future. But for now, why not embrace your dark side and PLAY VIRTUAL VOOODOO NOW!

PlayCanvas REST API

api

Today we’re launching the first version of the PlayCanvas REST API.

The REST API is available to all Organization account holders and allows developers to automate processes to help them with their development. For example, you can use the API to create a daily build of your application and download it via a build server. In the future we’ll be expanding the API with additional features like access to assets and more.

You can read more details about the API in the documentation.

We’d love to hear your thoughts on how you are using the API and what you’d like to see in the future. Let us know on our forum.

PlayCanvas versus Unreal WebGL

Our previous article comparing PlayCanvas with Unity’s WebGL exporter certainly got folks talking. One of the questions that came up in the aftermath was “OK, but what about Unreal’s WebGL exporter?”. Unreal, like Unity, relies on Emscripten to port the native codebase to JavaScript. So it would be reasonable to expect Unreal to suffer from the same issues as Unity: large download sizes, long load times and poor runtime performance.

… 

Getting started with WebVR

helper

Did you hear? VR is BIG! But what is bigger than VR? The web, that’s what. What happens when you mix the web and VR?

WebVR is an emerging standard that lets you create 3D virtual experiences on the web and control them using your mobile phone or VR headset. But creating virtual reality is a complex process involving knowledge of WebGL rendering, new input APIs and (at the moment) a constantly changing spec.

That’s why we’ve introduced the VR Starter Kit in PlayCanvas.

… 

Variance Shadow Maps for WebGL and More!

May is drawing to a close and it’s starting to feel like summer here in London. Let’s celebrate with a PlayCanvas Dev Update! We’ve been busy bees, so here’s a rundown of the main changes.

Variance Shadow Maps

The light component now allows you to select a shadow type. In addition to the current PCF Shadow Maps, there are new options for 8-bit, 16-bit and 32-bit Variance Shadow Maps. 8-bit VSM uses a small amount of GPU memory and is guaranteed to work on any device but is lower quality. 32-bit VSM uses a lot of GPU memory and relies on a device’s ability to render to floating point textures but the quality is very good. 32-bit VSM will gracefully fall back to 16-bit and then to 8-bit should the device not provide the required capabilities.

Let’s compare PCF with VSM. First, here’s PCF:

shadows-sm

And here is VSM:

shadows-vsm

The big advantage of VSM is the ability to apply large blur kernels, which would be prohibitively slow with PCF. As you can see, the results are most pleasing!

VSM is still work in progress so expect more updates to land in the engine in the coming weeks.

Reworked Editor Camera Controls

We’ve completely rewritten the controls for the Editor camera in the 3D view. It should be far more intuitive now and also enable you to be more productive. For example, we have changed the behavior of dollying the camera to be based on what the mouse cursor is pointing at. This makes it feel much more similar to Google Maps:

zoom

Easy Asset Inspection in Dev Tools

We’ve made it so your assets are displayed in your browser’s Dev Tools as they are in Editor’s Asset Panel. This makes it much easier to locate, inspect and debug when running your game launched from the Editor.

devtoolsassets

Engine Optimizations

We’ve performed a thorough round of engine optimizations, aimed at speeding up your games, but also to reduce memory allocations to avoid garbage collection stalls. Specifically, we have:

  • Created a special profile build of the engine which is now only used when you run the PlayCanvas Profiler from the Editor. The regular non-profile build has the code that collects all of the timing and statistical information stripped out.
  • Optimized many commonly used functions. Here is a good example.
  • Removed many allocations that used to happen at runtime. Here is a good example.

Other Changes

  • Editor tooltips have been refactored with any missing ones added.
  • Improved reporting of an asset’s references when right clicking it in the Asset Panel.

PlayCanvas Editor Improvements for March

Time for an update from the PlayCanvas development team! Throughout March, you may have noticed some updates to the PlayCanvas Editor. In case, you’ve missed any of them, here’s a run down of what’s new:

Hierarchy Improvements

Nestled at  the top of the hierarchy panel is the new ‘Fuzzy Search’ box. If you’re creating ever bigger projects, it used to be hard to track down specific entities. But now, with the new search functionality, it’s a breeze. Even if you mistype your search term, the Editor will return results which closely match it.

fuzzysearch

We’ve had a few requests for SHIFT-select of entities and also multi-selection reparenting. So both of these are now possible! We’re so good to you!

multiselectreparent
Orthographic Editor Cameras

More and more of you are making 2D games or games that are played out in a 2D arena. As a result, we’ve overhauled the Editor’s orthographic cameras to be far more useable. Camera controls are more intuitive and the gizmos now work as expected.

ortho
Miscellaneous Improvements

  • The profiler has a host of new stats on display to help you tune the performance of your application.
  • 32 and 64 pixel resolutions have been added for shadowmaps.
  • The ‘L’ hotkey has been added to switch between world and local gizmo space.
  • Multi-user editing of document type assets has been improved (HTML/CSS/JSON/Text).

That it for now, but keep on the look out for our next feature update announcement, coming by the end of the week. It’s going to be a big one!