回合制网络游戏 MMO
项目使用: ioGame + SpringBoot3.x + SpringDataMongoDB
介绍
这是一个基于 ioGame 网络编程框架开发的 MMO 类型的回合制网络游戏项目,这类型的游戏涵盖的点比较多,是 ioGame 的最佳实践。 我们会尽可能的在项目中演示框架文档中提及的理论特性。
提供完整的项目源码、详细的文档、问答交流...等。 如果你对网络编程感兴趣或是 web 领域的开发者,或许这是一个很好的入门机会。
该项目教学不会讲解框架源码相关的,更多的是偏应用的,就是教你如何使用。 如果你能将项目学完,基本上就具备了独立开发游戏的能力了。
项目产生背景
ioGame 为开发者提供了丰富的文档与示例,对于有过游戏开发经验的小伙伴来说已经足够了,甚至可以用丰富来形容。 但这些对于没有游戏开发经验的人来说是远远不够的,即使看完了文档与示例后,不懂得如何灵活的运用在游戏中。 这些都是正常的现象,之所以会有这种现象是因为没有项目可练习。
另外一个比较困难的点,就是其他领域的开发者想要进入游戏领域则比较困难, 因为大部分的公司都需要具备游戏开发经验,这样就导致了对游戏开发有兴趣的人进不来的困境。
游戏开发与 web 类型的 xxx管理系统不同, 游戏研发相对来说更困难,且研发经费也较高(没有谁的钱是大风刮来的),所以很少能看见相关的开源产品。 这样就造成了入门困难的局面,想入门的开发者没地方入门。 为了打破这个局面和普及 ioGame,这里决定使用 ioGame 来研发 MMO 类型的回合制游戏,让 java 从业者有机会能看到游戏开发的整体过程。
本项目对 web 开发者也是友好的,如果你之前做过 web 开发,那么学习本项目是一件轻松且简单的事。 该项目整体内容比较丰富,学习完项目后,基本可以开发出市面上 90% 的游戏了。 不夸张的说,当你学习完该系列后,基本上可以超越游戏行业 80% 的从业人员。
适合人员
- 对游戏开发感兴趣的。
- 想从其他领域转入游戏行业,这是一个不错的机会。
- 如果你想深入学习,这会是一个不错的项目,整体系统丰富,综合了多方面的内容。
功能列表
最后更新时间 2025-03-07
模块 | 功能 | 模拟测试 | 完成状态 |
---|---|---|---|
登录 | ✅ | 完成 | |
地图 | 独立模块设计 | ||
玩家进入地图 | ✅ | 完成 | |
玩家移动 | ✅ | 完成 | |
接收其他玩家移动 | ✅ | 完成 | |
人物、英雄 | 独立模块设计 | ||
人物及属性初始化 | ✅ | 完成 | |
英雄及属性初始化 | ✅ | 完成 | |
人物与英雄的属性加成 | ✅ | 完成 | |
英雄列表 | ✅ | 完成 | |
选择当前使用的英雄 | ✅ | 完成 | |
升级 | 独立模块设计 | ||
人物经验值的增加 | ✅ | 完成 | |
人物升级 | ✅ | 完成 | |
装备 | 独立模块设计 | ||
装备打造 | ✅ | 完成 | |
鉴定装备 | ✅ | 完成 | |
装备-头盔 | ✅ | 完成 | |
装备-衣服 | ✅ | 完成 | |
装备-项链 | ✅ | 完成 | |
装备-武器 | ✅ | 完成 | |
装备-鞋子 | ✅ | 完成 | |
装备-腰带 | ✅ | 完成 | |
物品 | 独立模块设计 | ||
增加经验值的道具 | ✅ | 完成 | |
10级-武器书,物品描述:装备制造书 | ✅ | 完成 | |
10级-铁,物品描述:合成装备的精铁 | ✅ | 完成 | |
增加气血值的药品 | 进行中 | ||
增加魔法值的药品 | 进行中 | ||
背包 | 独立模块设计 | ||
得到玩家背包及物品 | ✅ | 完成 | |
往背包添加(增加)物品 | ✅ | 完成 | |
从背包减少物品 | ✅ | 完成 | |
背包物品变动通知 | ✅ | 完成 | |
使用背包物品 | 独立模块设计 | ||
使用经验值道具,增加人物经验值 | ✅ | 完成 模块联调 | |
[打造装备] - 使用装备制造书和材料铁,打造未鉴定的新装备 | ✅ | 完成 模块联调 | |
邮件 | 独立模块设计 | ||
查看玩家邮件列表 | ✅ | 完成 | |
添加系统奖励邮件 | ✅ | 完成 | |
删除单个邮件-指定邮件 | ✅ | 完成 | |
一键删除所有已开封和过期的邮件 | ✅ | 完成 | |
打开单个邮件-指定邮件 | ✅ | 完成 | |
一键打开所有未开封和未过期的邮件 | ✅ | 完成 | |
解析附件奖励 | ✅ | 完成 模块联调 | |
宠物(宝宝) | 独立模块设计 | ||
获得宝宝 | ✅ | 完成 | |
宝宝分配潜力(属性) | ✅ | 完成 | |
玩家的宠物(宝宝)列表 | ✅ | 完成 | |
宝宝打技能 | ✅ | 完成 | |
通用 | |||
业务框架扩展 ActionAfter | ✅ | 完成 | |
业务框架扩展 ActionMethodExceptionProcess | ✅ | 完成 | |
逻辑处理线程扩展 | ✅ | 完成 | |
通信线程策略扩展 | ✅ | 完成 | |
扩展 ExternalBizRegion,获取 nginx 代理后的玩家真实 ip | ✅ | 完成 | |
物品获得通知 | ✅ | 完成 | |
礼包码 | 独立模块设计 | ||
生成礼包码,用于兑换礼包。 礼包码类型分为 3 类 1. 无限量礼包 - 可重复使用(没有领取上限,所有玩家均可使用)。 2. 限量礼包 - 可重复使用(有领取上限,先到先得)。 3. 指定玩家可领取的礼包(只有指定玩家可领取,其他玩家输入无效)。 礼包码可指定有效领取日期,过期无法使用。 | ✅ | 完成 | |
礼包码查询 | ✅ | 完成 | |
礼包码使用(输入可兑换礼包物品,相同的礼包码每个玩家只能使用一次。) | ✅ | 完成 | |
礼包 | 独立模块设计 | ||
开启礼包。开启后可得到礼包所配置的多个物品 | ✅ | 完成 模块联调 | |
好友 | 独立模块设计 | ||
添加好友 | 进行中 | ||
删除好友 | 进行中 | ||
黑名单 | 进行中 |
学习后的收获
我们已经将项目整理成一本书,通过该书本你所收获的内容包括
- 系统化的学习。
- 独立模块的设计思想,解耦各系统模块之间的关联;耦合越小,扩展则越强。
- 各模块之间的联调规范。
- 代码结构规范。
- 除了让你知道需要这样做以外,还会告诉你为什么需要这样需要做。
- 项目中的业务功能,都是可以自测的。我们使用 ioGame 提供的压测&模拟客户端请求模块,模拟真实的网络环境来测试所有业务功能。
- 通过项目代码、项目文档、模拟测试..等,这几个方面的配合,可让你更好地 debug 所有业务,快速熟悉整个项目。
业务提问
- 业务一:有个打造装备的业务,玩家有背包,背包中有打造装备所需的一些材料(装备书、材料铁),你会如何做。 将来如果新增一个装备强化打造的业务,如何做才能做到最小改动?
- 业务二:游戏中有一个增加经验值的道具,使用后可增加玩家的经验值,你如会如何做。 将来某一天,需要新增一个挂机可获得经验值的业务,如何做才能做到最小改动?
怎样设计,能减少上述业务之间的耦合。 文档中使用了独立模块的设计思想,有效的减少了各模块之间的耦合。
独立模块的设计思想,除了能将耦合减少外,在多人合作时有着绝对的优势。 因为没有耦合,可以合理的分工,提升项目的整体迭代速度。 这样的协作方式,无论是开发速度、还是维护成本,在总成本方面的投入,会比同行少几倍,项目越大,优势越明显。
可复用
项目中的各游戏逻辑服几乎都是可以组件化的,也就是独立模块的设计思想。 当游戏逻辑服组件化后,我们将来可以还可以复用这些组件。
节约更多的时间
当得到相关源码与资料后,可作为在实际工作中的参考,这样能会节约大量时间成本、节省下很多工作量。 这些节约出来的时间,已经足够研发几款小游戏了,甚至有可能转化为收益了。
如何加入?
加入流程如下
- 添加作者 QQ: 262610965,备注: 购买 MMO 实战。
- 之后会给你发送包含文档和源码链接的 Email 。
考虑到退费的情况,开发者在加入后的 24 小时内,觉得对文档不满意的,可以提出退款申请。 我们承诺有退款申请的,必退,但需要扣除所支付金额的 35% 作为服务费用。
价格 | 有效期 | 描述 |
---|---|---|
原价 1599元,现活动价 998元 | 一年 | 从购买日起算,365 天内有效。有效期内可以随时阅读最新文档、可以随时更新项目源码。 续费(当账号过期后,购买者可以选择续费) - 文档续费 599 每年。 - 文档 + 源码一起续费,仅需 799 每年。 - 以上仅限过期 30 天内的用户续费,超出日期需要按当前产品最新价格重新购买。 |
原价 2649元,现活动价 1699元 | 永久 | |
原价 3249元,现活动价 1999元 | 永久+ | 赠送 Room 桌游类、房间类的实战 |