
原文出處:Understanding The Fun of Super Mario Galaxy
Wii 平台上的正統 Mario 系列作 Super Mario Galaxy 是一款非常有趣又好玩的遊戲作品。原文的作者是《Super Street Fighter II Turbo HD Remix》的 Game Designer,在本文中他使用 Four Keys of Fun 的理論,分析這款遊戲作品的種種設計要素,以及其中無與倫比的樂趣元素。
Hard Fun:
When you succeed at an especially difficult challenge, the Italian word fiero describes the emotion you feel as you raise your fist into the air triumphantly.
所謂的 Hard Fun,內容涵蓋了克服障礙與達成目標的樂趣在內,是大部分的玩家都非常熟悉的一種樂趣型態。特別是當玩家克服了遊戲中的困難挑戰之後,更能夠感受到那種得來不易的喜悅情緒與成功快感。歷代以來的瑪利歐系列作品,一向都是充滿著各種 Hard Fun 的樂趣要素(想想那些死了十來次才過得了的關卡),需要玩家以精確的跳躍、躲避、移動速度控制等等,不同的操作組合行動以通過關卡中的場景障礙與敵人。這些遊戲要素,幾乎每一項都在挑戰著玩家的操作技術與手腦協調的應變能力。在 Super Mario Galaxy 中,Hard Fun 也可以說是遊戲中最常見的要素。比較值得一提的是,在遊戲的主舞台中,有個區域放置並且展示了目前所蒐集到的星球數量,以此更進一步強化玩家蒐集星星與完成目標所獲得的成就感。
繼續閱讀 << "Understanding The Fun of Super Mario Galaxy"
做為一個程式設計者,在 C++ 的程式設計領域中,我們無可避免的會經常使用到各種 STL 的容器 (Container),包括 vector、map、set、list 等等。熟習這些容器的功能特徵與操作行為並且和它們成為好朋友,是每個 C++ 程式設計者必備的基礎知識。在大多數的情況下,我們都能心滿意足地使用著這些前人的心血結晶,不會產生任何的問題。
然而,如果某天,在現存運行的程式專案中,需要將 STL Container 替換成其他實做方案時怎麼辦?本文中將以 STL Container 中,最常用來儲存與索引資料用的 std::map 容器為例,探討容器包裝介面的必要性、實做目標以及各項實做細節,並且提供完整的程式碼範例下載。
繼續閱讀 << "容器們,奮起吧!—實做 STL Containers 的包裝介面"
更換程式碼展示所使用的 Plugin,改用以 Google Syntax Highlighter 為基礎的顯示格式,版面變得漂亮而且清楚許多,也不會因為過長的程式碼而破壞部落格的版面配置;另外,這個 Plugin Script 還提供了很方便的單鍵複製程式碼功能以供閱讀者使用。我也已經把之前所有文章中有包含程式碼的部分,全部都更換成新的格式囉,希望在大家閱讀程式碼的時候,能夠達到易於辨識以及賞心悅目的效果。
猴子靈藥開站到現在,不長不短也快滿兩個月了。有鑑於之前的文章(如果有人需要的話 XD)越來越難以瀏覽與搜尋,所以新增了一個「存檔」頁面,用來存放每個月的文章列表,讓閱讀者能夠快速地進行「讀檔」。在這個頁面中,僅列出每篇文章的標題與連結,以便於閱讀者能夠快速索引至自己感興趣的文章。
(附註:那個「連結」頁面的呈現效果我不是很滿意哩,折疊顯示似乎有點多此一舉。先暫時頂著用,我再找找看有沒有更好用的 Plugin 來換掉吧~ XD)
在最近發表的 「Casual Games and Piracy: The Truth」 這篇文章裡,著名的休閒遊戲發行公司 Reflexive 對於「以 DRM 改善非法下載」與「遊戲銷售量」之間的關係做了個粗略性的統計。根據他們蒐集評估 Ricochet Infinity 這款遊戲的相關數據,統計得出的結論顯示:這款遊戲的玩家裡,約有 92% 的比例是使用非法下載的版本進行遊戲。
經過數種 DRM 方法的更新與改進之後,再次蒐集並比較數據,遊戲的銷售情形確實獲得某些程度的提升。但是消滅非法下載與改善 DRM 所得到的成效,是否真的與遊戲的銷售量如此緊密相關?前後數據比較之後,他們發現每減少 1000 份的非法下載,僅僅只能增加 1 份額外的銷售量,也就是 1000 比 1 的比例。所謂的真相,是如此地令人感到驚訝與嘆息。雖然本篇文章的評估方法不盡然準確無誤,但至少能夠使遊戲開發者體認到市場現狀的一些真實數據;在文章底下的迴響留言,也有很多與作者意見不同的回應與見解。
如今我們身處的時代裡,包含遊戲業在內,所有的數位內容產業同樣都面臨著相似的困境。遊戲,並不是衣食住行等民生必需品,也沒有關係到個人生死存亡的迫切必要性,而是屬於「想要」(Want) 多過於「需要」(Need) 的產品。在決定要不要花錢購買遊戲的時候,除了理性層面的價格影響之外,還會考慮到感性層面的價值影響。
繼續閱讀 << "價格?價值?遊戲下載才是王道!"
什麼是程式碼的版面配置 (Layout) 與風格樣式 (Style)?用一句話簡單說明就是:程式碼呈現出來的樣貌。
在程式碼的文字檔案中,除了有意義(或混亂)的程式碼與註解文字之外,佔據其他空間的正是所謂的版面配置元素;也就是程式碼中的空格、空行、斷行、縮排、括弧等元素。 正所謂「人要衣裝,程式要風格」,利用這些版面配置元素將程式碼好好打扮裝飾一番,不僅能夠讓程式碼看起來賞心悅目,使閱讀程式碼的人功力大增,更能夠讓程式碼的邏輯與結構更加清楚顯著地展現出來。可說是一舉數得、好處多多,真是「居家寫 Code,出門上班」的最佳良伴啊~
版面配置是對於程式結構的有用指引線索。良好的配置方案能夠使程式的視覺化結構與邏輯結構相符合,傳達給人類與電腦相同意義的訊息。在此要再次引用《Refactoring》書中所寫的一句經典:
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
在撰寫程式的過程裡,較少部分的工作成效,是為了使得電腦能夠瞭解程式碼;而較多部分的努力,是為了使得其他的人類能夠讀懂程式碼。在這個前提之下,程式碼如果能夠達到良好的視覺化配置,就可以恰如其份地展現出一個程式的邏輯結構。程式碼的配置和風格,不會影響到外在可見的因素,例如執行速度、記憶體使用等等,而是對於易讀性、可修改性有很大的影響。並且必須在程式專案初始建構的時期,就將這個議題納入考量。
繼續閱讀 << "程式碼的版面配置與風格樣式"
所謂的小確幸是指:雖然小,但很確實的幸福。
在平常的生活中有三大樂事:
- 閱讀經典好書,或是看到精彩的好文章。
- 著手進行具有挑戰性的任務,或是有新的有趣知識可以學習。
- 靈感與想法很多很想寫出來,文思泉湧寫個不停。
趁著過年難得的幾天連假,回家好好地休息了一週,同時也帶了兩本剛買沒多久的書回去看,分別是:《重構:改善既有程式的設計》與《C++ 設計新思維》。
每次看到好書總會有兩種完全不同的感覺油然而生:其一是興奮與開心的感覺;其二則是懊悔的感覺,懊悔自己怎麼沒能早點讀到這些經典好書!
雖然之前已有涉獵部分相關的知識,但是親身閱讀這兩本書仍然覺得十分震撼。《重構:改善既有程式的設計》內容條理分明,不論是說理或舉例都非常通順流暢且有趣,一讀就停不下來。而 《C++ 設計新思維》的內容就困難許多,常常讀到嘖嘖稱奇、讚嘆不已,然後就卡住搞不懂,需要重新仔細地思考整個架構脈絡;目前為止,我也還未能完全瞭解書中所有的主題與技術。現在正在構思如何將這些知識與技術,運用到與遊戲相關的程式設計與流程開發中,腦袋轉呀轉地想個不停。
然後,在工作上,要開始進行有挑戰性的任務,並且開始學習很有趣的新知識!一想起來就會覺得雀躍不已啊~嘿嘿嘿,過陣子再來分享具體一點的心得。最後,最近腦袋裡的各種想法,也在爭先恐後地舉手喊有,我會盡可能把它們一一抓住,然後具象化出來變成文字寫成文章與大家分享。
那麼,就請拭目以待囉~ XD

在前篇「使用Lua實做GUI系統的遊戲實例」中介紹了 Lua 於 GUI 系統的基本用法後,本文開始進入 GUI 的核心功能層面。
一般來說,有數種不同的架構方式能夠結合 Lua 與 C++ 實做 GUI 系統。其一是將 Lua Script 當作純粹資料描述用的程式碼,僅儲存 UI Layout 相關的資料(如前篇文章所示),而由 C++ Code 掌控核心功能並且讀取 Lua Script 進行資料的處理。其二則是於 C++ 端實做出一組完整的 UI Widget 類別,然後再將這組 Widget 的所有函式、甚至所有類別,註冊給 Lua 端自行呼叫使用。
另一種方法則是在 Lua Script 中包含資料描述以及核心功能,將 GUI 系統的全部相關功能全權交由 Lua 端處理。而 C++ 端程式,則負責發送鍵盤與滑鼠的輸入訊息給 Lua 端程式,供 GUI 系統判斷各種 UI 事件。最後再將測試的結果,傳回給 C++ 端程式進行後續判斷與處理。本文將使用這一種架構來實做 Lua-based GUI 系統。
繼續閱讀 << "深入Lua-based GUI系統架構與實做細節"

原文出處:Why We Play Games: Four Keys to More Emotion Without Story
本篇文章的目的在於探討「情緒」(Emotion) 在遊戲中所扮演的角色,以及找出以故事之外的形式創造情緒的方法。在玩家玩遊戲的經驗裡,這些情緒從何而來?玩家在遊戲的過程中,是否會產生各種不同的情緒?是否有可能以故事之外的形式將情緒帶入遊戲中?本文作者找來許多不同類型的受測玩家,觀察他們的遊戲過程做出結果歸納與分析,提出了一套「為什麼人們喜愛玩遊戲」的有趣理論。
繼續閱讀 << "Why We Play Games: Four Keys to More Emotion Without Story"

原文出處:Korea Rising: Five Crucial Interviews
在這篇很長的文章(共 21 頁)裡,記者趁著去年的 G-Star 韓國之行,訪談了五間韓國本地的遊戲公司:Nexon、Wezen、Microsoft Entertainment & Device Division、T3 與 Com2Us。
There’s a lot to learn from this rich, constantly evolving market, which grew up along lines so different from the U.S., Japan and Europe that it’s difficult to compare — and compete with.
正如文章開頭的引言所述,近年來韓國發展迅速的遊戲產業與不斷演進的遊戲市場,其中有許多層面是美國與日本難以相比,甚至是難以競爭的特點與優勢。這些迅速崛起的韓國公司存在著什麼優勢呢?他們對於未來的發展方向有什麼樣的看法?其中有許多值得進行深入訪談與分析的議題。
繼續閱讀 << "Korea Rising: Five Crucial Interviews"
新增一個「連結」頁面,以後會不定期加入與遊戲開發、遊戲程式、遊戲設計相關的網站或部落格連結。
連結的內容,目前會以「繁體中文」網站為主。如果能找到內容不錯的簡體中文網站,之後也會慢慢加入頁面。只要是和遊戲開發、遊戲程式、遊戲設計有相關的網站或部落格,都非常歡迎提供給我網址與名稱!在得到站長的同意之後,我就會把網站的連結加入頁面中囉。如果有任何意見或網址要提供的話,可以直接留言在這裡,或是在「關於」裡面寫信告知我喔~
我很期望這個頁面的內容能夠越來越豐富,不斷地成長茁壯,形成一個中文遊戲業界的正向網路連結!
(附註:遊戲美術相關的網站也大歡迎喔!)