Jul 15 2008
NDS小遊戲:Transform Puzzle

遊戲名稱
Transform Puzzle
遊戲平台
Nintendo DS 遊樂器,或 PC 及 Mac 平台的 NDS 模擬器。
遊戲連結
NDSGame_TransformPuzzle.zip (下載次數: 1155 )
NDSGame_TransformPuzzle_v1_1.zip (Mac 平台用)(下載次數: 621 )
擴充地圖包:TransformPuzzle_Map_PTTstar123.zip (製作者 PTT star123)(下載次數: 271 )
遊戲概述
將角色移動至鑰匙處即可過關。角色有氣體、液體與固體三種型態的變化:
- 當角色為氣體時,遇到雪花會變成液體。
- 當角色為固體時,遇到火把會變成液體。
- 當角色為液體時,遇到雪花會變成固體,遇到火把會變成氣體。
而每種型態下的角色,都有能夠通過以及無法通過的地形。因此,玩家必須適時地在角色的三種型態之間轉換,才能夠順利地到達鑰匙的所在地。遊戲目前共有 7 個關卡;另外,玩家也能夠自行設計與創造遊戲關卡。
- 上螢幕:記錄各種資訊,包括遊戲版本、關卡作者、目前關卡、角色型態,以及角色目前移動了幾步。
- 下螢幕:遊戲的主要畫面。
遊戲中無背景音樂,角色型態變化以及過關時都會有小小的音效提示。過關後,上螢幕會顯示「Level Cleared!」訊息,請按下 NDS 主機的「A」鈕前往下一關。
以下為遊戲中各種圖示的簡介:
![]()
(1),角色為氣體狀態。
![]()
(2),角色為液體狀態。
![]()
(3),角色為固體狀態。
![]()
(@),過關鑰匙。
![]()
( ),草地,三態皆可通過。
![]()
(#),高山,三態皆不可通過。
![]()
(+),火把,會使固態變成液態、液態變成氣態。氣態不可通過。
![]()
(-),雪花,會使氣態變成液態、液態變成固態。固態不可通過。
![]()
(=),沙漠,液態不可通過。
![]()
(a),峽谷,只有氣態能夠通過。
![]()
(q),河流,只有液態能夠通過。
![]()
(s),狂風,只有固態能夠通過。
![]()
花朵,需達成某種特殊條件才會出現。
執行方法
下載 NDSGame_TransformPuzzle.zip 檔案後執行解壓縮,內含 NDSGame_TransformPuzzle.nds 與 map.txt 兩個檔案。
- NDS 主機:需要有 NDS 主機可使用的備份卡。將上述兩個檔案複製至備份卡的根目錄下,開機後選擇執行 NDSGame_TransformPuzzle.nds 檔案。
- PC 平台:需下載 NDS 模擬器,如 DeSmuME(PC 版本下載、Mac 版本下載),然後將上述的兩個檔案與模擬器的執行檔,放在同一個目錄中,再開啟模擬器選擇載入 NDSGame_TransformPuzzle.nds。
操作方式
- NDS 主機:「方向」鍵移動角色,「A」鍵前往下一個關卡,「B」鍵前往上一個關卡,「START」鍵重置目前的關卡。無須使用觸控筆操縱。
- PC 平台:如使用 DeSmuME 模擬器,則預設的鍵盤操作配置為「方向」鍵移動角色,「V」鍵前往下一個關卡,「B」鍵前往上一個關卡,「ENTER」鍵重置目前的關卡。無須使用滑鼠操縱。
關卡製作
遊戲關卡的設定資料,以純文字的格式儲存於 map.txt 遊戲檔案中,只要開啟該檔案之後,就可以開始進行關卡編輯。相關的規則如下:
- 不可修改 map.txt 檔案名稱。
- 第 1 行文字為遊戲版本資訊,不可修改。
- 第 2 行文字為關卡作者名稱,可以自行修改。
- 第 3 行以後皆為關卡內容,關卡與關卡之間,必須保留 1 個空白行。
- 每個關卡由 8 行文字構成,每一行需要填滿 10 個(包含空格在內)字元,最多可有 100 個關卡。
- 遊戲關卡可使用的字元,請參照前述圖示簡介括號內的文字。例如,填入「#」這個字元,就是代表該格為「高山」地形;填入「+」,代表該格為「火把」物件;填入「 」(空格),則代表該格為「草地」地形。
詳細的關卡範例,請參照 map.txt 的內容。
製作團隊
- 美術:Feeling
- 設計:半路
- 程式:半路
版本歷史
- v1.0:初版釋出。
- v1.1:釋出 Mac 平台專用版本。
如有任何問題或建議,歡迎留言指教。謝謝!

頭香….下載來玩看看
這是大大你做的嗎???
我有看大大你的 “初探Nintendo DS程式開發”
可是太難了 @@
可不可以對完全沒有任何知識的人
作”簡單”教學阿
請問這種”棋盤式”的遊戲設計方式有什麼專有名詞嗎? 類似”橫向捲軸”之類的名詞.
以前研究所有一門課的期末project, 利用ARM+FPGA平台做出個東西.
我做了個pac-man(小精靈)的簡單遊戲. 用FPGA做VGA controller(一個像素只有3 bits -> 2**3 共 8種顏色), 當然還要再外接VGA output.
由於VGA output會不斷打訊號出去, 所以我得在FPGA上儲存顯示整個螢幕所需的資訊.
但因為FPGA的儲存空間有限, 所以我也採取characters – map(如同半路用的方式)來節省儲存空間.
Arm就負責擷取按鍵(pac-man移動), 處理map內容改變, 如pac-man移動, ghost移動等等…
並且寫進FPGA的map對應位置.
所以看到半路的設計方式後, 覺得很眼熟, 我想這種設計模式應該是種很直覺的方式吧, 也許有個
專有名詞可以稱呼, 就像design pattern都有個名字.
@Hua:
原來如此,我沒有使用過 ARM+FPGA 平台,不過感覺上程式設計的原理應該滿接近的,應該就像 NDS 一樣,需要處理許多記憶體位址的細節吧?(突然覺得可以在 PC 上寫程式真是好命 ~_~)
如果以程式設計者的觀點來看,這種設計與呈現的模式的確可以稱為 Tile-based Game 沒錯~
感謝你的進一步說明。 ^^
我抓了 DeSmuME Mac 版,開了 NDSGame_TransformPuzzle.nds,
但是他出現錯誤訊息「Failed to read map data!」
請問你知道有什麼可能的原因嗎?
原本的 map.txt 用 CRLF, 我改成 LF, 兩者都失敗。
godfat ~/p/NDSGame_TransformPuzzle> ls -l
total 376
drwxr-xr-x 3 godfat godfat 102 Apr 19 03:02 DeSmuME.app
-rw-r–r– 1 godfat godfat 188416 Jul 14 20:35 NDSGame_TransformPuzzle.nds
-rw-r–r–@ 1 godfat godfat 664 Jul 23 20:14 map.txt
p.s. 看起來很有趣,因此想試試看,感謝囉
@godfat 真常:
你好,
如果顯示「Failed to read map data!」訊息的話,表示模擬器找不到或沒有成功開啟 map.txt 這個檔案!我沒有實際用過 DeSmuME Mac 版,不知道你是否有把 NDSGame_TransformPuzzle.nds 與 map.txt 一起放在模擬器的執行檔目錄下?或許也可能需要把檔案丟進 DeSmuME.app 中的某個資料夾,才能夠讓它順利找到 map.txt 檔案載入。
我對 Mac 系統的記憶已經是很久之前的事了,所以並不確定這樣是不是能夠順利執行(汗)。希望你能夠成功搞定!謝謝。 ^^
@半路
呃嗯,well, DeSmuME.app 是 mac 上 bundle 一些東西的方式,
用滑鼠點兩下 DeSmuME.app 就像是 windows 上的 executable 一樣。
但他確實不是執行檔,真正的執行檔,我剛剛測試了一下,是在:
DeSmuME.app/Contents/MacOS/DeSmuME
我用 terminal 去執行他,確實可以執行。我也真的是可以把 *.nds 和
map.txt 放到這個地方。不過問題是,啟動該程式,讀取 ROM 是用 GUI,
而 GUI 不允許我讀取 DeSmuME.app 裡面的東西…
也就是說,如果真的放到跟「執行檔」相同的目錄,這樣反而讀不到 ROM 了。
沒有 command line 讀取 ROM 的方式哪… README.MAC 裡面沒寫。
是有讀取 FlashFile 的方式,不過這應該不一樣?
./DeSmuME -FlashFile NDSGame_TransformPuzzle.nds
2008-07-23 21:14:47.955 DeSmuME[9505:10b] Using flash file: “NDSGame_TransformPuzzle.nds”
這樣好像怪怪的…
*
有沒有其他讀取檔案的方式? @@
像是可否幫我 build 一個版本,
讀取的路徑不要用 ./map.txt, 改用:
../../../map.txt
這樣就是讓 DeSmuME.app 跟 map.txt 同路徑…
很蠢,不過 mac 上是這樣 @@”
不然就是要找沒有 bundle 成 .app 的模擬器了
(所以就要用 terminal 開啟,一般 end-user 大概不會用吧…)
啊,我剛剛忽然想到,我想成 .nds 要跟 map.txt 放在一起,
現在的狀況是要分開吧?於是我把 map.txt 搬到:
DeSmuME.app/Contents/MacOS/map.txt
然後 .nds 仍然放在跟 DeSmuME.app 同個目錄下。
可惜很不幸的是,還是 Failed to read map data! XD
這樣我真的沒轍了,大概要換模擬器試吧 @_@
@godfat 真常:
模擬器的問題果然不少啊。我剛剛測試之後發現,只要我更改了 map.txt 的讀取路徑後,所有的模擬器都無法正確地找到檔案。這個問題似乎和我所使用的 libfat 函式庫相關,目前我還不知道該怎麼解決;也就是說,目前在 Mac 下無法執行遊戲(暈)。最近這幾天我會再仔細研究看看有沒有解決方法。 = =+
非常感謝你的幫忙~ XD
不客氣,也感謝你願意讓遊戲跑在 mac 上 XD
這真的值得令人高興,畢竟很多人都會說 user 少的管他去死… :(
@godfat 真常:
我很喜歡 Mac 平台啊。事實上,我以前曾經向朋友借了 MacBook 來寫遊戲,是真的能夠在 Mac 上執行的原生程式,不過後來遊戲沒有完成,電腦就還回去了。 Orz
等我找出解決方法後,會再發佈遊戲的新版本。感謝你~ :)
Mac萬歲~ 半路想玩我公司之前用Torque Game Builder做的對戰型Tetris嗎? (未發售..只能DEMO XD)
@tylerlin:
你好,
你們公司製作的是 Mac 平台的對戰型 Tetris 遊戲?
聽起來很有趣,問題是,我並沒有 Mac 主機系統啊。 XD
謝謝回應。 ^^
釋出 v1.1 版本。
在這個 Mac 專用的版本中,我把 map.txt 檔案的資料直接嵌進 NDSGame_TransformPuzzle.nds 裡面,解決原來使用模擬器無法在 Mac 平台下執行的問題。已經在 Mac 平台下測試過,確定可以執行遊戲。 = =+
感謝 godfat 真常 的大力幫忙~ :D
剛收到一位熱心網友 star123 的來信,他為《Transform Puzzle》製作了數個新的關卡地圖!!!
我將 star123 網友製作的地圖包放在這裡提供各位下載。下載地圖包後,只要解壓縮將 map.txt 覆蓋過遊戲中原來的檔案即可執行。
非常感謝來自 PTT 的 star123~! ^_^