MMORPG遊戲在技能戰鬥中的位置同步問題

來源:互聯網
上載者:User

      這裡列舉在技能戰鬥系統開發中,碰到的兩個與位置同步相關的問題

     

     (一)

      在MMORPG遊戲中,對於那些同時擁有近攻和遠程系等多種職業的遊戲,策劃一般都會對近攻類的職業,加上衝鋒類的技能,以便平衡遠程類職業在攻擊距離上的優勢。在client看到的效果,是玩家邊播放衝鋒動作,然後快速接近目標,並對目標一個傷害,而對server而言,該技能與其它技能在處理的不同之處在於,施法玩家在施法的同時,也作一個位置的變更。一般server的處理流程是,先檢查衝鋒直線路徑是否合法(有無阻擋)和其它施法條件,若通過,則告訴client可以施法,並同時設定當前玩家座標為衝鋒後的座標(該座標由client帶上來)。

      由於server移動系統在對client發過來的移動資料作檢驗時,需要檢查本次移動的起步點,是否為上次移動的結束點,即作線段端點合法檢查,而衝鋒到達的目標點並未在上次移動的路徑棧資訊中,所以,server技能系統在設定衝鋒位置時,需要先清除原路徑棧資訊(如調用MoveStop介面),以便確認本次衝鋒為一次全新的移動。

 

     (二)

     兩個玩家同時使用衝鋒技能時(目前client在做技能時,採用先表現的方式),出現一個玩家(衝鋒目標client)停在衝鋒途中的現象,原因為server廣播技能施法時,沒有帶目標主動位移的資訊(client在處理衝鋒位置時,對於使用衝鋒技能的client,因為它知道衝鋒到達的位置,所以它的處理沒有問題,而另一個衝鋒目標client,由於它不知道對方要衝到哪裡,則client處理時就是選擇衝鋒路徑上的一點,這樣就會看到停在衝鋒途中了)所致。解決辦法是,要麼在協議中下發目標位移資訊,要麼在策劃規則上,只允許同一時刻一個玩家衝鋒,如:衝鋒加暈眩debug等;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.