Weapon Prediction

Card

https://trello.com/c/mC6cifE4/178-weapon-prediction

Description

This card has no description.

Weapon System V2

[ul][li]Hard Stuff[/li][li]Planning[/li][li]Cubic Hermite Interpolation[/li][li]Temporal Binary Search[/li][li]Player State Sampling[/li][li]Ray -> Capsule Temporal Sweep Test[/li][li]Weapon Fire-Mode System[/li][li]Weapon Timing and Trigger System[/li][li]Client-Side Predicted Effects[/li][li]Effect Replication[/li][li]Player Character Marshalling For Recording and Sampling[/li][li]Lag Compensation via Client Authoritative Replicated Timestamped Ray Casts Over Network Infrastructure[/li][li]Server Authoritative Ray Cast Validation[/li][li]Server Authoritative Ammo and Fire-rate Validation[/li][li]Ammo Container[/li][li]Weapon Slots[/li][li]Weapon Slot Widgets[/li][li]Damage System Implementation[/li][li]Deterministic Seeded Random Spread Cone (For Shotguns / Machineguns)[/li][li]Ammo HUD Widgets[/li][li]Prototype Project, Weapons, and Map[/li][li]Ensure Proper Cleanup of All Object Instances[/li][li]Rewrite Player Tracking to work with any AActor class[/li][li]Temporal Tracking Component (For Targets)[/li][li]Add Support for all Primitive Collision Shapes[/li][li]Migrate to 4.15[/li][li]Migrate into Tower code base[/li][/ul]

4 Likes

[ul][li]Card was renamed from “Weapon prediction” to “Virus: Weapon prediction”.[/li][/ul]

3 Likes

note to self stop watching trello cards because your desktop will be filled with spam

set them to tracking

[ul][li]Card was renamed from “Virus: Weapon prediction” to “Weapon prediction”.[/li][/ul]

4 Likes

[ul][li]A new checklist named “Checklist” has been added to the card.[/li][li]“Planning” has been checked off on the “Checklist” checklist.[/li][/ul]

3 Likes

[ul][li]“Hermite Interpolation” has been checked off on the “Checklist” checklist.[/li][/ul]

5 Likes

[ul][li]The checklist “Weapon System” has been renamed to “Weapon System V2”.[/li][li]The checklist “Checklist” has been renamed to “Weapon System”.[/li][/ul]

3 Likes

[ul][li]“Player State Sampling” has been checked off on the “Weapon System V2” checklist.[/li][/ul]

4 Likes

[ul][li]“Player Character Marshalling For Recording and Sampling” has been checked off on the “Weapon System V2” checklist.[/li][/ul]

5 Likes

[ul][li]“Rewrite Player Tracking to work with any AActor class” has been checked off on the “Weapon System V2” checklist.[/li][/ul]

3 Likes

[ul][li]“Temporal Tracking Component (For Targets)” has been checked off on the “Weapon System V2” checklist.[/li][/ul]

3 Likes

[ul][li]“Ray -> Capsule Temporal Sweep Test” has been checked off on the “Weapon System V2” checklist.[/li][/ul]

3 Likes

Some progress pictures:


6 Likes

i dont understand it but i like it

Check for collisions back in time (so the server can compensate lag).

The first image illustrates this from the Server’s perspective.
The client’s shot is old (simulating 1000ms of ping here).

So the server looks back in time to when the client shot, and resolves collisions at THAT time instead of realtime.
(The sphere is moving in a circle)

3 Likes

so the server stores each collision and checks if they’re legit, basically?

The server keeps breadcrumbs (samples) of an object’s position and rotation over time.
The trace function picks 2 samples that bound a given time and interpolates between them to get the ideal sample.
The function then tests a capsule at that sample location against the incoming ray to determine if it’s a hit.

2 Likes

This is rad, I barely understand it (no need to go through attempting to explain, I vaguely get it but if I dont now I never will) but you guys are making a ton of progress, good on you! I look forward to people with less fortunate ping being able to play Virus better.
(Also nice melon weapon, I hope that comes to real fruit-ition someday)

GET OUT
your puns are not welcome here…