發(fā)布時間:2023-11-27 23:53:19 瀏覽量:162次
一些開源游戲的質(zhì)量已經(jīng)媲美商業(yè)游戲。盡管還難以比肩 3A 大作,但開源游戲在獨立游戲中已頗具競爭力。不過,游戲玩家的期望是隨時間變化的。早期的游戲只有高分成就。不斷增加的成就種類促使玩家反復(fù)重玩游戲。比如你可能達(dá)到了滿級,卻還沒有找到所有隱藏物品或沒有完成全物品收集。Xbox 360 推出了首個在線多游戲成就系統(tǒng)。隨后其它游戲平臺也紛紛推出了自己的成就系統(tǒng)。
開源游戲在很大程度被游戲平臺的成就系統(tǒng)排除在外。你可以在 Stream 上發(fā)布開源游戲,但這需要付費。游戲平臺主要與公司合作,而不是與自由軟件社區(qū)合作。這也進(jìn)一步把玩家鎖定在了非自由的游戲平臺上。
商業(yè)游戲開發(fā)商也沒有得到太多好處。由于不能共享成就,一些享受成就的玩家拒絕從其他商店購買游戲。這種鎖定效應(yīng)增強(qiáng)了游戲平臺的話語權(quán)。由于各個游戲平臺使用不同的系統(tǒng),開發(fā)者不得不針對它們分別進(jìn)行適配和測試。較小的游戲平臺則可能完全被忽略掉。并且平臺方能夠訪問到所有使用該平臺的公司的成就數(shù)據(jù),這些數(shù)據(jù)可以被用來擴(kuò)大競爭優(yōu)勢。
Gamerzilla是一個致力于改善這種現(xiàn)狀的開源游戲成就系統(tǒng)。Gamerzilla 在設(shè)計上同時考慮了開源游戲和商業(yè)游戲。你可以運行自己的 Gamerzilla 服務(wù)器,使用游戲商店提供的服務(wù)器,甚至 Linux 發(fā)行版提供的服務(wù)器。服務(wù)器也可以由其他團(tuán)體來運行。在哪里購買游戲不再重要。成就數(shù)據(jù)都會上傳到你的 Gamerzilla 服務(wù)器上。
一個基本的成就系統(tǒng)需要兩個要素:游戲和 Gamerzilla 服務(wù)器。然而隨著游戲數(shù)量增長,這種設(shè)計會暴露出其缺點。每個游戲都需要證書才能上傳數(shù)據(jù)到服務(wù)器。由于擁有大量的游戲資源,并且能夠在不同游戲商店之間同步數(shù)據(jù),游戲啟動器成為了眾多玩家的選擇。通過讓啟動器支持 Gamerzilla,游戲本身就不再需要證書了。游戲結(jié)果直接從啟動器上傳到 Gamerzilla 服務(wù)器。
freegamedev.net曾提供了社交網(wǎng)絡(luò)系統(tǒng) Hubzilla。我們基于此開發(fā)了一個插件來進(jìn)行 Gamerzilla 的開發(fā)。不幸的是 Hubzilla 的一次升級導(dǎo)致了freegamedev.net的服務(wù)故障,因此freegamedev.net決定不再提供它了。
目前 Gamerzilla 服務(wù)器有兩種實現(xiàn)。維護(hù) Hubzilla 是一項復(fù)雜的工作,所以我們用 .Net 和 React 開發(fā)了一個獨立的 Gamerzilla 服務(wù)器。游戲調(diào)用的 API 是相同的,所以不用關(guān)心連接的服務(wù)器是哪種實現(xiàn)。
游戲啟動器的開發(fā)和支持工作通常是滯后的。為了方便啟動器增加對 Gamerzilla 的支持,我們開發(fā)了 libgamerzilla。這個庫負(fù)責(zé)處理啟動器、游戲和 Gamerzilla 服務(wù)器之間的交互。目前只有 GameHub 實現(xiàn)了一個支持 Gamerzilla 的版本,并將在近期整合到項目中。Fedora 上的 libgamerzilla-server 是一個臨時解決方案。它不啟動游戲,而是監(jiān)聽成就并把成就上傳到服務(wù)器。
支持 Gamerzilla 的游戲在不斷增長。與游戲啟動器一樣,開發(fā)者使用 libgamerzilla 來完成 Gamerzilla 的集成工作。這個庫由 C 語言實現(xiàn),已經(jīng)被 Python 和 nim 等多種編程語言使用。對于那些已經(jīng)有成就系統(tǒng)的游戲,只需要花幾天時間就可以完成對 Gamerzilla 的支持。其他游戲想要支持 Gamerzilla,大部分時間都是花在收集信息和授予成就上。
架設(shè)服務(wù)器最容易的方式是使用 Hubzilla 插件。但是運行 Hubzilla 站點卻不是一件輕松的事情。在 Fedora 上架設(shè)基于 .Net 和 React 的服務(wù)器相對來說要容易一些,盡管這仍然需要許多步驟。詳細(xì)步驟請參考 readme文件。需要這么多步驟的一部分原因是目前沒有預(yù)編譯好的發(fā)布版本。這意味著你需要自己安裝 .Net,動手構(gòu)建 React 源碼部分。構(gòu)建完成之后,React 代碼會直接運行在 Apache 中。.Net 后端則運行在單獨的服務(wù)上。Apache 作為代理負(fù)責(zé)把所有 Gamerzilla API 請求轉(zhuǎn)發(fā)給后端服務(wù)。
按上面的步驟操作,Gamerzilla 已經(jīng)運行起來了,但是現(xiàn)在還沒有用戶。當(dāng)然應(yīng)該有一個簡單的方式來創(chuàng)建管理員和注冊新用戶。但是該功能還沒有完成。目前只能通過 sqlite3 命令行來錄入用戶信息。具體步驟請參考 readme文件。用戶可以是公開可見的,也可以是隱藏的。批準(zhǔn)標(biāo)記可以讓新用戶不立刻使用該系統(tǒng),但是網(wǎng)絡(luò)注冊是必須的。在設(shè)計時我們已經(jīng)考慮了用戶相關(guān)模塊的可替換性。通過替換
就可以與其他站點進(jìn)行集成。游戲網(wǎng)站也可以通過這種方式來為用戶提供 Gamerzilla 成就系統(tǒng)。
backend/Service/UserService.cs
目前 Gamerzilla 的后端使用的是 sqlite 數(shù)據(jù)庫。我們還沒有對它進(jìn)行過性能測試。我們預(yù)計較大型的應(yīng)用安裝需要改進(jìn)系統(tǒng)以使用更魯棒的數(shù)據(jù)庫。
目前要找一個支持 Gamerzilla 的游戲啟動器太難了。如果你安裝了 libgamerzilla-server,就可以在命令行中運行 gamerzillaserver
命令。首次運行該命令時需要輸入 URL 和登錄信息。以后再運行時會直接從配置文件讀取這些信息。目前更正錯誤的唯一方法是刪除
再重新運行
.local/share/gamerzillaserver/server.cfggamerzillaserver
命令。
大多數(shù)游戲還沒有支持 Gamerzilla 的版本。itch.io 上的 《Pinball Disc Room》,它的 Linux 版本支持 Gamerzilla,但是它的網(wǎng)頁版是沒有成就系統(tǒng)的。這款游戲只有兩個成就:一個是存活 10 秒鐘,另一個是解鎖并使用隧道。只需要稍加練習(xí),你就能獲得一個成就。由于這款游戲沒有可視化的成就提示消息,你需要查看 Gamerzila 服務(wù)器才能確認(rèn)成就。
目前打包到 Fedora 中的游戲都還不支持 Gamerzila?!禨uperTuxKart》 已經(jīng)整合了對 Gamerzila 的支持,正在等待發(fā)布新版本?!禨eahorse adventures》 和 《Shippy 1984》 添加了成就,但是新發(fā)布版本還沒有打包。還有一部分游戲由我們獨立完成了對 Gamerzila 的支持,但我們的拉取請求pull request或其它聯(lián)系嘗試還沒有得到開發(fā)者的回應(yīng)。
Gamerzilla 需要更多游戲的支持。目前已經(jīng)有很多游戲支持 Gamerzilla,并且正在以大約每月一個的速度增長。如果你有喜歡的游戲,可以請求開發(fā)方支持 Gamerzilla。如果你是游戲開發(fā)者,并且在支持 Gamerzilla 上需要技術(shù)支持,請聯(lián)系我們。
服務(wù)器的開發(fā)工作在緩步開展中,我們希望不久之后就會有一個可用的注冊系統(tǒng)。在那之后我們可能會建立一個永久托管站點。目前你可以看到我們的 測試服務(wù)器。一些人對于使用 .Net 作為后端表示擔(dān)憂。我們的 API 并不復(fù)雜,可以很容易用 Python 重寫。
最大的不確定性來自游戲啟動器方面。GameHub 希望有一個通過用的成就接口。未來我們可能會在這方面與他們開展合作。增加對 itch.io應(yīng)用的支持可以提升系統(tǒng)的關(guān)注度。另一種方案是完全拋開啟動器。也許可以將 gamerzillaserver 添加到 Gnome 中。然后你就可以在一個設(shè)置頁面里配置 URL 和登錄信息。這樣任何啟動的游戲都可以記錄成就了。
via: https://fedoramagazine.org/open-source-game-achievements/
作者:Dennis Payne選題:lujun9972譯者:toknow-gh校對:wxy
本文由 LCTT原創(chuàng)編譯,Linux中國榮譽(yù)推出
熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設(shè)計領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點擊咨詢報名。
2. 手機(jī)游戲如何開發(fā)(如何制作傳奇手游,都需要準(zhǔn)備些什么?)
?如何制作傳奇手游,都需要準(zhǔn)備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說明時代在進(jìn)步游戲在更新,更趨于方便化移動化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費、一鍵制作炫酷特效,適合新手小白。快來試試!
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個抉定都將觸發(fā)更多愛恨糾葛的精彩奇遇。《天命奇御》具有多線劇情多結(jié)局,不限主線發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟(jì)體系揭秘,不同玩家角色的經(jīng)濟(jì)活動
Bigtime加密游戲經(jīng)濟(jì)模型分析,探討游戲經(jīng)濟(jì)特點,幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動畫軟件你知道幾個?3ds Max、Blender、Maya、Houdini大比拼
當(dāng)提到3D動畫軟件或動畫工具時,指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動畫的軟件程序。但是,在3D動畫軟件中還包含了其他類型的...
7. 3D動漫建模全過程,不是一般人能學(xué)的會的,會的多不是人?
步驟01:面部,頸部,身體在一起這次我不準(zhǔn)備設(shè)計圖片,我從雕刻進(jìn)入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫的形式。像往常一樣,我從Sphere創(chuàng)建它...
8. 如何自己開發(fā)一款游戲(游戲開發(fā)入門必看:五大獨立游戲開發(fā)技巧)
?游戲開發(fā)入門必看:五大獨立游戲開發(fā)技巧無論您是剛剛起步開發(fā)自己的第一款游戲,還是已經(jīng)制作了幾款游戲,本篇文章中的5大獨立游戲開發(fā)技巧都可以幫助您更好地設(shè)計下一款游戲。無論你對游戲有著什么樣的概念,都
?三昧動漫對于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應(yīng)并不會推出《巫師4》。因為《巫師》系列在策劃的時候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
10. 3D打印技巧揭秘!Cura設(shè)置讓你的模型更堅固
想讓你的3D打印模型更堅固?不妨嘗試一下Cura參數(shù)設(shè)置和設(shè)計技巧,讓你輕松掌握!
最新文章
同學(xué)您好!