游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7377|回复: 1

mangos完全分析(1)

[复制链接]

5

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2008-4-17 22:13:00 | 显示全部楼层 |阅读模式

     最近一直在研究魔兽世界模拟器mangos的源码,很多开发网络游戏的人都说mangos只是模拟器,单服务器架构没有太大意义,其实他们中很多并不是开发rpg的,可能是开发棋牌的类的,象魔兽类rpg,除了服务器通讯部分外,业务逻辑是非常复杂的,通讯部分反而不是重点。
     这篇文章只是大体介绍下一点点体会,以后再和大家慢慢分析具体细节。
     先说说脚本系统,每个怪都会在数据库中存储他对应的脚本名字,作为一个字段在数据库中存储,在此怪物初始化的时候将被初始话,那怎么调用呢,很简单,lua脚本里已经为每个ai命了名字,到时候根据数据库中的脚本名字自然会找到。它的脚本系统作为一个单独的dll文件存储,提供统一c函数的接口,这就为将来更换脚本系统提供了可能,甚至可以不用脚本,直接用c++来完成这个dll。怪物的行路ai也是用脚本写的,不过也提供了几个用c++写的基本ai,为了减轻服务器负担,ai的行动不会每次都会通知客户端,只在改变目标追踪点后才发包过去,其他的由客户端根据方向去算。
   mangos的地图系统是由grid和cell组成,一个地图分为64*64个grid,一个grid分为8*8个cell,每个cell会把所有的player和生物都包含到里面。player的每次变化都会通知以自己为中心的8个cell。如果grid里面的没有任何player将不再更新里面的生物的动作,以便减轻服务器负担。  
[em14]

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2009-8-19 18:01:00 | 显示全部楼层

Re:mangos完全分析(1)

ding
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-7 16:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表