作者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)
→ rexrainbow:將遊戲給「錄」下來--> WarCraft3的 replay 模式 08/02 12:44
→ F23ko:對,就是那樣,很多遊戲都有那個功能 08/02 13:00
→ a1234957:印象只有RTS有 08/02 17:11
→ a1234957:賽車遊戲也有 這幾年的賽車遊戲有些還能回溯 08/02 17:13
→ F23ko:東方也有啊 08/02 17:29
→ Splash5:framecount = ? key = ? 簡單的作法是這樣.. 08/02 20:40
→ Splash5:可以去trace一些模擬器都有的movie play功能 08/02 20:41
→ Splash5:然後還有一些會變動的東西要記錄下來 (ex:亂數種子,table) 08/02 20:42
→ F23ko:我總覺得.... 我有些觀念要砍掉重練了.... XD 08/02 20:53
→ F23ko:之前會想把一些雜七雜八的東西,包成匿名函式塞進 08/02 20:54
→ F23ko:Dictionary<key,委派>的方式去進行.... 但這樣一來,委派內 08/02 20:56
→ F23ko:的東西就完全不知道跑成什麼樣子,自然不能存檔、紀錄.... 08/02 20:57
推 hirabbitt:你是要做很ㄔㄨㄣˊㄐㄧㄝˊ的遊戲嗎? 08/03 10:55
推 ddavid:他說的replay並不是錄影,而是記錄遊戲操作過程之類的東西 08/03 14:39
→ ddavid:,key frame的做法會失真,在某些遊戲類型用不上就是 08/03 14:40
推 cowbaying:計時器 紀錄物件狀態的改變 08/06 03:30