美文网首页
Unity教程: MMORPG游戏开发背包系统如何设计

Unity教程: MMORPG游戏开发背包系统如何设计

作者: 游戏程序猿 | 来源:发表于2022-11-07 08:58 被阅读0次

    MMORPG游戏中背包系统是很重要的一个模块, 大部分的背包系统的讲解,都是讲如何设计UI,如何显示这些,其实这些东西并不是背包系统的核心,接下来我们来分析一下背包系统的数据结构如何设计,能让策划和程序很好的工作,以及非常方便的扩展。

    对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习unity的零基础小白,也有一些正在从事unity开发的技术大佬,欢迎你来交流学习。

    1: 设计好背包系统的关键是什么?

    背包其实就是描述一个玩家在游戏世界当中拥有哪些物品,一个大型的MMORPG游戏会有很多的装备和物品, 这些装备和物品以及数值经常会修改,增加,减少, 甚至装备上可以镶嵌各种宝石来实现不同的攻击和防御。所以如何设计一套数据组织的方式能方便程序和策划沟通,才是做好背包系统的关键,并不是如何做好背包系统的UI界面。

    2: 背包系统物品需求分析

    背包系统中的物品分为2个部分,第一部分是物品的属性描述,第二部分是玩家在游戏里面拥有物品的数量,第一个部分就是策划要填写的内容,有哪些物品,这些物品会有哪些属性等,同时程序在使用装备的时候, 去读取里面的数据属性值来参与程序计算。第二部分就是程序要做的事情,当玩家在游戏中获得了某个物品或装备的时候,就更新装备的数量到数据库,程序负责维护好这个数据逻辑。

    3: 如何设计好背包物品的数据属性配置

    背包物品的数据属性一般是由策划来处理的,我们要设计好一种方式来让程序和策划很好的工作。

    策划负责填写表格,程序负责使用表格。如何设计好呢?我们可以把物品分成一些类型,比如药水类型,红蓝药水能够增加玩家的HP与MP。又如装备类型,某个装备有攻击力,防御力等。这么多物品,很容易让程序员懵逼,这么多类型与复杂数据属性如何设计呢?其实仔细分析一下,我们很容易把内在的逻辑设计清楚。

    先来分析一个物品的描述,一个物品在逻辑上包含了两个部分,第一部分是文字描述,如"红药水可以增加玩家的200HP",第二部分属于数值描述比如药水类物品的数值[HP, MP, 售价等]。那么我们就可以设计药水的属性配置表如下:

    物品id desic(文本描述) HP, MP, BuyPrice[购买价格], SellPrice[出售价格]

    那么如果是装备呢?装备是防御力,攻击力等属性,药水的描述就不适用了,我们就要建立另外的描述表如下:

    物品id desic(文本描述) Attack Define BuyPrice[购买价格], SellPrice[出售价格]

    这样我们很自然的按照物品的数值属性进行物品分类,把每一类物品做成属性描述表,例如药水描述表,装备描述表,武器描述表, 可以根据游戏的需求,定义一类物品的属性。

    4: 程序如何存放玩家拥有的物品?

    一般游戏里面会做一个数据表存在服务器上, 这个数据表描述了某个玩家有哪些物品以及物品的数目。数据表的设计如下:

    PlayerID(玩家ID) ItemID(物品ID) Count(物品数目)

    00001 300001 5

    00001 200005 15

    数据表变成:

    PlayerID(玩家ID) ItemID(物品ID) Count(物品数目) Props(JSON or 二进制)

    这样设计后,我们游戏的物品与背包设计就变得非常的简单和清晰,希望今天的分享对大家有所帮助。

    相关文章

      网友评论

          本文标题:Unity教程: MMORPG游戏开发背包系统如何设计

          本文链接:https://www.haomeiwen.com/subject/ysjbtdtx.html