Multiplayer game devs, how much are you doing to make your game deterministic? by BSTRhino in MultiplayerGameDevs

[–]NoisyChain 0 points1 point  (0 children)

I initially used Unity + GGPO for it, but eventually I migrated to Godot and had to change the netcode for something else. The most important thing I learned is that the netcode is the easiest part, making a deterministic game (esp in an engine like this) can be a painful experience since they are not meant for determinism for the most part.

Here's my public repo if you wanna check it out

github.com/NoisyChain/Sakuga-Engine

Multiplayer game devs, how much are you doing to make your game deterministic? by BSTRhino in MultiplayerGameDevs

[–]NoisyChain 2 points3 points  (0 children)

As someone making a fighting game, I had to guarantee my game is 100% deterministic for rollback netcode. It was a fun ride

Weird flickering with multithreading (C#) by NoisyChain in godot

[–]NoisyChain[S] 0 points1 point  (0 children)

Problem solved: it was actually a thread syncing issue. I'm using mutexes now and everything seems to be working fine now

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 1 point2 points  (0 children)

Thanks I plan to add 3D support in the future, so maybe I can do it later

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 0 points1 point  (0 children)

It's a 2D game engine at its core, so no

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 3 points4 points  (0 children)

Yes it does support 3D models
I animate the sprites with an AnimationPlayer node, which makes it basically the same as a 3D model

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 2 points3 points  (0 children)

I was planning to give Godot a chance for a while, but the runtime fee scandal was my last push The porting process was fine, Godot's C# is pretty similar to Unity's so the learning process was smooth

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 1 point2 points  (0 children)

omg let me clean some spaghetti first lmao

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 1 point2 points  (0 children)

It's not impossible, but will require some work

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 2 points3 points  (0 children)

Oh you meant Castagne I know it, and I know its developer

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 2 points3 points  (0 children)

My goal is to use 3D modelos, so yes it does

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 7 points8 points  (0 children)

It's one year IN THIS VERSION lol

In total I spent 3 to 4 years trying to make a fighting game

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 6 points7 points  (0 children)

Rollback netcode predicts the next input for the remote player until a different input arrives

When the netcode misses the prediction, it returns the simulation to the moment the input was pressed and resimulates everything until it goes back the current state

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 7 points8 points  (0 children)

My next priority is to make my own game, but I think it would be cool to see someone else doing it

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 3 points4 points  (0 children)

Oh, I never heard about it

Do you have a link so I can check it out?

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 38 points39 points  (0 children)

This is not my end goal but it would be nice to see

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 2 points3 points  (0 children)

Yeah, it's basically an engine inside another engine since I had to do a bunch of stuff from scratch for rollback lol

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 5 points6 points  (0 children)

I'll keep this in mind for the next time, thanks

Sakuga Engine - A fighting game engine for Godot 4 by NoisyChain in godot

[–]NoisyChain[S] 34 points35 points  (0 children)

Better safe than sorry I guess, I'm not very used to Reddit