Rōnin- Massively multiplayer pvp arcade slasher for Android / IOS

Ronin is a game I’m working on to demo my team’s Firebase Plugin speed

I just started work yesterday, so there’s not much to show yet, but it will be a drop-in deathmatch similar to agar.io . Players attack each other by dashing (in any direction), and Lobbies will be large fields with plenty of platforms and hazards to do combat with, and random pickups / aesthetic items that need to be attacked to open will randomly spawn, causing large groups of players to kill each other while attacking the item to unlock it. Lobbies will probably cap at 50 player death-matches for logistical reasons.

Here’s what I’ve got so far;

Player state information and position are live uploaded to the Firebase database, and updated to all other players in milliseconds.

I’m pretty excited to show

1 Like

[Reserved]

Pretty cool. I’d personally suggest against the rotating thing you got their when you change directions, instead make it immediate. But that’s just me.

Database multiplayer is usually done in turn based games but if its quick enough then why not? also your pos is an integer, how does it convert to a vector2?

Firebase stores numerals as Int64’s so I packed 2 Int32’s as XY and they’re representing relative position across the play field.

1 Like

Movement animation tweaking; done

Example of the speed of the DB with no netcode over a 4g connection. The position’s being broadcast from my phone, to the google database, back to my laptop where it’s being interpreted literally (no prediction).

Pretty fast!

(the frame skips are due to a debug.drawray)

Back-end and client are now mostly done, now to stitch them together!

[WARNING; DEFAULT YOUTUBE JAZZ]

Little multiplayer demo. Still absolutely zero netcode (movement is -literally- just position data that they players snap to), after I add some physics netcode and attacks I’m probably gonna publish a little game demo!

I’m so proud of how fast OpenFire is, this is gonna be good when it’s done.

Nice! That’s nice and quick. Looking at this I’m assuming you’re lerping to positions? It kind of looks too obvious, maybe speed it up or something?

It’s doing a sinerp right now. I’m going to do full-on net-code soon, but for now I’m just dealing with that.

The high ping is also due to me forcing a high ping to get a 20hz network update rate to make it smooth; a more reasonable 80hz gets about 70ms ping round-trip.

Also working on some image effects for telegraphing attacks

1 Like

This looks pretty cool, its nice to see the dev of a tool making a game from it. Great work so far! :slight_smile:

One last stylistic change before really digging into the backend

(development of the backend’s been slow because I’m lazy and this is much more fun).

Netcode for attacks is operational but I still need to sync up the animations and fix my controllers…


I lied, I wanted to make it a little bit more cute first.

Is there a server behind this that authenticates the user’s actions? In other words, is the server authoritative? I’m currently working on a little networking project on my free time and got everything working (connecting, disconnecting, sending messages), but now I’m integrating the server side into unity to allow for authoritative servers that can handle the physics on their side to compare with the users.

There is not currently (for budget reasons), but running an authenticated instance that sends sync packets wouldn’t be the most difficult thing in the world.

Currently, simulations are run client-side, with sync operations being handled by peers (enough to mitigate hackers; not 100% prevent them, but nobody can speed-hack, kill the entire server, etc).

OpenFire (if used as a backend for games) is basically a way to do p2p with low latency and high stability.

If you’re trying to run a simulation yourself for a high-security model, I’d definitely recommend AWS and not Firebase.

OpenFire has finally been released!

Big thank you to everyone who was supportive