怪物AI

 关于怪物AI,我思考了很长时间,前些日子一直在思考,如何将AI系统做成线程独立。由于是在找不到方案,最终放弃。之前有网友给我推荐说,可是讲AI当做客户端来处理。不错的方案,可是有很多逻辑思考不同,最终放弃。

      我再参考了几个游戏的代码之后,决定AI系统就坐在逻辑线程里面好了,就不单独出来了。

     大概的思路是,在逻辑线程运行的时候 ,保持每一个循环在处理N条消息的情况下,更新M只怪物的信息!这样既能及时响应客户端的需求,也能及时更新怪物的状态!!

     代码:

void GameEngine::run()
{
    for(;;)
    {
        this->pre_process();

        this->AIprocess();

        this->Msgprocess();

        this->post_process();

    }
}

void GameEngine::AIprocess()
{
    T* monster;
    EntityPtrList::NodeType* node;

    for(int i=0;i<m;i++)
    {
        Entity* entity_tmp = *node;
        monster = (T*)entity_tmp;

        if (monster)
        {
            monster->updateState();
        }
        node->next();
    }
}

void GameEngine::Msgprocess()
{
    for(int i=0;i<n;i++)
    {
        Msg_Cmd* _msg = NULL;
        if(_msg_list.peek(_msg) && _msg != null)
        {
             process(_msg);
        }
        else
        {
             break;
        }
    }
}
时间: 2024-10-04 15:32:29

怪物AI的相关文章

游戏中AI的行为树(Behaviour Tree in Game AI)

行为树已经成为游戏AI中重要流行的实现方式,相比其他种类的ai(如神经网络,遗传算法,机器学习)更适合策划配置和控制,相比fsm更易扩展,在arpg中的怪物ai中比较流行.这里对行为树的概念做个总结.                 行为树是一个树状结构,没给节点都是一个行为节点,ai的执行过程就是从树根按照一定规则开始遍历整个树的过程,通常实现上会在没帧从树根处tick一遍整棵树.这棵树完整执行完一次的过程中可能对树遍历过很多次,因为每次整个树遍历完之后,如果还有节点还在running状态,就

关于一种页游服务器的想法

     这几天一直写上层逻辑,因为是sns游戏的,所以压力不是很大,但还是想做一套页游mmorpg类游戏的框架.闲暇时候就玩玩天龙八部,读读征途的代码.机缘巧合,遇见了之前天龙八部的服务器引擎工程师,交流了很久才知道,现在网上流传的天龙八部的版本已经很老很老了.据他说现在的天龙八部的服务器框架也加上了网关的设计,负责网络均衡:添加了消息队列,分离了通信和逻辑处理.       不过我仍然觉得旧框架可以负载现在的页游服务器,旧的线程机制是这样,每个线程负责一个地图,并且负责这个地图上面玩家的与客

听著名服务端主程讲座有感

    前些日子,一个著名页游服务端主称做了一次演讲,有幸在台下聆听了这位主程的演讲.已经过去一段时间了,偶尔还是会跟同事们讲起听到了什么,学会了什么,故做一次总结.     讲座持续了近两个小时,讲了做服务器构架方面的方方面面,我不能一一陈述,就讲我感受最深的两点记下来于各位分享     1: 服务器端最影响性能的一个功能就是区域广播: 就是玩家在行走或者打斗的过程中要将自己的状态广播给周围的玩家,通常这个范围是电脑屏幕大小的区域,因为各个玩家屏幕大小相异,故这个范围要略大于普通电脑屏幕.  

目前网页的游戏广告

当我们打开互联网,还是会时不时弹出类似于"纵横时空泡美眉,穿越未来玩3P"等图文并茂.涉嫌色情暴力的小广告.它们带出一种新的"黄源":网页游戏.由于网页游戏研发门槛比较低,导致同质化的现象遍地都是,所以以色情.暴力吸引眼球就成了网页游戏广告最有效的手段了.虽然有些网页游戏本身是很健康,但是其推广的网页却设计的很黄很暴力. 当你打开一个视频,可以是腾讯视频,可以是优酷视频,可以是搜狐视频,也可以是56网视频,大部分都会听到这句话.这是某网页游戏的宣传语,几乎所有人都被

控诉低俗网页游戏广告 看页游网站的用户体验

中介交易 SEO诊断 淘宝客 云主机 技术大厅 "我一直在寻找,一个有你的世界在哪里?" 当你打开一个视频,可以是腾讯视频,可以是优酷视频,可以是搜狐视频,也可以是56网视频,都有很大几率听到这句话.这是某网页游戏的宣传语,几乎所有人都被强制看到过.听到过那个普通话不标"zun"的女性声音.因为这不标准的普通话,还有人听成了:"我一直在洗澡,一个油腻的师姐在哪里".当然这是笑谈,但是笑谈的谈资当然是当前中国网页游戏的诡异般的火热.真的有"

node.js适合游戏后台开发吗?_node.js

网站服务器和游戏服务器是怎么样联系到一起的? 1. 游戏分很多种,咱们先来看看MMORPG. 再怎么简单的RPG服务器都免不了处理多人交互的情形,上百人在同一个场景里面,每个客户端都需要收到其他所有人的操作信息. 其次,用户的操作是非常频繁的,一般的服务器倾向于持有长连接.而且这些链接的是频繁交互的,没有明显的持久的分区策略,所以限制了服务器的横向扩展,同一个场景往往只能放在一个物理机上面运行. 再次,端游通常是不敢把逻辑运算放客户端的,用户分分钟给你破解掉,改改金币,刷两件装备再常见不过了.所

《流星蝴蝶剑OL》将增四个武器职业已定长枪

1月2日消息,<流星蝴蝶剑OL>官网第一期话题"您对流星增加武器持有什么看法"日前宣布结束,"老刀99"昨晚(11月1日)在腾讯微博发表消息称,目前已经确定的是枪客职业,截图即将公布,另外还有三大职业暂时保密. 老刀99微博截图 <流星蝴蝶剑OL>是由久游开发的虚幻3引擎武侠网游,今年8月10日19点开启了首次技术性封闭测试.首测开放了侠客.侠女.力士三种角色,刀.剑.棍.匕首四大武器职业,但也有玩家反映武器种类偏少,因此,久游就"

《战歌》产品经理:让所有玩家可以一起PK

2011年的2月24日,<大话西游之战歌>正式定名发布.游戏从<大话西游外传>到<战歌>的转变不是简简单单名字上的变化,经历三年的开发与完善,不但建立了相对成熟的游戏系统,更核心的内容体现在回合制战斗上.<战歌>开放的回合制季度超级联赛,开创国内游戏专业比赛奖励之最的赛事,单赛季奖金池价值50万RMB,全年价值相当于200万RMB的总奖金池.其中年度现金奖120万!在每个赛季,PVP第一名的团队更将得到10万RMB巨额奖励. 本期多玩有约与你走近<战歌

专访奇人快游王伟:3D回合制将改变2D受宠格局

中介交易 SEO诊断 淘宝客 云主机 技术大厅 速途网5月16日消息 网游行业在经过十年发展,如今已经站在了第二个十年的拐角点.在过去的十年中,不论是即时制网游还是动作游戏,都从2D完成了3D的跨越,这也被众多业内人士认为是,产业的进步.而在回合制网游中,我们却看到,该市场却始终停留在"2D"受宠的格局.在接受速途网专访时,奇人快游商务总监王伟坚信,3D回合制将会改变这种局面,引领回合制新潮流. 奇人快游商务总监王伟(速途网拍摄) 从目前的3D回合制市场来看,无论是被寄予厚望的网易&l