Hi guys, I have a game idea in mind with specific requirements, and I’m currently deciding between Unity webgl and playcanvas for what I want to do.
It’s going to be a game that contains various levels of terrain/interactive things that the player can walk through in 3d. However, there will need to be 2D “minigames” that the user can play that pops up after interacting with a certain object in the 3D world. Furthermore, these players could possibly have an inventory of items, rewards, etc; or just a points counter of some sort (work in progress)
There need to be user login capability
Users need to be able to save their data somewhere online (location, character customization, level, rewards, inventory, etc.) so that they can play the game from a different computer, login, and start exactly where they were.
*Important: The website hosting the game will also have a login for “moderators” of the game, who will need to be able to see the game data that all of the players generate (either updating every set interval, or whenever a player saves). I imagine this requires some server side scripting?
Thanks to anyone who responds, I would love to hear your responses, and methods to how I can achieve these tasks in playcanvas, I’ve been having trouble finding examples of any game that does something like that. However, there are many examples of these things in unity. But I’m more comfortable with JS, and my game doesn’t require anything overly complex or highly graphics intensive. Also I think playcanvas seems to be smoother and faster than unity webgl.
I will probably be using Django as a web framework to allow certain people to view player game data, along with the game (in the same page)
Multiplayer again is not a PlayCanvas thing - you can do multiplayer by using WebSockets and you will also need to create a server or use an existing solution like Photon.
Essentially using PlayCanvas or not should not really be based on the criteria you mentioned as this can be achieved by any engine. Choosing PlayCanvas is the better option for WebGL because it is a lot more lightweight than Unity, it runs faster, it runs on mobile devices as well, and currently it’s just a more stable and easier solution than Unity as far as WebGL is concerned.
Got it, thanks. How much of a performance difference will there be (game should be running on chrome in chrome OS). Will unity be a problem/a serious limit on the game (again nothing super complex or graphics intensive)?
Also, what do you think is the best way to save game state? Is there a recommended method (I mean everything, block positions, character info, every problem/challenge solved, etc), and does anyone have any recommendations on cloud save methods or how I could do that myself?
Start slow. Making multiplayer game, or even game on the cloud - is very complicated topic. Without experience it is very unlikely anybody will be able to pull something off.
Go slowly and steadily. Start small, and be organised, don’t get ahead of things.
Questions you ask, you have to find answers to through experience. Answers from those who had experience wont help much, because deep understanding and experience - is what you are actually looking for, not specific answers.
Developing for Unity you will be using C#, and dealing with normal web stuff from it, is an ugly process and quiet slow.
Please, ask specific questions in the future, with specific problem.
There are plenty info around the web. Gathering and investigating - is a mandatory skill you need to learn. Asking others all the time - won’t get you far.
As @max says, online multiplayer is a huge subject and it’s not something where you can just plug-in a library and it ‘just works’. You have to deal with client side hacking, latency issues, dropouts, data bandwidth etc.