發(fā)布時間:2023-11-27 23:53:19 瀏覽量:175次

一些開源游戲的質量已經媲美商業(yè)游戲。盡管還難以比肩 3A 大作,但開源游戲在獨立游戲中已頗具競爭力。不過,游戲玩家的期望是隨時間變化的。早期的游戲只有高分成就。不斷增加的成就種類促使玩家反復重玩游戲。比如你可能達到了滿級,卻還沒有找到所有隱藏物品或沒有完成全物品收集。Xbox 360 推出了首個在線多游戲成就系統(tǒng)。隨后其它游戲平臺也紛紛推出了自己的成就系統(tǒng)。
開源游戲在很大程度被游戲平臺的成就系統(tǒng)排除在外。你可以在 Stream 上發(fā)布開源游戲,但這需要付費。游戲平臺主要與公司合作,而不是與自由軟件社區(qū)合作。這也進一步把玩家鎖定在了非自由的游戲平臺上。
商業(yè)游戲開發(fā)商也沒有得到太多好處。由于不能共享成就,一些享受成就的玩家拒絕從其他商店購買游戲。這種鎖定效應增強了游戲平臺的話語權。由于各個游戲平臺使用不同的系統(tǒng),開發(fā)者不得不針對它們分別進行適配和測試。較小的游戲平臺則可能完全被忽略掉。并且平臺方能夠訪問到所有使用該平臺的公司的成就數(shù)據(jù),這些數(shù)據(jù)可以被用來擴大競爭優(yōu)勢。
Gamerzilla是一個致力于改善這種現(xiàn)狀的開源游戲成就系統(tǒng)。Gamerzilla 在設計上同時考慮了開源游戲和商業(yè)游戲。你可以運行自己的 Gamerzilla 服務器,使用游戲商店提供的服務器,甚至 Linux 發(fā)行版提供的服務器。服務器也可以由其他團體來運行。在哪里購買游戲不再重要。成就數(shù)據(jù)都會上傳到你的 Gamerzilla 服務器上。
一個基本的成就系統(tǒng)需要兩個要素:游戲和 Gamerzilla 服務器。然而隨著游戲數(shù)量增長,這種設計會暴露出其缺點。每個游戲都需要證書才能上傳數(shù)據(jù)到服務器。由于擁有大量的游戲資源,并且能夠在不同游戲商店之間同步數(shù)據(jù),游戲啟動器成為了眾多玩家的選擇。通過讓啟動器支持 Gamerzilla,游戲本身就不再需要證書了。游戲結果直接從啟動器上傳到 Gamerzilla 服務器。
freegamedev.net曾提供了社交網絡系統(tǒng) Hubzilla。我們基于此開發(fā)了一個插件來進行 Gamerzilla 的開發(fā)。不幸的是 Hubzilla 的一次升級導致了freegamedev.net的服務故障,因此freegamedev.net決定不再提供它了。
目前 Gamerzilla 服務器有兩種實現(xiàn)。維護 Hubzilla 是一項復雜的工作,所以我們用 .Net 和 React 開發(fā)了一個獨立的 Gamerzilla 服務器。游戲調用的 API 是相同的,所以不用關心連接的服務器是哪種實現(xiàn)。
游戲啟動器的開發(fā)和支持工作通常是滯后的。為了方便啟動器增加對 Gamerzilla 的支持,我們開發(fā)了 libgamerzilla。這個庫負責處理啟動器、游戲和 Gamerzilla 服務器之間的交互。目前只有 GameHub 實現(xiàn)了一個支持 Gamerzilla 的版本,并將在近期整合到項目中。Fedora 上的 libgamerzilla-server 是一個臨時解決方案。它不啟動游戲,而是監(jiān)聽成就并把成就上傳到服務器。
支持 Gamerzilla 的游戲在不斷增長。與游戲啟動器一樣,開發(fā)者使用 libgamerzilla 來完成 Gamerzilla 的集成工作。這個庫由 C 語言實現(xiàn),已經被 Python 和 nim 等多種編程語言使用。對于那些已經有成就系統(tǒng)的游戲,只需要花幾天時間就可以完成對 Gamerzilla 的支持。其他游戲想要支持 Gamerzilla,大部分時間都是花在收集信息和授予成就上。
架設服務器最容易的方式是使用 Hubzilla 插件。但是運行 Hubzilla 站點卻不是一件輕松的事情。在 Fedora 上架設基于 .Net 和 React 的服務器相對來說要容易一些,盡管這仍然需要許多步驟。詳細步驟請參考 readme文件。需要這么多步驟的一部分原因是目前沒有預編譯好的發(fā)布版本。這意味著你需要自己安裝 .Net,動手構建 React 源碼部分。構建完成之后,React 代碼會直接運行在 Apache 中。.Net 后端則運行在單獨的服務上。Apache 作為代理負責把所有 Gamerzilla API 請求轉發(fā)給后端服務。
按上面的步驟操作,Gamerzilla 已經運行起來了,但是現(xiàn)在還沒有用戶。當然應該有一個簡單的方式來創(chuàng)建管理員和注冊新用戶。但是該功能還沒有完成。目前只能通過 sqlite3 命令行來錄入用戶信息。具體步驟請參考 readme文件。用戶可以是公開可見的,也可以是隱藏的。批準標記可以讓新用戶不立刻使用該系統(tǒng),但是網絡注冊是必須的。在設計時我們已經考慮了用戶相關模塊的可替換性。通過替換就可以與其他站點進行集成。游戲網站也可以通過這種方式來為用戶提供 Gamerzilla 成就系統(tǒng)。
backend/Service/UserService.cs

目前 Gamerzilla 的后端使用的是 sqlite 數(shù)據(jù)庫。我們還沒有對它進行過性能測試。我們預計較大型的應用安裝需要改進系統(tǒng)以使用更魯棒的數(shù)據(jù)庫。
目前要找一個支持 Gamerzilla 的游戲啟動器太難了。如果你安裝了 libgamerzilla-server,就可以在命令行中運行 gamerzillaserver命令。首次運行該命令時需要輸入 URL 和登錄信息。以后再運行時會直接從配置文件讀取這些信息。目前更正錯誤的唯一方法是刪除再重新運行
.local/share/gamerzillaserver/server.cfggamerzillaserver命令。
大多數(shù)游戲還沒有支持 Gamerzilla 的版本。itch.io 上的 《Pinball Disc Room》,它的 Linux 版本支持 Gamerzilla,但是它的網頁版是沒有成就系統(tǒng)的。這款游戲只有兩個成就:一個是存活 10 秒鐘,另一個是解鎖并使用隧道。只需要稍加練習,你就能獲得一個成就。由于這款游戲沒有可視化的成就提示消息,你需要查看 Gamerzila 服務器才能確認成就。
目前打包到 Fedora 中的游戲都還不支持 Gamerzila。《SuperTuxKart》 已經整合了對 Gamerzila 的支持,正在等待發(fā)布新版本?!禨eahorse adventures》 和 《Shippy 1984》 添加了成就,但是新發(fā)布版本還沒有打包。還有一部分游戲由我們獨立完成了對 Gamerzila 的支持,但我們的拉取請求pull request或其它聯(lián)系嘗試還沒有得到開發(fā)者的回應。
Gamerzilla 需要更多游戲的支持。目前已經有很多游戲支持 Gamerzilla,并且正在以大約每月一個的速度增長。如果你有喜歡的游戲,可以請求開發(fā)方支持 Gamerzilla。如果你是游戲開發(fā)者,并且在支持 Gamerzilla 上需要技術支持,請聯(lián)系我們。
服務器的開發(fā)工作在緩步開展中,我們希望不久之后就會有一個可用的注冊系統(tǒng)。在那之后我們可能會建立一個永久托管站點。目前你可以看到我們的 測試服務器。一些人對于使用 .Net 作為后端表示擔憂。我們的 API 并不復雜,可以很容易用 Python 重寫。
最大的不確定性來自游戲啟動器方面。GameHub 希望有一個通過用的成就接口。未來我們可能會在這方面與他們開展合作。增加對 itch.io應用的支持可以提升系統(tǒng)的關注度。另一種方案是完全拋開啟動器。也許可以將 gamerzillaserver 添加到 Gnome 中。然后你就可以在一個設置頁面里配置 URL 和登錄信息。這樣任何啟動的游戲都可以記錄成就了。
via: https://fedoramagazine.org/open-source-game-achievements/
作者:Dennis Payne選題:lujun9972譯者:toknow-gh校對:wxy
本文由 LCTT原創(chuàng)編譯,Linux中國榮譽推出

熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設計領域和數(shù)字藝術教育的重要性,歡迎點擊咨詢報名。
2. 手機游戲如何開發(fā)(如何制作傳奇手游,都需要準備些什么?)
?如何制作傳奇手游,都需要準備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說明時代在進步游戲在更新,更趨于方便化移動化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費、一鍵制作炫酷特效,適合新手小白??靵碓囋?!
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個抉定都將觸發(fā)更多愛恨糾葛的精彩奇遇?!短烀嬗肪哂卸嗑€劇情多結局,不限主線發(fā)展,高自由...
?三昧動漫對于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應并不會推出《巫師4》。因為《巫師》系列在策劃的時候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
6. 3D動畫軟件你知道幾個?3ds Max、Blender、Maya、Houdini大比拼
當提到3D動畫軟件或動畫工具時,指的是數(shù)字內容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術動畫的軟件程序。但是,在3D動畫軟件中還包含了其他類型的...
想讓你的3D打印模型更堅固?不妨嘗試一下Cura參數(shù)設置和設計技巧,讓你輕松掌握!
8. 虛幻引擎5節(jié)省存儲空間用這招!緩存的清理與設置
眾所周知,虛幻引擎5(下面簡稱UE5)特別占用存儲空間,僅一個版本安裝好的文件就有60G,這還不包括我們在使用時保存的工程文件和隨之產生的緩存文件。而...
9. Bigtime加密游戲經濟體系揭秘,不同玩家角色的經濟活動
Bigtime加密游戲經濟模型分析,探討游戲經濟特點,幫助玩家更全面了解這款GameFi產品。
10. 3D動漫建模全過程,不是一般人能學的會的,會的多不是人?
步驟01:面部,頸部,身體在一起這次我不準備設計圖片,我從雕刻進入。這一次,它將是一種純粹關注建模而非整體繪畫的形式。像往常一樣,我從Sphere創(chuàng)建它...
最新文章
同學您好!