Jul 05 2008

初探Nintendo DS程式開發與設計(四):做個拼貼藝術大師

文章分類: 學習筆記

由之前一系列的三篇文章中,已經一步步地瞭解了如何在 NDS 平台上使用 Framebuffer 背景模式、Bitmap 背景模式,以及 Sprite 物件功能,接著本篇將再次深入與遊戲製作息息相關的背景顯示功能,介紹在真實的遊戲程式應用中,更加實用的圖塊背景 (Tiled Background) 模式

前情提要

由於硬體架構上的先天限制,在 NDS 平台中,沒有如同個人電腦平台上的全彩 (32 bits) 或高彩 (24 bits) 顯示模式可以使用;在這個小小的掌上世界中,所有的繪圖物件只能夠使用 16 bits、8 bits 或 4 bits 的色彩顯示模式。而如前篇文章的內容所提,Sprite 物件能夠使用 16 色 (4 bits) 與 256 色 (8 bits) 兩種模式,對於背景圖件來說亦然如此。在 Sprite 的功能中,可以選擇使用 OBJCOLOR_16 或 OBJCOLOR_256 這兩項色彩模式,而在背景圖件中,也有相對應於 16 色與 256 色模式的 BG_COLOR_16 與 BG_COLOR_256 定義。

瞭解了色彩模式的種類之後,就可以開始進入圖塊 (Tile) 的世界了。很久很久以前,在那個電腦記憶體仍然十分珍貴而稀少的年代裡,多數的家用遊樂器主機,都只配備著非常有限的記憶體容量。而對於掌上型主機來說,記憶體的限制則更為顯著。因此,我們無法使用多張高解析度的點陣圖 (Bitmap) 做為遊戲中的背景圖片,所以在 NDS 上存在著一種特別的繪圖顯示模式,能夠以一組相同大小的圖塊,拼貼組合成為完整的遊戲背景圖片。因此,遊戲開發者就可以利用類似磁磚拼貼的方式,由有限數量的小型圖塊,組合出變化多端的大型圖片。

繼續閱讀 << "初探Nintendo DS程式開發與設計(四):做個拼貼藝術大師"


Jun 30 2008

非玩不可的線上遊戲:《重返國軍部隊 Online》

文章分類: 生活雜記

我回來了。

如標題所示,我這幾天剛從一款耐玩度與真實性媲美《重返德軍總部》的線上遊戲登出,總算能夠重新回到原有的工作崗位之上。之前不久才在「INs & OUTs」這篇裡提到要適度地放空自己、拔掉網路線到戶外走走,沒想到還真的一語成讖。於是就在上週事先毫無所知的情況下,我重新登入了國軍伺服器,參加國防部所舉辦的教育召集

為什麼說是毫無所知?因為自己眼殘的緣故,將召集令通知單上所寫的時間日期看錯,非常糟糕地把為期六天的教召誤認為一天的點召。結果直到坐上軍車前往營區的路上,才猛然發現了這個殘酷的事實。所以,我就在完全沒有任何心理準備與行李準備的狀況下重返國軍部隊,準備再次重新體驗為期六天的軍人生活。

繼續閱讀 << "非玩不可的線上遊戲:《重返國軍部隊 Online》"


Jun 20 2008

遊戲產業新門派(一):Casual Game

文章分類: 業界觀察

dream-chronicles在遊戲產業中,如果以遊戲硬體平台做為分類,可以分成電腦遊戲 (PC Game)、遊樂器平台遊戲 (Console Game)、手持式平台遊戲 (Handheld Game) 以及手機遊戲 (Mobile Game) 等等不同的範疇。然而,除了以硬體平台做為遊戲的天然分水嶺以外,還有另外一種分門別類的方式:玩家型態。這篇文章,要來談談各位讀者與遊戲玩家們可能既熟悉,又有些陌生的一支遊戲生力軍——Casual Game

首先必須澄清一個觀念:本文中所提的 Casual Game,不是一般玩家所熟知的「休閒類型線上遊戲」,如《勁舞團》、《網球拍拍》、《跑跑卡丁車》或《全民打棒球》等等。國內的遊戲業界與玩家,對於「休閒遊戲」存在著某種程度上的誤解,經常聽到許多人認為只要是非傳統 RPG 類型的 MMO 遊戲,就可以歸屬於休閒遊戲的範疇中;但是我們如果以玩家客群市場的角度仔細觀察,可以發現這個定義並不是很恰當。

所謂的「休閒玩家」(Casual Gamer) ,是在最近五、六年之內才興起的專有名詞,用來對比於核心玩家 (Core Gamer) 與硬派玩家 (Hardcore Gamer) 之外的一種玩家類型;而針對於休閒玩家所開發製作出來的遊戲,很自然地就被稱為休閒遊戲 (Casual Game)。在英文原意中,Casual 有「非正式」與「漫不經心」的意思,將 Casual 一詞翻譯為「休閒」,是一個不完全正確但最接近於原意的翻譯。而在本文中,我將「休閒遊戲」定義為:

專為休閒玩家量身訂製,主要於 PC 與 Mac 平台上販售的單機遊戲。

只是,達到這樣的條件就能夠稱做休閒遊戲嗎?所謂的休閒玩家指的是哪些族群的人?休閒遊戲又有什麼樣的獨特樂趣與玩法內容?

繼續閱讀 << "遊戲產業新門派(一):Casual Game"


Jun 15 2008

初探Nintendo DS程式開發與設計(三):二維世界小精靈

文章分類: 學習筆記

延續前篇文章中所介紹的 Bitmap 背景圖件顯示功能後,本篇開始進入 2D 圖件 (Sprite) 的二維世界。所謂的 Sprite,原意是指「調皮搗蛋的小精靈」,但是在電腦繪圖與遊戲程式的領域中,Sprite 一詞則被用來當作二維繪圖物件的代名詞:

Sprite is the term used to describe a 2D graphics with a number of related functions.

nds-dev-sprite從前,在那個只有 X 軸與 Y 軸的平面世界中,Sprite 物件就是一切事物的根基,能夠用來表示角色人物、怪物敵人以及武器裝備等許多不同的遊戲物件。Sprite 可以只是一張單純的靜態圖片,也可以由數張圖片組合成為動畫的形式。簡單來講,Sprite 不過是一張可以移動與旋轉的 2D 貼圖罷了。

以 DirectX 為例,在 D3D 中已經包含了 Sprite 的物件功能,能夠使用 LPD3DXSPRITE 與 D3DXSprite() 輕易地創建出 Sprite 物件。即使目前許多平台上的遊戲,都已經趨向全 3D 型態的呈現方式,但是如果能夠應用得宜的話,傳統的 Sprite 物件繪圖模式仍然有很多的可能性存在。例如著名的線上遊戲《仙境傳說》,就是以 2D Sprite 人物,搭配 3D 型態場景的絕佳實例。

如果之前有接觸過 GBA 程式開發與設計知識的讀者,應該能夠很容易發現 NDS 平台與 GBA 平台的硬體架構與核心功能,其實擁有許多的相同之處。任天堂公司保留了原本設計良好的 GBA 架構,然後更進一步延伸,加入了 3D 繪圖、觸控操作、雙處理器引擎等等進階的硬體架構與功能。但是在 2D 繪圖的處理層面,仍然沿襲 GBA 平台的各種設定以及使用方法。而 Sprite 的許多定義與操作行為,也都是由 GBA 時代流傳下來的概念,因此在 NDS 平台上,Sprite 同樣佔了舉足輕重的關鍵地位。

繼續閱讀 << "初探Nintendo DS程式開發與設計(三):二維世界小精靈"


Jun 10 2008

數位+內容=產業?

文章分類: 業界觀察

digital-contentDigital Content,是一個在幾年前才剛出現的新興名詞,中文直譯的名詞將其稱為「數位內容」

以遊戲產業來說,與其分類為資訊科技或是娛樂產業的分支,倒不如歸屬於數位內容產業的範疇更為貼切合適。然而,「數位內容」的定義究竟是什麼?除了遊戲業之外,還有哪些產業可以歸屬於其中?由經濟部工業局所設立的「數位內容產業推動服務網」網站中,剛出版的「2007 年數位內容年鑑」中有一段對於數位內容產業的定義:

數位內容係將各類內容素材經過數位技術製作處理後,從傳統資料轉換成數位化格式,並賦予新的應用型態,使其具有易於接收、互動、傳輸、複製、搜尋、編輯與重複使用等優點。

由以上的定義,就可以很清楚的瞭解,遊戲產業的確能夠納入數位內容產業的範疇之中。而數位內容產業,同時也是前幾年政府所推動的「兩兆雙星核心優勢產業計畫」重點推動產業之一,其中又可細分為內容軟體、數位影音、網路服務、數位遊戲、電腦動畫、行動應用服務、數位出版與典藏與數位學習幾個領域。遊戲產業則是屬於其中的「數位遊戲」範疇,內容包含家用遊戲機軟體、個人電腦遊戲軟體、掌上型遊戲軟體等等。

繼續閱讀 << "數位+內容=產業?"


Jun 05 2008

遊戲行銷新利器(一):部落格小玩意兒

文章分類: 市場行銷

widget-gallery在充滿神秘色彩又如此引人入勝的遊戲業界中,除了經常位於鎂光燈焦點下的企畫部門美術部門以及程式部門三巨頭以外,背後其實還隱藏著一個非常重要但是比較不為人知的要角——市場行銷部門

無論是企畫、美術或者程式,都可以歸屬於遊戲公司內的研發部門,負責進行開發與製作遊戲產品的工作。然而,如果沒有市場行銷部門,賣力地推銷研發人員含辛茹苦、懷胎十數個月產出的遊戲作品,將很難使開發團隊的辛苦付出得到良好的實際回報。賣不出去的東西,即使自認為再優秀、再厲害也無法發揮作用。所以即使身為遊戲研發部門中的一員,也不能忽略了市場行銷層面的重要性。

而在市場與行銷的領域中,除了在專案啟動前就必須先行研究探討的市場面策略以外,最實際有用的就是如何藉助各種管道與方法使玩家認識自家遊戲產品的存在,並且進一步激起玩家想要購買遊戲或上線遊玩的動機。現今的遊戲行銷主要有幾種方法,包含電視廣告、網頁廣告、雜誌報導、舉辦實體活動等等,這些管道一直以來都是單機遊戲與線上遊戲經常使用的宣傳行銷方法。

我們先把時空向後倒流幾年,還記得從前網際網路隨著發出嗶哩啪啦聲響的數據機,開始逐漸進入我們的生活中時,最熱門的話題就是製作出一個屬於自己的「烘焙機」,也就是所謂的 Homepage,個人首頁。時光飛逝,隨著網路頻寬不斷成長,硬碟容量也越來越巨大,網際網路終於進入了全新的部落格時代。從 7 歲到 70 歲,幾乎所有的網路使用者,在網路空間裡都擁有自己的部落格,自由地進行撰寫、閱讀、創作與分享的活動。

繼續閱讀 << "遊戲行銷新利器(一):部落格小玩意兒"


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. 程式設計者"