作者F23ko (纯洁)
看板GameDesign
标题[问题] 游戏存档、纪录档问题
时间Sun Aug 1 00:41:04 2010
请问......
游戏存档这个功能如何实现?
我只知道
StreamReader
StreamWriter
之类的方式去写入档案
现在想到的办法是──
把程式中的所有资讯转成字串,然後纪录到硬碟中。
理论上ok
但是有一些比较复杂的东西
例如:
匿名函式
(塞到委派中的匿名函式,读取起来有困难,我要怎麽知道委派中的匿名函式是哪一个?)
二元树的节点
(我怎麽知道哪个节点连接哪个节点?只能全部读取出来,写入档案吗?
这样到读档的时候又要再重新插入一次)
之类的.....
请问这种功能一般是如何实现?
=======================================================================
还有所谓的「游戏记录档」之类的东西
就是能将游戏给「录」下来
我觉得是,将玩家以及AI的指令、乱数记录下来後,再用游戏的引擎去播放
很好,我觉得这会造成程式中「散布」一堆纪录、播放用的程式码
撰写、除错起来可能会有困难......
所以我觉得我想的方法不好
请问这种功能一般是如何实现?
========================================================================
我用的是C# XNA
只能说..... 要写个小游戏,要学的东西真是靠腰多.....
话说回来,我还没去学处理图片方面的东西 orz....
--
我... 我一点都不糟糕啦!>///<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.27.109.99
※ 编辑: F23ko 来自: 163.27.109.99 (08/01 00:41)
1F:→ rexrainbow:将游戏给「录」下来--> WarCraft3的 replay 模式 08/02 12:44
2F:→ F23ko:对,就是那样,很多游戏都有那个功能 08/02 13:00
3F:→ a1234957:印象只有RTS有 08/02 17:11
4F:→ a1234957:赛车游戏也有 这几年的赛车游戏有些还能回溯 08/02 17:13
5F:→ F23ko:东方也有啊 08/02 17:29
6F:→ Splash5:framecount = ? key = ? 简单的作法是这样.. 08/02 20:40
7F:→ Splash5:可以去trace一些模拟器都有的movie play功能 08/02 20:41
8F:→ Splash5:然後还有一些会变动的东西要记录下来 (ex:乱数种子,table) 08/02 20:42
9F:→ F23ko:我总觉得.... 我有些观念要砍掉重练了.... XD 08/02 20:53
10F:→ F23ko:之前会想把一些杂七杂八的东西,包成匿名函式塞进 08/02 20:54
11F:→ F23ko:Dictionary<key,委派>的方式去进行.... 但这样一来,委派内 08/02 20:56
12F:→ F23ko:的东西就完全不知道跑成什麽样子,自然不能存档、纪录.... 08/02 20:57
13F:推 hirabbitt:你是要做很ㄔㄨㄣˊㄐㄧㄝˊ的游戏吗? 08/03 10:55
14F:推 ddavid:他说的replay并不是录影,而是记录游戏操作过程之类的东西 08/03 14:39
15F:→ ddavid:,key frame的做法会失真,在某些游戏类型用不上就是 08/03 14:40
16F:推 cowbaying:计时器 纪录物件状态的改变 08/06 03:30