May 13 2008

The Sims Carnival:玩耍、創造、分享,製作遊戲超簡單!

文章分類: 業界觀察

幾個月前,偶然在巴哈姆特上看到這則新聞,內容是關於 EA 即將啟動的一項全新遊戲社群服務:

美商藝電表示,TheSimsCarnival.com 網站為全新的線上社群,喜愛《模擬市民》的玩家甚至所有玩家都可藉由此社群創造、分享休閒遊戲,且不需要高深的程式技巧。

模擬市民工作室負責人羅德.亨寶認為,TheSimsCarnival.com 這種全新且容易上手的遊戲體驗將賦予玩家在線上與好友一同進行、創造及分享遊戲所需的各種工具,無論是想設計一款包含家庭照片的新玩家,或是一直想製作一流平台遊戲的玩家,甚至是打算開發下一款遊戲大作的高手,TheSimsCarnival.com 讓遊戲的創作與發表變得比過往簡單許多。

「能夠讓所有的玩家自己創造遊戲?而且不需要高深的程式技巧?」這些敘述內容立即引起了我的高度興趣,好奇地想要看看 EA 的葫蘆裡到底裝著什麼樣的法寶。於是馬上進入 The Sims Carnival 的官方網站創建帳號。「啊?還需要經過資格審核才能得到進入網站的帳號喔?」在創建帳號之後,能做的事也只有等待了。

經過了幾週以後,終於在信箱裡收到了通過認證的電子情書。然而當時恰好處於比較忙碌的期間,也就暫時擱下了。直到最近,終於挪出一些空閒時間,想起這件事的存在。雖然始終沒有抱持著太大的期望,但之前總是已經花了時間申請帳號,於是決定鍵入帳號密碼,探頭進入網站看看。登入網站瀏覽之後,眼睛越睜越大,才發現原來 The Sims Carnival 是一個大有來頭的傢伙!

繼續閱讀 << "The Sims Carnival:玩耍、創造、分享,製作遊戲超簡單!"


May 08 2008

初探Nintendo DS程式開發與設計(二)

文章分類: 學習筆記

nds-dev-bitmap自從年代久遠的「初探Nintendo DS程式開發與設計(一)」問世以後,經過了漫長的兩個月等待,新的續篇終於不負眾望地(?)火熱出爐囉!這篇文章將進入 Nintendo DS 的內心世界,深入探索它在樸實外表下所隱藏的強大能力。然後,同樣地以一個簡單的範例介紹基礎的背景圖件顯示功能。

首先要瞭解的是 DS 的硬體架構。

DS 是一個擁有雙中央處理器 (CPU) 的系統,兩個處理器分別是 ARM 9 以及 ARM 7;ARM 9 是一個 32-bits 架構 66 MHhz 速度的處理器,而 ARM 7 是一個 32-bits 架構 33 MHhz 速度的處理器。DS 擁有 4 MB 的主記憶體容量,總計 656 KB 的顯示記憶體容量,以及數個大小不等的快取記憶體;詳細的內容配置,請參照這張 DS 的記憶體架構圖。除了核心架構以外,當然還有音效硬體、麥克風、觸控螢幕、主機按鍵、GBA 卡匣槽,以及 Wi-Fi 網路的支援能力。

不同於 PC 平台上動輒成千上百的記憶體容量,整個 DS 的主記憶體只有 4 MB 的大小,而相當重要的顯示記憶體更是只有 656 KB 的容量;因此,在 DS 上對於任何資源的配置行為,都需要精打細算地評估考量。ARM 9 與 ARM 7 都能夠自由存取主記憶體,而主記憶體通常會用來存放 ARM 9 所使用的遊戲執行檔,以及與遊戲相關的實體檔案。至於 ARM 7 的執行檔,雖然也能夠放在主記憶體中,但是為了效能上的考量,devkitPro 預設的行為會將執行檔放在快取記憶體 IWRAM 之中。另外,DS 的觸控螢幕輸入功能,是交由 ARM 7 所處理的;在 libnds 的預設執行檔中,ARM 7 會在每次主迴圈更新時,讀取觸控螢幕的相關資料,並且將這些資料存入 ARM 9 也能夠讀取的地方。

繼續閱讀 << "初探Nintendo DS程式開發與設計(二)"


May 04 2008

《MMO Class Design: Up With Hybrids! An Economic Argument》:經濟學灌頂,混種角色出頭天!

文章分類: 遊戲設計閱讀

Hybrid Character原文出處:MMO Class Design: Up With Hybrids! An Economic Argument
(圖片來源:http://home.covad.net/~reignfyre/despair-hybrid.jpg)

在多人線上遊戲 (Massively Multiplayer Online Game) 中,有許多不同職業、不同玩法的角色,其中有一部分是屬於專精單一功用的角色,而另外一部分的職業則是能夠提供不同功用的混種角色。本文將以幾項經濟學中的基礎理論,檢視遊戲組隊過程中由生產者與消費者所形成的經濟體系,並且探討 MMORPG 類型的遊戲中,最艱鉅也最有爭議性的混種角色設計要素

只要是熟悉 RPG 類型遊戲的玩家,應該都知道在一般傳統的角色扮演遊戲中,有三種最常見的主要角色原型:

  • 肉盾 (Tank):專精於抵擋敵人的攻擊,例如戰士。
  • 傷害輸出者 (DPS):專精於輸出傷害值,例如盜賊和法師。
  • 治療者 (Healer):專精於治療或支援隊友,例如牧師。

肉盾、傷害輸出者以及治療者,幾乎所有的角色扮演遊戲都離不開這三種角色的範疇;這三種原型角色專精於特定的領域,因此常被稱為專家角色 (Specialist)。而除了上述三種原型角色以外,所謂的混種角色 (Hybrid),就是能夠同時扮演上述其中二種,甚至三種作用的角色。

那麼,為什麼混種角色的存在與否,對於遊戲世界的平衡性與遊戲中的組隊行為至關緊要?如果創造出一個只有戰士、法師和牧師的世界,會產生什麼問題嗎?

繼續閱讀 << "《MMO Class Design: Up With Hybrids! An Economic Argument》:經濟學灌頂,混種角色出頭天!"


May 01 2008

《Top 10 Traits of a Rockstar Software Engineer》:明星程式設計師必備的十項特質

文章分類: 遊戲程式閱讀

原文出處:Top 10 Traits of a Rockstar Software Engineer

這是一篇很有意思的短文。文中條列出不多不少、總共十項優秀軟體工程師所應具備的特質,並且很微妙地將軟體工程師比喻成搖滾明星。你是公司的主管嗎?按照這些特質尋找人才就對了!你是在學的學生嗎?按照這十項特質的方向努力學習就沒錯了!

在這十個特質中,我認為最關鍵、同時也是寫得最為貼切的莫過於第一點:Loves to Code


1. 真心喜愛程式 (Loves to Code)

程式設計,是一種發自於內心、不求回報的付出 (Labor of Love)。如同任何的職業一樣,唯有具備滿滿的熱情,才能完成真正偉大的事情。一般人的誤解,常認為撰寫程式是一種機械化,或者純然科學化的行為。事實上,最棒的軟體工程師是工匠 (Craftman),能夠將能量、巧思以及創造力注入每一行的程式碼當中。優秀的工程師,知道程式碼區塊何時被琢磨至完美的程度,也知道在大型的系統中,這些區塊何時會如同謎題般巧妙地拼湊組合起來。熱愛撰寫程式的工程師所獲得的喜悅感,就像是作曲家完成一首交響樂所感受到的狂喜;而也正是這種興奮感以及成就感,使優秀的程式設計者們真心熱愛程式設計。

繼續閱讀 << "《Top 10 Traits of a Rockstar Software Engineer》:明星程式設計師必備的十項特質"


Apr 27 2008

《Is The Video Game Industry Recession-Proof?》:經濟不景氣,全民玩遊戲?

文章分類: 遊戲開發閱讀

原文出處:Analyze This: Is The Video Game Industry Recession-Proof?

從去年以來,由於美國地區積累已久的次級房貸問題引爆,加上國際石油價格高漲、糧食短缺以及美元走貶等等民生經濟議題的衝擊,使世界各國的經濟貿易組織紛紛向下修正 2008 年對於各國經濟成長率的預測數字。在次級房貸的衝擊中,幾間美國的大型金融保險公司紛紛中槍倒地,不得不申請破產保護。對於許多仰賴與美國進行進出口貿易的國家來說,如果美國的經濟面臨嚴重的衰退問題,這些國家也難以倖免而將會受到連帶的衝擊影響。全世界,現在似乎正籠罩在經濟衰退 (Recession) 的烏雲當中。

經濟的不景氣或衰退,是一個令人望而生畏的議題。然而,對於遊戲產業來說呢?是否會一如預期地受到經濟因素的嚴重影響,使遊戲軟硬體的銷售成績一落千丈?於是,遊戲公司開始裁員,接著遊戲發售的數量越來越少,然後玩家只能尋找其他的替代娛樂。現實世界的情況是否可能演變至此?遊戲界的從業人員是不是應該開始另尋工作機會了?

在一般人的認知中,所謂的遊戲,或者更精確地說電子遊戲,是屬於一種「娛樂」的媒介。食衣住行育樂,我們都知道,需要在滿足了之前的項目後,人們才會考慮到玩樂的需求層面。因此,當經濟衰退、物價高漲以及失業率攀升的時期來臨,做為人們生活中優先權最低的娛樂產業,應當會無可避免並且首當其衝地受到劇烈影響。

然而根據市場機構的統計,光是今年的二月這段期間內,遊戲軟體的銷售量就比去年同期成長了 47%。其中有部分的成績,可以說是拜 Wii 平台的《任天堂明星大亂鬥 X》所賜,在日本甫一推出就造成搶購旋風,成為任天堂公司史上銷量最快達到百萬套以上的遊戲。另外,最近在 PSP 平台上發售的《魔物獵人攜帶版 2nd G》不僅以極快地速度成為銷量突破百萬的作品,也順勢締造了 PSP 主機的驚人銷售成績。

以 2008 年前三個月的成績來看,不論是遊戲軟體或遊戲硬體,成長的力道依舊相當強勁。究竟,這是不是屬於特例中的特例?或者遊戲產業真的對於經濟衰退的效應具有良好的免疫抗體?於是有人提出了這個有趣的問題:遊戲產業是否具備抵抗經濟衰退 (Recession-Proof) 的能力?在本文中,Gamasutra 找來三位遊戲業界的分析師,分別對以下幾項問題提出他們的見解:

  • 2008 年裡,遊戲產業是否能夠抵抗經濟衰退的問題?
  • 今年以內,遊戲市場的消費量應該會增加、減少,或者持平呢?
  • 在許多不同的平台中,有沒有哪個平台的軟硬體銷售量會特別受到經濟衰退因素的影響呢?

繼續閱讀 << "《Is The Video Game Industry Recession-Proof?》:經濟不景氣,全民玩遊戲?"


Apr 23 2008

物件導向設計新思維:探索Policy-Based Class Design新視界

文章分類: 入門概念

Policy-Based Class Design 到底是什麼樣的東西?又能夠用來解決什麼樣的問題?本文將由一個在程式專案中常見的現實案例,帶領讀者進入 Policy-Based Class Design 的全新思維領域。

學習一項新的思維方法或實作技術,最容易的方法就是從需求面出發。所以在介紹 Policy-Based Design 之前,先來看看一個現實中經常會遇到的程式設計案例:假設在處理 Input/Output 功能的系統層,原來存在著 BinaryReader 與 BinaryWriter 兩個類別,分別用來讀取以及寫入二進位制的資料串流。

現在,在新的專案項目中,我們希望能夠利用這兩個既存的 IO 類別,但是又不希望將檔案的讀取與寫入動作,分成 BinaryReader 與 BinaryWriter 兩個不同的類別進行處理。因此,程式設計者需要設計一個新的 IO 管理者類別,將原有的讀取與寫入功能合併在一起,以達到集中操作以及檔案資源管理的功用。

而為了盡量減少對既存程式碼的修改,其中一種設計方法是使新的 IOManager 類別,同時繼承自 BinaryReader 與 BinaryWriter 類別,然後藉由虛擬函式的宣告,修改專案所需的行為程序:

class IOManager
    :
    public BinaryReader,
    public BinaryWriter
{
public:
    virtual void Read(); // 覆寫自 BinaryReader
    virtual void Write(); // 覆寫自 BinaryWriter
}

這樣設計的方法確實能夠在不修改原有類別的前提下,達到 IO 系統介面集中的目的。程式系統的撰寫者無須再同時照料 BinaryReader 與 BinaryWriter 兩個類別,只要一個 IOManager 類別就能夠處理 IO 層面的功能操作。

繼續閱讀 << "物件導向設計新思維:探索Policy-Based Class Design新視界"


Apr 20 2008

找不出的,病毒。來襲!

文章分類: 部落格事務

「真相,只有一個。兇手,就在這群程式碼之中!」

根據 yag 網友在這篇迴響中所提到的內容,在瀏覽猴子靈藥時,竟然會出現病毒警告訊息!?究竟,網站是不是被入侵或者中毒了呢?

在我和 yag 以信件確認之後,知道他所安裝的防毒軟體為 Avira AntiVir,於是我就在自己的兩部電腦系統中,都安裝上最新的 Avira AntiVir Premium 8 防毒軟體,再次進行網站頁面的瀏覽測試,結果同樣沒有出現任何警示訊息。於是我就擅自下了個不聰明的結論,認為這次「病毒嗶嗶事件」的兇手,就是「AntiVir 軟體所造成的誤判行為」。

然而,我錯了。

yag 與他的朋友的電腦上,仍然會不定時出現警告訊息。然而,我在反覆檢查網站檔案目錄以及幾個可疑的外掛程式之後,依舊百思不得其解。這時候我才發現自己忽略了一項很重要的變數:網路瀏覽器

繼續閱讀 << "找不出的,病毒。來襲!"


Apr 16 2008

《薩爾達傳說—夢幻的砂時計》:一段充滿樂趣的解謎探索旅程

文章分類: 案例分析

遊戲名稱:薩爾達傳說—夢幻的砂時計

之前有很久的一段時間,沒有很認真而且全心投入的去玩一款遊戲了。這款《薩爾達傳說—夢幻的砂時計》是 2007 年一整年當中,最讓我整個人沈浸於其中的遊戲,也是我認為去年在 NDS 平台上所發售的最佳遊戲。同時這款遊戲也在今年二月,不負眾望地拿下了 2008 遊戲開發者會議的最佳手持平台遊戲獎項。

一進入遊戲之後,立刻就被操作直覺以及容易上手的遊戲方式所深深吸引而欲罷不能。在每天遊戲不離主機、主機不離手掌的狀態中,瘋狂玩了十幾天左右,終於破關了。以遊戲的總時數來說,並不算是太長的遊戲時間。而薩爾達傳說的系列作品,總是在破關之後帶給玩家意猶未竟的不捨之感。這次的最新系列作,更是充分發揮了 NDS 平台上的各項獨特功能,在費盡心思解開重重謎題而闖關成功之後,每每令人大呼過癮、拍案叫絕。

從前第一款玩的系列作,是在 SFC 平台上的薩爾達傳說,當時只有很破的日文程度,很多謎題都是一面看著攻略一面進行遊戲才有辦法過關,即使如此,仍然絲毫不減那份遊戲的感動與樂趣。玩過了 SFC 上的經典作之後,可惜後來的 Gameboy、Gamecube 以至於 Wii 平台上的薩爾達系列作品都無緣玩到。這款出在 NDS 上的系列作品,總算是讓我在多年以後重新溫習從前的那段美好時光。

而這款作品,在我只看得懂五、六分,猜得到一、二分日文的情況下,還好多數謎題也都能迎刃而解。雖然還是被卡住了兩次而心急看了攻略提示,也還有未解的支線與未完的蒐集物品,但是那種親自解開謎題的爽快感,真是令人激動而難以言喻!在玩遊戲的同時,也會對遊戲設計者的各種巧思打從心裡發出激賞:「不愧是任天堂,不愧是薩爾達!從來就沒有讓玩家失望過!」能夠得到白金殿堂的讚譽,可說是毫無疑問,實至名歸!

繼續閱讀 << "《薩爾達傳說—夢幻的砂時計》:一段充滿樂趣的解謎探索旅程"


Apr 12 2008

多核多緒多樂趣

文章分類: 學習筆記

「多核心處理器有前途嗎?」幾年前,或許只是單純的疑問句,而到了今時今日,無庸置疑地已經成為了肯定句。

有沒有注意到,曾經每年都在急速成長的 CPU 處理速度,已經停留在 2 至 3G MHz 很久的一段時間了呢?在個人電腦的硬體配備中,已經由追求 CPU 的速度提升,轉向追求核心數量的增加。主流的 CPU 規格也逐漸由雙核心進步到四核心、六核心,甚至是未來的八核心中央處理器。「多核心」聽起來很酷,而這個所謂的多核心處理器的意義何在?

「Programming for Parallelism」中,共有 8 段配上中文字幕的影片,由 Intel 公司的 James Reinders 由淺至深地簡介了多核心硬體發展的必要性,以及相關程式應用技術的入門概念。其中在第一段的影片內容中,提到關於提升處理器時鐘頻率的作法,有幾項很關鍵的問題點:

  • 繼續往上提升處理器的時鐘頻率有什麼問題?功率是我們最常聽見的說法。提高處理器的時鐘頻率,對於執行速度的提升會越來越不明顯;也許性能提升了 13%,但是功率的卻多耗損了 73%。所以如果我們繼續提升處理器的時鐘頻率,一來電費不划算,二來使用 CPU 煎牛排再也不是夢想。
  • 另一個問題在於記憶體。過去幾年間,CPU 很快樂的以倍速飛快地成長著,然而在現實世界的硬體市場中,記憶體的時鐘頻率已經遠遠地跟不上處理器時鐘頻率的提升。就算處理器的動作再快,也得從記憶體拿取資料,並且將計算完畢的資料恭恭敬敬地交回給記憶體才行,所以在記憶體速度跟不上的情況下,處理器運算速度再快也只能空轉等待。
  • 還有一個問題點在於可平行處理的指令集。能夠進行平行處理的指令集,已經被開發利用得差不多了,接下來即使不斷提升處理器的速度,也不能保證得到更好更快的執行效能,而只是徒增更多 CPU 閒置發呆的時間。

繼續閱讀 << "多核多緒多樂趣"


Apr 09 2008

部落格系統更新,以及全新的聯播頁面!

文章分類: 部落格事務

歷經漫長的資料庫備份、全站備份,以及升級動作,終於將猴子靈藥所使用的 WordPress 系統升級到了最新的 2.5 版。這次升級是 WordPress 版本的大躍進,改善並且新增了許多的功能,不過大部分都是與後台管理者比較息息相關的部分。至於讀者們,應該會感覺到網站頁面的讀取速度有快那麼一點點吧?如果在網站的瀏覽與閱讀過程中,有發現什麼問題的話,也歡迎隨時回報給我。

另外,新增了一個「聯播」頁面!我把「連結」頁面中的部落格,全部加入了聯播系統中。目前包含猴子靈藥在內,聯播系統中共有 6 個部落格。只要這 6 個部落格發佈了新的文章,就能夠很便利地在「聯播」頁面中看到文章標題與內容大綱囉。如此一來,將更有利於相同主題的部落格之間,建立起緊密的聚落與連繫。

包括撰寫文章的部落格在內,同樣地,很歡迎各位讀者加入這個遊戲開發主題的文章聯播行列!如果你擁有自己的部落格,只需要在可以使用 script 標籤的頁面中,加入以下這段程式碼,就可以呈現出和「聯播」頁面中相同的內容:

<script src="http://services.newsgator.com/ngws/headlines.aspx?uid=1177927&mid=1"></script>


再次宣傳,只要是與遊戲開發遊戲設計遊戲美術遊戲程式相關的部落格、網站或論壇,都歡迎告知我,我會儘速與站長聯絡,在獲得許可之後將網站連結加入「連結」以及「聯播」頁面中。

非常感謝!