游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4817|回复: 10

传奇的怪物控制实现问题

[复制链接]

27

主题

93

帖子

106

积分

注册会员

Rank: 2

积分
106
发表于 2004-3-17 16:11:00 | 显示全部楼层 |阅读模式
它是具体怎么控制怪物的呢?
难道每个怪物都分配一个线程来控制它们吧?
据了解一个windows程序最多也只能建立2048个线程?

58

主题

281

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
发表于 2004-3-17 16:17:00 | 显示全部楼层

Re:传奇的怪物控制实现问题

当然不是!估计是用计时器,然后循环,它们都是每隔一段时间动一次的。

27

主题

93

帖子

106

积分

注册会员

Rank: 2

积分
106
 楼主| 发表于 2004-3-17 16:24:00 | 显示全部楼层

Re:传奇的怪物控制实现问题

我觉得很复杂吧.没有想通.
比如
int x,y;来标识怪物的坐标.
如何控制怪物来咬人.它还会跟随人.当距离 >= XX的时候停止跟踪.

我的QQ:12416925
欢迎讨论网络游戏实现技术.

58

主题

281

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
发表于 2004-3-17 16:40:00 | 显示全部楼层

Re:传奇的怪物控制实现问题

这就是人工智能的问题了。
简单思路是这样的,当敌人在视觉范围内则追踪,当敌人在攻击范围内则攻击,同时有多个敌人满足条件则根据规则来选择……

5

主题

21

帖子

21

积分

注册会员

Rank: 2

积分
21
发表于 2004-3-18 22:14:00 | 显示全部楼层

Re:传奇的怪物控制实现问题

个人猜想:

  怪物结构:
      struct guaiwu
    {
      int X,Y;//座标,
            int nZT;//现在状态
            int nSX;//怪物的种类
      int nX,nY;//被攻击者位置
     };
    怪物智能函数:
  int    guaizn(guaiwu aaaa, ...  )
     {   
    
     读取怪物位置;
               读取怪物状态;
       if(怪物是否没有攻击对象)
         {
           if(搜索周围范围是否没有敌人)
             { 向随机位置移动;
                                     return 0;
             }
           把状态改为在攻击并把对方位置写入nX,nY;
         }
      检查自己是否在攻击位置;//也就是离被攻击对象是否够近,能打的着。
      打不到就移动过去,
      打的到就根据情况改写攻击信息,等着渲染和数据修改
     }
    

18

主题

122

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2004-3-18 22:30:00 | 显示全部楼层

Re:传奇的怪物控制实现问题

经典  虽然不知道实用吗  

3

主题

32

帖子

32

积分

注册会员

Rank: 2

积分
32
QQ
发表于 2004-4-6 07:16:00 | 显示全部楼层

Re:传奇的怪物控制实现问题

我认为也是在定时器中循环的,小柳和风的算法应该可以实现!看看传奇代码就知道了哈

5

主题

21

帖子

21

积分

注册会员

Rank: 2

积分
21
发表于 2004-4-6 20:39:00 | 显示全部楼层

Re:传奇的怪物控制实现问题

呵呵。
我只是猜想。离真能实现还远。
不过我认为在定时器循环中实现不是个好办法 。会产生很多的问题,如慢机器渲染跟不上高的定时设置,快机器的FPS也只能和慢机器一样。另外要是网络游戏就更不好控制了。
应直接做成循环,这样机器能跑多快就跑多快。通过计时或时钟查询来控制游戏时钟。
为了提高速度,什么“链表”,“希哈”都是实现的关键。

4

主题

17

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2004-4-7 15:29:00 | 显示全部楼层

Re:传奇的怪物控制实现问题

算法好象不难啊

1

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2004-4-9 16:57:00 | 显示全部楼层

Re:传奇的怪物控制实现问题

网络游戏 server 不需要渲染,所以速度上应不会有问题
单机的嘛……在慢机器上AI本就会变比较苯啊
不过通常都不会有问题啦,因为不是所有的物体和怪物都要渲染阿
一个画面上总不会同时有太多怪物吧?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 06:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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