Recrit
【捨丸】數論冒險譚
基本資料
遊戲名稱:數論冒險譚
遊戲分類:動作RPG(やりこみ)
遊戲引擎:自製引擎
收費形式:收費軟體
作者:賽爾西斯(漸之拓)
網頁:http://zestostudio.blogspot.com/
測試員評分表(捨丸)
總評 8
系統 8
劇情 7
圖像 7
音樂 7
測試員講評
簡介
漸之拓是台灣同人團體中少數能夠以自行建構的遊戲引擎製作遊戲的團體,而「數論冒險譚」乃是漸之拓的第三個作品了。
「數論冒險譚」的遊戲畫面第一眼雖然會讓人想起有名回合制迷宮系RPG「風塵英雄」,但是實際上是完全不同類型的遊戲。
「數論冒險譚」擁有只需要一隻滑鼠就可以完全自由操作的動作性、可以讓玩家自由編輯的招式系統等,在遊戲性方面的表現相當優秀,雖然在圖像跟音樂上的表現較為單調,但是仍為相當值得一玩的遊戲。
劇情
劇情是什麼?可以吃嗎?(ry
上面超級大誤。不過身為(壓力摳米型)動作遊戲的數論冒險譚沒有也不需要複雜離奇的劇情就是了。
簡單來說就是:物理系魔法美少女拉利絲為了自己的正義為了自己的爺爺,舉起手上大錘將所有阻擋在面前的敵人全都化為星星!
但是部份劇情使用了之前作品的人物以及內容而又沒有給予適當的說明,只有玩本作的玩家可能會感到有些沒頭沒尾無所適從。
系統
(招式)
「數論冒險譚」最大的賣點就在於可以讓玩家自由改造變更的招式系統。玩家不只可以編輯主角拉利絲的攻擊動作,每個招式裡面可以自由裝入三樣效果,而每樣效果又都各自有等級上的差異。
由於存在大量可以讓玩家自由編輯的參數,因此壓力摳米型的玩家可以盡情的追情數字的浪漫,挑戰系統的極限一擊轟出「99萬」這樣的破天荒數值。當然也有可能是我們被怪物打出這樣的數值…。
(迷宮)
迷宮內每10層為一個主題,每個主題迷宮中都有個特殊的地形和怪物,這部份的編輯算是相當地用心。迷宮內的陷阱也是各式各樣除了常見的地雷、落石之外,隨著劇情進度也會出現落雷、沙塵暴等,但是由於迷宮是屬於利用隨機迷宮產生器所產生的類似迷宮,在必須重複踏破來收集素材的情況下作業性質還是太高。
而完全使用滑鼠控制在操作上雖然簡便,但是也產生了問題。
由於是即時性很高的動作遊戲,因此玩家下指令進行操作的頻率相當的高。玩家的遊玩中必須不斷地點擊點擊、或是壓住滑鼠左鍵不斷移動。
就筆者本身的操作習慣來說大概玩個3.40分鐘就習慣讓手指頭休息一下,以免過度使用而造成傷害,但是以一個需要大量遊戲時間的動作型遊戲來說這是個蠻大的問題。
(難度)
而本遊戲中最為困難的部份不是在於每10層出現的BOSS,反而是每關迷宮中表死人不償命的各種陷阱和小兵的combo,例如主角被加速之後踩到地雷、被小兵減速之後直接被五雷轟頂等讓人想要摔滑鼠的死法。
大部分時間都是小心翼翼地在迷宮中前進,反而遇到BOSS時可以讓玩家鬆一口氣。BOSS的攻擊模式大都非常明顯的容易判讀,甚至連初見殺(注:指第一次看到時幾乎打不贏)的BOSS都可以說是沒有。
也不是沒有對抗各樓層地形的裝備,但是由於素材出現率問題等到玩家真的收集到目標的素材數量時大概已經等級高到炸裂,直接輾過去就可以了。
雖然系統給予玩家高度的調整空間但是素材的出現率過低導致的收集困難,以及經驗值的容易累積等現象。這部份的數值平衡度給筆者的感覺是調整地還不太好,過度要求玩家壓力摳米而反而使得原本高柔軟性的系統沒有得到充分發揮。
圖像
2D圖像部份的表現並沒有特別圖出的地方,但是整個迷宮、人物和怪物的3D模組運作的相當順暢,筆者在遊玩時幾乎沒有運到任何的問題只有發生過一次意外的當機。以自製引擎來說是非常好的穩定度。
音樂
每個迷宮都有自己的主題曲,雖然略為簡單但是也都適當地表現出各迷宮的風格。
【捨丸&KID】如何放置SP圖像
今天要來介紹NScripter裡的SP(sprite)相關指令,也就是在遊戲畫面放放置除了人物圖、背景圖之外的圖片,可以增加遊戲畫面的豐富度,甚至可以藉著NScripter指令製作簡易的動畫。
* 所謂的sprite是?
Nscripter中所用的sprite為可以在畫面像自由配置的圖像。(在之後都以SP簡稱)
Point:SP到底是什麼東西?
SP是在從前電腦的記憶體還很少的時候,為了在畫面上製作出動作激烈的感覺而產生的東西。將幾個較小的圖像和背景圖像組合使用,使其產生動作。
由於是較小的圖像能夠節約記憶體的使用,藉由各種圖像疊合的效果也能夠產生深奧的表現。
以2D射擊遊戲來作為例子,不管是自機、敵人還是子彈都是以SP所作成,藉由各自進行計算產生動作而後表示在畫面上。
從語源上來看,sprite是指西洋文化中的妖精。由於這是妖精的總稱,不管是小妖精(pixie)、等人身的妖精(elf)、矮人妖精(goblin)都能夠被稱為sprite。由於在電腦產業界愛好幻想奇幻世界的人相當多,可能因此將在畫面上突然消失突然出現的圖像稱為sprite。
* SP會在何種時機使用到?
如圖像button、讓角色產生動作的演出等,在開始想要使用較多技巧和心力時,常常會用到SP。例如在目錄頁時所使用的按鈕常常是以SP所表示。
* 雖然存在但是為看不見的狀態,又有著透明度的問題所以相當複雜
利用lsph命令所呼叫出的SP雖然存在於畫面上,但是無法被看見。
那麼這可以說是「透明」囉?雖然可能會這麼認為,但是實際上還有著圖像透明度的設定,所以並不是透明。只是無法在畫面上看到而已。和所謂的「透明」是不一樣的狀態。
設計成這麼複雜的系統是因為當SP被用於按鈕等狀況時常常會有想要暫時從畫面上消去的時候,並且在進行動作的處理時,比起每次都從硬碟中呼叫出來,還是暫時放置於記憶體中以看不見的狀況待機,這樣的執行速度比較快。
以看不見的狀態待機這名詞雖然不容易直接以直覺來理解,但是藉由操作SP應該就能夠慢慢理解。
* 在畫面上呼叫出SP
首先說明在畫面上呼叫出SP的命令。
程式碼
lsp SP號碼,呼叫圖像的文字列,x座標,y座標(,透明度:0-255:省略的時候為255)
範例
lsp 0,”:c; butterflyUp.jpg”,224,95
「
;mode800
*define
clickstr"!?。」",2
game
*start
bg "BG\093.JPG",1
lsp 0,":c;butterflyUp.jpg",224,95
click
end
」
lsp為命令本體。
此為LoadSprite的縮寫。
此命令的意義是在畫面上以表示狀態叫出圖像。
雖然說是表示狀態,但是其實只是以完成表示準備的意思,光只是這個命令並無法在畫面上表示。在輸入print命令,重新更新過畫面時才會被表示。
「
;mode800
*define
clickstr"!?。」",2
game
*start
bg "BG\093.JPG",1
lsp 0,":c;butterflyUp.jpg",224,95
print 1
click
end
」
lsp 0,” :c; butterflyUp.jpg”,224,95
0為SP的號碼。
可以同時使用0~999號總共1000個SP。
被表示的圖像會重疊。但是0號為最上層,而999號為最下層。
lsp 0,”:c; butterflyUp.jpg”,224,95
:c; butterflyUp.jpg為將圖像呼叫出來的文字列。
:c;為利用copy的圖像tag來處理圖像(請參考之前人物立繪教學)。
lsp 0,”:c; butterflyUp.jpg”,224,95
224是x座標,而95則是y座標。
這兩個數值指定SP圖像左上角的表示座標。
* 表示在畫面上
print命令為更新表示畫面的命令。
程式碼
print effect號碼
範例
print 2
利用指定的effect將畫面表示更新的命令。
2為定義好的effect號碼(請參考之前的教學)。
當有SP以表示狀態存在時,print命令會更新畫面,並且以所指定的effect來使SP出現。
* 消去SP
從記憶體上完全去除
消去SP的命令。連記憶體上的data也會一起消去。
程式碼
csp,SP號碼
範例
csp,0
csp是命令本體。
為ClearSPrite的縮寫。
0為SP號碼。
當SP號碼指定為-1的時候,會將目前所設定的全部SP都從記憶體上消去。
在使用這個命令的時候不需要用print命令。
暫時性消去或表現的命令
暫時性在畫面上將SP消去時和想將畫面上暫時被消去的SP表現時會使用到vsp命令。這是將vsp切換表示、非表示的命令。
程式碼
vsp SP號碼,表示flag(0/1)
範例
vsp 1,0
vsp是命令本體。
為VisionSPrite的縮寫。
1為SP號碼。
0為表示flag。當此數值為0的時候為非表示狀態、數值為1的時候為表示狀態。在此命令之後輸入print便能夠使SP的表示非表示狀態反應出來。
統合輸入
vsp 1,1
print,2
—當這樣分成兩行輸入的時候,處理速度較慢的電腦可能會產生lime lag。
因此在表示SP的時候,將這兩個命令統合輸入可以避免產生time lag。
vsp 1,1:print,2
藉由「:」可以讓不同的命令在同行輸入。
讓全部的SP暫時被消去
程式碼
allsphide
範例
allsphide
將全部的SP暫時隱藏起來。
將現在被表示的全部SP全部切換到非表示狀態。
讓全部的SP切換至表示狀態
程式碼
allspresume
範例
allspresume
將利用allsphide命令隱藏起來的SP全部表示出來。
請注意,不會對利用vsp命令個別切換的SP有所反應。
當想將button console、SP的集合一起消去或是表現時會使用到的命令。
* 將SP以非表示狀態呼出
程式碼
lsph SP號碼, 呼叫圖像的文字列,x座標,y座標(,透明度:0-255:省略的時候為255)
範例
lsph 0,”:c; butterflyUp.jpg”,224,95
lsph為命令本體。
為LoadSPriteHiden的縮寫。
0為SP號碼。
“:c; butterflyUp.jpg”為所叫出檔案的名稱。
224為SP的左上角x座標。
95為SP的左上角y座標。
使用這個命令所叫出的SP雖然存在,但是在畫面上是非表示狀態。
這個命令是用於讀取複數張的動畫圖像高速切換表示的時候、或是想將button圖像全部一起配置因此在一開始保持著非表示狀態會較方便等各種狀況下可以用到。
lsph所叫出的圖像雖然存在但是看不到。雖然在記憶體內存在,但是在畫面上非表示因此稱為非表示狀態或待機狀態。
* 讓SP移動
當想要移動SP的時候使用到的命令。
在製作動作性的演出效果時是不可缺少的命令。
相對位置的移動命令
讓SP的現在位置座標數值經過增加或是減少的移動命令。
程式碼
msp SP號碼,x座標增減數值,y座標增減數值,透明度增減數值
範例
msp 0,50,25,255
msp為命令本體。
為MoveSPrite的縮寫。
0是SP號碼。
50為x座標的增減數值。當想要往相反方向移動的時候,請加入minus記號(-)輸入-50。
25為y座標的增減數值。當想要往相反方向移動的時候,請加入minus記號(-)輸入-25。
255為透明度的增減數值。當想要增加透明度的時候(朝透明的傾向變化)請輸入整數的數值,當想要降低透明度的時候(朝不透明的傾向變化)請輸入負數。當透明度為0是完全透明,255是完全不透明。
使用這個命令後必須使用print命令才能夠使它表現。請注意每移動一個位置都要用print命令,並且中間要加上wait命令才會有移動的視覺效果。
「
;mode800
*define
clickstr"!?。」",2
game
*start
bg "BG\093.JPG",1
lsp 0,":c;butterflyUp.jpg",224,95
print 1
click
msp 0,50,25,255
print 1
wait 500
msp 0,50,25,255
print 1
wait 500
msp 0,50,25,255
print 1
wait 500
msp 0,50,25,255
print 1
wait 500
end
」
這種指令之後可以用迴圈指令簡化,在之後的教學會提到
絕對位置的移動命令
讓SP從現在的位置移動到所指定位置的命令。
程式碼
amsp SP號碼,x座標增減數值,y座標增減數值,透明度增減數值
範例
amsp 0,250,150,255
amsp為命令本體。
為AbsoluteMoveSPrite的縮寫。
0為SP號碼。
250為x座標。
150為y座標。
此命令所使用的是絕對座標,直接輸入x,y座標的數值。SP會在此座標上被表示。
255為透明度的數值。利用0~255範圍的數值來設定透明度。0為完全透明,255為完全不透明。
使用這個命令後必須使用print命令才能夠使它表現。