PlayCanvas getting adopted by professional betting studio [questions]

Greetings

I work for a big betting/casino company, we decided to try instead of Unity3D to use PlayCanvas for our casino and betting games.
Before we do that, we have a couple of questions regarding PlayCanvas performance, stability and quality, and ability.
I hope that you all can help me to prepare myself for the meeting, where I need to explain everything to my superiors

  1. Is it possible to export then import projects into the PlayCanvas, because of security we need to hold files on our servers, so far I didn’t see that option, except that export for the hosting

  2. Is there any estimation date for the shader graph, and what would be possible to achieve with the graph itself

  3. When we deploy the game, for production, how stable is going to be, so far Unity keeps crashing for people on the web, is that going to be a problem with PlayCanvas too?

  4. Effects are essential to our games, do we have to do effects inside After Effects, and export them as sprites, or PlayCanvas have that ability like Unity3D, to use shader graph (which is in development ) to do cool effects

  5. Our main focus is betting/casino games for mobile browsers since Horse racing has more than 10 horses , and the optimal number of shaders (materials) are under 20 for mobile devices, does PlayCanvas support GPU instancing, or something similar to reduce draw calls

If PlayCanvas has any advantages for mobile browsers that I can use as argument, please let me know

1 Like

Hi @Dava,

Yes, you can export a project from your projects page and import it back at any moment.

You can also use the Rest API to get automated backup copies:

@will @yaustar may be able to offer some insight on this.

PlayCanvas being a standard JS engine built to be fully compliant with WebGL 1/2 guarantees nominal execution in all supported browsers. The PlayCanvas team goes in great length to provide backwards compatibility when a new feature is introduced to the engine. Something I am very grateful of, you can easily load and run 4-5 year old projects without any major problem (or no problem at all).

Of course you need to develop your game with good practices, here is a starting point on performance optimization:

PlayCanvas provides an excellent shader chunks system which you can leverage to quickly author small GLSL shaders to create effects, without having to rewrite a complete shader for scratch, including lighting/shadows etc.

Some examples on this:

For sprites you can easily, with no code, import tilesets and create animated sprites inside the PlayCanvas editor:

Yes, and yes. There is CPU based batching that can be enabled in editor which can execute automatically when your app starts:

And there is support for hardware instancing that you can enable in code:

https://playcanvas.github.io/#/graphics/hardware-instancing

Here is an example of bigger open world scenes running in PlayCanvas:

Hope I’ve been of help!

3 Likes

Hi @Dava!

Allow me to answer your questions:

  1. Yes, you can do this. Here are the docs. You can also automate this using the PlayCanvas REST API.
  2. We intend to release something within the next couple of months. We already have a very impressive prototype and development is proceeding very well indeed!
  3. PlayCanvas is very stable on mobile. Remember, PlayCanvas powers Snapchat’s gaming platform Snap Games. 10s of millions of players play this content across every Android and iOS device available. We know definitively that anywhere WebGL runs, PlayCanvas runs too. Despite this, you must still ensure that you optimize your projects (and I recommend carefully reading the Performance section in the User Manual. For example, if you load 20 4096x4096 textures, yes, you will hit an out of memory error in a browser tab. But if you apply Basis compression, your app will be 100% stable.
  4. PlayCanvas has a powerful particle system engine to do many types of effects that you would see in a typical gambling application. Here’s an example of a cool explosion effect. The forthcoming node-based shader editor will also enable geometry+material based effects. But yes, you can also use PlayCanvas to create animated sprite based effects. I’ve seen many developers do that too.
  5. Yes, PlayCanvas supports GPU instancing. Here’s a code example. Rather than hardware instancing, though, I suspect PlayCanvas’ batching support would be more relevant here. I know we have a PR open for doing batched skinned meshes. @mvaligursky is the right person to provide advice here.

Some additional comments:

  • Unity actually discriminates against gambling companies, and expects them to obtain a special license and pay more to develop gambling applications. PlayCanvas does not discriminate in this way and treats gambling app developers just like everybody else.
  • PlayCanvas is already used by big gambling companies like IGT and Aristocrat. The engine is a popular choice for companies in that space.
  • The PlayCanvas runtime is, of course, open source. This is important for many companies because all source code must be available for regulatory reasons.
4 Likes

We have an old PR for batching of skinned meshes that could be cleaned up, but we have not done it yet as running multiple characters on mobile is not such a big problem. For example Snap’s Bitmoji Party has around 10 or so characters and runs well on all devices.

2 Likes