NDS小遊戲:Transform Puzzle

nds-game-transform-puzzle-screenshot

遊戲名稱

Transform Puzzle

遊戲平台

Nintendo DS 遊樂器,或 PC 及 Mac 平台的 NDS 模擬器。

遊戲連結

NDSGame_TransformPuzzle.zip (下載次數: 1567 )
NDSGame_TransformPuzzle_v1_1.zip (Mac 平台用)(下載次數: 1002 )
擴充地圖包:TransformPuzzle_Map_PTTstar123.zip (製作者 PTT star123)(下載次數: 672 )









遊戲概述

將角色移動至鑰匙處即可過關。角色有氣體、液體與固體三種型態的變化:

  • 當角色為氣體時,遇到雪花會變成液體。
  • 當角色為固體時,遇到火把會變成液體。
  • 當角色為液體時,遇到雪花會變成固體,遇到火把會變成氣體。

而每種型態下的角色,都有能夠通過以及無法通過的地形。因此,玩家必須適時地在角色的三種型態之間轉換,才能夠順利地到達鑰匙的所在地。遊戲目前共有 7 個關卡;另外,玩家也能夠自行設計與創造遊戲關卡

  • 上螢幕:記錄各種資訊,包括遊戲版本、關卡作者、目前關卡、角色型態,以及角色目前移動了幾步。
  • 下螢幕:遊戲的主要畫面。

遊戲中無背景音樂,角色型態變化以及過關時都會有小小的音效提示。過關後,上螢幕會顯示「Level Cleared!」訊息,請按下 NDS 主機的「A」鈕前往下一關。

以下為遊戲中各種圖示的簡介:

air
(1),角色為氣體狀態。


(2),角色為液體狀態。

solid
(3),角色為固體狀態。

key
(@),過關鑰匙。

grass
( ),草地,三態皆可通過。

mountain
(#),高山,三態皆不可通過。

fire
(+),火把,會使固態變成液態、液態變成氣態。氣態不可通過。

snow
(-),雪花,會使氣態變成液態、液態變成固態。固態不可通過。

sand
(=),沙漠,液態不可通過。

gap
(a),峽谷,只有氣態能夠通過。

river
(q),河流,只有液態能夠通過。

wind
(s),狂風,只有固態能夠通過。

flower
花朵,需達成某種特殊條件才會出現。

執行方法

下載 NDSGame_TransformPuzzle.zip 檔案後執行解壓縮,內含 NDSGame_TransformPuzzle.ndsmap.txt 兩個檔案。

  • NDS 主機:需要有 NDS 主機可使用的備份卡。將上述兩個檔案複製至備份卡的根目錄下,開機後選擇執行 NDSGame_TransformPuzzle.nds 檔案。
  • PC 平台:需下載 NDS 模擬器,如 DeSmuMEPC 版本下載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 平台專用版本。

如有任何問題或建議,歡迎留言指教。謝謝!

16 thoughts on “NDS小遊戲:Transform Puzzle

  1. 這是大大你做的嗎???

    我有看大大你的 “初探Nintendo DS程式開發”
    可是太難了 @@
    可不可以對完全沒有任何知識的人
    作”簡單”教學阿

    半路:
    是的,這是我製作的小遊戲。不過我只負責其中的程式與設計部分而已,美術圖片則是有某專業人士的大力相助。 XD
    (已補上製作團隊的名單 = =+)

    至於教學的部分,請看「關於」裡面的回應喔~

  2. 請問這種”棋盤式”的遊戲設計方式有什麼專有名詞嗎? 類似”橫向捲軸”之類的名詞.

    半路:
    這個嘛,我也不清楚是否有專有名詞哩。 XD

    我認為比較合適的名詞應該是 Grid-based Game 或 Tile-based Game;如果翻譯成中文,「棋盤式遊戲」或「網格狀遊戲」應該是比較合適的專有名詞吧。

    不知道這個專有名詞有什麼作用呢? = =a

  3. 以前研究所有一門課的期末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都有個名字.

  4. @Hua:
    原來如此,我沒有使用過 ARM+FPGA 平台,不過感覺上程式設計的原理應該滿接近的,應該就像 NDS 一樣,需要處理許多記憶體位址的細節吧?(突然覺得可以在 PC 上寫程式真是好命 ~_~)

    如果以程式設計者的觀點來看,這種設計與呈現的模式的確可以稱為 Tile-based Game 沒錯~

    感謝你的進一步說明。 ^^

  5. 我抓了 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. 看起來很有趣,因此想試試看,感謝囉

  6. @godfat 真常:
    你好,

    如果顯示「Failed to read map data!」訊息的話,表示模擬器找不到或沒有成功開啟 map.txt 這個檔案!我沒有實際用過 DeSmuME Mac 版,不知道你是否有把 NDSGame_TransformPuzzle.nds 與 map.txt 一起放在模擬器的執行檔目錄下?或許也可能需要把檔案丟進 DeSmuME.app 中的某個資料夾,才能夠讓它順利找到 map.txt 檔案載入。

    我對 Mac 系統的記憶已經是很久之前的事了,所以並不確定這樣是不是能夠順利執行(汗)。希望你能夠成功搞定!謝謝。 ^^

  7. @半路

    呃嗯,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 大概不會用吧…)

  8. 啊,我剛剛忽然想到,我想成 .nds 要跟 map.txt 放在一起,
    現在的狀況是要分開吧?於是我把 map.txt 搬到:

    DeSmuME.app/Contents/MacOS/map.txt

    然後 .nds 仍然放在跟 DeSmuME.app 同個目錄下。
    可惜很不幸的是,還是 Failed to read map data! XD

    這樣我真的沒轍了,大概要換模擬器試吧 @_@

  9. @godfat 真常:
    模擬器的問題果然不少啊。我剛剛測試之後發現,只要我更改了 map.txt 的讀取路徑後,所有的模擬器都無法正確地找到檔案。這個問題似乎和我所使用的 libfat 函式庫相關,目前我還不知道該怎麼解決;也就是說,目前在 Mac 下無法執行遊戲(暈)。最近這幾天我會再仔細研究看看有沒有解決方法。 = =+

    非常感謝你的幫忙~ XD

  10. 不客氣,也感謝你願意讓遊戲跑在 mac 上 XD

    這真的值得令人高興,畢竟很多人都會說 user 少的管他去死… :(

  11. @godfat 真常:
    我很喜歡 Mac 平台啊。事實上,我以前曾經向朋友借了 MacBook 來寫遊戲,是真的能夠在 Mac 上執行的原生程式,不過後來遊戲沒有完成,電腦就還回去了。 Orz

    等我找出解決方法後,會再發佈遊戲的新版本。感謝你~ :)

  12. @tylerlin:
    你好,

    你們公司製作的是 Mac 平台的對戰型 Tetris 遊戲?
    聽起來很有趣,問題是,我並沒有 Mac 主機系統啊。 XD

    謝謝回應。 ^^

  13. 釋出 v1.1 版本。

    在這個 Mac 專用的版本中,我把 map.txt 檔案的資料直接嵌進 NDSGame_TransformPuzzle.nds 裡面,解決原來使用模擬器無法在 Mac 平台下執行的問題。已經在 Mac 平台下測試過,確定可以執行遊戲。 = =+

    感謝 godfat 真常 的大力幫忙~ :D

  14. 剛收到一位熱心網友 star123 的來信,他為《Transform Puzzle》製作了數個新的關卡地圖!!!

    我將 star123 網友製作的地圖包放在這裡提供各位下載。下載地圖包後,只要解壓縮將 map.txt 覆蓋過遊戲中原來的檔案即可執行。

    非常感謝來自 PTT 的 star123~! ^_^

Leave a Reply