大家好,時隔2年多,我來填坑啦!
之前用的技術、設計思路都不成熟,所以直接幹掉重做了。
由於從頭教學實在太囉嗦,精力也有限,咱們還是直接上源碼吧。
DEMO地址:
(大家快看呀,服務器11月底就要過期了)
源碼地址:
由於之前網盤過期了,文件全被刪除了。所以這次換了個網盤,但想下載好像必須要先註冊。
服務端源碼網盤地址:https://www.jianguoyun.com/p/DVowJU4QzuztCxjimpcFIAA
客戶端源碼網盤地址:https://www.jianguoyun.com/p/DVXcwEkQzuztCxjnmpcFIAA
也可以加Q羣329989095,在羣文件裏下載
總體設計
這次直接前後端分離, 後端服務採用 SpringBoot +WebSocket, 前端頁面使用 Vuejs3。
把WOW的一些設計去掉了,因爲遊戲設計環環相扣,模仿了A,就要模仿B,最後變成大型端遊。
實現功能
1.一個簡單的類似JWT的功能,用來登錄驗證
2.在線砍怪、升級、爆裝
3.道具的裝備、出售、丟棄
4.在線聊天
5.地圖切換
6.重複登入的處理
啓動方式
服務端:
1. 先使用maven進行打包, 即使用mvn package命令, 或用IDEA的maven快捷按鈕
2. 打包後是一個ZIP包, 解壓後是一個lib文件夾和jar包, 啓動jar包即可
3. 啓動命令示例:java -server -noverify -Xmx4g -Xms4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:G1HeapRegionSize=16m -XX:ParallelGCThreads=8 -XX:ConcGCThreads=8 -Xloggc:/data/logs/idlemfm-web/gc.log -XX:GCLogFileSize=10M -XX:NumberOfGCLogFiles=10 -XX:+UseGCLogFileRotation -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+DisableExplicitGC -Dspring.profiles.active=beta -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -jar /data/idlemfm-web/idlemfm-web.jar
客戶端:
1.需要先安裝node.js
2.在項目目錄下執行 npm install 安裝相關包
3.本地啓動執行命令 npm run dev
4.打包到tomcat下運行, 執行命令npm run build, 將dist文件夾內的文件部署到tomcat即可
外部依賴:
mysql, redis 這兩個東西配置好後,在服務器端的配置文件裏改一下連接URL, 建表腳本在源碼裏有
完本感言
終於把這個坑填完啦!
程序的主體框架代碼邏輯很清晰,大家想做什麼功能往上加就是了。
遊戲的設計過程就是不斷的取捨,市面上有很多遊戲的想法、設計很棒可以拿來參考,但放在一起可能就是互相矛盾的。
比如這裏做了地圖切換,而大部分放置掛機遊戲是推關的模式,主線關卡推到某一關會有一個固定的收益,實現上就簡單多了,但似乎又有些枯燥。
其實還是取決於自己心裏最終想把它做成什麼樣。
感謝大家的關注,歡迎來羣裏交流。如果有想一起做遊戲的朋友來找我合作啊。
放一張截圖: