Version 1 (modified by landauf, 17 years ago) (diff) |
---|
Network Manager
ToDo
ToDos/Inputs for the Network Interface:
- Adjust Synchronizeable Arch
- [DONE] Registration for variables (pointer, type) → see uml diagram
- [DONE] data compression (zlib)
- Player stats
- [DONE] structure to store/share stats over network (PlayerStats)
- [NOT NEEDED] ability to listen to changes
- NetworkGameManager
- [DONE] handle teamchanges / player names / …
- respawn
- Synchronizeables
- [DONE] implement event based sync
- [DONE] do less polling
- [DONE] create datastructure which represents player (id, socket, …)
- attach synchronized (the same on all clients) timestamp to packets to predict movement
- traffic shaping
- Collision detection
- both (server and client) do collision detection
- client: collision with objects/walls, but don't decrease health
- server: everything, tell client to decrease health
- Other (important)
- [DONE] network monitoring ability (telnet, http, …)
- Other
- auto find lan servers
- global server for internet servers
Advanced Feature Requests
- [DONE ]UDP implementation (games programming community is not sure, if this realy is better: faster for sure but does this overwight reliability?) I can't agree that UDP gives a *better* performance. A faster performance, almost definitely. (Elden Armbrust)
- One novelty you might try is give some graphical hint as to how much lag there is .. eg blur vision or something so the player can take the lag into account.
Documents
More informations here:
- Abstract - Feature requests and its requirements.
- UML Class Diagram - UML-Class Diagram and Module Schematics.
- UML Sequence Diagram - UML-Sequence Diagram: defines the process sequence.