Luar's Flash Playground:Flash Player Latency比Network Latency更容易被忽略
Flash Player Latency比Network Latency更容易被忽略 (24-04-2005)

最近從一個回合制的多人連線遊戲開發專案中,發現一個奇怪的Bug,因為這個遊戲是棋盤式的遊戲,輪流擲骰子決定步數,發現有時不是到某玩家擲骰子,卻跟真正可以擲骰子的玩家一樣,出現擲骰子畫面,發生這情況,通常是玩家A玩完,到玩家B擲骰子時,玩家A也出現可以擲骰子畫面,我起初以為是上一位玩家殘流的Variable影響,後來反覆檢查程式都沒有發現問題。由於每次都是由主持人Broadcast所有人通知開始新回合,因此我懷疑是否Network Latency問題,有些玩家較慢收到通知,但在本地測試時,根本沒有Network Latency問題,仍然有這問題出現。

經過反覆測試,追蹤每個玩家的Variables後,發現原來是Flash Player Latency問題。由於每部電腦的性能不同,每個回合中的動畫和程式執行速度不一,當主持人的電腦,回合中工作結束,它就會以為所有人都已經完成該回合中工作,發出開始新回合訊息,當較慢的玩家收到後,因為它目前回合的工作仍未完成,依舊是目前回合的舊Variable影響下,以為自己仍然是目前可以擲骰子的玩家,所以出現錯誤畫面。因此,無論是由Server或主持人對每個新回合開始發施號令前,都要先確定所有人已經完成目前回合的工作。

結論:這個Bug證明了我對開發多人連線遊戲的經驗仍然不足,但是從錯誤中學習到的知識是最實用和深刻的。這些看多少書或別人文章都不能學到的實戰經驗,永遠是最寶貴的。

本文章由發表。
意見
"; print "沒有意見。
 "; } ?>
  • agree~!

    由Iden於25-04-2005發表

  • wonderful experience

    由sim_irv於26-04-2005發表

  • 謝謝你的分享!!!
    you are a good guy

    由mylike於28-04-2005發表

  • 請問關於game
    我們能否在網上看到你的作品?

    由mylike於28-04-2005發表

  • 可以,但我不會說

    luar於28-04-2005發表

同組文章