ZNet Framework


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

ZNet Framework

  1. 1. ZNet Framework (1) Target Network Framework for MMOSG - be flexible on latency - for fair decision Features - Support TCP and UDP - Support a script language - 32 players - Over 100 spectators Basic Logical Model ZNet Initiator Interrupter Receiver
  2. 2. ZNet Framework (2) <ul><li>Synchronization </li></ul><ul><li>Visualization </li></ul><ul><li>Network </li></ul>Synchronization of MMOSG There are always some payload by network latency under online circumstance. What is most importance in MMOSG is a fair decision. And a network latency have an effect on it and a game play. We have a technical knowledge and many experiences to solve the latency issues. We can the techniques into two parts. One is a technique to process network latency. Another is a technique of visualization to reparation of the latency.
  3. 3. ZNet Framework (3) <ul><li>Latency : Synchronization of network </li></ul>First Latency A first detector of an action is always the actor. Then a receiver cannot help detecting the action after some latency. It’s a first latency. And it’s identical with network transfer time between initiator and receiver. First Latency = Network Transfer Time Action Second Latency If there are one more receivers, the transfer times are various. To process synchronization, we have to choose a worst case time. If the time is not over 500ms, we can process it. Second Latency = 20 ms (<=500ms) initiator Receiver1 10 ms Receiver2 20ms
  4. 4. ZNet Framework (4) <ul><li>Synchronization of visualization </li></ul>The reparation of latency Because of latency, there is a error between initiator and receiver. The error can make another problem something like synchronization. For example, a batter hit a ball, the ball fly for 2secs and dropped. if a fielder received the information after 100ms, the ball of the batter’s screen dropped already but the ball of the fielder’s screen will drop after 100ms. This situation can affect a decision inside game. To solve the error, we adjust the process(visualization) speed of a action for each side. It’s a example to overcome a latency. time time First Latency (100ms) Ball speed : slower then receiver Ball speed : faster then initiator Initiator Receiver ACTION : HIT!!! 0 sec 2 sec
  5. 5. ZNet 1.0 <ul><li>Used for Real Baseball 2008 </li></ul><ul><li>P2P based networking </li></ul><ul><ul><li>TCP + UDP hybrid networking </li></ul></ul><ul><ul><li>Fallback P2P failure </li></ul></ul><ul><ul><ul><li>Support message relaying : P2P  UDP  TCP </li></ul></ul></ul><ul><ul><li>NAT friendly networking </li></ul></ul><ul><ul><ul><li>Support various routers, firewalls in USA </li></ul></ul></ul>
  6. 6. ZNet 1.0 <ul><ul><li>Synchronization was more important than speed! </li></ul></ul><ul><ul><li>Per-frame synchronization like strategy simulation game (ex: Starcraft) </li></ul></ul><ul><ul><ul><li>It’s highly synchronized but somewhat slow game play </li></ul></ul></ul><ul><ul><li>Fragile to bad ping </li></ul></ul><ul><ul><ul><li>It’s playable at most 300-400ms </li></ul></ul></ul><ul><ul><ul><li>But a bad ping user can make whole game be choppy </li></ul></ul></ul><ul><ul><li>High traffics on 9vs9 </li></ul></ul><ul><ul><ul><li>More players, more p2p sessions we need </li></ul></ul></ul><ul><ul><ul><li>May not work with old routers (overflow!) </li></ul></ul></ul>
  7. 7. ZNet 2.0 Features <ul><li>Used for Real Baseball 2009 </li></ul><ul><li>UDP based Client/Server networking, not P2P </li></ul><ul><ul><li>no more p2p problems : NAT, old routers, relaying, high traffics, security… </li></ul></ul><ul><ul><li>More players on game : support 32 players </li></ul></ul><ul><ul><ul><li>18 max. players for RBO 2008 </li></ul></ul></ul><ul><ul><li>support many spectators without interfering game play (via relaying) </li></ul></ul><ul><li>But Faster Game Play </li></ul><ul><ul><li>It’s 200% faster than RBO2008. How? </li></ul></ul>
  8. 8. ZNet 2.0 Features <ul><li>Focused on sync-looking motion/physics </li></ul><ul><ul><li>Synchronized Ball Catching is most difficult challenge! </li></ul></ul><ul><ul><ul><li>Suppose position-motion-glove-ball sync on various network latency </li></ul></ul></ul><ul><ul><li>Adapt many prediction & interpolation algorithms </li></ul></ul><ul><ul><ul><li>Content programming would be hard works because of many factors </li></ul></ul></ul>
  9. 9. ZNet 2.0 Features <ul><li>Server based synchronization </li></ul><ul><ul><li>Event will be centralized at server like FPS </li></ul></ul><ul><ul><ul><li>ex: Counter-Strike dedicated server </li></ul></ul></ul><ul><ul><li>No more suffer from bad ping </li></ul></ul><ul><ul><ul><li>Bad ping user will only be slow, others are still fast </li></ul></ul></ul><ul><ul><ul><li>Our goal is that game should be playable under 500 ping </li></ul></ul></ul><ul><ul><li>Ping to server is most important factor </li></ul></ul>