一個結合 PHP 伺服器技術和 Electron 客戶端的創新開源專案引起了開發者社群的關注,在技術選擇和許可證問題上引發了熱烈討論。
非傳統技術棧
這款由 GitHub 使用者 solcloud 開發的遊戲採用了一種獨特的方式,使用 PHP 進行伺服器端實現,並使用 JavaScript 和 Three.js 開發客戶端。儘管社群最初對使用 PHP 開發第一人稱射擊遊戲持懷疑態度,但社群成員注意到現代 PHP 在這類應用中表現出令人驚訝的效能和速度。
技術實現
客戶端實現相當輕量級,僅使用 Three.js 作為主要依賴。伺服器透過 UDP 通訊,而客戶端可以透過 WebSocket(用於瀏覽器遊戲)或在使用 Electron 客戶端時直接透過 UDP 連線。這種架構支援網頁瀏覽器和桌面端遊戲,不過開發者建議使用 Electron 版本以獲得更好的效能和鍵盤控制體驗。
許可證問題
關於專案的許可證狀態引發了重要討論。目前,該程式碼庫缺少正式的許可證檔案,這在技術上意味著保留所有權利。社群成員強烈建議新增適當的開源許可證,建議選項包括:
- MIT 許可證,提供最大的靈活性
- GPL 許可證,確保程式碼保持開源
- Apache 許可證,適合企業使用
雖然開發者表示程式碼可供任何人使用,但社群中的法律專家指出,沒有正式許可證,潛在的貢獻者和使用者在使用、修改或分發程式碼方面的權利存在不確定性。
開發狀態
遊戲目前具有以下特點:
- 多人第一人稱射擊遊戲玩法
- 兩個隊伍:進攻方和防守方
- 基礎3D圖形,具有視覺改進空間
- 支援自定義地圖(包括經典 dust2 地圖的轉換版本)
未來展望
開發者提到了未來可能的改進計劃,包括:
- 可能將 PHP 程式碼轉換為 C++ 或 WebAssembly
- 增強圖形和音訊效果(目前正在尋找貢獻者)
- 改進多人遊戲功能
該專案作為遊戲開發中非常規技術選擇的一個有趣案例,同時也突顯了開源專案中適當許可證的重要性。儘管在 Counter-Strike 商標方面存在顧慮,但該專案已成為潛在的遊戲開發學習資源,受到廣泛關注。