So I know this might not be the best place to ask this but here I go: is playcanvas a good choice if I am a beginner developer and my aim is to develop a multiplayer game? Think something like mario kart in the browser.
To give you some background: I’m a first year Computer Science student, and while I now have some programming experience, it is mostly in Java. I’m pretty confident I could make an OK singleplayer game, but I tried to follow the basic multiplayer set-up guide and have found that I can’t even get that to work (because it’s using an outdated socket.io version?)
Now ideally, I wouldn’t just want to transmit moves from players to the server, but also confirm them on the server side. What I’m afraid of is that this is a whole other can of worms that I’m looking at here.
So I guess my question is: is there a good/somewhat easy way to build multiplayer games with playcanvas? Or are my hopes unreasonable?
As for whether it’s a good choice for a beginner, probably not due to the size of the community if you do get stuck. Unity with a SDK like PlayFabs or Photon may be a better choice due to large communities but the actual task itself is no more/less difficult.
Making multiplayer games is a difficult task due to the number of issues you can run into no matter the technology.
Yeah, fair enough, I saw that game as well I guess my question is more like, how feasible is this really for a novice developer? Cause I read a bit of his (google translated) dev blog and it seemed like he initially ran what was a copy of the client as a server. That seems preetty expensive in terms of server work and kind of why I’m wondering whether the engine is good for multiplayer games that need server “verification” so to speak. Or is it just a better idea to stick to multiplayer games where you can trust the client (i.e. non-competitive games) ?
I believe the creator of blastarena.io ran the PlayCanvas engine on the server using a headless browser to do the verification (PlayCanvas also has a ‘no render’ flag that you can use for performance).
The alternative for a real time multiplayer game is to have the logic of the game completely independent of the engine so it can be ran separately (i.e on the server) and the engine framework is just used for rendering, audio and passing input.