I created multiplayer online game with p5js


#1

Hi everyone, I would like to share with community the game I created with p5js as a renderer. It is a realtime multiplayer game, similar to AgarIO and other games in that ecosystem.

You can try it out on http://owom.io

Feel free to ask any questions regarding tech, and any ideas on how the game might be improved are welcome!


#2

#3

Thanks for sharing this!

It might be helpful to distinguish between charged bombs and ready-to-drop bombs. Right now, the UI indicates when bombs are fully charged, but not whether or not you can drop one – if you already have one dropped, you can’t. The latest bomb could be highlighted only if another bomb is not already deployed.

Interesting decision to drop the bomb in front of the player movement direction, rather than on top of the player or behind. Is that copied from AgarIO?


#4

Thank you for a great feedback!
Yes, the bomb part is confusing, there should definitely be some more indication whether or not a bomb can be deployed.
At first, I had a plan to let players deploy more than one bomb, somehow it complicated the logic and I decided not to include it in the first release.
Honestly, dropping bomb is an unhappy result of a position interpolation on the client. On the server bomb is assigned a player’s current position, and on the client it is rendered on that position right away, but the players movement is gradually interpolated to that position. This is why you always see bomb in front.


#5

New Feature! - Bomb Radar

More on the offical game subreddit


#6

What are you using for the server (software) backend? Did you build your own?


#7

Interesting. One idea if you wanted to work around that appear-in-front behavior, I imagine you could have the server respond with the current location of the requested bomb, and the client display instead show the bomb appear being “carried” in top of the player (in motion, not dropped yet) until it reaches that server bomb position – then it is “dropped.” This would all be client-side display – from the server perspective, everything stays the same, with a bomb appearing at the player current position.


#8

Yes, that’s a good plan. I will take some time to fix this. Thanks once more!


#9

Hi, I’m using nodejs on backend.


#10

Any chance you are open-sourcing the client and server?


#11

Yes, but not soon, since I’m quite busy with a few other things I’m working on. For client I’ve developed a small lightweight framework to boost development, which when ready will be released on github. As for the server, I can’t say.