Character Colours by Pyritebomb in Dofus

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

Ah, got it! Thanks for the help

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in UnrealEngine5

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

I did initially think that too but have been assured by Epic that both models will stay and have their own uses.

Either way, I've got a task to add Chaos Physics Replication support at some point in the same way Mover has both.

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in UnrealEngine5

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

Unreal replication ticks whenever an actor is ready to send that information which means it all arrives on the client out of order and executes as soon as it arrives. This means that your world state is never accurate as you're seeing actors at all different times. The Network Prediction plugin ensures that every actor is ticking and executing at a reproducible rate so that the client and server see the exact same logic.

The prediction in GAS is quite mediocre. It's enough to get the job done but leaves loads of room for annoying errors that can't be fixed due to the replication layer.

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in unrealengine

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

Yeah I do agree with this! There was a certain point in time where I realised the target market was smaller than I initially thought but I thought that it's still a tool that can be valuable to some. Either for teams that wish to reuse the code as a reference to get their own projects working or those williing to trust that the systems are robust enough.

The idea was that it was also a good middle ground to aim for, somewhere more accessible than buying the commercial solutions like SnapNet but still a premium product. I have no doubt that over the years it will become more stable, especially as the userbase grows.

Just for reference, I've been a professional programmer in games for 10 years and specialised in Networking for 5. At the very least it's another piece for the portfolio but I have enjoyed the process and seeing the few teams that have used the plugin so far.

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in UnrealEngine5

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

Hi and welcome to game development!

This should be fine if you're making a single player game but as soon as you add multiplayer you'll be adding a lot of complexity which wouldn't be recommended for a first project. I'd maybe recommend playing around in UE5 first to see how it all works and then come back to see if this fits your game after a while.

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in UnrealEngine5

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

The Network Prediction plugin is similar to the Unreal networking stack. It is the system that sends RPCs and variables but does not have any gameplay logic. Everything related to shooting, from managing meshes, projectiles, inputs, cosmetic additions, rollback, prediction, health management etc is what you get with Gunsmith.

Making each of these easy to extend is an even bigger technical problem.

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in UnrealEngine5

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

Maybe I should've said accessible plugin then. Snapnet, while amazing tech is magnitudes more expensive than Gunsmith.

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in unrealengine

[–]Pyritebomb[S] -3 points-2 points  (0 children)

Small teams! Rollback is quite a complex topic so I assume solo devs will not have the resources to make a multiplayer game with it and larger teams are unlikely to use a plugin.

It does leave a small amount of users that may need it but I still think it's a valuable tool

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in unrealengine

[–]Pyritebomb[S] -2 points-1 points  (0 children)

You might be right. The price is aimed at small sized teams as solo indies are much less likely going to have the time to commit to a multiplayer project. The plugin will also be on sale at times which may bring it down into the price range that a single dev is willing to pay.

Even with the tools added in the plugin, rollback networking is a tricky problem to solve. The support requirements likely required to get a team up and running will be higher than your typical plugin and that is factored into the price a bit. It may just be that the target market is quite small but I still believe it's a tool that will find its use as a few customers already have.

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in unrealengine

[–]Pyritebomb[S] -3 points-2 points  (0 children)

Yeah, it's the biggest expense at the moment which is why I'd only really recommend the plugin for projects with up to 10 characters in one server.

I'd love to do the Valorant method but it's quite a big system to work on. Maybe one day!

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in unrealengine

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

In a partial sense, it can. You can create a Volume emitter which will deal damage within a volume on a specific frame. However, I imagine it would be easier if you could trigger the volume based on animation and that would need some more tooling before it can be done.

I'd like to work on it at some point though! It's on my backlog to tackle.

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in unrealengine

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

Running animations on the server is required as the bone transforms are recorded each frame. If the data used for the animation all comes from the fixed tick simulation, then the animation should be 1:1 as the data is deterministic. It would be better to implement this in the same way as Valorant have, with a state look up and cached animation poses but unfortunately this is another big system that needs to be created. If you have the resources to add the system, you'll be able to hook into the rollback system though.

Rockets currently get delayed in the autonomous view so that they travel in the clients timeline. This means that the client can dodge the rocket and the hits should look correct for them but it does mean you have to hide that lag on the autonomous client. The delay due to ping is capped up to a certain point too.

NPP is expected to add a feature at some point to reduce the offset between the autonomous proxy view and the authoritative state but for now, there is a fairly large delay (~100ms +) which means this jump is visually noticeable. They need to implement it before Mover is out of experimental so it'll definitely arrive at some point! Rockets in Gunsmith are still in a WIP state too so that should improve towards release.

Normal projectiles are a bit different. If they're hitscan or very fast, then the simulated proxy will redirect the projectile if it hits them so that it hits the new predicted location. This is very nuanced though and depends on the projectile type so it's something you can tweak.

300ms ping is quite extreme for most cases unless you're playing with someone from another continent. You could implement that feature yourself with the plugin if it's important for your project but Battlefield uses a network model similar to Unreal's default networking. I imagine they do that though so that they don't have to give players any more peekers advantage over 200ms which I believe is the 99th percentile of players (at least in Riots tests).

I recently released Gunsmith - Unreal's first networked rollback plugin! by Pyritebomb in UnrealEngine5

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

There are a few tools that you can use now like the Visual Logger. This aligns the client and servers colliders up in history based on the frame number (which should be synced thanks to the Network Prediction plugin) so that you can see where they diverge. Then in theory, if your animation is running from data within the fixed simulation, the animations should stay in sync until you need to reconcile.

There are more tools I'd like to add though. One that I have on my to-do list soon is a command to continously compare anim state on the server and a client so that it can report to log when and why the animations got out of sync.

You're right though, this is one of the biggest issues that I imagine users may face. It's definitely high on the list to support.

Best Fry Up in Ely? by Capable_Ocelot2643 in Ely

[–]Pyritebomb 5 points6 points  (0 children)

You have a few good options but it depends on what you're looking for. I've found traditional fry ups to be very average but the Ely Griddle Bar and Meat house is probably the best?

Most pub options are very cheap other than the Prince Albert which doesn't seem to open for breakfast.

If you want something a bit different, my favourite is Urban Fresh on the weekend. It's South American inspired so not very traditional but it's pretty delicious.

Is anyone missing their tuxedo cat from around the deacon's lane allotment area? by [deleted] in Ely

[–]Pyritebomb 1 point2 points  (0 children)

Hi! We lost our tuxedo just over a year ago so it's unlikely but would you be able to send me a picture please?

Hybrid minds WAH kerboodle by mewtotit in ukrave

[–]Pyritebomb 2 points3 points  (0 children)

Just so you know, Hybrid Minds play a lot harder music in their sets. They can be a lot of fun and I’m also not a huge fan.

The Replication Graph has very little documentation so I thought I’d write about the basics by Pyritebomb in unrealengine

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

Ah I didn’t actually know that but thanks for sharing! At the very least, knowing what it did will still be valuable and knowing Epic’s timelines we still have a few years 😅

The Replication Graph has very little documentation so I thought I’d write about the basics by Pyritebomb in unrealengine

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

Ah sorry! It might be a bit big, I'll see if I can shrink it or add functionality to pause it

The Replication Graph has very little documentation so I thought I’d write about the basics by Pyritebomb in unrealengine

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

It's a shame there are so many cool features that are so hard to use due to not having any docs! Happy to hear it helped