关于多线程的用途-用于游戏程序(50分)

  • 主题发起人 主题发起人 Yves
  • 开始时间 开始时间
Y

Yves

Unregistered / Unconfirmed
GUEST, unregistred user!
游戏程序一般有 己方和敌方 之分,这是否就用到了多线程呢?
 
即时制的还是回合制的?
看具体情况的要
 
是即时制的
 
呵呵,玩这个,哪些线程同步可不易
 
那么 如何让 电脑对手 有独立的思维呢?
 
我也想了解了解,哪位大哥知道的,就说说吧
谢谢你了哦
 
我想可有可无吧。
 
我到不这么觉得,很多战略游戏都是你在发展的同时,敌人也在发展,
这用单一线程实现么(配合do
events—vb的语句 ?)
不知哪位高手肯不吝赐教,完整的讲讲:
这种游戏是否需要多线程——这是否是一种经典的做法?
小子愚钝,诸位多费心了
 
游戏多线程同步太难,我打个比方,你用一个线程控制敌方才矿,
如果这个时候本方进攻,而且你的这个线程在计算最优路径,阻
塞在线程中,移动难免要出现问题,这样响应还击就有可能出现
问题。
 
那 这样的游戏 是怎么编出来的? 怎样的处理方法呢
 
不是多线程,用循环解决!
每次循环顺序计算所有单位的动作。这是最简单的同步方法。
 
这样 啊!
不过 一般的delphi程序 好象是用 事件(events) 堆垒起来的,向timerri所说的
循环控制 好象无需响应事件(敌人有独立思考的能力,不能由你的动作,触发他的思考)
那这样的循环控制就要放到一个 main()(vb中有这样的函数,当程序执行时,
先执行该函数中的内容)中 统一调配,delphi有这样的函数么?
而且 我觉得 向timmeri所说 如果是一个复杂的游戏,等循环一周,
计算机开始处理我的动作时,是不是有点晚了?就没有其他办法了么?
 
我想有一个线程负责处理用户输入。一个线程负责处理需要显示和更新的东西。 一个线程负责所有的AI和动作同步。这样就可以了。
 
这样可以么?
显示 是 需要与 用户操作、AI动作 相协调的,如果使用多线程反倒协调不起来了(如张无忌所说),
现在有7个人参与讨论,分数不够分的,我想提高分数,怎么办呀?
而且也希望更多的人能更多的赐教,以便我可以进一步提高本题的分数。
谢谢了
 
显示需要协调的部分不多阿。只需要根据每个对象属性和当前屏幕位置画出就可以了。
不知道你有没有玩过星际。:) 当游戏系统很慢地时候,如果在等待网络上的另一个游戏者。这时候
显示还是很流畅的。卷屏也没有滞后。你的输入和鼠标操作也没有变慢。
而当你放Replay的时候如果把播放速度调的很高。就会发现游戏系统很快。这时候显示就有点滞后了。对象动作有点一跳跳的。
我觉得这些现象就说明我的猜测有一定根据。
 
散分了:)
但不终结问题,欢迎不要分也肯讨论的人
 
多人接受答案了。
 
应该是用的判断吧,对每个线程在某种情况下执行某种操作,例如,在采矿的时候收到攻击
就自动反击,用的就是判断是否被攻击,若没有则继续采矿,反之则攻击,我想应该是用这样
的原理吧
 
完全不需要用,
比如街机的CPS,MVS,PGM等机板使用68K CPU,是支持多线程的。
 
后退
顶部