Multiplayer Games Flashcards
What areas of the industry to games drive?
Graphics, CPU, networking
What is a games engine? What are the 4 sub-systems it contains?
A virtual machine into which character models, scripted behaviour, graphics and sounds effects can be loaded.
Physics Engine: physical properties of an environment
Rendering Engine: Draws the visuals on the screen
Behaviour module: Characters not under the players control and other objects have behaviour controlled by AI and behaviour scripts
Networking Layer: Replicated game state among participants to create a shared view
Give a short history
Tennis for two- two controllers on same hardware
Spaceware- two players not DS, gravity and black holes
Pong- successful. Buy, plug in, play. Multiplayer not DS
Gauntlet- not DS
Doom- single player with multiplayer patches, looked 3D
Quake- graphics card, proper 3D
Unreal- better graphics, better engine
World of Warcraft- multiplayer online game
Minecraft- low computing requirements
Fortnite
What is the problem of the berkeley algorithm in gaming?
Can’t go backwards in time
Describe the architecture of the Doom multiplayer patch
peer to peer. slow dialup connection. speed locked to lowest performing peer. poor graphics capabilities. slow and variable processor power.
Lack of player and frame-rate scalability.
Describe the Quake architecture
no central server, nodes take up server type role (i.e. second gen file sharing). Best performing peer promoted to coordinator. restricted protocol
Describe the Unreal architecture
Now a game engine.
Instead of a strict protocol, a scripting language. Script behaviours and network interaction
Describe the problem of what we can synchronise
Moores law: CPU power doubles every 20 months.
Graphics power increases faster than this.
There’s more and more stuff to synchronise.
We can simulate and render far more than we can hope to distribute
Kant’s 3 things that precede understanding. What does this mean?
Time, Space, Causality.
There is something about our brains that interpret things in these ways. Our brains make things fit this notion. We can ignore tiny delays
How much time of play do we have before people notice inconsistencies? What is this called?
100 milliseconds.
Client side prediction. Mark some events as independent. Mark others as loosely coupled. Others are key to game play- prioritise synchronisation
What Protocols do we use if
a) something MUST get there at some point
b) something we can afford to loose but would like there quickly
a) TCP/IP
b) UDP