1.游戏介绍
代码已经从github迁移到gitee 欢迎大家start,本游戏ui和游戏思路完全参考原版游戏远古帝国,但是代码完全自己
开发,和原本没有任何关系,本游戏永远不会盈利,做这个游戏只是处于自己的兴趣和爱好。
前端
https://gitee.com/therNoY/ancient-empire-app.git
后端
https://gitee.com/therNoY/ancient-empire-server.git
1.1 原版游戏
远古帝国是一款经典的策略小游戏。本人也是很喜欢这款游戏,记得一开始这个游戏还没有安卓版,只有塞班手机可以玩,
现在这个小游戏社区稍微好了一点,但是还没有pc版。所以开发一款pc版能和安卓版互通。
1.2 游戏新增加设定
-
游戏增加了单位管理,玩家可以自己定义单位的模型绘图,自己定义单位的能力,自己定义单位的属性。
-
增加了模板管理,玩家可以将自己的单位和下载的单位组合成一个模板,再创建地图的时候使用,也可以让别人使用
2.游戏详情
2.1 网页端和apk 地址
2.2 游戏截图:
- 游戏主页
游戏内截图
单位移动
单位购买
单位攻击
-
用户信息
用户可以使用邮箱注册
-
战役
传统模式的闯关,地图可以逐步解锁
-
遭遇战
用户自定义游戏,与人机一起玩,也可以线下和小伙伴一起玩
-
多人游戏
可以创建房间,和世界联机游戏
创建房间画面
-
单位管理
新开发的功能,玩家可以自己创建游戏内模型,然后自己定义游戏属性,完全交给玩家。还能发布让其他玩家下载该单位
但是不能修改
单位信息信息详情
-
模板管理
模板的概念为 一局游戏的整体设置。以及可以购买的单位的配置
玩家可以创建自己的模板,然后设置好自己想要的数据。
模板管理详情
-
地图管理
玩家可以管理 下载 创建自己的地图
设计地图
-
游戏设置
3.游戏开发介绍(代码层面)
前后端使用websocket完成游戏内的数据交互,达到不同客户端数据同步的目的
3.1 前端
游戏前端使用Vue + uniapp 开发实现网页版和app端只用一套代码。
uniapp官网
3.1.1 前端代码运行
注意:nodev12 以上 安装sass可能会报错
代码地址
https://gitee.com/therNoY/ancient-empire-app.git
环境 nodev12.18.3 sass版本4.14.1
node 下载路径
https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz
将前端代码clone下来
执行命令 npm intsall 安装依赖
安装遇到sass安装失败的可以手动把node_modules删除 然后将压缩包放进去 提供下载路径
http://47.96.98.166/ae/readme/node-sass.zip
然后执行npm run serve可以运行成功
3.1.2 代码简介
3.1.2.1 整体说明
3.1.2.2 自定义组件说明
components下是页面渲染的组件所在目录
- auth 用户模块
- encounter 遭遇战模块
- frame 包含基础组件(按钮和动态表格)和扩展组件 (在基础组件基础之上生产的)
- game_core 游戏运行时组件
- map_base 地图属性基础组件
- net/room 多人游戏联机模块
- setting 用户设置模块
- template_manger 模板管理模块
3.1.2.3 核心事件分发
manger下是前后端websocket交互对事件进行分发处理进的逻辑
3.2 后端
后端使用了spring boot + mybatis plus + redis
游戏核心就是 前端产生事件 通过websocket传给后端 后端处理事件改变上下文 产生命令 分发给连接的客户端 客户端渲染命令
完成用户的一个操作
所以核心是对用户产生事件的分析和处理