Why Unreal?

閱讀時間約 9 分鐘

動搖

最近,反Unreal的聲音一直在我耳邊出現。
他們的聲音不外乎是,沒有人在意App的穩定度啦,遊戲不需要那麼炫的效果和效能啦,找Unity的人很好找啦,授權太貴了啊等等。講到我真的是都有點動搖了。是啊,真有什麼「非用不可」的理由嗎?如果大家什麼都不在意,不在意穩定度,不在意視效,不在意製程靈活度,什麼都不在意了,那我又在堅持什麼?
可真的大家都不在意嗎?我看到的「大家」,是真的在實作的工程師們,他們都是Unity的好手,瞭解Unity的優點和缺點,他們希望能有人能出來開出另一條路,讓公司的產品能有能變得更好的可能性,而不是只能做出跟大家沒什麼差別的作品。
這次去CGDC,我看到更多的「大家」。有從大公司脫離出來做獨立遊戲人的,有抱著夢想做出自己認為的好遊戲的能人,有一直堅守著好引擎,發揮其優勢做出好遊戲的,這些人都選擇了Unreal。那些大廠呢?像大宇就用上了Unreal繼續他們的「仙劍奇俠傳」,像NVIDIA的RTX,AMD的CAS演算法,他們有什麼新的技術,第一優先也是在Unreal上開發,驗證及整合。這些人我想都不是時間太多,更不只是對新技術有狂熱才去使用Unreal的,而是他們打從心裡相信:
Unreal就是那個在遊戲業界創作了一款款好作品的專業引擎,現在開源了,我們要站在它的肩膀上,創作屬於我們自己的作品。
那些反對的聲音,每個都是對的,我不否認。因為近一點看,確確實實都是對的。
但若是認為自己應該有那份使命,要做出偉大產品的那份使命,那就應該要看遠一點。你以為「偉大產品」一定是3A作品嗎?那為什麼Epic Game Store有那麼多獨立開發者,用Unreal開發著一些8bit像素的遊戲,或是一些核心玩法很簡單的小遊戲,許多遊戲視效都不怎麼樣,絕對不是3A(根本是0.3A)遊戲,但我相信那些都是「偉大產品」,為什麼呢?
這就像是料理漫畫或卡通常表達的那個理念一樣,用心的料理才會打動人心,也就是:
你和你的廚具互相認同,合作出來一道量身打造的料理,讓吃了的人產生無比的愉悅感。
類比到遊戲開發,即便是Unity,若能讓開發者覺得認同,能好好協作出好作品,那也是很好的。但在公司,我一次次看到專案的開發人員,在自己寫shader code以省去多餘的效能消耗,在為釐清是Unity的問題還是自己遊戲碼的問題加班驗證,在想辦法繞過Unity一些很奇怪的bug而把既有的實作改了再改,在為了產品不穩定亂崩潰而努力的優化時,我一點都不覺得,這哪叫「大家用得好好的」?這哪叫「不在意穩定度」?這哪叫「不在意效果/效能」呢?我看到的是大家都在意自己產品的完美,但在扯後腿的都是Unity?

Why Unreal ?

剛剛說的偏激了。Unity確實把許多事情處理的很好,也很好上手,沒有它我們其實會更寸步難行。那回頭再看,Unity有其極限,那為什麼不是去找別的開源引擎,而是Unreal?一而再,再而三的這樣詢問自己,我每次都得到同樣的一些答案。我想,是時候做個記錄了,才不會再花腦袋去被別人影響而動搖。

效果及效能

我自己確實還沒有好好的啃過源碼,瞭解它的好效果及效能來自於哪裡,而且效果及效能的比較本就實屬不易,難以公評,這邊就不講技術,只看趨勢。如果3A大廠到獨立開發者都使用了這個引擎,而且趨勢持續往這個方向在靠攏,那我想就算實際上Unreal沒有真的比Unity好多少,但至少一定不會更糟,對吧?

關於插件(Plugin)

雖然Unity近年來一直在加強引擎的本體功能(雖然都是吞別人做好的,但合理),但這都一直在說明同一件事:Unity自身的功能真的不足,才會有那麼多的插件來解決專案實作上的需求。和Unreal少有Editor插件在解決製程上的需求這個狀況比起來,差別在什麼地方呢?就是穩定度和相容性。
Unity的用戶面對升版這件事,是出了名的困擾。因為Unity自身功能不足,有些需求都是靠外掛解決的,但升版後往往就會造成插件的不相容。那不是官方要解決的問題,是你們用戶和外掛的作者要解決的問題。那可以不要用插件嗎?那規格缺口是誰要補上?那繼續用嗎?編不過的問題又是誰要解決?
另一個問題是外掛可能直接造成你產品的品質不良。為什麼呢?外掛的作者想得到的狀況,能做的測試,就是一個人的能力。官方有專屬的人力,自動化大規模的測試,那絕對不是同一個量級的。所以你用了外掛,有問題的話只得祈禱作者願意,也有那個心力會去解決,沒有是正常的。

引擎自身

這就是你選擇Unreal的最後一道防線了:引擎源碼。
引擎本身的設計是通用型的,不會根據你專案的規格量身打造。比如說,今天你是在做一款格鬥遊戲,你希望在調整招式的數值時,馬上可以在Editor裡面試試看是否OK。在Unity是否做得到,得看它開出來的接口是否都能滿足你的需求,可能可以,可能不行。但若是真的不行,你就得放棄或是繞路,就是規格及開發時程的損失。但在Unreal?你就直接來了啊,引擎有的接口你就接,引擎沒提供的你就自己開,引擎是你的,你當然有權力去把它改成你要的樣子。
引擎也是人寫出來的,人寫出來的就是會有bug。當你的產品被發現有記憶體洩漏的時候,你一定非常驚訝吧?Unity不是號稱它有自動記憶體管理系統嗎?為什麼還會有記憶體洩漏呢?是我的寫法有問題,還是引擎的實作有問題呢?怎麼確認及驗證呢?當你的產品不定時機率性的崩潰時,它努力的告訴你call stack,但你也只能看著call stack來瞎猜一番。運氣好會被你猜中,運氣不好的話你就有得找了,因為Unity就是個黑盒子。在Unreal的世界,簡單一點你下下log就看得出來了,複雜一點就接debugger來跑了,不用猜,證據說話。

巨人的肩膀

我常跟身邊的人說,世界上目前只剩下三種遊戲引擎。一個叫Unity,一個叫Unreal,另一種叫「Others」。
最近5年,許多新的主機照慣例被發表了出來,許多新技術更是突然給砰了出來:Vulkan, VR, AR, XR, Machine Learning, RayTracing等。許多平台更是之前沒有過的:H5, Streaming(Google Stadia), Apple Arcade, In-Car Playing, 微信小程序等。以前的遊戲產業算是涇渭分明,差異極大。但隨著新技術的爆發,不要說市場是全球化了,連「新科技」和「目標平台」都是全球化的了。一樣是一個轉輪遊戲,你不加入個新技術就沒有亮點了,沒有社群分享機制就沒有影響力了,不支援到全平台就少掉多少市場了…很多不是我們中小企業玩得起的規模了。任何一個新技術你要從無到有,想要靠自研來取得優勢嗎?任何一個新技術,要等你自研到能投入到產品成為feature,都不是你玩的起的。
從我們自己fork出cocos2d-x來維護的經驗,到現在我們想把Unreal導入公司使用,我們都深刻的體會到一件事:「遊戲引擎」不是引擎,而是「巨人」。你看到那個巨大的身影了嗎?那後面是多少的研發結晶匯集出來的呀!絕對不要有「我們只需要xx的功能而已」,或是「我們可以改一下就能符合公司需求」這樣天真的想法,因為現在不會再有「小遊戲」了,任何一個小遊戲都要有面臨多平台,多裝置,多技術亮點等各式各樣的需求,我們唯一能做的是,小心的站在巨人的肩膀上,跟上趨勢,別跌下來了。

看深遠一點,打好馬步吧

最令我動搖的,莫過於「我看不出有任何理由,用戶非用Unreal不可?」。可是大家在看的商管書籍,成功學,那一個不是叫你要看遠一點,想深一點?當我靜下心來好好思考後,突然意識到這種狀況就跟「控制狂又怎樣」提到的果然是一模一樣,人們會很習慣性的往平庸的方向去思考,因為這樣很安全。
就我自己的「投資」經驗來說,也往往都是這樣子。在三、四年前,身邊的人還在用C寫專案,用zip做版控(很多是根本就沒有),一定要用Visual Studio,面對新技術的第一個念頭就是「我現在這樣不是好好的?」的時候,那時候我的生活比較單純,沒那麼多雜事,也就很單純的相信自己的角度,靜心下來把C++, git, make, vim這些看來一點都不討喜的基礎。當時也就一個想法:
我看到的世界,這些「基礎」非但沒有消失在日新月異的技術演化,還反而解決了一個又一個問題,成為許多偉大作品的基石,不學這個我要學什麼?
當時也沒馬上有什麼偉大的進展,在學習的過程遇到問題,找書看資料,克服問題,繼續前進。與其說是這叫「相信自己」,我更相信的是我看到的世界。後來確定我打下的基礎,在日後都陸續派上用場時,當然會覺得很值得。但當時其實沒有人會鼓勵你打這些基礎,甚至有人還會覺得浪費時間,有人覺得方向不對,要”務實”一點等。當然這就是「賭」,既然你都知道不進則退,沒人可以「早知道」,那為何不相信自己看到的世界呢?
瞄準月亮,至少射中老鷹。看得深遠,打好馬步,又何需怕浪費時間,血本無歸?當你在覺得「現在這樣不是好好的?」的時候,你就是在不進則退。
為什麼會看到廣告
    Google實驗室Area120釋出了一個「製作遊戲」的遊戲叫「Game Builder」。 主要的用戶是遊戲編導,方便他們以拖拉卡片的型式來驗證遊戲性好不好。 因此這個專題就是「Game Builder」的"真心話(好用難用都會說)"和"大冒險(真的來挑戰看看能做什麼遊戲)"囉!
    留言0
    查看全部
    發表第一個留言支持創作者!
    上一次我們已經完成了玩家端的部署,接下來就是要有敵人囉。和「Plant vs Zombies」相同,敵人也是分五道過來,不一定會先從哪一道過來,也不一定都會是哪一種敵人會過來。這次的主題就是設計一個簡單的敵人,並亂數的配置它們從不同的方向過來。
    在這個遊戲的workshop中,看到一個【Aqua Defense】,訂閱下來小玩了一下。除了一直有奇怪的重複音效以外,大致上完成度算是夠高了。基本上這就是一個【Plants vs Zombies】規格的作品,不過它沒有向日葵這種單位可以生產錢幣,而是定時生產,剩下的就是其他單位不同而已。
    這其實不是個遊戲,真的是卡片展示。就是一個個區塊展示不同的卡片用途。這裡我們一樣會挑一些之前教程沒接觸到的卡片或遊戲規格來分析說明。
    這個遊戲在關卡的設計上也很有新意,分成了地上及地下世界,最後會飛上天空才過關哦!這裡也會介紹一些動作過關遊戲常見的規格及該使用哪些卡片。雖然介紹的內容稍少了些(因為許多基礎已無須再說),但還是值得看一下囉!
    FPS(First Person Shooter)遊戲是很多人很愛玩的一種遊戲,沈浸感高,又很直觀。Game Builder直接就有一個這樣的面板,讓我們進去冒險一下吧!
    這一篇要介紹的是,從啟動遊戲,到Tutorial新手村的攻略。
    上一次我們已經完成了玩家端的部署,接下來就是要有敵人囉。和「Plant vs Zombies」相同,敵人也是分五道過來,不一定會先從哪一道過來,也不一定都會是哪一種敵人會過來。這次的主題就是設計一個簡單的敵人,並亂數的配置它們從不同的方向過來。
    在這個遊戲的workshop中,看到一個【Aqua Defense】,訂閱下來小玩了一下。除了一直有奇怪的重複音效以外,大致上完成度算是夠高了。基本上這就是一個【Plants vs Zombies】規格的作品,不過它沒有向日葵這種單位可以生產錢幣,而是定時生產,剩下的就是其他單位不同而已。
    這其實不是個遊戲,真的是卡片展示。就是一個個區塊展示不同的卡片用途。這裡我們一樣會挑一些之前教程沒接觸到的卡片或遊戲規格來分析說明。
    這個遊戲在關卡的設計上也很有新意,分成了地上及地下世界,最後會飛上天空才過關哦!這裡也會介紹一些動作過關遊戲常見的規格及該使用哪些卡片。雖然介紹的內容稍少了些(因為許多基礎已無須再說),但還是值得看一下囉!
    FPS(First Person Shooter)遊戲是很多人很愛玩的一種遊戲,沈浸感高,又很直觀。Game Builder直接就有一個這樣的面板,讓我們進去冒險一下吧!
    這一篇要介紹的是,從啟動遊戲,到Tutorial新手村的攻略。
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    Thumbnail
    Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
    Thumbnail
    早上八點,或十點,或下午一點,或下午三點,或晚上十點,或十二點,或凌晨五點。我會在各種十倍複雜時間,用比上述更歇斯底里,更八百萬倍長篇幅地意識自己這個問題。「我睡不著。」
    Thumbnail
    The man looked at a great pile of jeans and said: ”Why you need so many jeans?”男人看著成堆的牛仔褲說:「為什麼你需要這麼多牛仔褲?」 Lady: ”But they are different.”女人說:「他們都不一樣啊
    Thumbnail
    體貼的心讓綠豆湯更美味  今天早上才發了ㄧ篇希望振作的文章,不料今天客戶來行辦理業務時,日期均未填寫,於是便用日期章幫她蓋上,但因日期調過未調回,以致全部的傳票都錯誤需要蓋原留印鑑,我急忙電洽客户,聯繫上客户,她正在對面的【萬波島嶼紅茶店】,我請她等我ㄧ下,因為她的寶寶才兩個月大,正在娃娃車上睡覺,
    Thumbnail
    A good leader makes the whole working environment safe and people in that environment trust each other.
    Thumbnail
    If we are preoccupied with affairs or only focus on ourselves, we are not able to be empathic or even notice other people at all.
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    Thumbnail
    Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
    Thumbnail
    早上八點,或十點,或下午一點,或下午三點,或晚上十點,或十二點,或凌晨五點。我會在各種十倍複雜時間,用比上述更歇斯底里,更八百萬倍長篇幅地意識自己這個問題。「我睡不著。」
    Thumbnail
    The man looked at a great pile of jeans and said: ”Why you need so many jeans?”男人看著成堆的牛仔褲說:「為什麼你需要這麼多牛仔褲?」 Lady: ”But they are different.”女人說:「他們都不一樣啊
    Thumbnail
    體貼的心讓綠豆湯更美味  今天早上才發了ㄧ篇希望振作的文章,不料今天客戶來行辦理業務時,日期均未填寫,於是便用日期章幫她蓋上,但因日期調過未調回,以致全部的傳票都錯誤需要蓋原留印鑑,我急忙電洽客户,聯繫上客户,她正在對面的【萬波島嶼紅茶店】,我請她等我ㄧ下,因為她的寶寶才兩個月大,正在娃娃車上睡覺,
    Thumbnail
    A good leader makes the whole working environment safe and people in that environment trust each other.
    Thumbnail
    If we are preoccupied with affairs or only focus on ourselves, we are not able to be empathic or even notice other people at all.