游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2469|回复: 9

关于游戏结构的问题

[复制链接]

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
发表于 2006-8-31 10:56:00 | 显示全部楼层 |阅读模式
对于Actor的管理还是有一些模糊,希望得到各位老鸟的指导。
游戏是有很多scene组成的 ,当载入一个scene的时候一定要载入他的actor。
这样看起来似乎scene来管理actor比较合理。
但是问题是actor在自己运动的过程中可能会从一个scene走到另外一俄scene。
这样的话,把actor写在scene中来配置就不合理了。似乎外面应该有一个统一的actor管理器。
actor的运动归自己管理。 但是大部分actor是固定在scene中的。只需要在载入scene的时候载入,再卸载scene的时候卸载。似乎要维护两种actor,在scene只见移动的,和不移动的,但这样又似乎不好处理。
应该有一种统一管理actor移动载入卸载的方法吧。
小弟请问各位,在一般的商业游戏中大体上是怎么处理这个的呢?
谢谢  

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2006-8-31 11:12:00 | 显示全部楼层

Re:关于游戏结构的问题

actor的行为和scene没关,出生在scene里的actor你可以认为是在world create的时候,actor自己向scene发出请求,说要登陆这个scene,scene需要纪录当前在自己地盘上的actor信息。

至于在scene里actor的行为,则和scene一点关系都没有,你要这样理解,世界在建立的时候是什么都没有的,然后其他有智能的生物(actor)会根据自己的行为走向决定要去世界的什么地方,scene说白了就是container。在init_world的时候,你可以理解成一个event,这个event把很多不同的actor弄到不同的scene里。

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2006-8-31 12:12:00 | 显示全部楼层

Re:关于游戏结构的问题

谢谢,您的说法对我很有帮助,大部分理清了思路。
可不可以这样认为,一个actor是知道自己在哪里的。
(我的不是网络游戏,所以scene是在使用的时候构建的)。
当一个新的scene构建的时候,actor决定自己是否在里面,然后把自己注册进去。
什么时候创建actor或者摧毁,乃至移动,都是actor自己决定。scene只是负责一些场景的交互。
在外面可能有更高的一层去维护所有actor的互动,但是scene和actor只有消息的传递,没有所有权的关系。
可不可以这样理解呢~

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2006-8-31 13:18:00 | 显示全部楼层

Re:关于游戏结构的问题

更进一步,你要这样理解:
scene的构建是当有相关的actor和scene有联系的时候进行构建,比如说player进入scene,或者任何一个actor要进入scene,都需要构建scene,比如有一个npc从一个scene逃跑到另一个scene,这个时候你的player还在前一个scene里,这个时候npc逃跑的目的scene也需要构造了,scene只是为actor服务的,无论是player还是一般的npc。

也就是说,scene或者其他所有的资源,都是为有智能的生物所使用的,简单点说,把player和其他actor看成是一样的东西,scene的管理就和这些东西发出的请求相关。

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2006-8-31 13:59:00 | 显示全部楼层

Re:关于游戏结构的问题

获益匪浅。
我之前潜意识一直把scene当成游戏的主体,actor为scene服务,这样的话。
是游戏管理scene,scene管理actor这种由大到小的结构。
确实有一些问题很难整理清楚。

如老兄所言,其实是 actor 去引导scene这般,似乎是由小到大的管理。
感觉上清楚了很多,不过毕竟没有真正的使用过,所以还不敢下什么结论。

痛苦的是可能结构要调整很多了~

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2006-8-31 15:02:00 | 显示全部楼层

Re:关于游戏结构的问题

也就是说 游戏中的实体要分为智能体 和 非智能体来处理了。
我之前为了简单,也都没有区分过的。
~~~~~汗

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2006-8-31 15:13:00 | 显示全部楼层

Re:关于游戏结构的问题

看你怎么定义scene了,比如说scene里的object,房子,树,这些,都应该是scene的子集。

在网络游戏里就无所谓,所谓的npc跟房子啊,树啊都一样,只不过会简单的走走,打打,没有复杂的逻辑,所以都可以由scene管理。一旦存在真正意义上的actor就不能这样弄了。

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2006-8-31 15:30:00 | 显示全部楼层

Re:关于游戏结构的问题

其实在我之前的定义中并没有很明确的"智能体"的概念。
我所拥有的可能只能称为“实体”,他们通过世界传递消息来沟通。
只要能处理消息的都是“实体”,scene是一系列实体的容器,在不同的scene中有不同的实体。

听了老兄的一番,觉得应该从实体中继承下来一种“智能体”,单独对智能体进行维护,那些没有智能的实体仍然交给scene去维护,比如说“自动贩卖机”这种能处理消息但是不能移动的东东。

智能体自己去维护自己的构建,然后scene给智能体服务,非智能的实体只要布置在scene中就好了。当载入scene的时候就载入,释放scene的时候就释放。

我考虑了一下,其实之前的构架就是少了一个智能体的抽象和维护,所以改动应该不大。:)

30

主题

357

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
发表于 2006-9-2 09:14:00 | 显示全部楼层

Re:关于游戏结构的问题

我晕晕晕,楼主想的比较乱,真不知道你为什么会这样想,其实你先做个设计就不会这样忙了。一款游戏的核心部分是 输入——>调用数据库——>计算人物坐标和分析事件行为——>渲染。场景他只是个背景而已,渲染出来也就是一副画,把你计算好坐标的人物再画在画上面覆盖以前的象素(或者先画人物可以降低象素填充率)就万事OK了。当然这是最基本的框架,一个输入到输出的循环。

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2006-9-2 12:05:00 | 显示全部楼层

Re: Re:关于游戏结构的问题

xikema: Re:关于游戏结构的问题

我晕晕晕,楼主想的比较乱,真不知道你为什么会这样想,其实你先做个设计就不会这样忙了。一款游戏的核心部...


其实这边谈的只是你说的 “分析事件行为” 那一部分的逻辑:)
到具体实现中会有很多问题,虽然一个差的结构也能解决,但是好的结构可以更容易扩展和维护。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 07:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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