Luar's Flash Playground:Flash Player Latency比Network Latency更容易被忽略
新聞(101)
觀點或評論(94)
Flash書(63)
教程(73)
Design Patterns(3)
FlashCom筆記(47)
Flash Remoting筆記(27)
Flex筆記(11)
Flash Lite筆記(14)
PHP資訊(23)
Ajax筆記(9)
習作(51)
組件(17)
酷站(32)
學習資源(28)
書籍推介(15)
本站與我(91)
RSS瀏覽器
聯絡
熱愛鑽研
Ajax
ActionScript
Flash
Flash Lite
Flex
Flash Remoting
FlashCom
Director
Lingo
PHP
Multiplayer Game

搜尋
VCASMO
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證明了我對開發多人連線遊戲的經驗仍然不足,但是從錯誤中學習到的知識是最實用和深刻的。這些看多少書或別人文章都不能學到的實戰經驗,永遠是最寶貴的。

本文章由發表。
意見
  • 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發表

同組文章

Movable Type 4.32-en系統支持,Luar's Production版權所有。