• <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>

            天行健 君子當(dāng)自強(qiáng)而不息

            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 閱讀(140) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            公告

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關(guān)鏈接

            搜索

            最新評(píng)論

            久久午夜夜伦鲁鲁片免费无码影视| 国产精品免费久久| 亚洲狠狠婷婷综合久久久久| 欧美黑人又粗又大久久久| 国产精品久久久久9999| 亚洲国产日韩综合久久精品| 精品久久久久久亚洲| 蜜臀久久99精品久久久久久| 少妇高潮惨叫久久久久久| av国内精品久久久久影院| 日韩久久久久中文字幕人妻 | 中文字幕无码久久久| 亚洲国产精品无码久久SM| 成人午夜精品久久久久久久小说| 亚洲人AV永久一区二区三区久久| 国产成人精品久久二区二区| 亚洲国产精品成人AV无码久久综合影院| 国产亚洲色婷婷久久99精品| 思思久久99热只有频精品66| 热久久这里只有精品| 久久影院综合精品| 欧美久久久久久| 亚洲午夜精品久久久久久浪潮| 狠狠色婷婷综合天天久久丁香 | 国产99精品久久| 久久无码人妻一区二区三区| 国产A三级久久精品| 久久这里只有精品视频99| 91精品国产综合久久香蕉 | 久久午夜无码鲁丝片| 久久精品99久久香蕉国产色戒 | 久久夜色精品国产欧美乱| 精品人妻伦九区久久AAA片69| 久久精品国产只有精品66| 亚洲国产成人久久精品动漫| 国产69精品久久久久777| av无码久久久久不卡免费网站| 97精品伊人久久大香线蕉app| 精品久久久久久成人AV| 97精品伊人久久大香线蕉app| 天天爽天天爽天天片a久久网|