跳至主要內容
Massively Fun 一家開發古怪且迷人遊戲的小型獨立工作室 — 我們將完整分享遊戲開發的過程。

本網站部分連結為聯盟行銷連結:若您透過該連結購買,我們可能會獲得佣金,且不會增加您的額外費用。這絕不會影響我們的推薦建議。詳情請參閱我們的聯盟行銷披露聲明。 聯盟行銷聲明.

卡坦世界的(持續)演變

卡坦世界(Catan World)的(持續)進化|Massively Fun

卡坦世界(Catan World)的(持續)進化

卡坦世界(Catan World)的(持續)進化

2012 年 8 月 17 日

今天是個非常特別的日子。Goko(一家懷抱宏大夢想的新銳公司)於今日正式推出其 HTML5 遊戲平台,首發作品包括《Dominion》與 Ranier Knezia 的《Forbidden City》,並同步預覽了《Catan World》——這款經典桌遊的大型多人線上版本。想一窺《Catan World》的遊戲畫面,不妨參考 VentureBeat 與 GeekWire 的專題報導。截至目前為止,各方反應熱烈,玩家普遍感到興奮。(其他媒體報導包括:Gamespot、Games.com、Shacknews、TechCrunch、All Things Digital、GigaOM、redOrbit。)

《Catan World》由 Massively Fun(也就是我們!)為 Goko 與 Catan GmbH(《卡坦島》原始創作者)聯手打造。隨著預覽版正式公開,我們終於能敞開大門,與大家分享開發背後的故事。

進化歷程

HTML5 遊戲領域仍處於萌芽階段,正如平台本身一樣嶄新。Dean 與我(本專案兩位核心工程師)在打造協助遊戲順利上市的開發工具過程中,玩得十分盡興。我曾隨手截下遊戲在各個開發階段的畫面,起初並無明確目的,但回頭細看遊戲如何一步步演進,實在趣味盎然。

首批圖塊

Canvas 非常出色。它提供極簡的繪圖 API,搭配硬體加速渲染與高效的 JavaScript 執行環境,無需任何外掛程式,即可具備打造互動遊戲的基本工具。然而,這些基本工具就僅止於「基本」。真的非常基本。要在畫布上顯示第一張圖片相當容易,要讓該圖片動畫化也相對簡單;但除此之外,一切便不再那麼直觀。

HTML5 Canvas 中的圖形採用「即時模式」(immediate-mode)繪製——意味著一旦形狀繪製完成,Canvas 本身便不再保留對該形狀的任何記憶。因此,開發者必須自行實作實體管理(entity management)等機制。若想實現比單一動畫圖像更複雜的功能,就必須圍繞遊戲實體及其渲染基元(rendering primitives)建立抽象層。於是,Dean 就在短短一天(或類似瘋狂的時間內)完成了這項工作。接著,他著手撰寫最初版本的遊戲核心——地圖視圖。

相關: — 現成的藝術作品、工具和模板可直接放入您的 Unity 專案中.

上方影片展示了 Dean 製作的首批動畫圖塊。(有興趣的讀者可參考 Dean 在 Cascadia Ruby 大會上的演講,其中更深入探討了 Canvas API 與實體管理等主題。)

全新 HUD

留意各段影片,你會發現遊戲的 HUD(頭頂顯示介面)持續演進。Massively Fun 團隊多數成員來自消費性產品開發背景,而「快速迭代」正是該領域的核心精神。我相信這一點在本專案中得到了充分體現。

無限地圖

Massively Fun 的另一款遊戲《WordSquared》以其廣袤無邊的棋盤聞名。我們希望在《Catan World》中重現這種體驗。這意味著我們的地圖視圖必須能識別自身在世界中的相對位置、請求對應區域的資料,並即時繪製出來。上方影片即展示了這一過程。

我們的選擇: — 涵盖 Unity、Unreal、C++、C# 和着色器编程的点播课程.

網路化地圖

在《Catan World》中,所有玩家共享同一個由多塊棋盤組成的巨大平面。我們不能僅為每位玩家的島嶼載入獨立的「關卡」或「棋盤」記憶體實例;相反,系統必須支援隨意平移至世界任意區域,並即時呈現該處的玩家活動。

全新美術與遊戲機制

迭代持續進行,美術團隊為我們帶來了煥然一新的精美版本,取代先前的粗糙草稿。眾人歡欣鼓舞——這款作品終於開始像一款真正的遊戲了!

同時,「戰爭迷霧」(Fog of War)機制正式引入,旨在讓玩家清楚掌握哪些世界區域已被探索。《卡坦島》與《WordSquared》在某個關鍵面向上截然不同:在《WordSquared》中,玩家透過放置圖塊來創造世界;而在《卡坦島》中,世界早已存在,等待玩家探索與征戰。為了傳達同樣的「玩家參與感」,我們需要設計一項緊密連結玩家行為的機制。雲層效果恰好胜任此職。

Alpha 版本:本地資源可見性與世界探索

這對我們而言是重大里程碑。首次,全體團隊成員得以坐在各自的電腦前,共同進行一場《卡坦島》對戰。此版本引入了數項有趣的新機制:

  • 船隻:作為破除迷霧、往返島嶼之間的交通工具。這開啟了若干元遊戲(metagame)策略空間,我們至今仍持續探索。船隻雖能揭開島嶼周圍的迷霧,卻不會顯示資源數字。這讓玩家在決定進駐某島前,能大致掌握其佈局,同時保留一定風險——那些看似豐饒的木材與磚塊產區,若對應數字為 2 或 12,或許值得先派偵察兵探查。

  • 偵察兵:用於揭示資源數字(並進一步驅散迷霧)。有趣的是,資源數字的揭示係以「每位玩家」為單位獨立計算。遊戲過程中,你可能看見其他玩家在特定資源點周圍建立聚落,卻完全不知該資源的擲骰數字為何。你可以選擇朝該方向建設,或派出自己的偵察兵來揭曉真相。

    相關: — 遊戲程式設計書籍、機械式鍵盤、顯示器和開發台硬件.

音效與發展卡

沒有音效怎能稱之為遊戲?這是我們在音效上的初次嘗試——尚未加入背景音樂,但已實作數項關鍵音效。同時,「進度卡」(Progress Card)機制正式加入遊戲,大幅改變了整體玩法。也正是在此時,我們確立了基本的「強盜」(robber)功能(此處不贅述),我只想說,它為遊戲增添了更多緊張感與壓力。

新版 HUD 迭代、移民者機制與行動點數

此階段引入了「行動點數」(Action Points, AP)系統:

  • 穿越迷霧需消耗行動點數。
  • 移動移民者(Settler)所消耗的 AP 數量則視情況而定:若沿道路移動,且該道路歸屬不同玩家,消耗值亦有所不同。

我們捨棄了偵察兵,改以移民者取而代之。為因應遊戲的非同步特性,有必要重新檢視初始遊戲條件。每艘船(遊戲中存在多艘)搭載一定數量的移民者,而每名移民者可轉化為一座聚落與一段道路。將初始聚落設置限制於移民者當前所在位置,強化了遊戲早期「搶地」階段的競爭壓力。

如果您正在購物: — 基于浏览器的无代码 HTML5 引擎,可导出到 Web、移动设备和桌面.

移民者雖可自由在地圖上移動,但此舉會減少可用於擲骰的行動點數。因此,即便地圖另一端有更優質的圖塊,玩家也可能選擇儘早定居,以換取更多擲骰機會。

行動點數系統的引入,讓我們能純粹透過調整「行動經濟」來微調遊戲平衡,無需頻繁改動核心遊戲機制——這確實是一大優勢。

《卡坦世界》登陸 iPad

在 Massively Fun,我們是 HTML5 與 JavaScript 的堅定擁護者,甚至為此舉辦專屬的 Meetup 聚會。基於開放技術開發遊戲的一大優勢,在於其無所不在的潛力——任何採用這些技術的平台,皆可能成為遊戲的目標運行環境。這意味著《卡坦世界》目前已能在 Windows 與 Mac OS X 上的多種瀏覽器中流暢運行。我們的無畏領袖 Grant 已成功將遊戲移植至


在瀏覽器中建立 HTML5 遊戲

基于浏览器的无代码 HTML5 引擎,可导出到 Web、移动设备和桌面