游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2472|回复: 4

大家能说一下关于任务调度器原理以及在脚本处理中的应

[复制链接]

82

主题

331

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
QQ
发表于 2009-7-22 22:56:00 | 显示全部楼层 |阅读模式
本人想了解一下任务调度器的工作原理,好像这个机制对于脚本来说非常重要,但是我目前还没法领会其中的意义.
希望各位能帮助一下,非常感谢!

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2009-7-22 23:36:00 | 显示全部楼层

Re:大家能说一下关于任务调度器原理以及在脚本处理中的

很高兴看到你的留言,我也在思考这些问题,引擎里面脚本究竟要做到什么的样的程度?
比如torque这样的,几乎引擎全部功能都用脚本调用了,感觉这似乎封装的有点过度了
再又比如3dmax的maxscript能记录操作的所有步骤,当然3dmax不是游戏
那么游戏引擎的脚本真的需要封装到这个程度吗?

我觉得游戏脚本不同于工具的脚本,游戏引擎本身就具备编辑器,很多事情是编辑器该去考虑完成的,比如场景数据,地图编辑器都编辑好了形成了2进制数据,还有必要在脚本里面也去记录这一系列的编辑过程吗?

我感觉游戏脚本更应该关注的是状态机和逻辑的可变的部分,很多是事件触发式的动作,编辑器用固定的模式去编辑很难顾全这些可变因素,这件事件通常会引起一些变化而产生一系列的调度过程,那么脚本能很好的胜任这个工作,具体就是:脚本会去调用引擎里面的过程方法组装逻辑过程使得这些方法完成一些事件和动作,这就好像是过程调度的“粘合剂”,很多人用了这样的比喻,真的是恰如其分

脚本引擎确实是游戏的核心部分,怎么设计也没有一个固定的模式,但很多思想是可以求同存异的。

这只是我的片面理解,具体我也没太多经验,希望借这个主题抛砖引玉,请有经验的朋友不吝赐教

82

主题

331

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
QQ
 楼主| 发表于 2009-7-23 10:02:00 | 显示全部楼层

Re:大家能说一下关于任务调度器原理以及在脚本处理中的

也就是说,和魔兽的 LUA 脚本模式相像吗 ?
使用非常多的功能接口让脚本使用者去使用吗 ?

比如说做一个技能.
这个技能有攻击时产生的效果,有攻击失败产生的效果等等.可以按照事件(接口)来进行处理.
但是这样子其实接口会非常多 ( OnAttackSuccess, OnAttackFailed 等等 )...

有没有更好的方法去做呢 ? 有人说任务调度能很好的完成,但是我至今都不明白他的原理.
是事件的接口调度吗 ? 还有其他的 ?

82

主题

331

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
QQ
 楼主| 发表于 2009-7-23 10:30:00 | 显示全部楼层

Re: 大家能说一下关于任务调度器原理以及在脚本处理中的

http://www.hmitech.com/support_ter.php?id=216

如何设置任务调度脚本?
SCADA中的TCL脚本,可以实现计算、控制功能以及任务调度功能。执行策略有以下几种:SCADA启动时执行、SCADA退出时执行、循环执行、定时执行,以及满足条件时执行。
设置脚本时,不同于在Draw中设置脚本,SCADA中的脚本是以文件的形式设置的。因此,首先需要使用ScriptDebugger或其它任一文本编辑器来写脚本,如果脚本比较复杂,
建议使用ScriptDebugger编写并进行调试。
写完脚本后,在"工程制作"中的"运行配置"下选择"调度脚本设置"即可,将该脚本添加进来,并设定其执行策略。
执行策略描述如下:
1)SCADA启动时执行:当SCADA启动时,执行脚本。
2)SCADA退出时执行:当SCADA退出时,执行脚本。
3)循环执行:脚本语言的执行间隔有多种选择。当时间设置为0秒时,该脚本将不执行。设为其余几项时,则脚本每隔相应的时间则执行。比如3秒,则该脚本每隔3秒执行一次。脚本执行间隔的数量级是毫秒ms。
4)定时执行:定时执行脚本,当时间满足给定的时、分、秒时,执行脚本。
5)满足条件执行:当实时值满足给定条件时,执行脚本。可供选择的实时值有两类:模
拟量和开关量,执行条件根据类型不同而不同。模拟量的执行条件有: 越上限、越下限、
越上上限、越下下限、变化率过大。开关量的执行条件有:正跳变、负跳变、变位。


这是我从网上 TCL 脚本看到的.

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-7-23 17:41:00 | 显示全部楼层

Re: Re:大家能说一下关于任务调度器原理以及在脚本处理

tonykee: Re:大家能说一下关于任务调度器原理以及在脚本处理中的应用吗,谢谢!

比如torque这样的,几乎引擎全部功能都用脚本调用了,感觉这似乎封装的有点过度了


严重同意这一点
脚本为了易用,大多以牺牲效率和可控性为代价
我之前工作用到的一个引擎就把所有功能用脚本调用了,我自己觉得是非常难用的,高级用户无法访问底层功能,普通用户又觉得整个脚本系统太庞大,不容易掌握
此外,脚本虽然灵活,但debug是相对比较麻烦的,至少我不愿意大规模用脚本开发程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-19 15:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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