My program doesn't have bugs. It just develops random features.
Legacy:Game Event Glossary
General Startup Events[edit]
Server Startup[edit]
An server starts, goes through an initialization process. (This should stop short of World Spawn, as the latter will be repeated throughout the lifetime of the server.)
World Spawn[edit]
A level is loaded, world objects are initialized and the server enters a state where it is ready to accept player connections.
Player Connect[edit]
A player connects to a server, initiates authentication and is accepted/rejected.
Player Join[edit]
A player joins, spawns a Pawn, and becomes active in the game.
In-game Events[edit]
General Replication Updates[edit]
Replication information is passed between the client and the server.
Movement[edit]
Moves are recorded on the client side, sent to the server, and adjustments are sent back to the client if necessary.
Weapon is Fired (non-projectile)[edit]
Player activates an instantaneous-travel attack given a rotation and location in the world space. Server finds first point of impact on the path and determines outcome.
Weapon is Fired (projectile)[edit]
Player activates the launching of a projectile given a rotation and location in the world space. Server measures point of impact based on Karma physics and/or detonates after a timeout, distributing applicable damage in a radius.
Foxpaw: I do not believe that this is accurate. The projectile does not use Karma physics at all for collision. It 'skips' along, teleporting from location to location based on it's velocity and the time since the last tick, as all objects with PHYS_Projectile do. When it's collision radius/height overlaps the collision hull of another actor, the Touch function is called which determines if the actor we just hit should cause the projectile to impact. If it does, a trace is taken between the projectile's location last tick and it's current location to see where exactly the projectile should have impacted.
Wormbo: Actually Karma physics are only really used in two places: ragdolls and vehicles. Maybe there are also some maps using Karma objects, but although Epic said so in the first place the BR bomb definately doesn't.
Foxpaw: Isn't that what I just said? :P Epic probrably decided it was pointless to use Karma physics on the bombing run ball because it's a ball and it's physics could be simulated using less CPU without Karma.
Weapon is Fired (Redeemer)[edit]
Player activates a guided missle type attack. Control may or may not be passed to the PlayerController to affect its trajectory and otherwise control its impact. Likewise, the player's point-of-view can be attached to the missle for some period of time.
Inventory Item is Dropped[edit]
Player drops an inventory item, which destroys the item and spawns a pickup object for the appropriate class.
Inventory Item is Picked up[edit]
Player receives a newly spawned inventory item, potentially removing the pickup object from the world.
Player Takes Damage[edit]
The player takes some form of damage from a world event, either directly or indirectly through radius damage, falling, etc.
Player Dies[edit]
The player (pawn) dies in game, may be given an opportunity to rewpawn in selected or random location.
Teleporting[edit]
Player is instantly transported from one location in the world to another. This applies to both portals and the translocator.
Spectating[edit]
The player is outside the gamestate, and able to freely roam the world or follow the POV of a player currently in the game.
Post Game Events[edit]
End of Round[edit]
The end of the round is triggered in some game dependent way, causing all gameplay to end. This can result in the start of another round (reset) or a level change (server travel).
Level Change (Server Travel)[edit]
All players are transported to a new level. (Might this be identical to world spawn above, with clients simply automatically reconnecting?)
Player Disconnect[edit]
A player voluntarily ends his session, disconnecting himself from the server (and causing the destruction of all resources pertaining to that player).
Server Shutdown[edit]
The server is terminate by an admin either through a remote console, web-server, etc.
Back to Parent[edit]
Comments?[edit]
Tarquin: Needs links with Terminology, and clearer formatting.