mangos0.9源码解析学习笔记(三)游戏世界模型初始化

      游戏世界的初始化发生在连接到数据库之后,和开始进行端口监听之前。服务端首先连接到三种数据库,然后根据配置文件和数据库中的信息对世界模型进行构建,构建完成之后才进行端口监听和世界更新的主循环。

       世界模型初始化要经过一下几个步骤:

1,载入配置文件,并且输出一些版本,警告等信息,这是惯例。

2,从配置文件中读取第一类信息,这里我将几类信息进行了区分,第一类信息应该描述为角色参数,获益参数,伤害参数等,主要包括血量比例,经验比例,爆率,伤害基数等信息。在私服中无比幸福的爆率和升级速度无非是修改了此种配置文件信息。

3,从配置文件中读取第二类信息,第二类信息主要是游戏世界的参数,服务器的一些参数,包括游戏更新时间等有关游戏世界的配置参数。2,3中所读取的参数全部来自于配置文件,如果紧紧是用于搭建私服,将源码编译,并且搭建svn和数据库环境等运行环境,然后只需要对配置文件进行解读并且做适当的修改就可以了。

4,然后读取data的信息,一开始没有搞明白data中保存的是什么东西,但是看它的使用感觉应该是一些地图信息,后来看系统搭建时有个细节,是使用makevmaps_SIMPLE.bat 和ad.exe在游戏安装目录中运行,我猜应该是从游戏文件中去解读出一些封装起来的信息,应该主要是地图贴图的信息。猜的,或许根本就不是这么回事。data路径中包括了Vmap地图信息,和DBC的路径。这一步是从data中读取地图信息,并且应该也进行了场景图片贴图还原的过程。

5,接着从loginDatabase数据库中更新游戏区域信息,然后从移除场景中的尸体,移除场景中的尸体的方法是使用CharacterDatabase数据库进行一次更新,我在这里做了大胆的设想,设想了一下网游的实质是什么,让我猜测一下,服务器端的主要工作是接受客户端的信息,并且,根据这些信息和自身逻辑对数据库进行操作,所有的世界模型和角色模型中的物体均来自数据库,均以数据库中的数据表示,然后,更新后的信息由服务器发送回客户端,在客户端进行重新的场景计算。以尸体为例,由服务器的逻辑控制尸体的存在时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值