Game Event Flow
Introduction
The flow of game events is the sequence of actions taken during the game. Knowing the Game Event Flow allows programmers to properly manage modifications to the engine or it's components.
About this page
This is going to be the home page for documentation on how the UnrealScript classes get called in the VM from the native engine code. It will probably always be incomplete. But it should provide a good starting point for those who are trying to learn "what gets called when".
There are three objectives here:
- Define important game events
- Document UScript class entry points
- Create flowcharts for important game event cycles
First, we'll try to define the set of "important" game events, such as game start, map change, player spawn, etc. These are not necessarily "events" in the UScript sense, but they are often related. These would simply be definitions of terms for reference in the other areas here.
Second, each of the methods in any classes (or derived classes) that are called directly by the engine would be documented on a per-class basis. This is a reference-style section, so you can look at a class and see what types of game events cause method calls for this class.
Note: Events should be documented in the "least derived class" for which they are relevant. Thus, events that are really designed for the UnrealPawn class should be documented there, not in Actor, nor in xPawn. This is a judgment call, but we should try to keep it as clear and intuitive as possible.
Third, something that I think would help tremendously in the learning process would be graphical flowcharts that show "game cycles" and how they work. So, for example, what happens when a player joins a game, or a projectile is fired? There are a number of key methods (listed in the above section) that are called, in a very specific order.
We don't need to get down to the microscopic source-level, as that would be redundant with reading the sources. But a high-level view of important processes in the game will be very useful.
Status
Starting to get the sub-pages filled out. Please take a look at the notes in UnrealScript Entry Points and offer feedback if you think this is heading in the right direction, or is too redundant with other areas of the Wiki.
-Laz
How to Contribute
If you want to contribute to this area, please add your name below and simply add your content to the pages. Please be careful about content, and if you believe someone else's information is wrong, please make sure to resolve it with them first before changing it.
If you don't want to deal with the Wiki directly, feel free to email any information or content to me and I will add it.
Lazarus (lazarus @ iforcemod.com)
Contributors
Lazarus
Related Topics
- Game Event Glossary
- UnrealScript Entry Points
- Flowcharts?
- Native Coding
- How UT2003 Weapons Work/Firing A Weapon
Discussion
CH3Z: Nice. This will be very usefull. Good work so far, Laz.
Tarquin: This needs to be properly tied in with UnrealScript Entry Points