• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            天行健 君子當自強而不息

            Getting Online with Multiplayer Gaming(7)

             

            Looking at Clients

            Once connected, clients just need to collect local player control information and
            send it up to the server. Between the updates received from the server, the clients
            guess (using dead reckoning) how to handle all the game characters based on their
            last known state.

            For example, all characters that were walking at the last update keep walking until
            the server signals them to stop. In this way, the game-play appears smooth, and with
            a good network connection, server updates are received fast enough for the game
            to stay entirely in sync.

            As illustrated in Figure 19.8, whenever a client makes a change in action (such as
            walking in a different direction than in the last known state), that change in state is
            immediately relayed to the server, which immediately sends that action to all connected
            clients. In that way, synchronization is much better.

            Speaking of changes in player actions, exactly what actions can a player perform?
            Navigation for one. As players walk around the map, their direction of travel is sent
            up to the server. Notice that only the direction of travel is sent.

            If you allow clients to specify their coordinates when they move, you’re inviting
            cheaters to mess with the values. Instead, the server will modify the coordinates of
            the player and send those coordinates back to the clients (at which time, it doesn’t
            matter whether cheaters modify the values, because the server can’t be affected).

            For specific actions, such as walking, clients are allowed to change their own states.
            As a result, players can move between server updates. For actions such as attacking,
            only the state change is sent to the server, which in turn processes the attack and
            sends out the appropriate state changes to all clients.

            Players can be updated only every 33ms. The updates are time-limited in order to
            make sure the clients don’t flood the server with thousands of actions. By keeping
            actions to a minimum, the server can process things more quickly, and the gameplay
            stays smooth.

            Whenever the server does send those crucial updates to the client, the client will
            immediately change the state of the characters (or characters) in question (no
            need for a message queue here). This update can also include the local player, so
            as you’re moving around, some jumps in the action can occur due to the client synchronizing
            to the server.

            Well, enough of the explanations; let’s get on to making an actual network game!

            posted on 2007-12-18 18:52 lovedday 閱讀(137) 評論(0)  編輯 收藏 引用

            公告

            導航

            統(tǒng)計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            99久久精品国内| 久久精品无码一区二区三区| 亚洲精品无码专区久久同性男| 久久午夜综合久久| 久久精品国产乱子伦| 99久久精品费精品国产| 亚洲?V乱码久久精品蜜桃 | 久久线看观看精品香蕉国产| 97精品伊人久久久大香线蕉| 精品久久久久久无码不卡| 久久综合九色综合网站| 日韩电影久久久被窝网| 久久久久久免费一区二区三区| 一极黄色视频久久网站| 色综合久久久久网| 久久久久久伊人高潮影院| 久久久久国产精品麻豆AR影院| 久久永久免费人妻精品下载| 一本大道久久东京热无码AV| 91久久成人免费| 久久精品国产亚洲av影院| 久久久久亚洲AV成人网人人网站| 国产叼嘿久久精品久久| 国产一区二区三精品久久久无广告| 久久久久久伊人高潮影院| 亚洲欧洲精品成人久久奇米网| 国产毛片久久久久久国产毛片| 国产精品青草久久久久婷婷 | 久久精品中文字幕第23页| 久久99精品国产99久久6男男| 久久久精品人妻一区二区三区四 | 亚洲色欲久久久久综合网| 欧美色综合久久久久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 一级做a爱片久久毛片| 人人狠狠综合久久亚洲88| 办公室久久精品| 久久久久久狠狠丁香| 国产精品九九久久免费视频 | 精品国产乱码久久久久久浪潮| 国产69精品久久久久9999|