单独的MMORPG(2天跟踪者)

大家好! 下面的文字将告诉您我两年来如何开发我的MMO游戏,其中涉及缠扰者,人工产物,排放物和自行车。



一切始于我有生以来第一次能够使用套接字将信息从一台设备传输到另一台设备。 按下智能手机屏幕上的触摸按钮可使笔记本电脑显示器上的黑框移动。 我的快乐无止境。 我想这是一种魔术。 立刻决定-“就这样,我在做网络游戏。” 由于我是缠扰者的粉丝,所以提出的问题-“什么样的网络游戏?”甚至都没有。 我知道游戏不容易制作这一事实。 我猜想,做网络游戏并不是一件容易的事。 但是在那一刻,我被喜悦和灵感陶醉,丝毫没有重视它。

并且发展已经开始。 由于我不知道如何绘制,因此有关图形的问题立刻出现。 并找到了这个问题的答案。 很久以前,一位独立发烧友在旧的按键式电话(j2me)上开发了游戏“ Zone of Aliation”。 如果简而言之描述游戏,那么这就是2D移动版缠扰者。 该游戏的图形非常适合我的项目。 我联系了图形的作者Pavel Shevelev,并寻求允许在我的游戏中使用它。 保罗没有拒绝甚至画了别的东西,为此,他深表感谢。



此外,还需要编写代码。 移动黑色方块是一回事,而制作成熟的游戏则是另一回事。 如果您在搜索引擎中驾驶“如何制作在线游戏?”,您将找不到一个可能会有所帮助的具体答案。 RuNet中有关这只猫的信息在哭,但是关于示例,我通常是沉默的。 但是,尽管如此,我还是设法找到了Vitaliy Chibrikov在Habré上的视频讲座的信息,其中讲解了如何编写用于在线游戏的服务器。 彻底研究了所有9个讲座(一次讲座平均持续约两个小时),我仍然为自己的未来游戏建立了牢固的客户端-服务器交互框架。 如果不是Vitaly,我将不会取得这样的结果,对此,我要感谢他。 关于我使用的技术的几句话-服务器是用Java,MySql数据库,netty网络连接编写的。 客户端也是使用libgdx框架用Java编写的。



拥有图形和数据传输机制后,最“简单”的东西仍然是制作游戏。 首先,他做了一个位置。 然后他添加了游戏角色,教他走路。 然后他搞砸了白天和黑夜的变化,以及天气影响。 然后,他创造了第一个暴民-一只猪。 然后他增加了射击,以便可以杀死这头野猪。 然后他制作了PVP,这样就可以杀死公猪和其他玩家。 现在,有些东西类似于游戏。 似乎实际上没有游戏功能,但是实现上述所有功能花费了很多时间。 由于这是MMO游戏,所以一切都变得很复杂。 您在游戏中所做的几乎任何动作都应该被您周围的玩家看到。 在开发的初始阶段,服务器因每次打喷嚏而崩溃。 几乎每天,我都会遇到很多问题和错误。 在开发开始之前,我无法想象要解决多少问题。 但是开发进展缓慢,游戏也不断发展。



直到某个时候,测试仅在我的个人PC上进行。 服务器和客户端的多个副本都在同一台计算机上启动,并通过localhost相互通信。 但是随着项目的发展,这种想法越来越频繁地出现在我的脑海:“不是时候向人们展示游戏并安排与现场玩家的真实测试了吗?” 有一次,我认为是时候了。 我租了铁,这是使用Linux的最低配置。 我在那里下载了服务器程序,然后在新的痔疮和铃鼓中跳舞之后,服务器成功启动。 “哇!” 我以为,行得通。 最早进入游戏的人是艺术家帕维尔(Pavel)。 我们在地图上跑来跑去,聊天,并射杀野猪。 之后,我为一切正常而感到高兴和高兴,并开始复仇。 几天过去了,游戏不断发展壮大,我每两周组织一次开放测试,在此期间任何人都可以玩和测试新功能。 有时,在线玩家人数超过了一百。 那是一段美好的时光,我创建了一个按照我的规则和法律生活的虚拟世界,在测试期间,我感觉自己几乎像神。 有时我去服务器,只是看着玩家,他们在那儿奔跑,交谈,争吵,和解,创建宗族,战斗,收集文物,闯入异常,在发布期间顺从地在房屋中四处游荡。 游戏中发生了多少有趣的故事! 我记得有些人宣称自己是土匪,并击落了进入特定地点的战利品。 那些拒绝付款的人被枪杀了(包括我在内)。 或一次,一群追捕者在一次弹射中躲藏在四周被栅栏包围的房屋中,有人在弹射后用电子异常阻止唯一的出口(有人造物造成异常),直到该测试结束时,这群人一直在这所房子的院子里关闭。那个时候,玩家死后在他死去的那个地方重生。



目前,该游戏已实现:20个地点,昼夜,雨,pvp,pve,3种行为不同的暴民,对基地的大规模暴民袭击,1个突袭首领,13个具有不同特征的文物,8个具有不同效果的异常,用于搜索和化解异常的螺栓,8个任务,经验系统和调平技能,追猎者pda,辐射,排放,分组,领土上的分组战争,npc可以向突变体射击并躲藏房屋,背包和物品系统中的排放物,与NPC和玩家,9种盔甲,7种武器,异常检测器 辐射探测器,吉他和大约15种不同的物品,当然还有机会坐在火炉旁与其他玩家聊天。 我还想介绍提取伪像的方法。 伪像是在异常弹出后产生的,并且最初对于游戏者是不可见的,为了提升伪像,必须满足每个伪像所特有的许多特定条件。 例如,要获取“血液”伪像,要求第二级电子异常在触发(甩箭)时与酸云的异常接触(沿着地图沿任意方向飞行)。 或获取“心”,您需要使用“蓝色”伪像(创建一个新的异常),以便新异常进入异常动量,并且需要缺少阳光,也就是说,该伪像只能在晚上获得。



我从事所有这些工作超过两年,但是其中三分之四的内容就足够了,此后在游戏中根本无事可做。 因此,游戏中的玩家数量逐渐减少,我越来越清楚地知道我根本无法完成游戏。 我花了很多时间进行开发,但是似乎我没有完成一半的项目。 我认为我已经取得了不错的成绩,但我仍然需要面对现实-单靠创建成熟的MMORPG是不可能的,或者几乎是不可能的。 我试图找到另一个程序员,但是没有多少人完全了解Java并且具有开发客户端服务器应用程序的经验。 很少有人想了解我的代码,因为它的编写远非完美,最重要的是,有很多很多非常直接的代码。 我不会在开放访问权限中发布代码,也许有一天,在缠扰者2中玩了足够的代码后,我将保持相同的状态。

这是一个故事。 vk中的项目团队- 在线2d项目区

Source: https://habr.com/ru/post/zh-CN451242/


All Articles