从零开始实现放置游戏(十七)——完结篇(附DEMO地址)
大家好,时隔2年多,我来填坑啦!
之前用的技术、设计思路都不成熟,所以直接干掉重做了。
由于从头教学实在太啰嗦,精力也有限,咱们还是直接上源码吧。
DEMO地址:
http://212.129.154.59:5173/
(大家快看呀,服务器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, 建表脚本在源码里有
完本感言
终于把这个坑填完啦!
程序的主体框架代码逻辑很清晰,大家想做什么功能往上加就是了。
游戏的设计过程就是不断的取舍,市面上有很多游戏的想法、设计很棒可以拿来参考,但放在一起可能就是互相矛盾的。
比如这里做了地图切换,而大部分放置挂机游戏是推关的模式,主线关卡推到某一关会有一个固定的收益,实现上就简单多了,但似乎又有些枯燥。
其实还是取决于自己心里最终想把它做成什么样。
感谢大家的关注,欢迎来群里交流。如果有想一起做游戏的朋友来找我合作啊。
放一张截图:

从零开始实现放置游戏(十七)——完结篇(附DEMO地址)的更多相关文章
- ChatGPT 设计游戏剧情 | 基于 AI 5 天创建一个农场游戏,完结篇!
欢迎使用 AI 进行游戏开发! 在本系列中,我们将使用 AI 工具在 5 天内创建一个功能完备的农场游戏.到本系列结束时,您将了解到如何将多种 AI 工具整合到游戏开发流程中.本文将向您展示如何将 A ...
- 从零开始实现放置游戏(十)——实现战斗挂机(1)hessian服务端搭建
前面实现RMS系统时,我们让其直接访问底层数据库.后面我们在idlewow-game模块实现游戏逻辑时,将不再直接访问底层数据,而是通过hessian服务暴露接口给表现层. 本章,我们先把hessia ...
- 从零开始实现放置游戏(十三)——实现战斗挂机(4)添加websocket组件
前两张,我们已经实现了登陆界面和游戏的主界面.不过游戏主界面的数据都是在前端写死的文本,本章我们给game模块添加websocket组件,实现前后端通信,这样,前端的数据就可以从后端动态获取到了. 一 ...
- 从零开始实现放置游戏(六)——实现挂机战斗(4)导入Excel数值配置
前面我们已经实现了在后台管理系统中,对配置数据的增删查改.但每次添加只能添加一条数据,实际生产中,大量数据通过手工一条一条添加不太现实.本章我们就实现通过Excel导入配置数据的功能.这里我们还是以地 ...
- 从零开始实现放置游戏(七)——实现挂机战斗(5)RMS系统后台参数校验
前面几章实现了在RMS系统中进行数据的增删查改以及通过Excel批量导入.但仍有遗留的问题,比如在新增或编辑时,怪物的生命值.护甲等数据我们可以输入负值,这种数据是不合理且没有意义的.本章我们就实现服 ...
- 从零开始实现放置游戏(六)——实现后台管理系统(4)Excel批量导入
前面我们已经实现了在后台管理系统中,对配置数据的增删查改.但每次添加只能添加一条数据,实际生产中,大量数据通过手工一条一条添加不太现实.本章我们就实现通过Excel导入配置数据的功能.这里我们还是以地 ...
- Cocos2dx游戏开发系列笔记13:一个横版拳击游戏Demo完结篇
懒骨头(http://blog.csdn.net/iamlazybone QQ:124774397 ) 写下这些东西的同时 旁边放了两部电影 周星驰的<还魂夜> 甄子丹的<特殊身份& ...
- DTRACE简介之完结篇3
https://blogs.oracle.com/swan/entry/dtrace%E7%AE%80%E4%BB%8B_3 DTRACE简介之完结篇 By samwan on 四月 13, 2007 ...
- (视频)《快速创建网站》 4.2 完结篇 – 应用运营vs.发射卫星,遥测(Telemetry) 技术
本文是<快速创建网站>系列的第10篇(完结篇),如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文.访问本系列目录,请点击:http://devopshub.c ...
- 不就是抽个血吗,至于么-jQuery,Linux完结篇
hi 趁着周一去抽血化验,真开心...下午报告才出来,不过早上来了就开始各种晕菜,叫错名字,说错话.....至于么.. 还有在教研室的30天就可以肥家了,凯森凯森.今天不想干活(哪天想干过我就问问), ...
随机推荐
- 2023-03-22:给定一个字符串str, 如果删掉连续一段子串,剩下的字符串拼接起来是回文串, 那么该删除叫做有效的删除。 返回有多少种有效删除。 注意 : 不能全删除,删成空串不允许, 字符串长
2023-03-22:给定一个字符串str, 如果删掉连续一段子串,剩下的字符串拼接起来是回文串, 那么该删除叫做有效的删除. 返回有多少种有效删除. 注意 : 不能全删除,删成空串不允许, 字符串长 ...
- 2022-08-25:以下go语言代码输出什么?A:1 0;B:1 2;C:不能编译;D:0 0。 package main import “fmt“ func named() (n, _ int
2022-08-25:以下go语言代码输出什么?A:1 0:B:1 2:C:不能编译:D:0 0. package main import "fmt" func named() ( ...
- 2020-10-19:golang里defer为什么要逆序执行?顺序执行不是更符合人的习惯吗?
福哥答案2020-10-19: 后面定义的函数可能会依赖前面的资源,所以要先执行.如果前面先执行,释放掉这个依赖,那后面的函数就不能找到它的依赖了.***[评论](https://user.qzone ...
- 2020-10-14:Redisson分布式锁超时自动释放,会有什么问题?
福哥答案2020-10-14:#福大大架构师每日一题# [知乎:](https://www.zhihu.com/question/425541402) 如果线程1的锁被自动释放了,临界区的逻辑还没执行 ...
- 2021-02-06:假设字符串str长度为N,请问最长回文子串的长度是多少?
福哥答案2021-02-06: 1.动态规划.无代码,见图.2.中心扩展法.无代码.3.Manacher算法.有代码,见图.1)理解回文半径数组.2)理解所有中心的回文最右边界R,和取得R时的中心点C ...
- 2021-09-25:给定一个字符串数组,将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词指字母相同,但排列不同的字符串。示例 1:输入: strs = [“eat“, “tea“, “
2021-09-25:给定一个字符串数组,将字母异位词组合在一起.可以按任意顺序返回结果列表.字母异位词指字母相同,但排列不同的字符串.示例 1:输入: strs = ["eat" ...
- 02-初识Verilog
1.开发环境搭建 需要使用的软件: QuartusII ModelSim Visio Notepad++ 2.初识Verilog 2.1 Verilog HDL简介 Verilog HDL是一种硬件描 ...
- 计算机网络那些事之 MTU 篇
哈喽大家好,我是咸鱼 今天我们来聊聊计算机网络中的 MTU (Maximum Transmission Unit) 什么是 MTU ? MTU(Maximum Transmission Unit)是指 ...
- n皇后问题的分析和实现
N皇后问题的分析和实现 1.实现要求 2.代码实现 1.实现要求 在n*n的方格棋中,放置n个皇后,要求每个皇后不同行,不同列,不同对角线 以行为依据,遍历行,判断行对应的列是否符合要求 判定要求: ...
- 4.5 x64dbg 探索钩子劫持技术
钩子劫持技术是计算机编程中的一种技术,它们可以让开发者拦截系统函数或应用程序函数的调用,并在函数调用前或调用后执行自定义代码,钩子劫持技术通常用于病毒和恶意软件,也可以让开发者扩展或修改系统函数的功能 ...