Skip to main content

回合制网络游戏 MMO

tip

项目使用: 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 所有业务,快速熟悉整个项目。

业务提问

  • 业务一:有个打造装备的业务,玩家有背包,背包中有打造装备所需的一些材料(装备书、材料铁),你会如何做。 将来如果新增一个装备强化打造的业务,如何做才能做到最小改动?
  • 业务二:游戏中有一个增加经验值的道具,使用后可增加玩家的经验值,你如会如何做。 将来某一天,需要新增一个挂机可获得经验值的业务,如何做才能做到最小改动?

怎样设计,能减少上述业务之间的耦合。 文档中使用了独立模块的设计思想,有效的减少了各模块之间的耦合。

独立模块的设计思想,除了能将耦合减少外,在多人合作时有着绝对的优势。 因为没有耦合,可以合理的分工,提升项目的整体迭代速度。 这样的协作方式,无论是开发速度、还是维护成本,在总成本方面的投入,会比同行少几倍,项目越大,优势越明显。


可复用

项目中的各游戏逻辑服几乎都是可以组件化的,也就是独立模块的设计思想。 当游戏逻辑服组件化后,我们将来可以还可以复用这些组件。


节约更多的时间

当得到相关源码与资料后,可作为在实际工作中的参考,这样能会节约大量时间成本、节省下很多工作量。 这些节约出来的时间,已经足够研发几款小游戏了,甚至有可能转化为收益了。

如何加入?

加入流程如下

  1. 添加作者 QQ: 262610965,备注: 购买 MMO 实战。
  2. 之后会给你发送包含文档和源码链接的 Email 。

考虑到退费的情况,开发者在加入后的 24 小时内,觉得对文档不满意的,可以提出退款申请。 我们承诺有退款申请的,必退,但需要扣除所支付金额的 35% 作为服务费用。

价格有效期描述
原价 1599元,现活动价 998元一年从购买日起算,365 天内有效。有效期内可以随时阅读最新文档、可以随时更新项目源码。

续费(当账号过期后,购买者可以选择续费)
   - 文档续费 599 每年。
   - 文档 + 源码一起续费,仅需 799 每年。
   - 以上仅限过期 30 天内的用户续费,超出日期需要按当前产品最新价格重新购买。
原价 2649元,现活动价 1699元永久
原价 3249元,现活动价 1999元永久+赠送  Room 桌游类、房间类的实战