DOOM – flash版
flash 8 提供 Bitmap API後,出現這類型 game其實是遲早的事,今天就看到一個。
吃飽飯玩了一下,雖然畫面普普(畫質可說是非常的糟,非常有1992年左右原版時的感覺
),同時速度非常慢,遊戲一開始後幾乎是立刻吃光 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了吧
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貼圖的手法可以看的出來,顯然是高人一枚阿~
Trackback this post | Subscribe to the comments via RSS Feed