PlayCanvas Scripts 2.0

We’ve just launched “Scripts 2.0”, a complete re-design and re-implementation of the scripting system for PlayCanvas applications. Our goals were to fix an array of small irritations that had built up over using the PlayCanvas scripting for the last few years and take the opportunity to clean up the interface and simplify the creation and usage of scripts.

Here’s a list of the improvements you can enjoy with the new script system:

  • rapid iteration by hot-swapping code at run-time
  • real-time collaborative code editing
  • script concatenation and minification for publishing
  • better error handling and fault tolerance
  • full folder support for script assets
  • multiple script definitions in a single file
  • simpler interface and boilerplate

Live hot-swapping

If you choose to, you can now allow your scripts to update all running instances of your application. We dynamically reload scripts after they change. By implementing a single swap() function, you can transfer state into your new script instance and carry on as if nothing had happen. Except you’ve got all your new code!

Real-time collaborative code editing

Now that scripts are first-class assets, we now support real-time collaboration in the Code Editor. This means you’re no longer in danger overwriting other people’s code. In fact, you can see it appear as they type.

To help support this, we’ve also improved the error handling and fault tolerance of scripts while they’re running. This means bad scripts won’t bring your game screeching to a halt, preventing everyone from working.

Script Concatenation

With the new script format we now support multiple script definitions in a single JavaScript file. We’ve added the option to concatenate and minify all your scripts into one file when you publish. This will save you many HTTP requests and reduces the size of your application, making for a much quicker start up time.

How do you find these new scripts?

Scripts 2.0 is live right now and any new projects you create will have the new script system enabled. However, if you’re not quite ready to move to the new system or you need some of the features that are currently only available with the old system, you can still create projects using the “Legacy Script System”. Look for the option in the new project dialog.

If you haven’t tried PlayCanvas before:

SIGN UP TODAY

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.

… 

Runtime Lightmap Generation for WebGL

For many years, lightmapping has been the mainstay of achieving low cost yet realistic lighting. However, it’s rarely seen in WebGL applications because generating lightmaps requires third-party modelling applications with complex workflows in order to bake out textures.

All that changes today as we introduce Runtime Lightmap Generation into the PlayCanvas Engine.

… 

Easy Cardboard VR in WebGL

Today we’ve launched a new library and developer tutorial and sample project showing you how to implement your own Cardboard VR web applications using PlayCanvas.

cardboard-vr

Google’s Cardboard VR is an excellent low cost device for experiencing virtual reality via your phone and a simple head mounted display. At PlayCanvas we immediately saw the benefit of using WebGL to display 3D VR experiences right in your browser. With WebGL VR you can distribute VR content quickly and easily to every user with a mobile web browser. With nothing to install there is no barrier to entry.

The PlayCanvas WebVR plugin makes it simple to add support for VR to your application. Simply add a couple of javascript files to your PlayCanvas project and add the VR Camera script to your camera entity. That’s all it takes to add VR support to your project

Our demonstration project shows you a example of a simple interactive VR scene that you can use to learn.

On a mobile device just tap the view above to enable the Cardboard VR mode. Our tutorial will walk you through how to add VR to your projects.

This is the start of VR support in PlayCanvas and we’ll be working to integrate Cardboard VR and WebVR closer into the editor as they get more popular.

PLAYHACK with PlayJam: Winners

It’s finally over. The games were completed a few weeks ago and 6 judges have toiled over the games and struggled to grade and rate them. But we have a decision and boy it was close…

Over the course of 6 weeks, over 150 teams forked our original project and worked their little gamedev butts off to finish the games in time. In the end we had over 30 playable entries – more than enough to keep our judges busy.

pj_main_horiz_onwhite

First, we want to send a big Thank You to PlayJam our partner and sponsor for this PLAYHACK.

PlayJam is a leading game publisher from the UK currently launching a new publishing/gaming platform. Winners of this PLAYHACK automatically qualify for launch and publication on this new platform and PlayJam representatives will be in touch. PlayJam is constantly on the look out for new and exciting HTML5 games, so please don’t hesitate to contact them for details, funding or even just advice. (Steve.Horne@PlayJam.com).

Now, lets get to the results!

First Place – £2000

orbital-survivors

Orbital Survival

Congratulations to el-pepi who takes the grand prize with this fast paced orbital shooter. Defend your tiny moon from incoming UFOs and slimy blobs using only the upgradable gun on your robot arm. There’s nothing more terrifying than seeing a rogue 5-shot-burst looping over the horizon back towards you. Our judges said: “Simple but fun and keeps you coming back for more”

Second Place – £1000

blog-image

Galaxies: Combat

Congrats to dstalk and maungers who take (a very close) second place. An arena style shoot-em-up. Take on wave after wave of increasingly tough spaceships and earn money to upgrade your UFO with new weapons. Displaying impressive polish from the explosions to the upgrade tree and the UI. Our judges said: “nice physics, intuitive controls”.

Third Place – £500

blog-image

Space Pirates

An impressive amount of work in 6 weeks by whydoidoit nabbed him third place. Bomberman meets Pac-man in this spherical dot collector game. Oh and networked multiplayer too! Our judges said: “interesting gameplay mix, nice use of the engine”

Special Mentions

A few special mentions to games that caught the judges attention but didn’t quite make the top three. Imperial’s Secret Plan is a survival horror game. Our judges said: “Very nice idea – a superbly atmospheric puzzle adventure game.”. Into Deep Space is gravity slingshot game. Our judges said: “Beautiful graphics, flawed by some technical shortcomings”. Robo Racer is a classic racing game. Our judges said: “Good solid entry”.

Play All Entries

We’ve put together a special page which has every “game” that entered.

Go and try them out

Don’t forget to show the creators some love and star the projects you like!

Moving playcanv.as to HTTPS

tanx

TANX running on HTTPS

From today we now support HTTPS URLs on all published applications. So anytime you see a link to something on http://playcanv.as you can also use https://playcanv.as. After a short period of testing we’ll be changing all default links to point to the HTTPS versions of the applications, though we will keep support for non-secure HTTP versions for the short term to ensure compatibility for applications that require a non-secure page.

There are many reasons to use a secure HTTPS page, especially if you are doing transactions or taking money. But primarily for you as a PlayCanvas developer we’re supporting HTTPS for two reasons.

Embedding

With an HTTPS page you can now embed the your PlayCanvas applications in any other page that requires a secure URL. Of note, this includes Facebook Canvas games, so you can now publish your PlayCanvas game directly to Facebook.

Secure Powerful Features

Major browsers such as Chrome and Firefox are currently in the process of securing all “powerful features”. Which means only allowing access to these features on secure pages. These features include:

  • Device Motion
  • Device Orientation
  • Encrypted Media Extensions
  • Fullscreen API (including pointer lock)
  • Geolocation
  • getUserMedia (webcam access)

Soon it won’t be possible to access these Javascript APIs without using a secure HTTPS page. In advance of this time, we want to make sure your hosted PlayCanvas applications can support all these features.

What this means for you

As a developer our transition to HTTPS should be seamless and you shouldn’t notice. Though one area to watch out for is that an HTTPS page is not able to load resources from a non-secure page. So if you are loading fonts or images from other servers that are insecure they may be blocked (depending on exactly how you load them) when running your PlayCanvas application from HTTPS. The solution is to make sure all external resources are loaded via HTTPS.

 

New Publishing Features

Today we’ve launched an update to streamline the way you publish your applications and to give your collaborators more information about what is changing.

First big change, the publishing process is now right there next to you in the Editor.  Look for the new publish button in your toolbar.Editor 3

Second big change, we’ve added some additional properties when you publish a new build. First, the name and image can be different to the name and image defined in the project. Second, you can give each build a version string so that you can identify which application is which. Finally you can add release notes to give yourself some more information about what has changed in the latest version.

blog-post-publish

We hope you enjoy the new features. Be sure to let us know in the forum if you have any comments or suggestions.