[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
将来アクションゲームを作るとしたら敵パターンを
考えないといけないと思うので参考まで目玉のアイツを解析
してみた。ロックマンシリーズの最多登場の敵である。
イエロデビル(1)
イエロデビルMKⅡ(3)
ダークムーン(GB5)
グリーンデビル(8)
グリーンデビルMKⅡ(ロクフォル)
シャドウデビル(X5)
レインボデビル(Z)
レインボデビルMKⅡ(Z2)
この敵は、分裂して襲ってきて、合体して本体を表すと言う
パターンの敵であるが初代FC版(1990年)に登場時には、
脅威のボスだった。コイツは、作成するとしても難しく、今諦めてます。
8のFC版のスクリプトを参考にやってみたがさっぱりでした。
分裂して間がダメージを受けないと言う所で息詰まった。
FC版ロックマンは、8BITの制約の中で構築されているので
偉大さを感じます。マップエデイタとノベル部分がそれぞれ違う
構造みたいなので分かりません。
複数の敵のパターンは、敵それぞれにアドレスが振られていて、
ソレをLUAのようにパターン化している。(参考>FC版7移植)
ロックマン風同人ゲームは、数多く存在しますが
本家に近い形で作られているのは、
FC版7移植とRosenkreuzstiletteとmechanicmanぐらいだと
思います。大体がGIGADEEPように
Multimedia Fusion製が多く、スペック的に高くなるのが
特徴。グラボが悲鳴あげるほどに(泣)
しかし一からスクリプトを作り⇒ノベルとアクション部分をうまく組み込める
ようにするが難しいと言うことで…。
DXライブラリなどのHPに描いてあるのは、MAIN・CPPに
実装するやり方である理解しにくいのであるが
アクション部分などは、別のシステムを理解することが良いみたいで
LUAが代表格。(マップエディタ製作しなくて表示が楽で動作が軽い)
★FC版移植のとある敵スクリプト
BeginAction @back
Size 12 87
Center 6 0
Velocity 0x0 0
Accelerate 0x0 0x0
DamageJudge None
AttackMode 0
#Offset 10 0
BeginSpriteLayer
Channel 0
Blt 7 -10 0 32 96 96 96 0
Blt 8 -10 0 32 96 128 96 0
Blt 9 -10 0 32 96 160 96 0
Blt 10 -10 0 32 96 192 96 0
Blt 9 -10 0 32 96 160 96 0
Blt 8 -10 0 32 96 128 96 0
Blt 7 -10 0 32 96 96 96 0
EndSpriteLayer
AlarmTime 58
Event Alarm Change @centertofront
EndAction
(簡単に言うとMUGENような命令で表記します)
ともかく私としては、ノベルゲーム実態作成できてない
ので頑張っている所です。NSスクでLUAが実装されて
いるようなので色んな実験を重なってます。
今は、旧型EXEでどこまでいけるかと思い、作成しながら
将来的には、NSスク新型やDXライブラリを使った
ゲームを作りたいと思います。
ちなみに
初代イエロデビルは、サンダビームで攻撃しますが
頑張ればノーダメージでいけます。
解析した攻略は、以下通りです。参考までに
⑧
⑬ ⑦ ④
⑫ ⑩ ⑥ ①
⑮ ⑨ ③⇒
(このように動作しますので)
小ジャンプで①③⑥避ける
大ジャンプで⑨⑩を2つ同時に飛び越える
小ジャンプ真上に飛び⑫をよけ
短く真上ジャンプして⑮を避けるが⑯が頭上に来ますので注意
してすべてを避けてビームを当てるを繰り返す。
小3⇒大1⇒小1⇒短1(攻略方法)
選択肢ループの説明が分かりやすくするための参考画像
(参考>MD ロックマンメガワールドより)
面白いゲームを作る時に悩む問題の一つでしょうがコレを
説明したいと思います。これを覚えれば幅も広がると思いますよ。
上の画像は、説明しやすい用で深い意味は、ないです。
(説明用にNsスクリプトで組んだ時に8体も組む気力がなかっただけです)
移植して欲しい作品の一つですがかなり鬼畜LVです。
(私が昔あったMDは、体内電池?の影響で死にましたので)
ロックマンシリーズの特徴の一つがBOSSを倒せばW面にいけるように
なる仕掛け。コレは、選択肢ループの良い例です。
選択肢ループが色々なゲームに使われているので劣化移植派でも
役に立ちます。以下の通り
①すべて選択肢を選ばないと次に進めないようにする。
②攻略キャラの全てグッドEDを見ると隠しモードなどへいける。
要望の多かったNScripterでやってみます。
上の画像みたいになるようにします。(旧式EXE、PSP用)
*si(ステージ選択シーン)
bgm"bgm\W01.wav"
bg"BG\メガW.bmp",4
;サル 河童 ブタをすべて通るとタワーへ行く条件
if %2000=1 && %2001=1 && %2002=1 goto *s_w00
lsp 31,":a;BG/枠 5588.bmp",42,370,255
lsp 32,":a;BG/枠5588.bmp",551,370,255
lsp 33,":a;BG/枠 5588.bmp",290,64,255
*L_btn_si
exbtn 31,1,"P31C32C33S1,(SE\.wav)"
exbtn 32,2,"C31P32C33S1,(SE\.wav)"
exbtn 33,3,"C31C32P33S1,(SE\音データ)
print 2
textoff
btnwait2 %0
btndef ""
csp -1
;これ以降は必ず画面が切り替わるので、ボタン定義とスプライトを消しておく
;bg black,10,300
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if %0 == 0 goto *L_btn_si
if %0 == -1 systemcall rmenu
if %0 == 1 dwave 1,"se/決定音.wav":wait 3000:goto *s_kap
if %0 == 2 dwave 1,"se/決定音":wait 3000:goto *s_buta
if %0 == 3 dwave 1,"se/決定音.wav":wait 3000:goto *s_saru
*s_saru
bgm"bgm\Wセレクト.wav"
bg"BG\BG BRG1.bmp",4
!w2800
goto *s_saru02
*s_saru02
bgm"bgm\BS01.wav"
bg"BG\BSG1.bmp",4
!w15000
mov %2001,1
;選択されるとグロバール変数に1追加する。
goto *si
(サルだけしか描いてませんが他の2体もこのように追加)
ただmov %2000ように他のキャラは、変数番号を変える。
*s_w00
bg"BG\W1.bmp",4
bgm"bgm\W01.wav"
!w8000
goto *W01
(このようにスクリプトを組めば擬似で再現できます)
if %2000=1 && %2001=1 && %2002=1 goto *s_w00の部分が
重要です。C言語での&&と同じ考えなので使いこなせば
楽になります。&&は、両方満たせないと成立しないので
次に進めないと言う条件式です。&&は、いくつも繋げます。
ノベルゲームでも組めますのでマスターしましょう。
マップ選択肢やタイトルの隠しメニュー実装用としてです。
最近、良いことなかったのでレトロゲーばかりして癒されています。
そんな時に思い付いたのがNsスクでRPGってできるじゃないのかな?と・・・
「あの時代の良かったなあ~面白いゲームばかりだったし」
今に比べて画質が荒かったですが味があり過ぎで個性的なゲームが多かったこと。
アレの良さを生かした今風のゲームを作りたいと思って、SFCやPS-ONEを
箱から出してプレイ研究。「やっぱり神だな~」と思う。
お気に入りは、ヴァルキリープロファイルと聖剣伝説3
子供のことは、高額ソフトで買えなかったSFCのRPGでした。12000円って
シリーズものって1と2と流行るが3で転ぶと終わりだとジンクスも言われたし、
メーカーの力の入れようが凄かったです。新システム導入って感じで。
今もなんとなく人気になるものは、このジンクスに合って嵌っている気がします。
3で注目されたものが多い。ゲーム(昔)⇒パチスロやエロゲー(今)?
(SFC時代 RPG) やったことある物
魔導物語⇒ぷよぷよのアルルが主人公RPG
聖剣伝説⇒BOSS戦のBGMが神クラス
スターオーシャン⇒3人に選べないW~(PS)
テイルズ オブ ファンタジア
真女神転生
ナイトガンダム物語
ブレスオブファイア
マザー
大貝獣物語
ファイナルファンタジー⇒あのボス、ジャンプ攻撃しか効かねえW
ドラゴンクエスト⇒3そして伝説へ~
ロマンシングサガ
天外魔境⇒3ジンクス
LUaを併用して立ち絵に動き付ける対しEXは、コレ単体で
命令できるようにしている。KAGは、吉里吉里特有の命令
文で実装可能している夢のEXEである。JAVEに似ている
ので使いやすいとも言われており、多く商業メーカーで採用
されています。なので今回は、KAGEXに挑戦します。
①KAGEXを入手します。
kagexsample(ある程度は、もう組んであるみたいです)
コレを自分色に染めるために改良しようと思います。
初めとなる今回は、背景を変えて見よう!!
吉里吉里EX>data>envinitに書かれる所
背景
// 場所情報
"stages" => %[
"道路" => %[
"image" => "bg01_TIME",
],
],
"defaultTime" => "昼",
<下記ように変える>
// 場所情報
"stages" => %[
"道路" => %[ "image" => "bg01_TIME"],
"露天風呂" => %[ "image" => "bg02_TIME"],
],
"defaultTime" => "昼
(bgimageフォルダに背景追加)
bg01_01.png
bg02_01.png
(scenarioフォルダにchar.ks追加)
[露天風呂 normal]
KAGEX ワールド拡張を用いたスクリプティングのサンプルです。
比較的シンプルな記述で高度な演出を行うことができます。
………ように変えれば背景が簡単に登録されてはずです。
今後調査することは、
テキストをキャラごとに色を変える方法
汗などアニメションを表示方法 などかな?では、またです。
最近何かと話題なNsスクですがワイド対応になったことを記念して良さを
再確認しようと色々と実験してみました。
①スロット風に見せてみる?
キャラゲーが大好きな私のお気に入りのスロットのマジカルハロウィン3です。
(正直にオフラインなPCゲームと形で発売してほしいと思います><)
ギャンブルが超苦手ですから~。ともかく実験的なのでリールが下へ流れる
ようにしていきます。問題なのは、画像をどのようにループさせるかと言うこと
でしたが色々試した結果、あどばんす(絶版)本と格闘すること1日半で
なんとかできました。
スロット風なスクリーンセーバーのスクリプト(注>スロットみたいに遊べません)
https://box.yahoo.co.jp/guest/viewer?sid=box-l-d6xjpmlcvmgtgnn7rn3zzhif7a-1001&uniqid=944c72c4-0205-4147-a77a-df6e1d11ae95&viewtype=detail
注>Nsスクの旧式EXEのスクリプトです。
現在Lua対応版では、動作不安になります。
②エロゲー風な汗などスプライトを表示
作品名で例えるとしたら恋神 -ラブカミ-(PULLTOP)やあかときっ!
(エスクード)作品などでキャラの表情を豊かにしている汗などのスプライト!
コレを再現してみました。今回は、立ち絵の表示命令のld cと言う命令を使いません。
立ち絵をlsp命令で表記させて目パチも再現をしてみます。コレの問題点は、Nsスク
だけ特有のアルファーブレンド画像作成方法ですが前回の記事で書いた通りのこと
で解決しました。その方法も上記のリンク先のフォンダ内で参考再現させておきました。
裏番外編 *PSPでエロゲー再現のもNsスク命令文?
0NScripterは、Nsスクのソースコードで作成されていますでNsスクを熟知
していれば簡単ですがしかし、Nsスク以外のEXE作成物だとコンバートする
必要があるので超難度。その問題点を挙げておきます。
☆Ns命令で再現方式の理解
☆座標が判定が数値で細かくこと⇒逆に真ん中だけに表示だけだと簡単ですが。
☆画像の連結や分離の技術⇒PerlやimageUtilityやImageMagickなど
☆バイナル整形⇒@ ^ $ &などのメタ文字削除($line =~ s/¥x40//g;)
某超難度のCOV作成ために試しに実験した物なので調整しない限り、
今の所は使い物になりません。ただ読めるだけで選択肢や立ち絵座標が
ぐちゃぐちゃです。立ち絵は、重なるなどと言う問題などが解決できれば
お気に入り作品などPSP化できるようです。今の所コレのCOVは、保留。
注>抽出方法などは、聞かないでね!