從編譯器、遊戲引擎到遊戲掌機——我是這樣做獨立遊戲的


3樓貓 發佈時間:2024-08-13 11:32:25 作者:pigpigyyy Language

遊戲腳本語言的樂趣與挑戰

  各式新的編程語言的學習是充滿樂趣,對不同語言工具的接觸也會帶來不同的編程理念和程序設計思想。對於複雜多變的遊戲玩法的腳本編程(Scripting)我也形成了自己編程偏好,即使用一門儘可能簡潔和表達力強的編程語言來編寫容易變化的業務邏輯,可以轉譯為 Lua 語言執行的 Yuescript 就是滿足這個需求的產物。後來隨著使用自己的 Dora SSR 遊戲引擎項目有了更多的遊戲開發體驗,又為 Dora SSR 遊戲引擎引入了 Teal(為 Lua 語言添加靜態類型檢查能力的語言),Typescript(進一步增強代碼編輯器提示和代碼檢查的語言),JSX 和 XML(提供描述性代碼進行組件化開發的語言)等等。每一種腳本語言都能在特定的遊戲開發場景發揮優勢,並通過轉譯到最終運行的同樣的Lua語言進行無縫的互通調用。不只是基於 Lua 語言的擴展,Dora SSR 遊戲引擎還在嘗試通過 WASM 虛擬機來支持更加多樣的可以用做遊戲腳本編程的語言,如 Rust 和準備支持的 C++ 和 Go 等,兼顧性能與引擎的運行時擴展能力。

遊戲引擎的創新之路

  說到遊戲引擎大家總是想到高性能高質量的圖形渲染,搭建複雜的遊戲場景。實際上作為獨立遊戲開發者,或是遊戲製作的愛好者,並不是人人都有條件追求3A遊戲的製作(鈔能力)。我認為很多 2D 遊戲或是 2D 混合 3D 效果的遊戲也能表達展現十分有創意和獨特的遊戲作品。而且能運行自己製作遊戲的終端最好是不受限制的,再進一步,也許能用於開發遊戲的終端也可以是不受限制的。所以就有了 Dora SSR 遊戲引擎的項目目標,在儘可能多的設備上為遊戲開發愛好者提供便捷易用的環境甚至是遊戲開發 IDE。一直以來遊戲開發這件也成為了我的個人生活體驗的一部分。哪怕只有碎片化的時間和手邊隨機可用作遊戲開發和運行的設備,我也想有空就利用起來碎片化地寫兩行遊戲代碼,或是調試一個遊戲功能,並把它變成了一種比較隨性愜意的休閒活動。
  所以 Dora SSR 搭建了通過遊戲引擎運行時內置用於遊戲開發的 Web IDE 服務器,可以通過其它方便做輸入的設備通過 Web 瀏覽器做訪問,並實現直接在任意的終端運行設備上直接編寫運行和調試遊戲開發的代碼。同時獲得代碼編輯器可視提示服務、以及使用其它遊戲開發和資源管理的可視化工具。目前 Dora SSR 在努力之下已具備了在 Windows、macOS、iOS、Android、多個 Linux 發行版上進行遊戲開發的能力。

向著自由開放的遊戲掌機夢想邁進

  到此我覺得對遊戲開發能力的自由和開放體驗的追求還遠不到盡頭。作為喜好各式掌機的老玩家,在體驗了諸多國產開源掌機的商業產品後,我感覺深深的不滿足。用掌上遊戲機玩遊戲目前還是在卷硬件參數和外觀設計來提供體驗的差別,而我期待的掌機並不只是玩遊戲上的體驗,還應該是一個可以用來自由的開發、運行甚至發行自制遊戲的設備。很多掌機廠商都有自己的商業化模式和獲得盈利的閉環,所以不會允許硬件設備獲得太多可編程定製的能力。於是和同樣對硬件發燒的夥伴一起研究構建完全自由開放的掌機設備。並儘可能提供包括機器的計算核心、外設和外觀均可進行模塊化的定製和更換的能力(使科技不再以換殼為本)於是又有了“吉祥機”的項目。

回到製作遊戲的初心

  所以折騰了半天我的遊戲到底做出來了沒有呢?答案當然是做了,但沒完全做出來啦。在生成式 AI 大模型進入徹底火爆前夕的2020年我們就想象了一個關於未來的 AI 的遊戲故事,人的物質需求已經得到完全滿足,生下來的目的只剩下了通過進行遊戲娛樂,並通過採集過程數據給AI生產有創造力和展現智能的訓練數據。人生的價值都是由未來的銀行通過評估人的遊戲活動所創造的智能數據的質量和價值,來進行貨幣分配而評定的。人類貢獻的數據訓練出的 AI 會幫助人完成一切的物質生產、到人類個體的養育和社會管理的工作。在這樣的背景下,人還會有什麼樣的故事。最後遊戲輸出的價值觀就是人生來就應該是改造世界的主體,而不是隻會適應一切現狀的被改造的客體。也呼應了我和我的夥伴們一直在追尋的東西,想要不被與生而來的一切所定義,就去靠自己的主動創造去重新定義一切。
  如果對我們在做的編程語言、遊戲引擎、遊戲掌機或是遊戲項目感興趣,歡迎 Star 我們的倉庫或是進入我們的 Q 群聊聊。目前的項目都是開源的,雖然在比較早期的階段,但是會互相整合和驗證迭代,關注我們也可以及時看到項目是怎麼做的以及我們的進展。
  最後我們誠摯邀請每一位對遊戲開發有熱情的朋友加入我們,無論是貢獻代碼、提供意見還是測試和分享我們的項目,您的每一份努力都能幫助我們共同實現遊戲開發自由的夢想。

項目地址

  • 開源遊戲引擎:https://github.com/IppClub/Dora-SSR
  • Yuescript 語言:https://github.com/pigpigyyy/Yuescript
  • 《靈數奇緣》開源遊戲項目:https://luv-sense-digital.readthedocs.io
  遊戲開發及掌機交流 Q 群,歡迎一起來玩吧:512620381


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com