Recrit
【捨丸】深境秘寶
基本資料
遊戲名稱:深境秘寶
遊戲分類:動作RPG
遊戲引擎:自製引擎
收費形式:收費軟體(300元)
作者:提克希(幻想工坊)
網頁:http://koming2.myweb.hinet.net/tpa/index.html
測試員評分表(捨丸)
總評 6
系統 5
劇情 6
圖像 7
音樂 8
測試員講評
簡介
「幻想工坊」是近期竄起的同人遊戲社團,而他們的處女作「深境秘寶」則是在台灣同人遊戲界裡頭相當少見的動作型RPG,並且還加入了相當份量的AVG故事,我們可以從這裡看得出創作者令人稱賞的野心。
「深境秘寶」的遊戲型態是傳統的橫向捲軸過關型動作遊戲。也許這個名詞大家會覺得很拗口,那麼只要說是「洛克人」類型的遊戲大家大概就知道了。玩家在遊戲中會操作主角「凱恩」和兩位旅途中相遇的夥伴妖精魔術師「雅莉菲絲」、女騎士「蕾德娜」一同在冒險的舞台「克羅亞島」中探索。除了能夠享受動作型RPG過關斬將的快感外,遊戲中也有不少隱藏了養眼的鏡頭和劇情,讓玩家玩起來更有動力。
劇情
「深境秘寶」的劇情部份相當的王道,玩家跟隨著來到「克羅亞島」追尋「秘寶」的凱恩,隨著不斷地踏破迷宮劇情也跟著發展,慢慢地解開凱恩和其他同伴追尋秘寶的背景。
故事中的確也有著不少充滿魅力的角色,但是在劇情的營造和角色的表現比較缺乏了一點厚實感,感覺沒有讓角色得到充分的發揮。
例如商店內雖然設計有對話的選項,但是裡面的內容卻從頭到尾都沒有變化。不管故事已經發展到何種程度,還是不斷地出現介紹角色的相同內容。
系統
(關卡)
「深境秘寶」雖然是「洛克人」類型的橫向捲軸過關型動作遊戲,但是在途中玩可以任意切換凱恩、雅莉菲絲、蕾德娜三位角色來進行冒險,三者分別是標準型劍士、遠距離魔法師、重威力槍騎士。
依照不同的關卡可以配合不同的角色使用。但是除了一開始第一個地圖必須切換到雅莉菲絲以突破地形、使用遠距攻擊的角色以打破BOSS之外。這個系統並沒有被妥善地發揮出來。
而在關卡的設計中缺乏教學和適當的引導,並且有許多另玩家頭痛的小缺失,這會讓玩家不知道該如何操作。如在第一個map中的踏腳石,跑到第四個map中卻突然變成了無法踩踏的地板,更糟糕的是該關卡中還有部份類似的地方式可以踩的。這樣的設計有著相當的問題,會讓玩家在進行遊戲時遇到困擾。
敵人配置和AI方面也有著不少的bug,例如底部開洞當玩家的角色跳入就會直接進入下個地圖的這種區塊。如果玩家將敵人擊退掉入此種洞穴後,敵人並不會消失而是卡在那裡。此時只有能全畫面攻擊的雅莉菲絲能夠攻擊到它,但是劇情中雅莉菲絲卻會暫時離開,而不打倒敵人又無法前進到下個map,這樣就讓玩家卡住了。
(設定系統)
系統方面使用的引擎是賽爾西斯所建構的Celusystem1.0,在穩定度上相當的健全。但是遊戲內的系統設計依舊有著不少的小缺失。例如劇情中關鍵的「鑽石」道具說明居然配置錯誤、檔案儲存的介面沒有留下時間的資訊也沒有最新檔案的標籤、以及HP、MP數值居然和parameter bar重疊,這些都是微小但是確實影響玩家遊玩時的流暢度和舒適度。
(難度)
以橫向捲軸動作遊戲來說,「深境秘寶」可以說是難度相當平易近人。只要玩家稍微刷一下地圖賺夠了錢直接換成商店內最高級的裝備,就練成金剛不壞之身可以直接輾過去。而地圖的配置裡頭也沒有「洛克人」中最令人深痛惡絕的必殺落穴,除了偶而會出現的蝙蝠海或是遠距離攻擊敵人海,並沒有特別困難的地方。
圖像
繪師PuPu的人設具有相當高的水準,每個角色的喜怒哀樂都能很恰到好處的表現出來。就連在劇情中戲份不多的雜貨店小羅莉也是非常優秀。(為什麼!?為什麼!?露莉的劇情這麼少!羅莉才是真正的秘寶呀!…被總編輯拖走)
但是在演出上則較為薄弱了一些。可能是系統的限制,所以同一時間只能顯示出一個人物立繪,而各種演出效果也幾乎都沒有使用到。在AVG的這部份較為不突出。
而在迷宮的背景圖像和各個角色動作這部份則略顯單調,尤其是在配合度上較為不是很理想。看到一個四隻腳的犬型怪物四腳離地浮空在地面上還是有點詭異。
音樂
「深境秘寶」所使用的音樂全都是由樂師—修Ash所編寫,使用了大量直笛音源營造出的民族風相當的有韻味,每個地圖的音樂也都能夠契合場景的氛圍,在音樂的表現上可說是非常理想。
總評
「深境秘寶」可說是內容相當豐富的野心之作,以動作遊戲來說在圖像和音樂等地方都有不錯的表現,但是筆者最為在意的則是動作遊戲的「遊戲本身」。
如果遊戲本身存在bug而製作者沒有將之解決的話,這對玩家來說是相當難過、也令人失望的地方。因為bug並不是製作者想呈現給玩家的作品,而bug留在遊戲之中的話就會使得製作者並無法真正將自己想講的、想表達的內容傳遞給所有玩家。
希望幻想工坊能夠吸取這次的經驗在下次的創作中更進一步。
(當然也別忘了把「深境秘寶」的bug清掉。)
【捨丸&KID】如何放置SP圖像(2)
* 製作文字列SP
* 文字列SP的獨立命令
文字列SP利用圖像tag也能夠製作,最近的版本也新增了獨立命令。
將文字列製作成圖像檔,表示在畫面上的命令。
橫跨複數行的文字SP也可以用此命令作成。
程式碼
strsp SP號碼,文字列,左上角x座標,左上角y座標,橫向文字數目,縱向文字數目,文字寬,文字高,字間橫向間隔,行間縱向間隔,粗字flag,陰影flag(,顏色指定)…
範例
strsp 1,”出現在那邊的是¥她重要的……”,150,320,23,3,24,25,0,1,0,1,#FF0000,#FFFFFF (注意這邊不要用enter斷行)
strsp為命令本體,為STRingSPrite的縮寫,各種參數的排列方式和setwindow命令相似。
150,320為SP的左上角座標(x,y)。
23為橫向的文字列文字數,當到達最後時會切換到下一行。
3為縱向的文字行數。
24為文字寬。
25為文字高。
0為文字和文字間的橫向間隔。
1為行間和行間的縱向間隔。
0為粗字指定flag。(ON=1,OFF=0)
1為陰影指定flag。(ON=1,OFF=0)
#FF0000為文字顏色。
#FFFFFF為cell2號的文字顏色。(所謂cell2目前就當作滑鼠移動到上面時會出現的顏色)
當想要進行改行的時候請輸入「¥」(和文章改頁的時候是同樣的記號,請注意)。
關於表示字型可以由後述的spfont命令進行更改。
可藉由重複輸入顏色指定來作成複數cell的文字SP。
* 變更文字SP的字型
變更文字列SP字型跟文字大小的命令。
程式碼
spfont “字型名稱”,文字寬,文字高,橫向文字間隔,縱向行間間隔,粗字flag,陰影flag
範例
spfont “MS gothic”,24,25,0,1,0,1
spfont為命令本體,為SPriteFONT的縮寫。
“MS gothic”為所指定的字型名稱。
24為文字寬。
25為文字高。
0為文字和文字間的橫向間隔。
1為行間和行間的縱向間隔。
0為粗字指定flag。(ON=1,OFF=0)
1為陰影指定flag。(ON=1,OFF=0)
利用strsp命令所製作的文字列SP和利用畫像tag所設定的文字列SP皆可以利用此命令來設定字型。
* 文字列SP的移動
將利用文字SP命令作成的SP實際在畫面上移動看看。
可以利用for~next來輸入移動座標數值。而SP移動命令msp、amsp的x,y座標可以以變數輸入來使得其中的數值不斷替換,每經過一次迴圈便會將畫面更新一次這樣一來就可以讓其流暢移動。
「
;mode800
*define
clickstr"!?。」",2
game
*start
bg "BG\093.JPG",1
strsp 1,”出現在那邊的是¥她重要……”,150,320,23,3,24,25,0,1,0,1,#FF0000,#FFFFFF
print 1
click
for %0=0 to 5
msp 1,50,25,255
print 1
wait 500
next
end
」
* 圖像SP的移動
讓圖像SP移動的系統和前述的文字列SP移動命令沒有太大的差別。
將變數輸入x,y座標數值中,使數值的變化重複表現的話便能表示出移動。
* 讓SP移動的可能性
利用for~next做出的SP移動不只是可以用在人物立圖、SP這種較小的圖像上。像是背景的切換上、或是讓比畫面大小還要大的背景圖移動時都可以使用。
能夠藉此做出許多有趣的演出效果。
* 改變人物立圖和SP重疊的關係。
有時後會想要在人物立圖後面表示SP。
像想做出在女主角的後方天空裡有著飛上天的煙火這畫面時,如果煙火的圖像出現在女主角的人物立圖之前那會很令人困擾。並且當設定了許多SP作為button時,可能會出現被人物立圖所蓋住無法表示這樣的情況。
人物立圖的預設階層為第25號。當SP的號碼被設定為0~25號的時候會被表示在人物立圖之前,而如果設定為26號以上的話會表示在人物立圖的後面。
當想要變更人物立圖的階層號碼時,必須在定義區塊使用humanz命令進行宣告。請注意此命令只能在定義區塊使用。
程式碼
humanz 階層的數值
範例
*define
humanz 50
game
*start
humanz為命令本體。
其意義為人物立圖(human)在Z軸(深度)的數值。
50為所指定階層的數值。
在此範例中會變更為:0~50號的SP會表示在人物立圖之前,而51號之後的SP會表示在人物立圖之後。
* 新的SP命令
在之後Nscripter中也追加了新的SP命令。
其特點是旋轉、放大縮小、左右上下翻轉、追加計算blend都變得可能使用。
並非在處理上相當獨特的demo命令,而是真的作為SP來處理所以在使用上變得較為簡便。
但是由於能夠做出更多的處理,所以副作用也使得必須設定的數值增加了。在只是想作為普通的SP處理的時候還是使用以前的命令較為簡單。
* 叫出功能擴張SP的命令
和普通的SP不同,圖像的起點位置並不是「左上角」而是「中心」。這麼是為了讓圖像能夠進行迴轉效果、擴大效果。
擴大率數值於整數方向為擴大縮小,輸入minus方向時則圖像會如鏡像班反轉。當輸入-100的時候為等比例反轉。
回轉角的單位為度能夠輸入0-360的數值。迴轉方向為逆時針旋轉。
程式碼
lsp2 SP號碼,呼叫圖像文字列,中心x座標,中心y座標,x軸擴大率,y軸擴大率,迴轉角度(,初期α值,如省略則為255)
範例
lsp2 0,”:c;test.bmp”,320,240,100,200,36
* 將功能擴張SP以非表示狀態叫出的命令
此命令為將功能擴張以非表示狀態叫出的命令。
程式碼
lsph2 SP號碼,呼叫圖像文字列,中心x座標,中心y座標,x軸擴大率,y軸擴大率,迴轉角度(,初期α值,如省略則為255)
範例
lsph2 0,”:c;test.bmp”,320,240,100,200,36
* 將功能擴張SP以表示狀態叫出的blend命令
此命令為將擴張命令以經過追加計算blend的表示狀態叫出的命令。
程式碼
lsp2add SP號碼,呼叫圖像文字列,中心x座標,中心y座標,x軸擴大率,y軸擴大率,迴轉角度(,初期α值,如省略則為255)
範例
lsp2add 0,”:c;test.bmp”,320,240,100,200,36
和普通的lsp2命令不同之處為圖像經過追加計算blend。
追加計算blend為在圖像的明亮度上經過重複計算的加算方法。簡單的說,就是圖像會變得更明亮。
利用這個功能就能夠表現出霓虹、光束兵器這樣的表現。
* 將功能擴張SP以非表示狀態叫出的blend命令
此命令為將擴張命令以經過追加計算blend的非表示狀態叫出的命令。
程式碼
lsph2add SP號碼,呼叫圖像文字列,中心x座標,中心y座標,x軸擴大率,y軸擴大率,迴轉角度(,初期α值,如省略則為255)
範例
lsph2add 0,”:c;test.bmp”,320,240,100,200,36
* 功能擴張SP消去命令
將功能擴張SP從記憶體上消去的命令。
程式碼
csp2 SP號碼
範例
csp2 2
* 功能擴張SP的移動命令
利用相對位置的移動命令
讓功能擴張SP的現在位置座標數值經過增加或是減少的移動命令。
程式碼
msp2 功能擴張SP號碼,中心x座標增減數值,中心y座標增減數值,x軸擴大率增減數值,y軸擴大率增減數值,迴轉角度增減數值(,α數值增減值)
範例
msp2 0,10,20,-10,10,5
msp2是命令本體。
0是功能擴張SP的號碼。
10是x軸座標的增減數值。當想要朝相反方向移動時請輸入-10這樣加上minus符號的數值。20是y軸座標的增減數值。當想要朝相反方向移動時請輸入-20這樣加上minus符號的數值。
-10是x軸方向擴大率的增減數值。10是y軸方向擴大率的增減數值。
當擴大率的數值經過減法變成負數的時候,圖像會像鏡像這樣反轉。
5為迴轉角度的增減數值。數值為正數時方向為反時針轉,當數值為負數的時候方向為順時針轉。
使用這個命令後必須使用print命令才能夠使它表現。
利用絕對位置的移動命令
將擴張功能SP從現在的座標位置移動到所指定絕對位置的命令。
程式碼
amsp2 功能擴張SP號碼,中心x座標絕對數值,中心y座標絕對數值,x軸擴大率絕對值,y軸擴大率絕對值,迴轉角度絕對值(,α數值絕對值)
範例
amsp2 0,300,150,-100,50,60
asmp2為命令本體。
0為SP號碼。
300為x軸座標的絕對值。
150為y軸座標的絕對值。
此命令所利用的是絕對座標,直接輸入x,y的座標值。SP會直接表示在這個座標上。
-100為x軸的擴大率絕對數值。50為y軸的擴大率絕對數值。當擴大率為minus數值的時候,圖像會在其軸線上進行鏡像反轉。60為旋轉角度的數值。依據所輸入的數值進行逆時針旋轉。
使用這個命令後必須使用print命令才能夠使它表現。
* 將功能擴張SP暫時消去或是表示的命令
此為能夠將功能擴張SP切換表示模式、非表示模式的命令。
程式碼
vsp2 功能擴張號碼,表示flag(0或1)
範例
vsp2 1,0
vsp2是命令本體。
1為SP號碼。
0為表示flag。當數值為0的時候為非表示模式,數值為1的時候為表示模式。
使用這個命令後必須使用print命令才能夠使它表現。
* 將功能擴張SP一起消去或是表示的命令
將功能擴張SP一起消去
將全部的功能擴張SP一起暫時消去。
將目前被表示,全部的功能擴張SP全部切換至非表示狀態。
程式碼
allsp2hide
範例
allsp2hide
將功能擴張SP一起表示
將被allsp2hide所隱藏起來的功能擴張SP表示出來。
並不會對被vsp2等命令個別消去的功能擴張SP做出反應。
當想要讓button console、SP的集合一起消去或是出現的時候可以用到的命令。
程式碼
allsp2resume
範例
allsp2resume