游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4838|回复: 25

游戏数据载入和循环问题的探讨

[复制链接]

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-3-16 07:37:00 | 显示全部楼层 |阅读模式
不知道大家在开发游戏的时候, 图片音乐资源是否在进入游戏前一次性载入,当然,我指的是资源比较多的游戏,小游戏不算, 因为小游戏的载入时间比较短,可以忽略不计。

观察了一些其他朋友设计的游戏代码,好象都是在游戏的开始一次性把游戏的图片和资源载入,这种方法对于程序的管理非常方便。
我的游戏,比如五星勋章2来讲,里面的资源是动态加载的,也就是在每一关的开始前只载入本关相关的图象和音乐,本关结束后,再把音乐卸载,但这样造成了部分代码的重复,但是公用的资源是开始一次性载入的,分段加载资源虽然节省电脑资源,但不好管理程序,因为总要装了再卸,游戏关卡一多就显的很繁琐。五星勋章3我是想尝试一下一次性把全部资源走载入电脑的方法,假如一次性把10首MP3和模型都载入电脑,会不会造成对电脑资源的占用严重?只是想问下这个问题,大家是怎么处理资源载入的??

另外一个问题是跳出循环的问题。
跳出循环1,2三个代码哪个是对的?实际执行中,都没错误。

'代码1
public as program1
do
'游戏内容1
program2
loop
end sub

public as program2
do
'游戏内容2
program3
loop
end sub

public as program3
do
'游戏内容3
end
loop
end sub

--------------------------------------
'代码2
public as program1
do
'游戏内容1
program2:exit do
loop
end sub

public as program2
do
'游戏内容2
program3:exit do
loop
end sub

public as program3
do
'游戏内容3
end:exit do
loop
end sub

--------------------------------------
'代码3
dim LOOPKEY as Boolean
LOOPKEY = true

public as program1
do
'游戏内容1
program2:LOOPKEY = false
loop Until LOOPKEY = false
end sub

public as program2
do
'游戏内容2
program3:LOOPKEY = false
loop Until LOOPKEY = false
end sub

public as program3
do
'游戏内容3
end:LOOPKEY = false
loop Until LOOPKEY = false
end sub

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2008-3-16 11:10:00 | 显示全部楼层

Re:游戏数据载入和循环问题的探讨

说实话,那个资源加载的问题,不应该是西瓜皮滑了一半,才想到,应该准备写代码之前,把可能会预计出现的问题预计到。可以这样,资源分组,第一关组A,第二关组B,第一关完成删除所有有组A属性的。加载的时机,是在第一次使用的时候来加载。

第二个问题用有限状态机, 画一两个月搞清楚这个问题,不浪费时间。

没有例子给你看。

1

主题

77

帖子

77

积分

注册会员

Rank: 2

积分
77
发表于 2008-3-16 11:28:00 | 显示全部楼层

Re:游戏数据载入和循环问题的探讨

载入的时候再慢我都可以忍,因为我知道是在载入游戏,时间越长我认为越是精良的游戏。但是游戏中突然卡是让我忍受不了的,尤其是切换画面的时候慢如牛的。
至于跳出,你加个end自然就结束了,3个代码都没有意义。

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-3-16 12:00:00 | 显示全部楼层

Re: Re:游戏数据载入和循环问题的探讨

我是一个玩家: Re:游戏数据载入和循环问题的探讨
至于跳出,你加个end自然就结束了,3个代码都没有意义。


你没理解我的意思,我说的不是结束程序,只是问那三段程序哪个更合理?程序不代表游戏.

1

主题

77

帖子

77

积分

注册会员

Rank: 2

积分
77
发表于 2008-3-16 12:10:00 | 显示全部楼层

Re:游戏数据载入和循环问题的探讨

其实只要能运行,保证效率,怎么编都可以,我们不在意中间过程。
个人偏向于第3个,靠条件判定,修改或者新加内容时比较容易。

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-3-16 12:12:00 | 显示全部楼层

Re: Re:游戏数据载入和循环问题的探讨

Devil: Re:游戏数据载入和循环问题的探讨

说实话,那个资源加载的问题,不应该是西瓜皮滑了一半,才想到,应该准备写代码之前,把可能会预计出现的问题预计到。可以这样,资源分组,第一关组A,第二关组B,第一关完成删除所有有组A属性的。加载的时机,是在第一次使用的时候来加载。

第二个问题用有限状态机, 画一两个月搞清楚这个问题,不浪费时间。

没有例子给你看。


不用例子,因为这个用例子无法表达,我想试下,游戏开始的时候加载全部资源,然后每关结束只卸载当前关的数据,因为我的数据量也不也算太大(是相对别人的一些超过100M的大游戏我的资源不算多),但有个问题,全部加载对系统资源的占用不知影响大否?感觉我提的这个问题很幼稚,加载资源属于灵活应用的东西,我再研究下.

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2008-3-16 13:01:00 | 显示全部楼层

Re: 游戏数据载入和循环问题的探讨

游戏之家站长: 游戏数据载入和循环问题的探讨

我的游戏,比如五星勋章2来讲,里面的资源是动态加载的,也就是在每一关的开始前只载入本关相关的图象和音乐,本关结束后,再把音乐卸载,但这样造成了部分代码的重复,但是公用的资源是开始一次性载入的,分段加载资源虽然节省电脑资源,但不好管理程序,因为总要装了再卸,游戏关卡一多就显的很繁琐。五星勋章3我是想尝试一下一次性把全部资源走载入电脑的方法,假如一次性把10首MP3和模型都载入电脑,会不会造成对电脑资源的占用严重?只是想问下这个问题,大家是怎么处理资源载入的??

你的游戏应该不会有这样的问题。场景简单,系统弱智,连碰撞检测都有一大堆Bug,不会占多少资源的。你的游戏“镇卡”的原因是编码的质量问题,硬编码真的害死人。

建议LZ不要太关注这种“资源载入多少”的问题,赶紧把成山的Bug选几个比较严重的修改一下。

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-3-16 13:43:00 | 显示全部楼层

Re: Re: 游戏数据载入和循环问题的探讨

Miu.C: Re: 游戏数据载入和循环问题的探讨

你的游戏应该不会有这样的问题。场景简单,系统弱智,连碰撞检测都有一大堆Bug,不会占多少资源的。你的游戏“镇卡”的原因是编码的质量问题,硬编码真的害死人。

建议LZ不要太关注这种“资源载入多少”的问题,赶紧把成山的Bug选几个比较严重的修改一下。


人是在进步的, 我不象你,程序永远停留在你刚学VB的时候, 我记得你前一段时间在这里大叫VB不好,改学JAVA和FLASH, 天, 您才16岁不到, 全材!!!国家未来的栋梁!!
(MIU的发言记录里写这:MIU.C 15岁, 精通TV3D,DX9,DX10,C++,VB6,DELPHI,4年级做BSP,6年级学DX9, 好象是学了9年, 怎么学的?)

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2008-3-16 13:51:00 | 显示全部楼层

Re: Re: Re:游戏数据载入和循环问题的探讨

游戏之家站长: Re: Re:游戏数据载入和循环问题的探讨



不用例子,因为这个用例子无法表达,我想试下,游戏开始的时候加载全部资源,然后每关结束只卸载当前关...


做游戏的成就感,不仅仅是画出几个坦克,一个场景,开炮和攻击,然后后来一大堆人称赞你NB,还有很多隐性的问题,比如说场景加载的问题,你加载的好和差,玩家看来都不会觉得你有多NB,这个只有自己知道。要做好这些隐性的问题,不是一朝一夕,需要好好计划,长期积累,完成一个完美的解决方案,你的这些劳动都是外人不能察觉出来的,这也是你总说别人做些跟游戏无用的垃圾,却不好好做游戏的缘故,因为你认为的无能者都力求能找到一个游戏中完美的解决方案,他并不急于做出一个NB的画面给万人膜拜。但当今天你能问这个问题,我觉得也觉得游戏的一个完整的体系还有是价值的。
呵呵。

加载100M外人看来没有问题, 就是自己觉得不爽, 你觉得加载100M能对的起业余二字,那别人疯狂的优化,就是要对的起专业二字。

呵呵。

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2008-3-16 14:02:00 | 显示全部楼层

Re: Re: Re: Re:游戏数据载入和循环问题的探讨

Devil: Re: Re: Re:游戏数据载入和循环问题的探讨

加载100M外人看来没有问题, 就是自己觉得不爽, 你觉得加载100M能对的起业余二字,那别人疯狂的优化,就是要对的起专业二字。

我有些疑惑,他那么简单个场景,那么垃圾的画面,几个纸片模型去哪里弄100M的资源来加载?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 11:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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