DOOM - flash版

In flash   September 29, 2005 - 11:46 am

flash 8 提供 Bitmap API後,出現這類型 game其實是遲早的事,今天就看到一個。

遊戲位址

吃飽飯玩了一下,雖然畫面普普(畫質可說是非常的糟,非常有1992年左右原版時的感覺 :P),同時速度非常慢,遊戲一開始後幾乎是立刻吃光 cpu 資源,meter直衝 100%(相較比起來台灣 flash 遊戲之神maso兄做的廖添丁玩起來就順暢多了,只是不知道flash 8 出來後有沒有改版的計畫?),不過整體把玩感覺還是很不賴,至少 game engine 跟 即時貼圖系統 都做的很完整,map部份也處理的不錯。

事後打開程式碼看了一下,結構非常的嚴謹,大部份都遵守 80*15法則,將功能切成一個個的function,並且只放在第1格上面,一看就是內行人的寫法,想必日後要擴充或維護都會非常容易。

只是從這例子也可以發現一個事實,flash 的 content終究是在一個速度並不怎麼樣的vm上執行,因此即使現在有了比較完整的API,也還是不能改變「速度」這個致命傷,JVM早期也有同樣的問題,但經過十年的改良,現在 5.0終於號稱可以跟 native C/C++ code 一樣快,所以照這個時程推下去,大約在 Flash 12.0時或許我們就會有神速的 flash VM了吧 :P

note: 前陣子看到有人在ipod 上玩doom, 也有人提到可在 sony psp 上面裝 flash player, 那是不是可以把這個doom搬到psp上玩啊?

by admin

2 Comments Add your own

  • 1. daviimo&hellip  |  September 29th, 2005 at 11:53 pm

    真是不好意思來問有點小白的問題
    但是我真的在 flashcoders 找不到連結
    可以麻煩多一點提示嗎?
    還有什麼是 85*15 法則??
    感謝~

  • 2. jeremy&hellip  |  September 30th, 2005 at 1:12 am

    作者正式公開網站也拿掉密碼保護了,網址已寫進文章裏。

    80×15是指寫程式時應該儘量將功能切割成許多小的function,每個function不超過15-20行,每行不超過80個字元,一般80×15大約是一頁終端機可完整顯示的畫面。

    如果有超級巨大的function存在,就代表可能是程式結構出了問題,應該想辦法拆成數個小function。

    這個game的作者程式碼就維護的很漂亮,邏輯非常嚴謹,雖然還是跑的很慢但我猜他已經花了不少心思在profiling跟調效能了,這點從他處理map與3d engine貼圖的手法可以看的出來,顯然是高人一枚阿~

留言回應

hidden

您的留言會先經過站長認証後才刊登在網站上。
your comments will be approved by Administrator before appearing on the page.

Trackback this post  |  Subscribe to the comments via RSS Feed

mobile phone