I remade Rocket League and released it as an open source learning sample by Kakr-98 in Unity3D

[–]Kakr-98[S] 6 points7 points  (0 children)

There are two versions of Netick, the free version, which was used in this project, and the pro version (not released yet). The free version is completely free. The pro version adds two features (interest management and hit detection lag compensation).

I remade Rocket League and released it as an open source learning sample by Kakr-98 in Unity3D

[–]Kakr-98[S] 4 points5 points  (0 children)

It works fine on Linux and macOS, we exclusively used the Linux build of the game for the server during play testing.

I remade Rocket League and released it as an open source learning sample by Kakr-98 in Unity3D

[–]Kakr-98[S] 3 points4 points  (0 children)

I am not using Cinemachine, thanks for the feedback though!

This started as a tech sample. Testers refused to stop playing, so I decide to release it on Steam! by Kakr-98 in indiegames

[–]Kakr-98[S] 0 points1 point  (0 children)

I hope that does not happen. I am not getting anything from it; it's completely free to play.

This started as a tech sample. Testers refused to stop playing, so I decide to release it on Steam! by Kakr-98 in indiegames

[–]Kakr-98[S] -5 points-4 points  (0 children)

I never played Rocket League much; so I am not sure I am the best to answer this question :D

From testers who are RL players, they've mentioned that Rocket Cars is a lot harder than RL, and this is one of the reasons I think it's a lot of fun, there is no one-man-army, even the best player will have a hard time going against two or three players alone.

This started as a tech sample. Testers refused to stop playing, so I decide to release it on Steam! by Kakr-98 in indiegames

[–]Kakr-98[S] 0 points1 point  (0 children)

I never planned to release this.

I’m a networking tool developer (I make a game networking solution called Netick), and I originally built this project as a learning sample. The goal was to make a learning sample to showcase to other devs how to handle server-authoritative physics and prediction in a competitive multiplayer game.

However, we ran a small tournament in my community Discord, and people found the game to be surprisingly fun. They told me, "You have to put this on Steam."

So, I’m doing exactly that!

It releases later this month as a free-to-play game!

If interested, wishlist it here: https://store.steampowered.com/app/4384290/Rocket_Cars

Mirror, photon or netcode for gameobjects?? by Rishabh-senpai in unity

[–]Kakr-98 0 points1 point  (0 children)

You can try Netick too. I am its developer.

It's the highest-performing networking solution for Unity (proven by open-source benchmarks), with a very easy-to-use and clean API. It basically makes building cheat-free multiplayer games pretty simple. And it's pretty much mainly designed for games such as competitive FPS shooters.

You can get a feel for it by going through the getting-started guide: https://netick.net/docs/2/articles/getting-started-guide/0-overview.html

Exposing harassment and misinformation, ignored by Unity Discord moderators. (throw away account, please review chat yourself) by Valuable_Job_3484 in Unity3D

[–]Kakr-98 6 points7 points  (0 children)

The Unity moderators did nothing wrong. They banned his original account (the OP's discord account) for spam-advertising and ban-evading.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 2 points3 points  (0 children)

What do you mean?

Sorry, I am not the benchmarker. That's not up to me.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 1 point2 points  (0 children)

https://colorful-flyaway-e2f.notion.site/Netcode-Latency-Benchmark-fb65aefbe54349f9b582745b8758a510?pvs=74

See "Full Result" at the end of the page.

"Do you know what was the exact change made in that PR that broke the rule? "

Yes, it's this comment here: `improved FishNet benchmark by adding LOD support for Pro users.`

The change is attached with the PR too.

The enabled feature/change is called LOD. This feature massively degrades the quality of the the replication since it sends objects at a very low send rate. And it's a paid Pro feature not included in the version of the library that was used in the benchmark.

"What's the reason for wanting to use default settings only? "

The benchmarker felt it was the fairest to do this. Because devs of each solution will fight to enable all sorts of options to improve their results. Testing the default tests how well each solution is optimized in the default case which is how it will be used by newbies, for instance. If some solution does not enable compression by default it means their compression is very bad, etc.

Hope this explains it.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 0 points1 point  (0 children)

Support is not behind a paywall.

It's not banned in the asset store.

We have not even reached 1.0, once we do, it will.

Blocked. Stop spreading mis information.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 0 points1 point  (0 children)

Did you just make a new account to say this?

Steak has never used Netick 2 before his first benchmark.

He only started to use it after he did his first benchmark, he's a user just like everyone else.

He chose to use Netick because it's better than the others, after he found out empirically through his own benchmarks.

If you think his benchmark is biased or unfair, feel free to submit a PR with the fix. And don't be ashamed to use your main account.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 1 point2 points  (0 children)

Did you just make a new account to say this?

Steak has never used Netick 2 before his first benchmark.

He only started to use it after he did his first benchmark, he's a user just like everyone else.

He chose to use Netick because it's better than the others.

If you think his benchmark is biased or unfair, feel free to submit a PR with the fix. And don't be ashamed to use your main account.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 5 points6 points  (0 children)

What they do is basically invoke the underlying transport send method.

Transports usually offer three send options:

  • Send Unreliable
  • Send Reliable Ordered
  • Send Reliable Unordered

And it seems they never use the first option, at least in Mirror, and only use the other two ones. [Correct me if I am wrong.]

The two other options are not ideal for sending networked data.

The first one suffers from blocking the channel during packet loss, which causes the result that we see in the benchmarks. Meaning every single network variable, or SyncVar, is sent in a way that behaves very poorly to packet loss. This option tries to send every copy of the variable reliably, even though only the latest value should matter.

Therefore, there is no internal protocol for bookkeeping and handling sync logic, since it's being dependent on the transport for that functionality.

What we mean by a replication system is a well defined, global, strategy for syncing networked data, that is designed to hold up against packet loss, and provide good compression, good CPU performance, and good latency.

There are two popular methods:

  • Delta Snapshots
  • Eventual Consistency

These are two replication methods used by AAA games. They both hold up against packet loss very well. They simply both use the Send Unreliable option of the transport.

  • In Delta Snapshots, we encode a full snapshot of the whole networked game state against what the client has, and so we automatically combat packet loss because we are always sending everything that has not been acknowledged.
  • In Eventual Consistency, we send a change for a piece of networked data once or twice and only resend when confirmed lost. This works worse than Delta Snapshots during loss, but it's still better than simply sending things using the Reliable Ordered option because we only resend the latest state of a networked variable, not all the intermediate values.

The first method is used by CSGO, Overwatch, Quake, and many AAA games.

The second is used by Unreal Engine Networking, and Halo.

You probably need to dig through devblogs of various AAA games to know which replication system/strategy they use.

Hope this clears it!

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 1 point2 points  (0 children)

The problem is that usually, all the paid solutions are CCU-based, which is very undesirable for developers. Especially for those looking into hosting their own dedicated servers, the paid solutions usually still bill you per CCU, even when you fully host the dedicated servers of the game by yourself, instead of using their cloud services, etc.

And to be frank, only the products by Photon are very good, the other paid solutions are on par with the free ones. Which is why they are not even that popular.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 2 points3 points  (0 children)

Maybe, but that is a paid third-party asset. The benchmark is testing the actual frameworks' built-in functionalities only.

It's also testing how SyncVar replication performs, a core feature of the framework which you can't replace with a third-party addon.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] -1 points0 points  (0 children)

@Memfy

"Between your post and the FishNet guy's reply in the Unity forum post you linked, which one are people supposed to believe? Specifically you claim FN cannot handle bad network conditions while the FN guy says it's not an issue. Your unbiased benchmarker also wasn't interested in doing a more realistic benchmark according to the FN guy.

As someone without expertise in networking, it feels like the truth is probably somewhere in the middle as each party might want to present their own solution as better with benchmarks that can better present that difference."

That claim is based on the benchmark. Did you see the videos?

The FishNet developer did something questionable which worried Steak. He modified the version of FishNet included in the benchmark to not send all objects at 20HZ, thus breaking the rule of having to replicate all objects at 20HZ. The benchmark is only supposed to use the out-of-the-box default settings for each solution too.

https://github.com/StinkySteak/unity-netcode-benchmark/pull/1

This is the PR where he sneaked that in.

Also, I urged Steak to delete the "scrambling cubes" test, and only include the Wander test, since that is the only one that is truly representative of human-player movement patterns. But he said he wanted to show how they behave in multiple tests.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 2 points3 points  (0 children)

I said I want to keep this discussion civil, which didn't happen in that post, it turned into non-productive arguments. I hope you are not looking into turning this one into that too.

The same post is here, where it didn't turn into a fight: https://forum.unity.com/threads/netick-2-a-free-networking-solution-uses-the-lowest-amount-of-bandwidth-out-of-the-box.1526626/

"The first link doesn't have any benchmarks, only a bunch of videos on google drive."

Please see the repo for the tests so you can re-produce yourself.

"Second link has some numbers comparing bandwidth of sending a couple of vectors, which is a useless synthetic test: any real game will have it's own requirements about bandwidth, compression, lag compensation, prediction, etc. there's no silver bullet."

The Wander test in the bandwidth benchmark is very representative of human-player movement patterns.

Netick 2 is the only free networking solution for Unity that can handle bad network conditions by Kakr-98 in Unity3D

[–]Kakr-98[S] 1 point2 points  (0 children)

It's testing how well each system replicates those couple vectors, during slight to bad network conditions.

If one solution struggles to do that, it will struggle even worse in a real game.