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
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    上一次我們已經完成了玩家端的部署,接下來就是要有敵人囉。和「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
    遊戲產業似乎從很久以前,各種玩法的類型都已經確立了下來。現在新出品的遊戲,更像是已有玩法機制的排列組合、重新包裝。比起遊戲本身,遊戲公司更願意把創意放在有明確衡量標準的部分,如:劇情、音樂、特效…等。久而久之,人們對遊戲的評價越來越取決於美術、故事等決定表現力的指標...
    Thumbnail
    這篇文章介紹了使用UE4製作遊戲的練習和免費資源,包括素材連結和對話系統外掛。同時也提到了Unreal遊戲引擎的每月限免素材和線上學習資源,以及Epic Game Store遊戲平臺的優惠和缺點。
    Thumbnail
    獨立遊戲開發,很多時是一個想法和熱情冒出來後,就叫人衝到電腦前想快點把成品弄完……就算做不了完整版,至少也想有個Demo。 既然想「快點」,那還要不要「花額外時間」去寫企劃書呢? 在處理這個問題之前,要先理解的是,這句話裡面至少有兩種情況。   其一:團隊裡只有一個企劃,所有事情都由一人主導
    Thumbnail
    Steam上的遊戲製作工具那麼多,到底哪個比較好用呢? 我只能說,每個人的能力和想製作的遊戲類型都不同,適合的工具當然也不會一樣,只能你自己去選擇最適合的。 雖然沒有辦法推薦最適合你的,但可以告訴你避開地雷工具的訣竅!
    Thumbnail
    其他特殊材質調整 Particles Q:大家有沒有發現剛剛葉子是一面有顏色一面透明? A:Unity的渲染只有單面,超奇怪ㄉ啦,他軟體預設就是單面,要改成雙面也行,但會造成電腦負擔,所以只需在想要雙面渲染的物體上賦予即可,不用整個專案都給它。 單面渲染的情形 材質球著色器定義 Sh
    Thumbnail
    遊戲引擎開發商 Unity 一直是我感覺很有發展潛力的企業,《原神》、《王者榮耀》等明星遊戲都是透過其引擎所建構,在手遊開發領域,擁有絕對統治力。然而,營運實績與線圖走勢卻不是如此,近 8 季毛利成長率有 4 季為負,1Q24 營運收入是近 8 季來最低值,-$375M…
    Thumbnail
    上次我們完成用Unity 建完一張椅子,還有學習基本變數的應用,那我們就繼續寫更多的腳本來讓物體有更多的ㄅㄧㄢ #一般不會用Unity來建模啦,主要還是要靠其他3D軟體導入 ●Gravity Scale 重力預設為1,是造成物體下墜的主因,可以先調到0。 (Unity有支援負
    Thumbnail
    Unity (美股代號:U)是一家以渲染實時3D為核心業務的公司。上次評價是 2023Q1財報,已經過了9-10個月,這次回頭來檢視2023Q4和全年的結果。簡單講結論的話就是:美好開年,掙扎結尾。公司大刀闊斧準備再度出發,但是否有效果還需要再觀察一陣子。
    Thumbnail
    遊戲產業似乎從很久以前,各種玩法的類型都已經確立了下來。現在新出品的遊戲,更像是已有玩法機制的排列組合、重新包裝。比起遊戲本身,遊戲公司更願意把創意放在有明確衡量標準的部分,如:劇情、音樂、特效…等。久而久之,人們對遊戲的評價越來越取決於美術、故事等決定表現力的指標...
    Thumbnail
    這篇文章介紹了使用UE4製作遊戲的練習和免費資源,包括素材連結和對話系統外掛。同時也提到了Unreal遊戲引擎的每月限免素材和線上學習資源,以及Epic Game Store遊戲平臺的優惠和缺點。
    Thumbnail
    獨立遊戲開發,很多時是一個想法和熱情冒出來後,就叫人衝到電腦前想快點把成品弄完……就算做不了完整版,至少也想有個Demo。 既然想「快點」,那還要不要「花額外時間」去寫企劃書呢? 在處理這個問題之前,要先理解的是,這句話裡面至少有兩種情況。   其一:團隊裡只有一個企劃,所有事情都由一人主導
    Thumbnail
    Steam上的遊戲製作工具那麼多,到底哪個比較好用呢? 我只能說,每個人的能力和想製作的遊戲類型都不同,適合的工具當然也不會一樣,只能你自己去選擇最適合的。 雖然沒有辦法推薦最適合你的,但可以告訴你避開地雷工具的訣竅!
    Thumbnail
    其他特殊材質調整 Particles Q:大家有沒有發現剛剛葉子是一面有顏色一面透明? A:Unity的渲染只有單面,超奇怪ㄉ啦,他軟體預設就是單面,要改成雙面也行,但會造成電腦負擔,所以只需在想要雙面渲染的物體上賦予即可,不用整個專案都給它。 單面渲染的情形 材質球著色器定義 Sh
    Thumbnail
    遊戲引擎開發商 Unity 一直是我感覺很有發展潛力的企業,《原神》、《王者榮耀》等明星遊戲都是透過其引擎所建構,在手遊開發領域,擁有絕對統治力。然而,營運實績與線圖走勢卻不是如此,近 8 季毛利成長率有 4 季為負,1Q24 營運收入是近 8 季來最低值,-$375M…
    Thumbnail
    上次我們完成用Unity 建完一張椅子,還有學習基本變數的應用,那我們就繼續寫更多的腳本來讓物體有更多的ㄅㄧㄢ #一般不會用Unity來建模啦,主要還是要靠其他3D軟體導入 ●Gravity Scale 重力預設為1,是造成物體下墜的主因,可以先調到0。 (Unity有支援負
    Thumbnail
    Unity (美股代號:U)是一家以渲染實時3D為核心業務的公司。上次評價是 2023Q1財報,已經過了9-10個月,這次回頭來檢視2023Q4和全年的結果。簡單講結論的話就是:美好開年,掙扎結尾。公司大刀闊斧準備再度出發,但是否有效果還需要再觀察一陣子。