MMO制作日记
文章平均质量分 68
以MMO制作为引线,记录制作过程。
客户端与网络端底层均来源于网络。
yfinalfantasy
这个作者很懒,什么都没留下…
展开
-
好友系统步骤
好友系统有两个特殊性,一个是需要让客户端接受添加好友的请求,发送请求响应。二是在服务器端添加后处理器,作用是在发送响应给客户端前,可以往后处理器里添加一些通用的方法,将一些需要时常刷新的消息(例如新的好友列表)添加到响应里,顺路一起发送给客户端。客户端:先在客户端拼好UI,使用了之前的ListView加ListView.Item的方法,详细可以看任务系统,暂时不赘述。书写刷新UI的方法,并且注册给FriendService的OnFriendUpdate,只要有数据变化就刷新列表。先清空,再重置数原创 2021-10-02 22:21:52 · 472 阅读 · 1 评论 -
装备系统步骤
学习前准备工作玩家与所接任务的关系TCharacterQuestID |QuestID | 任务配置表的任务IDCharacterID | 玩家操控的角色IDTarget1 | 任务目标1Target2 | 任务目标2Target3 | 任务目标3Status | 任务状态QuestStatus 任务状态IN_PROGRESS | 进行中FINISHED | 已完成往request和response里添加请求任务列表与接受任务的相关协议,往角色信息..原创 2021-10-02 22:21:04 · 250 阅读 · 0 评论 -
装备系统步骤
装备系统可以与背包相似,而装备与道具类似,区别在于装备系统的道具无法堆叠,且装备栏的格子较少。装备的数据结构,使用数组来保存各个位置的信息。下标位置代表了各个部位EQUIP_DATAWEAPON,ACCESSORY,HELMET,CHEST,SHOULDER,PANTS,BOOTS然后用一个枚举Enum Equip{WEAPON,ACCESSORY,HELMET,CHEST,SHOULDER,PANTS,BOOTS}增加的协议enum ITEM_原创 2021-10-02 22:19:11 · 464 阅读 · 0 评论 -
商店系统步骤
首先制定实体类和传输协议。 #ShopDefine 商店类型实体 public class ShopDefine { public int ID{get;set;} // public stirng Name {get;set;} public string Icon {get;set;} public string Description {get;set;} public int Status...原创 2021-10-02 22:17:49 · 367 阅读 · 0 评论 -
背包系统步骤
数据存储的选择:尽量不要用多个字段存储多个格子,也不要用字符串,存储空间会变大。结论是使用二进制数据存储。背包系统结构关于背包 客户端与服务器端需要传输的结构,//协议message NBagInfo{ int32 Unlocked = 1; --解锁到第几个格子 bytes Items = 2; --背包里面有多少道具}message BagSaveRequest{ NBagInfo BagInfo = 1;}message BagSaveResponse{原创 2021-10-02 22:15:45 · 721 阅读 · 0 评论 -
道具系统学习
通用原则,全部系统都是由Manager和Service组成,Manager负责逻辑操作,通过Service获取服务端信息,Controller操作前端展示 Controller(Mono)→Manager→Service→服务器端。设计数据结构:配置表结构,协议结构,数据库结构。服务器:协议结构,数据库结构客户端:配置表结构把需要与服务器端交互的字段加入到协议中,给协议中的人物实体增加道具信息,以方便传输人物获得的道具和道具数量。message NCharacterInfo { --原创 2021-10-02 20:44:08 · 259 阅读 · 0 评论 -
NPC阶段步骤
关于NPC系统的思路环节: 加载动画组件,方便控制动画。 加载配置表数据,从Manager那里加。保持Controller不与其他逻辑类接触。 之后做的事:如何能点击到NPC。第1 碰撞体事件监测。采用OnMouseDown,可以让鼠标与碰撞器产生交互。(思考:鼠标放到人身上,如何产生发亮边际)。 Manager层 NPC与其他系统产生交互处理,采用事件。(思考:事件与委托有什么具体区别?) function(NPC的功能)作为key,一个委托作为value,以一个字典保存。事件是原创 2021-10-02 20:42:43 · 450 阅读 · 0 评论 -
角色进入阶段
角色从选人界面进入游戏从点击界面的进入按钮开始。当点击进入后,会将选人界面的索引通过UserService的SendGameEnter方法发送到服务器端,之后服务器端会处理以下几件事:1、UserService的OnGameEnter接受到请求,根据索引调用出session存放的角色信息。2、调用角色管理器CharacterManager,将角色信息导入。|1、拥有一个字典表Characters ,存放了所有线上角色。2、进入游戏时需要导入的角色信息导入到Characters...原创 2021-10-02 20:39:30 · 431 阅读 · 0 评论