present & apply the final resting place of the osi layers
TRANSCRIPT
![Page 1: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/1.jpg)
Present & Apply
The final resting place of the OSI layers
![Page 2: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/2.jpg)
Presentation LayerSerialization
• Strings– Pascal (varied length)– Tables (constants)– Base64 (blobs strings)
• Significant Bits– Float Fixed– Matrix Quaternion
• Pointers• Endean Order• Encryption
![Page 3: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/3.jpg)
Presentation LayerBuffering
• Packet Coalescence– TCP vs. Manual
• Induced Latency– Get on the boat
• Dead Data– UDP
• Large Packets– MTU and S/R buffers– Packet Length Indicator
![Page 4: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/4.jpg)
Application Layer
Reflection Models
![Page 5: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/5.jpg)
Application LayerInput Reflection
• Joystick Data
– Buttons
– 2+ axis
• Keyboard Data
– 128+ possible keys
• Mouse Data
– Buttons
– 2+ axis
![Page 6: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/6.jpg)
Application LayerInput Reflection
Pros• Simple Design
– Attached Input
• Accurate• Low Bandwidth
Cons• Hard debugging
– Sync Test
• Latency Sensitive– Stop & Wait
• Predictive Nightmares– Complete State Save
– The Undead
![Page 7: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/7.jpg)
Application LayerState Reflection
• Mutable Objects– Position– Orient– Velocity– Acc– State (Custom)
• Environment State– Open/Closed, On/Off
• Chat
• Off Screen Events
![Page 8: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/8.jpg)
Application LayerState Reflection
• Pros• Easier Debugging• Latency Tolerant• Delta Management
Cons• High Bandwidth• Inaccurate• Hacking• Delta Management
![Page 9: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/9.jpg)
Application Layer
Synchronization
![Page 10: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/10.jpg)
Application LayerLatency
• Delay– Intolerable / High / Medium / Trivial
• Variability– Consistent (The easiest to deal with)– Spikes
• Line Static• Player Induced
![Page 11: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/11.jpg)
Application LayerSynchronization
• Game Time– Clocks & Ticks
• Dead Reckoning– Extrapolation of current state over time
• Play Heuristics– Patterns
• A.I. Assist– Way points (varied conformance)
• Arbitration– Client vs. Server
![Page 12: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/12.jpg)
Application LayerRecovery
• Warping– Last Resort / Easy First Pass
Implementation
• Speed Cheat– Give control to AI and allow special
acceleration boost
• Interpolation– Quaternion Slerping– Modifying control points on SP lines
![Page 13: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/13.jpg)
Application LayerRecovery Bugs
• Brick Wall – Collision Not Synched– Fabricate collision on other machine (difficult)– Flag collision to run under AI control
• Bee Wiggle – Over Compensation– Maintain “Dead Zone”
• Sink or Float – Vertical Terrain– Fasten to ground (or not)
• Rubber Banding– Match speed when approaching target
• Death can’t be undone eloquently– Fudge Health– Synch before death– hang on by a hair.
![Page 14: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/14.jpg)
Mashing Dough
![Page 15: Present & Apply The final resting place of the OSI layers](https://reader033.vdocuments.mx/reader033/viewer/2022061305/55141433550346dd488b5204/html5/thumbnails/15.jpg)
4 GroupsDesign Packets
• Login– Account Create/Edit/Remove
– Verification, Notification, …
• Chat– Groups, Buddies, Admin, System, …
• Simulation– Move, Fire, Arbitration, …
• Voyeurs– Web Leader Board
– Web applet (Maps / Scores, for Game in Progress)