幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: shawind

[讨论]又犯了个错误

[复制链接]

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
 楼主| 发表于 2007-12-11 15:13:47 | 显示全部楼层
引用第8楼lw于2007-12-10 22:46发表的  :
对象其实不是太大的问题,直接对应到内存
不过一个对象100字节 10W个就10M…… ||| 不过有体会过300M内存的数个GAME……基本偶机器直接就无法启动……一个就是東方弹幕风做得梦剧终- -

另外……
1000 VS 1000 其实就应该做得像曹操一样号称百万,重在气势哦,没有人会去数究竟100还是200罢,还有人家 英雄无敌III里面的九头怪不也只有三个头(终极的是五个)嘛。。。
内存上的限制不会太大,可以以最少1G来考虑,因为我的机子就是1G的。再说WOW之类的主流游戏也都要用到最少1G的,因此受众方面的限制不会太多。发这个贴子时,我担心的就是对象列表的效率能不能让CPU算得过来。其实这个问题和我上次问的大家那个fps的问题,还是出于同一个原因,都是一帧的时间内,能不能算完AI的问题。

因为我做模型的水平有限。模型用的面会比较少,靠近了看,惨不忍睹。所以镜头会拉得比较远,远45度。而不是像354那么近。所以同屏显示的人物也会多点。1000v1000应该差不多能让玩家的视野范围内,到处都是人。
引用第9楼john_he于2007-12-11 00:37发表的  :
LW大说得有理,100W个对象无疑需要以100M计的内存,把所有要显示的对象都用一个“对象”表示不是很现实。1000vs1000倒是很容易,估计所有对象加起来绝不超过1W(前提是不把粒子系统的每个粒子都算一个……),用list或指针vector都可以。

另,营造气势应该把N个人归为一小队营造假象,像家园2那样的小队系统不错(抱歉俺基本没玩过“气势游戏”,只能用这个作例了),小队攻击力等数值直接基本值*人数算出来就行。100W对象不要说渲染,光游戏逻辑的处理就吃不消了,而且应该不会有玩家会数着杀了多少个……

.......
john_he的建议都很好啊。这样的话,我想在算全局AI时候,就以队伍结构为核心来算。如果把一个队长看作是一个粒子系统的活,把军队以十夫长,百夫长,千夫长这样的形式分成很多级的系统。只在靠近玩家控制的主角视野附近处,才把它展开来算每一个兵的具体的AI。这样一来,再加上地形上用到的对像等等,其实CPU也只要算到1W左右就应该够了。List的性能应该是足够了。或许应该是去用tree而不是list了。

当然,我还是倾向于lw在前面说过的办法,先直接开一块100多M的内存空间来放所有的对像数据。因为我对我写出来的AI也没有什么信心,估计会多用很多的资源。不如以空间换时间,应该会少用不少CPU。

其实,想作这百万人的战场不是为了体现什么气势。一来,策划中的游戏系统允许玩家从小兵开始干起,一直作到将军。所以计算杀了多少人,这反而成了必须的。不得不考虑,就算是小兵,也因该是个完整的对像。二来,游戏中绝大多数的战争场景,能上场50W左右的兵就以经算很多了。估计在整个游戏的流程中,只有赤壁一战才有可能会用到70W左右。100W只是留点余量。
你应该提供一个“渲染对象”的抽象类,供自定义渲染使用,就像N多其他引擎一样,这样扩展性大大增加,又可以利用渲染列表的便利。
这个没有问题,因为D的特点,引擎里面的所有的类都是从interface继承的。

有方向了,感谢两位的意见。THX
え~え~お!!!
回复 支持 反对

使用道具 举报

50

主题

742

帖子

402

积分

版主

自定义头衔

Rank: 7Rank: 7Rank: 7

积分
402
发表于 2007-12-11 20:17:53 | 显示全部楼层
好吧
偶必须说明其实偶没提出任何意见。。。
Style-C
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-29 13:57 , Processed in 0.022009 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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