PlayCanvas is a development environment for building 3D browser games. The toolset itself runs in the browser and is powered by HTML5 and associated APIs. It is specifically designed to support collaborative development, allowing you to build complex 3D environments with co-developers in realtime.
PlayCanvas runs in all major web browsers. Note that Internet Explorer 11 or Edge is required to run PlayCanvas.
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:
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.
Various implementations of physics engines exist in Javascript, such as Box2DWeb (a port of Box2D) and Ammo (a port of Bullet). All can be incorporated into your PlayCanvas game. For example, this PlayCanvas game relies on Box2DWeb to handle character movement.
The engine contains convenient wrappers around the browser’s native HTTP and WebSockets APIs allowing you communicate with a game server. We don’t provide any server-side code with PlayCanvas, however, we have written game servers using Node JS and using Javascript on both the client and server makes for a great development experience.
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.
It is possible to make a simple graphical demo or visualizer without writing any code. If you want to start incorporating game logic and behavior, you will need to have a working knowledge of Javascript. If you are a programmer and want some 3D content for your game, you can either learn to use some of the industry standard 3D packages that PlayCanvas supports (such as Blender, Autodesk Maya or 3ds Max) or turn to any of the online marketplaces for 3D content such as Turbosquid.
Building games in PlayCanvas essentially involves scripting the behaviour of discrete game entities. This scripting is done using JavaScript (although if you’re a cool kid, you might want to use CoffeeScript!). The JavaScript that you write is interpretted directly by the browser, so you are free to chose whether to target ECMAScript 5 or not (although all browsers that support PlayCanvas also support ECMAScript 5).
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.
Head to http://forum.playcanvas.com and ask your question.
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.
Hi. I wanted to created a 3d topographic map and show it in my browser. I understand that I need this process to import topographic data with imagery layers imported from 3ds max , and I know how to do that. The problem is, I wanted to use this map in an Autorun CD/DVD with no internet connection. So I need to ask, Is that still true, that users need internet to see proper projects made by PlayCanvas? Or is there anyway, I can make a local web server and put every file I need in it and then redirect requests to local path and make everything internet free? Is that possible?
Hi Mohsen. No, you can run PlayCanvas projects offline. Check out this page on self-hosting:
http://developer.playcanvas.com/user-manual/publishing/self-hosting/
As you mention, there is the issue that you still need to have a web server serve the project files. This is because we use XHTTPRequests to fetch the data and it’s a security requirement, I believe. Anyway, yes, you could write a little bootstrap executable that sets the CD/DVD root as the file serving root. You can do this with Python for example, with the command:
python -m SimpleHTTPServer 1234
…where 1234 is the port number. Then just open the exported project’s index.html file with http://localhost:1234/index.html
Hope that helps! Also, check out the PlayCanvas Answers site:
http://answers.playcanvas.com/
This kind of question probably belongs there.
Thank You Will. I appreciate it.
I don’t know if everythings supported, but if you start the webbrowser, for this example chrome, with –allow-file-access-from-files , than you can use cross site http requests without the need for a local webserver
Hello, Can I add games as iframe into a website.
Thank you π
Absolutely, yes.
Hi there,
I’m new to playcanvas and i wanted to ask whether after creating a game on playcanvas can I generate its .apk file?
(without using any third party tools)
This is really bugging me, as after creation and completion of the game I don’t want it only to be available on Playcanvas. I want my game to be directly downloadable from google play store. Is there any way to make this happen ?
please reply at your earliest..
Thankyou.
Yes, you can. See this page: http://developer.playcanvas.com/en/user-manual/publishing/xdk/ Or you can use Crosswalk directly, which works just as well.
Hey there
the college im studying at has asked a select number of students to find a game engine to install for us to use for educational and recreational use (and i also would like to get my own copy)
for the assignment i was asked to collect the system requirements for each engine i find.
hopefully it wouldn’t be too much hassle?
information needed ;Processor, RAM, Operating System, Graphics Card?
thank you π ^^
Hi,
Can I create a game by using playcanvas without internet connection?
Thanks.
You can if you use the open source engine stand-alone. But if you want to use the PlayCanvas Editor tool to build content more quickly, you need to be online.
How can I share my game with others? Can it be done by simply sharing a link? How do i do this?
I’m working on a project in school and the teachers need my game on friday π
Yes, when you publish your game you will be given a link to the published version. This is public and you can share it. See more here http://developer.playcanvas.com/en/user-manual/publishing/web/playcanvas-hosting/
So I just published my game, but the game doesn’t start for some reason. The loading bar is full, but the game doesn’t start.
Halp please! π
Hi @Badsberg. Can you take this thread to the forum please? The FAQ section probably isn’t the best place to diagnose these kinds of problems. π
How playcanvas game run inside mobile social media and instant messenger clients like Twitter and WhatsApp.
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.
Hey,i will start to use PlayCanvas,the free version.After I create the game it would only be available on PlayCanvas or I can make it publick for Play Store or something like that?
To make your game available on Google Play (as a native app), you would require a Personal or Organization account, in order to download your game and package it as an APK. See the developer docs on how to do this: http://developer.playcanvas.com/en/user-manual/publishing/mobile/
“We strongly believe that you should decide how and where your games are published. We will not force you to publish your games on our site. If you want to export and download your game, then go right ahead. ”
That is a quote from this faq
I’ve updated the FAQ response to that question to be clearer.
Hello
i am new to play canvas and i want to know that what language is used for building ang game on your platform.I am confused ?? I also want to know that it is used to create 3D model or not ?
You program in JavaScript when making a game in PlayCanvas. You do not construct 3D models in PlayCanvas. Instead, you use tools like Blender, 3DS Max or Maya and then import those models into PlayCanvas as FBX.
Hi, I need to create a 3D simulation for my client, the simulation wiibe ~20 mins. It is almost like realistic 3D (human/avatar) interactions.
The client requirements are both Android and iOS devices (mobile browsers, not native) along with desktop browsers. Can you please let me know if Play Canvas supports these without Crash.
Also, can you let me know what is the minimum Hardware/SW requirement needed? Is it depends on device hardware to play a ~20 mins 3D simulation?
Also, please let me know, does it possible with PlayCanvas without Crash?
My Client Requirements:
Android 4.4+
iOS 7.1.2+
Operating systems:
MS Windows 7
MS Windows 8
MS Windows 8.1
MS Windows 10
OSX 10.10 – Yosemite
OSX 10.9 – Mavericks
ChromeBook
Browsers:
Chrome 40+
Safari 7.x+
Firefox 35+
IE10+
Windows Edge Browser
Thank you so much for your help here in advance.
Many Thanks!
Chandu
Yes, PlayCanvas can run these kinds of experiences without a crash. However, note that PlayCanvas requires iOS 8+. It will not work in iOS 7.1.2. Android 4.4 is fine though. I recommend you ask any further questions that you may have on the forum: http://forum.playcanvas.com/
Is there any Bookmark functionality can be included in the game?
Need a urgent help on this…..
Regards,
Mahesh
Yes, you can use the browser’s local storage API to save data between sessions. Check it out: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
hi. I’ve been using Playcanvas for a week or two and I find it really cool for creating VR apps with my students. The live update functionality is fantastic – we can change certain features in the world and see the effects instantly. however, is there a chance to test the public available project without logging in? sometimes you just want to show it to someone without asking him to create an account on Playcanvas.
Hi Radek. I strongly suggest posting this kind of question on the forum: https://forum.playcanvas.com However, the answer to your question is that you should publish builds of your app. You can then share the link to a specific build, or simply the project link (the currently active build) – these links are public and you don’t need to be logged in to view them.
How many simultaneous, visible polygons is it practical to expect with Playcanvas, assuming adequate CPU, and memory on the host. Does this do real time pruning, culling and LOD? Does this achieve higher, equal or lower efficiency than Unity, Unreal or Babylon for the Web?
It entirely depends on what you consider to be an adequate CPU. The fact is that that vast majority of PlayCanvas applications are bound not on vertex transform, but on fragment shading (or filling pixels, in other words). It’s exceptionally rare I see an app that’s vertex bound. PlayCanvas does frustum culling out of the box. You can implement LOD yourself fairly trivially. I would say PlayCanvas is far more efficient than Unity and Unreal’s WebGL support (neither of which are officially supported on mobile anyway). PlayCanvas probably performs reasonably similarly to Babylon but I’ve never benchmarked the two against each other.
Apologies for the cheeky question, but is it possible to develop a project in Playcanvas using the free tier, and then pay for just for one single month on the higher tier in order to export the project / remove the splash screen before delivering the project to a potential client for self hosting? Or will cancelling the subscription somehow stop the final project from working? Thanks! π
It is entirely possible to do that. Whether it’s in the spirit of fairness is another matter. But no, published projects are just static web content that are not affected by subscriptions.
Thanks for clarifying, and comment about fairness duly noted!
Hi, I am new to playcanvas and I wanted to know If I can generate a pdf file using playcanvas.
I recommend you ask for help on the forum: https://forum.playcanvas.com
Hello,
Say I make a project which I then wanted to export to then use on my own website. WOuld I need to keep paying the subscription to be able to sue that project or would I be able to use it as long as I had made it during the time that my subscription was active?
Thanks!
If you cancel your PlayCanvas subscription, your published projects will continue working as normal. If you want to go back and edit those projects and re-download the app, you’ll need to resubscribe again.