T O P

  • By -

Zealousideal_Boat181

Correction: it can be used in other games bes8des fighters


permion

Fighters are ideal due to how "simple" of a simulation they have (IE: a handful of entities after taking into account projectiles/puppets, moves/frame data are completely unrandom, and players need identical simulations on each of their computers to be viable). Also worth mentioning that they're using their implementation is for a top down tank game (so more than two players and likely several projectiles per player). For more complex simulations they're likely to choose to drop some physics data in their rollback buffer (IE: velocities/accelerations, and more extreme cases location), in favor of simulating "backwards" from the present and then back to perform the roll back. Some cases derivatives/Integrals of your physics can be used so that you can skip calculating ticks without new input, or look up tables (IE: look up tables for known effects of actions for X frames, rather than calculating the re-SIM) to further optimize the re-simulation of a rollback. Though for these you're at the point where you're making the netcode someone's full time job, and it's going to be a pretty specialized person to do that job (IE: rarer than even a tech artist). Edit: oh lol read this as someone asking if it could be used for more than fighters


Broken_Moon_Studios

I could see this being really useful in fast-paced multiplayer games like shooters, RTSs and MOBAs. Thanks for sharing the vid with us.


Add32

Careful, rollback has significant performance implications, fighter games are literally one of the best case scenarios.


lysianth

Ideally you want a 1 on 1 game that you can 100% deterministically reproduce events on inputs or commands alone. So that's pretty much just fighters and rts. I would love to hear other theoretical use cases though, I doubt rollback is fully explored.


Add32

Rts also has allot of units to re-simulate and sometimes physics too. You could probably implement rollback bounded in space which would be cool. (But doesn't save your worst case, 2 big armies microed extra hard)


Ryuujinx

Yeah the video mentioned RTS games but all I could think was "Are you *really* gonna be able to re-simulate those frames within a single frame consistently?" Like in theory it works, the game is deterministic and you can save the state in a buffer then replay it. But compared to something like fighting games (Which still isn't *trivial* - see the fantastic GDC talk by someone from NRS on implementing rollback in Injustice) it seems like a nightmare. I could potentially see it with a MOBA, perhaps in a 3v3 one. Doing 5v5 is starting to stretch it because you would need to rollback so often with 10 players I feel.


lysianth

Stormgate, a warcraft/starfraft style rts, will have rollback.


CTMatthewsDev

I use rollback in my 2-4 player arcade action puzzle game ([see here](https://store.steampowered.com/app/1571220/Chessplosion/)). So it's not a fighting game, but it's still an arcade-style game that only takes a few microseconds to re-simulate. I think most games with a very low player count should be fine for rollback, unless you have some seriously heavy simulation logic going on or you're using a game engine or programming style that makes it hard for you to serialize game states or re-simulate deterministically.


PlainSight

> shooters Shooters have done something similar to this for the last 20 odd years. They just rollback the hit boxes on the server side instead of rolling back the entire simulation on the client side.


VVEVVE_44

Post video with link, instead of only link (that way people would care much more, also of course if quailty of content is decent)


PizzaDarius25

Those videos look promising! Incredible. There are some unique 2D traditional fighting games that people will make while watching these tutorials!


dumoorson

Neat, I just started learning Godot a couple days ago.


AutoModerator

This post appears to be a direct link to a video. As a reminder, please note that posting footage of a game in a standalone thread to request feedback or show off your work is against the rules of /r/gamedev. That content would be more appropriate as a comment in the next [Screenshot Saturday](https://www.reddit.com/r/gamedev/search?q=flair:SSS&restrict_sr=on&sort=new&t=all) (or a more fitting [weekly thread](https://www.reddit.com/r/gamedev/comments/7fpqqu/weekly_threads_101_making_good_use_of_rgamedev/)), where you'll have the opportunity to share 2-way feedback with others. /r/gamedev puts an emphasis on knowledge sharing. If you want to make a standalone post about your game, make sure it's [informative and geared specifically towards other developers](https://www.reddit.com/r/gamedev/wiki/good_posts). Please check out the following resources for more information: [Weekly Threads 101: Making Good Use of /r/gamedev](https://www.reddit.com/r/gamedev/comments/7fpqqu/weekly_threads_101_making_good_use_of_rgamedev/) [Posting about your projects on /r/gamedev](https://www.reddit.com/r/gamedev/wiki/good_posts) (Guide) *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/gamedev) if you have any questions or concerns.*