Yes, PlayCanvas runs in mobile Safari and Chrome for Android. You can also wrap your PlayCanvas app as a native mobile app (APK or IPA) for shipping to the App Store or Google Play. To do this, we recommend taking a look at Ludei’s Cocoon or Intel’s XDK.
HTML5 APIs are very limited in what they can detect and report in terms of the hardware on which an app is running. Therefore, the PlayCanvas engine does not have built-in functionality for automatically scaling assets and effects based on a detected hardware configuration.
Instead, it is left to the developer to either:
- Expose options to the end user that allows different effects and features to be toggled or scaled. For example, a check box to enable or disable shadow rendering.
- Poll the time it takes to render a frame and iteratively enable or disable engine features to maintain a steady frame rate.
Internally, PlayCanvas has been heavily optimized to perform as well as possible on a huge variety of hardware configurations. For example, WebGL exposes extensions which can be utilized to obtain better performance on certain hardware (such as compressed texture support).
In order to run the PlayCanvas tools, you simply need to have a supported web browser installed. Ultimately, the hardware requirements will largely depend on the scope of your game. A small social game will clearly require less advanced hardware than an asset-heavy high fidelity action shooter game, for example.
No. PlayCanvas can be used to develop and publish any interactive 3D web content. However, our focus is on game development so when we talk about PlayCanvas, it’s normally in the context of games. But if you want to build an architectural walk-through, a simulation, a visualisation, or a 3D advertisement, say, then go right ahead.
PlayCanvas is a genre-agnostic game engine. It is designed to handle any type of game you care to think of. If there is an engine feature required by your game that does not exist in PlayCanvas, you should be able to extend PlayCanvas yourself and customize it to your needs. Indeed, the intention is to encourage developers to develop and share these extensions to our engine.
Yes, in that it is possible to restrict your game entities to only move in 2 dimensions. Additionally, PlayCanvas exposes a low level graphics API that makes it easy to dispatch 2D primitives (such as sprites). However, our principle focus right now is 3D, but if you want to target 2D, get in touch and we can advise you on the best way to proceed based on the design for your game.
Yes, absolutely! Simply set up an orthographic camera in PlayCanvas Designer and orient it to an elevated 45 degree angle. A sprite-based isometric game could be radically more beautiful with hardware accelerated 3D graphics.
During our closed beta, the PlayCanvas development environment will be free and unrestricted for all. When the closed beta ends, the vast majority of users will be able to continue to use PlayCanvas at no cost within some generous limitations. Pro accounts will be available on a subscription basis at a nominal monthly cost. These accounts will relax certain restrictions and unlock additional power-user oriented features in the interface.
There are a number of options for publishing your game. The easiest is to publish to PlayCanvas’ servers (https://playcanv.as
). It is possible to embed your PlayCanvas-hosted app in your own site via an iframe as you would a YouTube video, for example. However, if you hold a Personal or Organization account, you are able to download apps and host the content from your own server.
Social networking platforms such as Facebook and Google+ are popular destinations for the publishing of games. The Chrome Web Store is another option for selling access to premium content in your game. To target mobile app stores like Google Play and the Apple App Store, you can package your PlayCanvas app at a native application via a third party solution.
Currently, PlayCanvas requires an internet connection to operate. However, there are times when you may be without an internet connection. In those circumstances, it is still possible to continue working on your game. Simply export it to a ZIP file and download to a personal computer. Unzip the contents below the document root of a local HTTP server such as Apache and you will be able to load the game from http://localhost. Then you can edit scripts locally. It’s a little less convenient to edit the definitions of game entities stored in the games data.js file but it’s possible since this file is in human-readable JSON format.
Not out of the box. We will add support for local storage of PlayCanvas app files in the near future though. In the meantime, it is perfectly possible to export and download a game from PlayCanvas and edit it to include a manifest and look in the cache for local files before downloading over HTTP. Contact us for assistance if this is something that is a requirement for your game.
PlayCanvas has an API for handling various types of input device. These cover mice, keyboards, accelerometers and gamepad controllers. Game controller support in browsers is relatively new: it is in Chrome stable and must be enabled on a flag, and is soon to appear in Firefox Nightly.
The Audio API in the PlayCanvas Engine is designed to expose features that are available on all browsers. We support 3D spatial audio
which, in conjunction with the PlayCanvas Designer makes it easy for sound designers to add audio and music to a game. In browsers which support the Web Audio API we feature full stereo positional audio, in other browsers features degrade gracefully to simple volume-based positional audio.
relies on Box2DWeb to handle character movement.
One of the key pillars of PlayCanvas is how it enables teams of developers to work seamlessly together on the same project. A development team can be spread around the world and still collaborate in realtime on the same game. Everybody can see the latest state of the game and try out new ideas together. Once you’ve tried it, you’ll find it hard to go back to making games any other way.
You are free to choose any code editor you like. Your game scripts can be debugged and profiled in the browser itself. Chrome has Developer Tools, Firefox has Firebug and Safari has Web Inspector.
You can import 3D models from Blender, Autodesk 3ds Max and Maya. PlayCanvas can handle the following industry standard file formats: FBX, DAE (COLLADA) and OBJ. Audio assets can be uploaded directly in MP3, WAV and OGG format.
It is indeed true that Chrome, Firefox and Opera refuse to initialize WebGL if certain graphics card drivers are detected. These drivers tend to be considered old and insecure – and as we all know, browser vendors are extremely mindful about security. End users can easily update their graphics driver to remedy this problem.
Indeed it can! These apps embed a WebView which can load web content. And since PlayCanvas content is essentially just a web page, it will load and play normally.