用Python寫3A?Cygames的遊戲引擎做得怎麼樣

2020-12-06 OurPlay官方

有句話叫「二流的遊戲公司做遊戲,一流的遊戲公司做平臺」。索尼、任天堂、微軟這些主機公司,除了推出第一方遊戲以外,當然也在維護自家的遊戲系統。

《堡壘之夜》的開發商Epic放出了UE4

其實,以《公主連結RE:Dive》、《碧藍幻想》聞名的手遊公司Cygames,也有做3A遊戲引擎的野心。

前幾天,他們就在日本電子娛樂開發者大會(CEDEC 2020)上面,介紹了內部研發好幾年的遊戲引擎「Cyllista Game Engine

使用Cyllista Game Engine開發的3Ayx

這個引擎的目標,是用「簡單的腳本語言寫3A遊戲」。根據演講者的說法,這將是一個「讓開發者的效率發揮到極限,最棒的遊戲引擎」

Cygames遊戲工程師衝幸太郎,正在開發

然後實現這一目標,遊戲編寫過程就必須足夠簡單與快速,支持一邊編寫,一邊測試與迭代的高速開發方式。

同時,引擎用的語言,會用的開發者是越多就越好。於是他們,就把這幾年人氣最高,最為常見的Python作為程式語言了。

在各種程式語言排行榜上Python都在前列

畢竟Python好學易懂,入門門檻低。這幾年人工智慧、機械學習的火爆,也帶來了一大批新入門的學習者。

接近自然語言的寫法,能夠大幅提高開發的速度。大量的第三方包,與Pycham這種成熟的IDE工具,也給用戶省下了「重複造輪子」的時間。

甚至連地產大亨潘石屹,都去學Python了

但Python還是有軟肋的——作為一門解釋型語言,Python的執行速度比較慢。所以在大型遊戲製作的工作當中,Python基本上只是輔助工具,幫助完成測試。

操作遊戲引擎的常見代碼,一般還是需要用C++、C#這種編譯型語言編寫。採用Python作為程式語言的遊戲引擎Pygame,主要服務的對象,也是對延遲要求不高的2D遊戲。

python開發的文字冒險遊戲《心跳文學部

雖然還在內部測試階段,但Cyllista Game Engine」裡面,從資源管理器,到關卡設計工具,幾乎所有的工具,都用Python寫成。

為了解決Python的執行效率問題,Cygames的做法,是引入「NumPy」這個數學庫,處理對延遲敏感的任務。

加入Numpy以後,循環處理快了200倍

為了進一步優化速度,他們還利用pybind11優化了C語言庫調用。Python並行處理不行的弱點,他們也計劃用multiprocessing迴避。

作為一個現代引擎, 「熱重載」功能自然也是少不了的。CY引擎做到了隨時修改代碼、讓效果立即在遊戲中呈現。

至於遊戲菜單這種操作界面(GUI),則採用了Qt for Python(PySide2)。雖然QT庫的Python文檔不多,但C++ QT的文檔也能用。

總結起來,就是Python雖然很熱門,但是作為遊戲開發語言,有速度上的不足。但這些問題,Cygames經過數年開發之後,都想出了辦法解決。

可以看到,以「不務正業」聞名的Cygames,拿到大家氪金的錢以後,除了發獎與做動畫,也在做對業界有益的長期準備。

本次報導就到這裡。對CY遊戲引擎,大家有什麼期許或評價,歡迎留言討論。

相關焦點

  • Blender遊戲引擎的 Python 腳本
    您將學習如何在 Blender 中使用 Python 腳本用腳本調整車輛移動,加速,停車。請記住,汽車只是用作使用 Python 的示例。本教程將教您 Blender 遊戲引擎的 Python 腳本基礎知識,包括通過腳本訪問和更改邏輯信息。即使您對 Python 有所了解,本教程也很容易理解。
  • 用命令行窗口啟動Epic遊戲方法
    Github源地址:https://github.com/derrod/legendary需要:1.已登錄Epic的默認瀏覽器(通常情況是Edge)2.python 3.8+操作步驟:一、安裝python下載地址https://www.python.org/
  • 用python識別驗證碼
    前言經常大家在做自動化測試或者做網絡爬蟲的時候,都很容易遇到驗證碼。今天,我們就簡單的說下,怎麼用python來處理驗證碼。
  • 遊戲開發5個階段學習路線給你準備好了!(含引擎/書籍資源)
    :windows或遊戲主機:【Unreal】【寒霜】蘋果ios:【unity3D】【cocos2d-ObjC】【Unreal】安卓:【unity3d】【cocos2d-x】【Unreal】網頁:【Egret】【cocos2d-html5】下面是是目前市面上流行的遊戲引擎詳細比較表格:在選擇遊戲引擎的時候,儘可能選用流行的遊戲引擎,因為這個遊戲引擎流行意味著官方的功能比較完善和易用
  • 實用寶典|如何用Python實現人機猜拳小遊戲
    答案當然是它不懂,計算機不止不懂,還不會出石頭剪刀這類東西,它只認得數字,那麼問題來了,怎樣才能讓它出拳,還要出石頭剪刀布呢?計算機只有一根筋,但是人類有智慧啊,聰明的人們想了一個辦法:既然計算機只認識數字,那麼我們就用數字代替「石頭、剪刀、布」。ok,這個問題解決了。問題二怎樣讓計算機隨機出拳,而不是有規律的出拳?
  • 架構師:《光環:無限》將使用這一星球上最先進的3A遊戲引擎
    Slipspace引擎。此前,他們就曾在採訪中說過會為這一引擎投入大量的精力,而這一引擎將會是「這一星球上最尖端的3A遊戲引擎」,並且對《光環》系列都有著重要的意義。  首先,這一引擎將會為《光環》系列的未來奠基,對於他們而言,Slipspace的首要意義即是讓他們能在《光環》上做更多東西。
  • 人生苦短,我用Python,那麼問題來了,普通人要學python嗎?
    話說在金融和IT行當混跡了多年,python一直是被我隨手拿來當個小工具用用,有時候偷懶用python弄個excel自動化整理工具,有時候拿來上各種網站爬蟲搜集點信息,有時候也會拿來寫點量化小工具。那麼到底什麼是python?
  • 5個支持python的2D、3D遊戲開發庫!
    1.Panda3D:Panda3D是由迪士尼開發的 3D 遊戲引擎,一個用於Python和C+程序的3D渲染和遊戲開發框架,並由卡內基梅隴娛樂技術中心負責維護。使用C++編寫, 針對 Python 進行了完全的封裝。
  • 為何中國山寨遊戲泛濫 為什麼中國不會有3A遊戲?
    最近,尤其是關於某廠的山寨醜聞火了之後,總有人問我,或者跟我討論這些話題:中國為什麼那麼多山寨遊戲?中國什麼時候才會有3A遊戲?我也曾經思考過這個問題,並且在心中有一個答案。所以我決定擠個時間,敲會兒鍵盤,寫寫為什麼中國有這麼多山寨遊戲,為什麼中國沒有3A遊戲,以及為什麼中國在未來也不會出現3A遊戲。
  • 我們一起玩遊戲《Games We Play 》
    今天跟大家分享的繪本,名字叫《Games We Play 》,孩子們童年最喜歡的就是和夥伴一起玩遊戲,比如捉迷藏,過家家,這些好玩的遊戲,用英文怎麼來表達呢?We like to play tag.我們喜歡玩貼標籤遊戲(捉人遊戲)。We like to play baseball.
  • 前育碧遊戲總監加盟騰訊天美工作室 開發3A遊戲
    本文轉自【3DMGame】;據外媒gamesindustry報導,騰訊正計劃在北美成立一個新的3A級工作室,由業內老兵Scott Warner領導。Scott Warner在開發3A遊戲上有著豐富的經驗,他曾在343任職擔任《光環4》的設計總監,在EA Visceral擔任《戰地:硬仗》的遊戲總監,以及在育碧舊金山工作室擔任遊戲總監。Warner本月16日發推,確認自己將擔任騰訊北美3A遊戲工作室的總監,目前工作室正在吸納各個層面的人才。
  • 我們能用Python做什麼?學Python有前途嗎?
    我們能用Python做什麼?目前流行的大數據分析、數據科學、機器學習等行業,Python長期穩固第一陣營,甚至就是第一語言。不管從哪個方面來考慮,都應該選擇 Python。
  • 遊戲廠商常吹的遊戲引擎究竟是什麼?遊戲開發背後的秘密大公開
    大家絕對有聽過某些遊戲在做商業宣傳的時候,開頭都會使用"XXXX遊戲引擎打造"之類的標語,讓人不明覺厲,就好像這種引擎很神一般,比如說前段時間在網絡上鬧得風風火火的《逆水寒》所使用的就是國外著名的HAVOK引擎。而在國內非常流行的《絕地求生》在剛剛推出時也是憑藉著「最好的物理引擎」這個噱頭吸引了不少玩家的加入。
  • 如何用python在工作中「偷懶」?
    xxxxx') #click the button of login browser.find_by_id('loginBtn').click() time.sleep(8) #close the window of brower browser.quit()if __name__ == '__main__' splinter(websize)同理可以寫一個簡單的遊戲掛機腳本
  • python用10行代碼寫一個USB病毒
    於是我心想,能不能用python寫一個程序,讓它在後臺運行。每當有u盤插入的時候,就自動拷貝其中重要文件。如何判斷U盤的插入與否?首先我們打開電腦終端,進入/Volumes目錄,這時候插入U盤,可以發現它被掛載在了這個目錄之下,也就是說,我們只要在固定時間掃描這個目錄,當這個目錄有新文件夾出現的時候,很可能有U盤被插入了。
  • 專訪Unity張俊波:全球團隊近4000人,瞄準更多3A遊戲
    作為賦能遊戲行業快速發展的底層技術,誰才是最好用的遊戲引擎、引擎技術將走向何方就成為了值得討論的問題。帶著這個問題,葡萄君在ChinaJoy期間採訪到了Unity大中華區總裁張俊波。今年活動現場,Unity攜18款來自各遊戲大廠的熱門遊戲作品亮相ChinaJoy BTOB展區,一改以往低調的姿態。
  • 從0開始學python-6.2 用python讀寫文件
    我們還學習了用python來查找、重命名一個文件。這節課,我們一起學習一下怎麼用python操作一個文件的內容。文件操作對一個文件,我們可以1)讀取裡面的內容、2)往文件裡寫內容、3)追加文件內容。我們來看看用python怎麼做這些事情。打開文件在對文件內容操作之前,我們首先要打開文件。
  • 用Python 實現手機自動答題,這下百萬答題遊戲誰也玩不過我
    2、 讓電腦能夠看懂文字,必然需要對手機屏幕截圖,然後對截圖中的文字識別即可3、 讓電腦操控瀏覽器搜題,用python的庫即可實現了解了整體思路後,下面開始我們的實驗。實驗前的準備首先我們使用的python版本是3.6.5所用到的庫有os,Python 中os模塊包含普遍的作業系統功能。
  • python入門教程NO.8 用python寫個存款利息計算器
    本文涉及的python基礎語法為def函數,return,函數的各參數示例,匿名函數等函數初識函數是一段組織好的\ 可重複使用的\ 用來實現特定功能的代碼塊。函數的參數關鍵字參數的應用示例必備參數的應用示例默認參數的應用示例不定長參數的應用示例python 使用 lambda 來創建匿名函數lambda只是一個表達式,函數體比def簡單很多。lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。
  • 虛幻5引擎震撼公布,那麼遊戲引擎哪家強?
    他們可以直接使用影視級資源並將它們直接導入到引擎,無論是來自Zbrush的雕塑還是用攝影測量法掃描的CAD數據,畫面質量都不會有任何的損失。動態全局光照Lumen則可以讓使用者做出更加漂亮的實時光線反彈,不會再受到世界必須是靜態的束縛,同時還能夠以更快的速度來迭代它。