Metaverse Coin 元宇宙虛擬代幣交易平台元宇宙虛擬代幣交易平台的技術文件,玩家可以在支援的遊戲使用虛擬代幣,遊戲中獲得的代幣可以儲存到自已的錢包。 快速連結 [ 虛擬代幣伺服器 ] [ 遊戲端設定 ] [ 獎勵機制 ]
其架構類似大型機台的遊樂場,玩家進入遊樂場需要先將現金兌換成代幣,再使代幣投入機台遊玩。 當玩家達成遊戲中的特定條件,例如擊倒敵人或過關,即可獲得虛擬代幣,再存回虛擬代幣伺服器。
使用者需要自行註冊帳號,目前的設計是以手機號碼註冊帳號。 使用者先以手機註冊帳號,操作伺服器可能造成系統安全問題。 註冊後將獲得初始的虛擬代幣,管理者可設定初始代幣的金額。 管理者可以為使用者儲值,而使用者可在自已的手機查詢帳號。 為了讓玩家連結到虛擬代幣交易平台,伺服器需透過網路連結。 運作於區域網路可請使用 IPCONFIG 查詢 IP 位址供玩家連結。
第1章 虛擬代幣伺服器使用 Apache 架設網站伺服器、安裝 MySQL 資料庫與 phpMyAdmin 管理資料庫。 支援 XAMPP 架設伺服器,開啟控制面板,按下 Start 啟用網站伺服器與 MySQL 資料庫。 開啟 C:\xampp\htdocs 資料夾,這是網站主目錄,刪除原本的檔案,然後放入系統檔案。 開啟瀏覽器輸入網址 http://127.0.0.1 或 http://localhost 連結架設的網站伺服器。 網址輸入 http://127.0.0.1/phpmyadmin/ 可以進入資料庫管理網頁。
網頁功能元宇宙代幣平台使用 PHP 網頁,包含以下網頁:
資料庫結構元宇宙代幣平台的資料儲存於 db_metaverse 資料庫,包括使用者資料、商品資料、交易資料…等。
使用者資料表tb_user 使用者(記錄玩家ID、帳號、密碼、)
儲值資料表tb_coin_add 儲值交易記錄(只記錄玩家儲存、金額、交易日期) >>> transaction_ID, user_id, coin, transaction_date
扣點資料表tb_coin_add 扣點交易記錄(只記錄玩家扣點、金額、交易日期) >>> transaction_ID, user_id, coin, transaction_date
第2章 遊戲端開發
coin-add.php 網頁,負責接收來自遊戲的儲值,程式碼如下: coin-minus.php 網頁,負責接收來自遊戲的扣點,程式碼如下:
UnityWebRequest-user.php 提供遊戲端連結 透過傳送 user_name 查詢 user_ID 功能(因為後續操作需要 user_ID)。 UnityWebRequest-coin-add.php 提供遊戲端連結 進行儲值功能的網頁(需要傳遞 user_id) UnityWebRequest-coin-minus.php 提供遊戲端連結 進行扣點功能的網頁(需要傳遞 user_id) 使用範例 http://192.168.0.100/UnityWebRequest-coin-minus.php?user_id=8
匯入資料庫本系統在更新或還原先前備份的資料庫時,需要匯入資料庫的 SQL 檔,操作步驟如下: 開啟 phpMyAdmin > 匯入 > 匯入到目前伺服器 > 匯入的檔案 > 選擇檔案 > 執行 > 完成匯入 db_metaverse
遊戲端設定虛擬代幣伺服器提供元宇宙遊戲儲值與扣點的功能,主要是透過 WebRequest 功能達成的,因此使用 Unity 或 Unreal 引擎開發遊戲皆可支援,無需擔心相容性問題。在遊戲中儲值連結 UnityWebRequest-coin-add.php 網頁,而扣點連結 UnityWebRequest-coin-minus.php 網頁,並且透過 URL 參數傳遞使用者 ID 與需要儲值或扣點的金額。 提供 MetaverseUserCoin.cs 腳本,套用到遊戲物件,設定 Server IP 與 User ID 後按下 Play 測試遊戲。 以下範例使用者儲值 100 元,扣點 30 元,計算後餘額 70 元,實際上是由虛擬代幣伺服器端進行餘額計算。 透過網路抓取資料會有延遲,需要使用協程與延時呼叫,確認取得需要的數據後再進行後續處理,程式碼如下:
訊息公告訊息公告透過 WebRequest 從伺服器抓取最新的訊息。
獎勵機制為了增加使用者參與遊戲的動機,設計了獎勵機制,包括「遊玩獎勵」與「過關獎勵」。 UnityWebRequest-game-award.php 遊玩獎勵,遊戲端連結此網頁並傳遞 game_id 後可查詢遊玩的獎勵。 UnityWebRequest-game-earn.php 過關獎勵,遊戲端連結此網頁並傳遞 game_id 後可查詢過關的獎勵。
購物功能
連結伺服器(開發用)元宇宙遊戲的開發階段,主要的功能必須連結到交易平台伺服器,如果能夠申請 Domain name 網域名稱是比較方便。不過因為網域名稱需要申請並支付年費才能持續使用,此系統也可以透過連結 IP 位址的方式運作,但是對於遊戲需要設定連結、進行測試、重新發佈…等步驟,開發與後續維護的門檻是需要考量的問題。 為了解決這個未來將會遇到的問題,設計一個快速切換的操作方式,例如同時在左手與右手的 VR 控制器上按著按鈕不放,等待 10 秒後出現設定的操作畫面。
開發用檔案 WF U |