An example of what can be done with it - https://melongaming.com/games/melonjump/ (hold the left mouse button down and move your mouse to play). More here https://www.melongaming.com/en/Games
The thing I noticed with most JS game libraries is their inability to display text without being slightly blurry. Is there a fix to the issue? I noticed this in the game you linked as well.
Tbh when making a web game you'd be better served using standard web UI in tandem with your game even if canvas text wasn't blurry.
Web libraries (react, etc) are very advanced and it'd be incredibly hard for a js game engine to match them for UI
For someone going from web dev to game dev, would it be better to learn MelonJS or another JS Engine or something like Unity?
Depends for which platforms you want to create game for. If it's for web games, you should stick to JS game engines, such as babylonjs
Engines like Unity produces binaries that are too big to be competitive for that market.
The thing I noticed with most JS game libraries is their inability to display text without being slightly blurry. Is there a fix to the issue? I noticed this in the game you linked as well.
Tbh when making a web game you'd be better served using standard web UI in tandem with your game even if canvas text wasn't blurry. Web libraries (react, etc) are very advanced and it'd be incredibly hard for a js game engine to match them for UI
Disagree; updating the DOM is incredibly slow and will kill your games performance.
An example of what can be done with it - https://melongaming.com/games/melonjump/ (hold the left mouse button down and move your mouse to play). More here https://www.melongaming.com/en/Games
Reminds me of the classic Orsinial Winterbells: https://www.crazygames.com/game/winterbells Maybe you can also integrate the accelerometer on phones for a compact and more fun example?
This reminded me of my implementation for a university course where you played by tilting your head to the left and right with the help of an accelerometer embedded earbud. Everyone got nauseous after a couple runs but it was very fun indeed :)
Nice! Is this yours? I've tried building a few real-time games with different implementations of these HTML5/JS game engines, but I always hit a wall when trying to add multiplayer capabilities. The main issues I've found is there's never a way to get a "universal" X/Y/Z position for an object that can be accurately stored in a server that syncs with the position for players. It always tends to be ever so slightly of…
All approaches need to deal with desync and do it in different ways. Lockstep waits causing a hitch for everyone. Rollback resimulates and will pop. Interpolating positions will mean you occasionally need to catch up. It’s just the nature of latency and unreliable network conditions. The trick is how to deal with this without it interrupting gameplay significantly. For example in rollback you need to keep clients reasonably in sync with the progression of time so a lot of the time different clients are either running slightly slowly or slightly fast to catch up to the baseline. You’re dealing with a situation where everyone is in their own universe and trying to make sure they eventually end up in sync. In the interpolated example that might mean giving coordinates relative to a particular entity. For example in an interpolated setup an explosion happening on the server against a fast moving vehicle probably needs to be relative to the vehicle for it to make sense when it reaches a client where the vehicle will naturally be in a somewhat different location.
By the sounds of things you’re sending positions updates and broadcasting them from the server. If that’s the case some bog standard interpolation should just work. If you’re seeing divergence then you’re probably running code with a non-deterministic result on the different machines. Typically speaking you want to work out who ‘owns’ each part of the simulation and make sure anything you do elsewhere converges back to that.
Tbh when making a web game you'd be better served using standard web UI in tandem with your game even if canvas text wasn't blurry. Web libraries (react, etc) are very advanced and it'd be incredibly hard for a js game engine to match them for UI
Disagree; updating the DOM is incredibly slow and will kill your games performance.