May 31 2008

《Content Kings: Square Enix’s Shiraishi And Tsuchida On WiiWare And Risk》:小而美的遊戲新勢力,以內容一決勝負吧!

ffccmlk-logo原文出處:Content Kings: Square Enix’s Shiraishi And Tsuchida On WiiWare And Risk

繼首創遊戲下載服務平台XBox Live Arcade,以及後續跟進的 PlayStation Network 問世之後,由任天堂公司所推出的 WiiWare 下載服務平台,終於正式在日本與歐美地區啟動。而在首批上市的幾款作品當中,最受到玩家們矚目的作品,應該就是 Square Enix 公司的 《Final Fantasy Crystal Chronicles: My Life as a King》了。

只要購買了 Wii Point 以後,就能夠自由使用 Wii Point 下載 WiiWare 平台上的遊戲。而這款遊戲在北美地區的定價是 1500 點的 Wii Point,約等同於美金 15 塊錢的價格。在這篇專訪文章裡,訪問到了《Final Fantasy Crystal Chronicles: My Life as a King》的首席程式設計師 Fumiaki Shiraishi 與製作人 Toshihiro Tsuchida 先生,暢談這款 Square Enix 公司首次在遊戲下載服務平台中推出的作品。

繼續閱讀 << "《Content Kings: Square Enix’s Shiraishi And Tsuchida On WiiWare And Risk》:小而美的遊戲新勢力,以內容一決勝負吧!"


May 26 2008

向食人魔怪說嗨:與OGRE的第一類接觸

OGRE最近花費了大把的時間,努力地學習如何與 OGRE 這隻聲名遠播的巨獸成為好麻吉。至目前為止,總算是能夠稱得上稍微和它混熟了一點。關於 OGRE,這裡提出幾點我的學習筆記、目前觀察到的個性特質,以及與它相處的心得感想。

首先,對於稍具經驗的程式設計者來說,見到 OGRE 的第一眼印象,應該莫過於各種設計模式 (Design Pattern) 的廣泛使用了。在 OGRE 的架構設計與系統實作層面中,使用了 Abstract FactoryFactory MethodSingletonIteratorObserver 以及 Manager 等等許多著名的設計模式。說實在的,我還是頭一次看到這麼多不同種類的設計模式,能夠同時應用在一個遊戲繪圖引擎之中,正好能夠與以前所學的理論知識相互印證,學習起來非常爽快也很感動,真是令我大開眼界、大呼過癮!

而其中,最顯而易見的設計模式就是 SingletonManager 的結合使用。OGRE 利用這兩項模式的組合,製造出了一位一位各有擅場的「專業經理人」,使各個子系統所負的權責,都能夠劃分的非常清楚仔細。另外,利用 Observer 的概念,讓使用者能夠繼承 FrameListener 類別,自行定義進行繪圖程序前後的相關處理程序,也是一個非常優秀的設計模式應用實例。

回想自己當初剛進入業界時,在沒有任何人使用這些設計模式的情況下,額外看了許多書籍網站的資料,最後終於利用 Singleton 與 Manager 模式實作出幾項遊戲專案的子系統組件。結果深入認識了 OGRE 以後,才發現原來這些觀念已經如此廣泛地運用在遊戲引擎的設計架構之中。正所謂「他山之石,可以攻錯」,對於程式設計者來說,吸收新知以及學習別人的長處,的確是十分關鍵而不可或缺的能力啊。

繼續閱讀 << "向食人魔怪說嗨:與OGRE的第一類接觸"


May 21 2008

INs & OUTs

生活中的多數時刻,我們都不停地在 InputOutput 某些事物。

身為學生的時候,每天從早上到下午整整八堂課,來回穿梭於老師、課本與筆記之間,不斷地往腦袋裡輸入知識。而當我們出了社會、開始工作以後,經歷過了前幾年邊學邊做的菜鳥時期,就需要開始全力以赴,像是機械般不斷地輸出自己的專長、知識以及智慧的結晶。

對於學生來說,每日不停地接受新知的洗禮,需要發揮海綿般的吸收力,盡可能地學習各種知識。然而,只有 Input 的腦袋,就像是讀了藏經閣中的許多武林密笈以後,卻只有在腦海中演練招式一樣無用武之地。所以在學校的課程裡,往往會有許多的作業、考試與上機實作,測試學生們是否確確實實地消化了課堂上所傳授的知識,並且能夠依照自己的意思揮灑自如。

繼續閱讀 << "INs & OUTs"


May 17 2008

遊戲開發中的PvP:程式設計者 VS. 程式設計者

來談談 Programmers 與 Programmers 之間的合作關係。

一直到出了社會,經過幾年的工作歷練以後,我才深深地體會到以前在學校中大部分的課程作業與考試,往往太過於注重個人的程式能力,卻忽略了團隊合作的重要性。「一個人能夠將程式完成;一群人卻反而未必能將程式完成。」現今的大專院校設立了許許多多的資訊相關科系,但是對於有志朝向軟體相關產業發展的學生,卻很少有機會學習合作開發的相關知識,更缺乏與同學共同撰寫程式系統的實作經驗,實在是一件很令人惋惜的事情。

除了「《Top 10 Traits of a Rockstar Software Engineer》:明星程式設計師必備的十項特質」中所提到的十點必備特質以外,我認為對於程式設計者來說,最重要也最關鍵的特質就是溝通技巧協調能力。「溝通」以及「協調」,聽起來是再尋常也不過的普通字眼,有什麼重要性?又有誰做不到呢?在現實世界中,不會每件事情都如課本中的理論般,達到準確無誤的理想狀態。如果能夠與同儕間達成良好的溝通與協調,撰寫程式也會變得容易許多;反之,如果無法達到雙方都能接受認可的滿意狀態,將會造成許苦痛、誤解,甚至對立的情勢。

無論是正式的會議或非正式的會談,溝通的程序,經常會佔去許多工作上的時間。在《人月神話:軟體專案管理之道》中提到,當專案中的成員數目往上增加時,彼此之間的溝通成本也會相對地提高,達到門檻上線之後,增加成員就幾乎無法對專案產生任何正面效益了。而除了與企畫設計者、美術設計者以及專案管理者的溝通以外,許多程式設計者經常忽略的層面,反而是與程式部門的內部溝通程序

繼續閱讀 << "遊戲開發中的PvP:程式設計者 VS. 程式設計者"


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》:明星程式設計師必備的十項特質"