Document Game Start Process Order #5151
Labels
Category: Doc
Requests, Issues and Changes targeting javadoc and module documentation
Revive: Keep
issue has been looked at and deemed potentially helpful for revive
Status: Needs Discussion
Requires help discussing a reported issue or provided PR
Topic: Architecture
Requests, Issues and Changes related to software architecture, programming patterns, etc.
Type: Question
Issue intended to help understanding something that is unclear
Documentation Topic
In
StateLoading.java
I noticed some discrepancies in the process loading order between client and host.I don't think this topic is well-documented yet or at least I'm not aware of any such documentation.
Major question for me also is: is the difference in order intentional or a bug?
Documentation Type
With this being architectural documentation of sorts but heavily coupled with the code (despite probably being not modified too often), I would recommend this being documented in the Terasology Engine wiki or in-repo docsify to allow for documentation update as part of related code changes.
If these differences in order of loading are indeed intentional, then this should potentially also be documented in a code comment to avoid future confusion.
Additional notes
The order of process loading for client and host is generally equal (+/- some host only processes and processes that come in dedicated client or host flavours) save for
LoadExtraBlockData
(which is done later on host side than on client side) andRegisterBlockFamilies
(which is done a lot later on client side than on host side)* only if not in headless mode
While we're at it we might also want to document the different execution modes (client only, host but not server, host and server, host with local player, etc.)
E.g., a singleplayer game is actually a host, as is a server game. only clients in a multiplayer setup are actually clients (see logic in stateloading.java and newgamescreen.java)
The text was updated successfully, but these errors were encountered: