2015年1月30日 星期五

Unity4.6.2發佈,支援64位元iOS

作者:RALPH HAUWERT 原文連結
翻譯:小七、Deezy

Unity4.6.2已經發佈更新,這是Unity第一個支援64位元iOS的正式版本,採用了最新的IL2CPP技術

IL2CPP是Unity開發的一個新技術。它能極大提升專案中程式的校能,並且完美相容目前iOS架建的Mono-AOT解決方案。

我們可以使用IL2CPP將程式快速移植到新平台(例如WebGL),ARM64(64位元iOS系統架構)就是其中之一。使用Unity4.6.2設定選擇Universal同時支援32位及64位元iOS系統的應用。

大幅度性能提升

在IL2CPP專案的alpha和beta階段,我們也從Unity社群收到許多反饋,據測試過64位元iOS及IL2CPP的開發者報告,使用IL2CPP之後程式運作速度大大加快。

舉個例子,Andrew Witte在他的32位iOS設備上執行了RayTraceBenchmark(英文) ,得到如下數據:

當然我們最關心的還是場景,但從我們的效能測試中也可以看出顯著的性能改善。

下圖是用UnityScript編寫的JPEG解碼器執行耗時比較:


下面是一個Mandelbrot基准測試,它是測試WebGL平台上Unity性能的一部分,圖表顯示採用IL2CPP明顯的性能提升。


開啟64位元iOS移植之旅

在此新版本中,要讓你的專案支援IL2CPP底層及64位元iOS系統只需點幾下即可。在Player Settings的iOS標籤下有兩個列表:“Scripting Backend” 和 “Architecture”。


在scripting backend下拉列表中選擇IL2CPP來支援64位元iOS系統。預設Architecture使用的是“Universal”,這代表著包好專案會包含ARMv7和ARM64兩個格式。

如果現有專案中包含了第三方套件,你可能需要將它們升級到可以支援64位元iOS及IL2CPP的版本。我們已經與Unity插件開發商Prime31合作將他們所有的插件都升級到了iOS64。你可以在這裡下載。

以上步驟完成後,將你的專案匯出到Xcode。注意,由於IL2CPP會將程式轉換為C++再導入Xcode,你需要設定Configuration為Release,以便Clang編譯器最大程度地優化IL2CPP產生的程式碼。

在Xcode 6中的設定過程如下圖:


現在可以在設備上執行你的專案了。如果Player Settings中Architecture設定為“Universal”,那不管是32位還是64位元設備,APP會自動執行對應的程式碼。你可以在Unity開發者手冊中查看詳細的 iOS 64位元升級指南(英文)

注意事項:

  • WebRequest/WebClient API目前可存取但沒有具體功能。任何需要委托BeginInvoke/EndInvoke的非同步介接功能目前都未實現。我們會在後續發佈的補丁中解決這個問題。
  • 盡管其它委托方法都能正常工作但BeginInvoke/EndInvoke還不行。我們會在後續發佈的補丁中解決這個問題。
  • RakNet暫未移植到IL2CPP,如果專案或第三方函式庫引用到它會有問題。我們會在後續發佈的補丁中解決這個問題。
  • 使用IL2CPP時後台會一直執行Stripping。這可能需要採取措施來防止裁掉使用中的類別。
  • 如果將Stripping設定為micro-mscorlib,可能會導致類型缺失的編譯錯誤。我們計劃在以後的版本中使用IL2CPP時徹底禁用該選項。
  • Xcode編譯時間會變長,主要原因是需要編譯的代碼量過大。
  • 暫不支援Managed Debugger,但計劃會支援,同時,已經有開發者用Xcode Debugger成功完成除錯階段。
  • 使用IL2CPP腳本時開啟Xcode內建Profiler會導致編譯錯誤。

我們非常清楚上述的某些項目會導致移植過程延誤。自從Apple 10月20日宣布新上傳到App Store的iOS App都必須支援64位元系統以來,我們也馬不停蹄地幹活,以前所未有的速度處理Bug同時每週發佈更新版本。所有相關工作人員都盡心盡力解決每一個問題。

如果你的App已上架並非新App,我們建議你繼續使用原來的Mono流程來包ARMv7更新。Apple表示截至6月1日前都可以這樣做。然後儘快著手測試改成IL2CPP。

我們會持續每週發佈新版本,你可以在http://unity3d.com/unity/qa/patch-releases 跟蹤查看發佈的更新(英文)。

2015年1月22日 星期四

使用xperf解決Unity5測試版貼圖匯入過慢問題

作者:ARAS PRANCKEVIČIUS 原文連結
翻譯:十月,Deezy

這篇文章是Unity的工程師Aras碰到一個Unity5 Beta版本中貼圖匯入緩慢的Bug,於是他嘗試去解決問題的過程。文章中提及的xperf是Windows下的檢測軟體,Mac下您可以使用Apple's Instruments。

Aras看到一個bug報告:Unity5.0測試版中貼圖匯入出奇的慢。其中一個貼圖的匯入花了比平常多10倍的時間。為什麼貼圖匯入會如此慢?這份bug報告讓他第一次使用了xperf(又名Windows性能工具檢測器)。

故事是這樣的

我們得到一個案例報告,在最新的Unity5.0測試版中一個TGA格式的貼圖(2048*2048,12mb未壓縮)匯入花費了10秒,但是在Unity4.6只需要大約1秒。

第一個猜測:是不是有人不小心關閉了貼圖的多線程壓縮?
第二個猜測:我們使用FreeImage來匯入貼圖。也許有人動到了版本?

首先,我們將使用profiler檢測問題所在。


我們發現所有的時間都花在WinAPI ReadFile函式上?!或測試的TAG文件有什麼特別?讓我們重新使用一個同樣大小,未被壓縮的PNG再次嘗試。

PNG的匯入花費了108ms,而TGA花費是9800ms。(我已經禁用了DXT壓縮,以確保只會影響匯入時間。)在Unity4.6中,同樣的測試是116ms(PNG)和310ms(TGA)。文件大小大致相同。

使用xperf

於是我咨詢一位深諳Windows的同事:“為什麼讀取一個文件,ReadFile函數會花費如此多的時間,但是另一個同樣大小的文件卻讀取非常快?” 他給出答案,“你應該嘗試使用xperf來看看”。

設定Windows性能記錄器,勾選“CPU usage”、“Disk I/O activity”和“File I/O activity”,然後點擊“Start”。

在Unity中匯入貼圖,點擊“Save”,然後“Open in WPA”按鈕.

側欄給出了各項指標的統計圖。一個詭異的現像是:無論是CPU還是存儲的圖都沒顯示出什麼消耗的活動?感覺問題變得棘手起來!


CPU使用情況分析

雙擊Computation的圖,顯示出每一個進程的CPU使用時間曲線。查看Unity.exe在圖中亮的那段時間內的CPU占用情況。


下一件事,需要了解具體是什麼占用CPU。右擊左側的黃色分配器,然後選擇需要的訊息,工具會根據我們的選擇,來排列右側顯示的細節。現在需要注意的是呼叫樹狀結構。所以,在右鍵選單中選擇“Stack”:


噢,現在對了。得到有用的訊息,我們需要告訴xperf載入對應的訊息。所以需要去Trace->Configure Symbols Paths,增加一個Unity文件夾,然後Trace->Load Symbols。經過一段時間的等待,就可以得到我們要的資訊了。

然後你得到呼叫堆疊的資料!不太確定"n/a"代表什麼,我猜是一些未使用或休眠的CPU線程之類的

進入另一個標簽呼叫堆疊,我們看到所有的時間果然是花費在ReadFile。可是我們已經透過profiler知道了這一點。


查看I/O 使用

還記得這個側欄中的“Storage”圖沒有顯示什麼消耗性活動?現在,我們來展開它獲得更多的細節。


突然發現有點眉目了!當我們匯入TGA文件的時候,“File I/O”的總圖上顯示出了劇烈的活動。現在只需要來搞清楚到底發生了什麼。
雙擊側邊欄的圖來獲取更詳細的I/O訊息:

現在您也許看到了發生什麼事。我們讀取了一堆文件,實際上約有400,000之多。

同CPU部分一樣,工具是通過左側的黃色的分配器的訊息來組織列訊息。把“Process”拖拽到左側;下圖表明了所有的這些讀取的確都是由Unity觸發的。


展開來看看誰是真正的罪魁禍首:

原來我們正在開啟的這些圖,一次只讀取3個bytes。

Bug是怎麼出現?怎麼解決?

但是為什麼我們三個bytes三個bytes的讀取一個12mb的TGA文件?我們已經好久沒更新過圖片文件讀取的流程了,那這些bug是哪來的?

在程式碼中找到我們讀取進FreeImage的地方。看來我們正在建立自己的I/O函數,然後給FreeImage使用。


檢查了歷史版本:果然,一些星期前,這段程式碼發生了一些改變,從原本的“從文件路徑載入圖片” 變成了 “使用這些I/O回call函數載入圖片”。

一般這些改動都是有意義的。如果我們有自己的文件系統函數,合理的使用就可以讀取一些特別文件。(例如封存檔或者壓縮文件等。)在這個案例中,我們是為了支援在光照貼圖上暫存LZ4壓縮。(FreeImage不需要知道他們頭部是否存在LZ4壓縮,能直接匯入貼圖文件。)

本來好好的。但是這個改變卻導致了一個完全意外的性能bug。

當你不直接傳遞I/O過程到FreeImage,他會使用C的標准輸入輸出作為預設設置。


C的標準流程預設做I/O緩衝……我們的流程沒做。所以FreeImage的TAG載入函數做了大量的讀取操作,一次讀取一個像素。

解決方案

給FreeImage設一個帶有緩衝的I/O流程。

需要確認的是,是否這就是真正的罪魁禍首,修好後不會再出現“TGA文件匯入太慢“,所以我做了一個修補程序,直接讀取整個文件到記憶體,從記憶體進行載入。


一次讀取整個圖片到記憶體好嗎?視情況而定,我猜測95%的情況下是好的,尤其64bit的Unity編輯器。對於大多數未壓縮的圖像文件,最終數據大小會比文件大很多。也許唯一的例外是.PSD文件,它會攜帶很多圖層訊息,但是我們只對“合併圖像”感興趣。所以,這也是為什麼我說“hotfix”。要解決這問題是要寫一個支援有緩衝的I/O流程,或者將FreeImage升級。

這樣匯入TGA和PNG會比以前快很多:TGA花費75ms,PNG花費87ms。(Unity 4.6中TGA是310ms,PNG是116ms,當前測試版中TGA是9800ms,PNG是108ms。)耶~

結論

當使用你自己的方法來取代內建的函數庫時需要謹慎。(例如標準的輸入輸出,記憶體分配,登入,或者函數庫的流程。)他們可能會有不同的性能特性。

xperf是一套在Windows上很棒的軟體!可以看看Bruce Dawson的部落格更多的說明(英文)

如果要在Mac上檢測,Apple’s Instruments是一套很像xperf的工具,未來我也會試試看

我當初看到報告的時候早該想到這應該是太多的檔案讀取呼叫所導致的問題,沒任何藉口,但我下次就知道了!

2015年1月21日 星期三

啟發女性做出屬於自己的遊戲 - Game Girl工作坊在杜拜

作者:NEVIN ERONDE 原文網址


遊戲開發一直以來缺少女性開發者的投入,作為GAME GIRL WORKSHOP(以下簡稱GG工作室)的創始人之一,NEVIN ERONDE從2010年起就一直為這目標努力,只因為女孩們同樣需要開發她們自己的遊戲。


GG工作室透過提供遊戲開發短期培訓班來激勵女孩們享受科技的樂趣並可以學習遊戲設計、圖形和程式的基礎知識,然後她們開始按照她們的想像或經驗自由發揮,做出屬於她們自己的遊戲。


GG工作室的最終目標是讓更多的女性能參與,一同推廣遊戲和科技產業,幫助實現開發性別平衡,並創造許多遊戲作品!

GG工作室在杜拜參加第二十屆電子藝術國際研討會

2014年,GG工作室非常榮幸被國際知名藝術家和策展人組成的專家組織選出,參加在杜拜為期10天的2014年 ISEA年會(英文),並負責舉辦一個Workshop(工作坊)。

一共9位年齡介於11歲到14歲之間的女孩參與了活動。她們分成兩組,每組由不同的成員分別擔任美術、音效設計師或程式的角色,成功製作了她們獨特的遊戲。女孩們首先學習了圖形/聲音組成資源的流程,以及工具使用方法和美術/音效組成資源的方法。所有美術、音效都是從無到有透過Unity 和Playmaker 來實現開發。

她們學習了Unity UI界面、專業術語、遊戲物件、素材等遊戲開發流程之後,直接使用Unity進行開發。通過超級有趣的親身體驗課程,在很短的時間內學習了如何寫些程式!

GG工作室不僅僅只傳授關於工具的知識,更重要的是它創造了一個女孩們可以任意表達她們創意的空間,然後再將這些創意轉變成遊戲、美術和音效資源等。

總之這是一次非常棒的體驗,所有女孩都全力以赴。將你的想法進行任意創作,不管是從圖形,音樂還是設計邏輯,都是非常有趣的一件事!

雖然她們只有3天可以製作她們的遊戲,之前也沒有任何基礎,但結果還是讓人印像深刻。

其中一個團隊介紹:

Aluma Luna團隊
世界被黑暗籠罩著,玩家必須和“邪惡祖母”(Evil Grandmother)決戰來重新奪回多彩的世界!體驗精彩刺激《Twilight》遊戲的時刻到來了!


WORKSHOP中使用的開發工具有:

• Unity & Playmaker(遊戲開發工具)
• GIMP & Paint.net(圖形編輯軟件)
• Ableton Live(專業音樂制作軟件)
• Audacity(音頻編輯開源軟件)
• freesound.org (用於尋找靈感並找到合適的聲效)


GG工作室是一支從丹麥遊戲產業走出的專業遊戲產業女子團隊。在杜拜、丹麥、約旦河西岸地區、巴勒斯坦地區擁有數個遊戲開發工作室。女孩們也可以有屬於自己的遊戲夢想!你可以關注他們的 Twitter, Facebook或是官網




更多的活動照片請上原文連結

Spry Fox之駕馭Unity Cloud Build經驗分享

作者:WILL FREEMAN 原文網址

作為Unity Cloud Build的早期使用者,經驗豐富的游戲開發公司Spry Fox正火速開發他們的下一款遊戲《Alphabear》, Spry Fox的開發者Andrew Fray將介紹Unity Cloud Build如何有效幫助他們快速構建專案。

和許多團隊一樣,Spry Fox的員工來自世界各地,辦公不在同一地點。所以管理一款開發中遊戲專案的管理流程和更新是一個巨大的挑戰。


Unity Cloud Build已用於《Alphabear》編譯和打包過程。它可以自動處理團隊經過修改後的原始碼控制庫,然後透過郵件將結果作為新的包發送出去。簡單來說,這代表對於美術、音效和關卡的改變可以在幾分鐘內發佈新版本到手機設備中,不必讓工程師手動打包。

“將項目放入雲端,然後讓人們能夠在任何地點去取得打包好的版本,這很酷。” Fray說。

“同事分散在世界各地,我不能把每個人叫到桌子前面來看遊戲的新版本,或者在辦公室傳閱設備,那不實際,這讓我們很難有效的在團隊中分享新版本。”

建立和發佈專案是遊戲開發核心,為了從開發伙伴、玩家、客戶、發行商和合作伙伴收集反饋和進行測試,遊戲開發者需要有一條龍的方法來構建新版本,然後將它們發送給相關的人。

否則這過程不僅耗時,而且會嚴重影響到開發時限的掌握和創造性的發揮。

Fray說了個例子:“當我要將我們的手機遊戲《Triple Town》包給開發團隊展示,我希望能展示最新功能並立即獲取反饋。打包需要一些時間,這段時間我只能盯著螢幕不能工作。一天一次可能還好,但也代表我只能每天得到一次反饋。而當你專注開發一款遊戲時,你真正希望的是不間斷地獲得反饋,才能夠幫助你開發出更好的遊戲。”

Spry Fox在即將發行的解謎遊戲《Alphabear》裡採用了正在公測的Unity Cloud Build。他表示:“我甚至能夠在專案變動後,直接出門接我女兒放學。我可以在校門口等她的那段時間裡用手機來測試最新的版本。”


對於Fray來說, Unity Cloud Build不只是幫助他將去學校時間最大化地利用,也是代表效率,簡化和速度。

“回想起之前所做的專案並和《Alphabear》比較,Unity Cloud Build提高了開發遊戲的速度也降低難度”,他說,“我們可以更快的更新與獲得反饋,並且讓美術能夠及時地在設備上看到他們的成果,更融入參與游戲的開發過程。”

在Spry Fox的案例中,可以看到Unity Cloud Build的優點所帶來的影響:即能夠讓開發隨時隨地,能夠全方位地節約開發時間,提高遊戲品質!Fray對此深信不疑。

“美術不需要一直讓程式包新版本,所以程式可以花更多時間在他們的程式碼上。美術也可以快速更新並有信心的打包自己的產品。這的確對於開發過程的每一個人都是有利的。”

從與Fray的交談中我們清楚知道Unity Cloud Build引進了更快地更新並簡化了流程,讓團隊成員有更多時間專注於自己的核心工作,也讓Spry Fox能繼續開發更多好作品。因此,《Alphabear》得以順利快速地開發,發行指日可待。

而現在Unity 也將為開發者朋友們帶來更好的消息:Unity Cloud Build針對Unity Pro用戶開放公測,不久也將對Unity Free用戶開放。

2015年1月18日 星期日

Unity Analytics說明教學

Unity Analytics是Unity 2015年初推出專門用來幫你分析你的客戶資料的服務,Analytics前身是Playnomics這家公司的服務,現在已經被整合到Unity裡面,並且變得更強大。

現在Unity Analytics已經開始對外測試,網址可從這進入

https://analytics.unity3d.com/

我們來看看如何用簡單幾個步驟來使用這個服務

首先,你需要註冊一個Unity帳號,登入之後你會進入主控台,這裡可以看到所有的整合資料
,專案首先要做的事情就是點擊畫面左下方Support裡的Integration,這裡可以下載最新版本的SDK套件。




步驟一、下載Analytics SDK
點擊Download SDK按鈕後,就可以下載最新的SDK,它是一個unitypackage的包,代表只要拖入你的專案就完成了所有的安裝流程。你只要在你的專案加入幾行程式就可以啟動這些功能。


步驟二、匯入SDK
你可以直接把SDK拖入Project視窗或是從 Assets > Import Package > Custom Package 然後選擇SDK來安裝。





步驟三、建立程式碼

從 Assets > Create > C# Script 來建立一個C#腳本,並命名為 UnityAnalyticsIntegration(為了讓專案正常,請使用這個名字)



用編輯器打開這個腳本,並複製貼上下面的程式碼
using UnityEngine;
using System.Collections;
using UnityEngine.Cloud.Analytics;

public class UnityAnalyticsIntegration : MonoBehaviour {

    // Use this for initialization
    void Start () {

        const string appId = "你的appId";
        UnityAnalytics.StartSDK (appId);

    }

}

步驟四、把腳本貼在物件上
這支程式會初始化Analytics SDK並開始蒐集數據,你可以將這隻程式貼到任一場景裡的物件上來初始化分析流程。(記得ID要改成你自己的)

為了獲取越齊全的數據,我們建議把這隻程式貼在你遊戲一進來的第一個場景裡。

要把程式貼到物件上只要從Project介面把AnalyticsIntegration這支程式拖到Scene介面上的物件(例如Main Camera)上即可。更多Unity的基本操作可以參考Unity官方網站。

步驟五、測試與驗證
Unity的編輯器可以作為驗證分析流程的測試環境,這代表你不需要為了驗證成果而發佈上架你的產品到平台上。

簡單點選Play按鈕即可


如果步驟正確,分析的結果就會出現



進階用法 - 分析使用者消費習慣
Unity Analytics提供了一個方便的方法來分析玩家的消費習慣,這事件需要在玩家購買金幣或虛寶的時候被觸發。
交易函式需要一個價格參數、貨幣幣別和Apple iTunes或是Google play辨識字串。

 // Reference the Unity Analytics SDK package
  using UnityEngine.Cloud.Analytics;

  // Use this call for each and every place that a player triggers a monetization event
  UnityAnalytics.Transaction(string productId, decimal price,
  string currency, string receipt,
  string signature);


NameTypeDescription
productIdstring物品ID
pricedecimal物品價格
currencystring幣別. 例如 “TWD”
從這個網頁可以查幣別http://en.wikipedia.org/wiki/ISO_4217
receiptstringiOS或android用來和平台驗證的編號
 如果是Null值代表不使用
signaturestringAndroid數位簽章. 如果使用原生的Android應用包含開發商的密鑰 INAPP_DATA_SIGNATURE參數,數據簽名使用 RSASSA-PKCS1-v1_5 加密規則. 如果是Null值代表不使用.
這個範例代表買了一個編號為12345abcde的物品,0.99美金,沒有簽章
UnityAnalytics.Transaction("12345abcde", 0.99m, "USD", null, null);
          






和之前一樣,只要在Unity runtime的模式底下,你就可以看到分析數據了。

進階用法 - 自訂事件

Unity Analytics可以透過遊戲內設定好自訂事件來分析客製化的數據,例如你自己的渠道分析、紀錄玩家的遊戲行為,或是紀錄分析里程碑等等。
// Reference the Unity Analytics SDK namespace
  using UnityEngine.Cloud.Analytics;

  UnityAnalytics.CustomEvent(string customEventName,
  IDictionary<string, object> eventData);

TypeDescription
customEventNamestring自訂事件名稱,名稱不能有包含"unity."的描述 - 這是一個保留字
Dictionarydictionary事件的附加參數,名稱不能有包含"unity."的描述 - 這是一個保留字

幾個自訂事件的注意事項:

1.每個自訂事件預設最多10個參數 - 超過會有AnalyticsResult.TooManyItems的錯誤。

2.Dictionary欄位最多500字 - 超過會有AnalyticsResult.SizeLimitReached的錯誤。

3.每個帳號最多100個自訂事件 - 超過會有AnalyticsResult.TooManyRequests的錯誤。

要注意的是,Unity Analytics只會處理前50個自訂事件

如果你有51個關卡,並希望每個關卡都有自訂事件,Unity Analytics只會處理前50個關卡資料,如果你要解除這個限制,你可以用一些作法來實現。

例如:你可以用一個"LEVELNUM"當作事件參數,傳遞給自訂事件的"LEVEL",例如"LEVEL1","LEVEL2"...,你可以建立一個LEVEL自訂事件就能解決這樣的需求。

// Reference the Collections Generic namespace
  using System.Collections.Generic;

  int totalPotions = 5;
  int totalCoins = 100;
  UnityAnalytics.CustomEvent("gameOver", new Dictionary<string, object>
  {
    { "potions", totalPotions },
    { "coins", totalCoins }
  });
這個範例可以分析玩家死掉的時候包包裡的物品狀況

和之前一樣,只要在Unity runtime的模式底下,你就可以看到分析數據了。


進階用法 - 人口統計
玩家的來源有可能來自不同的地方(例如:Facebook),只要在對的地方埋好程式就能夠分析這些數據。
// Reference the Unity Analytics SDK package
  using UnityEngine.Cloud.Analytics;

  // Use this call to designate the user gender
  UnityAnalytics.SetUserGender(SexEnum gender);

  // Use this call to designate the user birth year
  UnityAnalytics.SetUserBirthYear(int birthYear);
NameTypeDescription
genderenum性別可以是"F", "M", 或 "U".
birthYearint哪一年出,必須是4個數字

範例:
  SexEnum gender = SexEnum.F;
  UnityAnalytics.SetUserGender(gender);

  int birthYear = 2014;
  UnityAnalytics.SetUserBirthYear(birthYear);


















和之前一樣,只要在Unity runtime的模式底下,你就可以看到分析數據了。

除了這些用法之外,我們也很期待開發者可以透過這些SDK衍伸出自己的用法,並在遊戲內蒐集到對遊戲營運有幫助的數據,未來的版本也會更多強化功能,請務必注意我們的發佈消息。






2015年1月13日 星期二

Unity案例分享 - Glyph Quest的獨立游戲開發歷程

作者:KRISTYNA PASKOVA 原文連結

你能用免費版的Unity作一款收費游戲嗎?我們用成功的案例來告訴你答案。

透過游戲開發賺錢是一件困難的事,但使用Unity 引擎就能在沒有任何開銷的情況下開創一個獨立的專案。我要說的故事是一對獨立開發者夫婦在非常短的時間內使用Unity免費版完成一款收費手機游戲。雖然他們並沒變成百萬富翁,但靠開發游戲賺來的錢,足以讓他們繼續開發游戲。

《Glyph Quest(符文魔典)》是由英國的一對開發者夫妻AlexTrowers與LeanneBayley所製作的獨立游戲。


這一對獨立游戲開發者夫妻是在遊戲公司一起工作時結識的,Leanne Bayley 曾經在Plymouth 工作室擔任製作人,而Alex Trowers 以前在 Brighton 布靈頓設計
戲。2013年,Leanne辭去了工作和Alex在一起。Alex在Leanne懷孕的時候教會了她使用Unity的基本技巧,他們開始有了一個戲開發的想法。

“我們決定做獨立
戲開發,我們想要將我們的戲夢想變成真!在寶寶降臨之前完成遊戲的開發是一件多麼有意義的事情啊!”Leanne回憶道。

關於Glyph Quest的故事


如果你曾經參與過開發專案的話,你應該知道有很多不確定因素,專案實際完成的時間一定長於預期的時間,但是孩子不能等。這最後的期限迫使他們對最初的設計做了變動,保持項目的簡潔,只留下游戲中最有特色的東西。Leanne只是一個遊戲製作人,Alex只是一個企劃,但他們兩個人使用Unity 完成了包括音效在內的所有工作。

Alex表示:“我並不是一個特別優秀的程式設計師,這過程對我來說就像玩魔術盒一樣。但是《Glyph Quest》 是一個以2D圖片為基礎的遊戲,不需要 Unity Pro的功能,況且我也不太清楚如何使用那些功能。”



這對年輕的獨立遊戲開發者夫妻對於他們第一個項目的要求很明確:“野心是你的敵人!也許你很希望做成一件大事,但是最好先從小事做起。”

Leanne負責畫圖,Alex負責用編輯器製作戲,專案根據計劃的周期穩穩進行著。在孩子出生的一周前,也就是2014年1月戲問世,上架AppStore開始銷售。


Glyph Quest在英國AppStore發表到目前為止,有20萬人下載了這款戲。戲的盈利模式是:讓你免費玩一些關卡,然後付費玩新關卡。根據結果分析付費率達10%,在當今的手機戲行業,這是一個讓人訝異的數字,這個戲讓他們的開發有一個好的開始,而且使他們收支平衡,並繼續他們的工作。雖然這些收入對他們來說還是相當有限。

於是後續之作《Super Glyph Quest》應運而生,這代表這對夫婦將付出更多的努力,“我們必須努力保證經濟來源的穩定,這是我們最大的動力。”



12月底,當大多數開發者計劃在萬聖節之前做重大更新時,《Super Glyph Quest》也問世了。新的戲沒有當初預期的好,但數據一直呈現良性增長趨勢。新戲加入了很多的內容,在原有的戲上加入生動的劇情和一些令人驚嘆的元素。


“我們是Unity的忠實粉絲,這一切如果沒有Unity 引擎是不可能的。它很棒,而且是免費的!”Alex說。“在Brighton的Unity社區,沒人會抱怨游戲的製作有多難。我們只會討論要做一款賺錢的戲有多難。”


這對獨立開發者夫妻希望Unity更關注對獨立開發者的服務上,幫助他們解決在遊戲商務方面的問題。在此期間,他們將致力於更新項目,本地化和一些其他的工作。目前這款三消解謎戲支持中文、日文、韓文,更將全面開通原先需購買的五級以上關卡,讓玩家就算不消費也能夠享受到完整的游戲內容。


Unity免費版是不會收取你任何費用的,也不會抽取你的遊戲收入,Unity 唯一的要求是當你的收入達到100000 美金(約300萬台幣)時,能自主的購買Unity Pro。讓我們能投入更多資源強大工具和服務,幫助更多人實現遊戲開發的夢想!

著作人