Star ☆ 遊戲
基於Golang/WebSocket/Canvas/Protobuf 的線上匿名交流遊戲
Demo http://chat.osinger.com/
GITHUB https://github.com/sunshinev/go-space-chat
介紹
專案打造了一個模擬太空的環境,通過canvas 2d來模擬了3D的視覺效果。
並且在該專案中使用了protobuf來進行前端和後端的通訊協議,這一點非常方便!
操作
1. 專案使用傳統WASD
按鍵來控制上下左右
2. 眼睛可以跟隨滑鼠的位置進行轉動
3. 按下space
空格可以輸入訊息,按下回車傳送訊息
4. 左上角按鈕可以輸入名稱,點選空白處名稱生效
執行
go run main.go
該命令會啟動web-server作為靜態服務,預設80埠,如果需要修改埠,用下面的命令
go run main.go -web_server 8081
專案啟動預設websocket服務埠為9000埠,如果需要修改
go run main.go -socket_server 9001
注意:如果修改websocket埠,同時需要修改js裡面的socket埠
技術工具
前端 Vue+canvas+websocket+protobuf
後端 Golang+websocket+protobuf+goroutine
有意思的難點
這裡列舉幾個在實現過程中,遇到的很有意思的問題
1. 如何實現無限畫布?
2. 如何實現遊戲狀態同步?
相關連結
本作品採用《CC 協議》,轉載必須註明作者和本文連結