Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Version 1 (modified by landauf, 17 years ago) (diff)

Network Manager

ToDo

ToDos/Inputs for the Network Interface:

  1. Adjust Synchronizeable Arch
    • [DONE] Registration for variables (pointer, type) → see uml diagram
    • [DONE] data compression (zlib)
  1. Player stats
  • [DONE] structure to store/share stats over network (PlayerStats)
  • [NOT NEEDED] ability to listen to changes
  1. NetworkGameManager
  • [DONE] handle teamchanges / player names / …
  • respawn
  1. Synchronizeables
  • [DONE] implement event based sync
  • [DONE] do less polling :D
  1. NetworkStream
  • [DONE] create datastructure which represents player (id, socket, …)
  • attach synchronized (the same on all clients) timestamp to packets to predict movement
  • traffic shaping
  1. 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
  1. Other (important)
  • [DONE] network monitoring ability (telnet, http, …)
  1. 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: