オリジナルゲーム【モンスターだらけの森】のウディタ解説
今回マナは、『ウディタ講座』と『挫折して再び講座』で学んだ知識を主に使って、ゲームを作りました。
先ほど確認したら、初心者用の『ウディタ講座』のサイトは、エラーを起こして表示されないようです。
一番最初に学ぶには適してたサイトだったから、早く復旧するといいな・・・。
復活してました!
リンク→https://su-labo.sakura.ne.jp/kouza/
↓下のムービーは、プレイ動画です。
相変わらず、強引設定がいっぱいあります(´・ω・`)参考程度にどうぞ。
1. タイトル設定
▲選択メニューは、講座で習った通りです。▲『続き』を選んだ時の画面です。
セーブ設定をデフォルトのメニュー内でするので、複数の場所にセーブが出来てしまいます。
マナはロード方法に関しては、決まったセーブ番号から読み込む設定しか知らないので、苦肉の策で補足を入れたようです。
■マップイベント設定
▲マップイベントは、一つしか設定していません。
タイトルなので、やる事は無いですしね。
- 始めを選んだら、『画面を切り替え』と『パーティに主人公を加えて画面に表示』と『タイトル文字の消去』をする。
- 続きを選んだら、『セーブ1番を呼び出す』。
- 終わりを選んだら、『ゲーム画面そのものを終わらせる』。
背景は、遠景設定で表示しています。
2. ワールドマップ
▲戦闘メインなので、ワールドマップは狭く作ったようです。■EV内設定
00:初めてワールドマップに来た時の説明表示。
01:森へ移動させるイベント。
02:お店の設定。
03:ボスフロアへ移動させるイベント。
00:説明表示の設定
▲最初に『始める』を選ぶと、ワールドマップに飛ばされてからこのマップイベントが始動します。
起動条件は、『自動実行』にしてあります。
セルフ変数0の中身が【0】の時にのみ、始動するようにしています。(指定しなければ、デフォルトは0です)
- 説明文を表示した後、セルフ変数0の中身を【1】に変更。
- 最後に、通常変数2[説明]の中に、【1】を追加。(初期設定はしてないから、通常変数2の中には1のみ入っています)
このセルフ変数は、スイッチのON&OFF代わりに使用しました。
講座で習った通りに使っています。
今回出た通常変数は、ボスへ飛ばすNPCとお店NPC出現条件に関わってきます。
01:森への移動設定
▲森へ移動させるだけのイベント。
トランジション設定は、していません。
起動条件は、『プレイヤー接触』にしてあります。
これも、講座で習った基本ですね。
02:お店の設定
▲最初にワールドマップで説明を表示し、その後森に入って説明を表示してから、画面に現れます。
起動条件は、『決定キーで実行』にしてあります。(話し掛けると始動)
通常変数2[説明]の中身が【2】の時にのみ、始動するようにしています。
- 最初に出る台詞を表示。
- お店の設定。(以下の設定で1セットとなります)
・お店の初期化
・お店の商品設定(1つずつ追加)
・お店の処理実行
- 買い物を終わらせた時に出る台詞を表示。
詳細は、『挫折して再び講座』で説明しています。
講座で習った通りの設定しかしていません。
03:ボスエリアマップへの移動設定
▲最初にワールドマップで説明を表示し、その後森に入って説明を表示してから、画面に現れます。
起動条件は、『決定キーで実行』にしてあります。(話し掛けると始動)
通常変数2[説明]の中身が【2】の時にのみ、始動するようにしています。
お店の設定と同じです。
- 最初に出る台詞を表示。
- 行くか行かないかの選択を表示。
- 行くを選ぶと、再度行くか行かないかの選択を表示。(二重選択設定)
- 2度行くを選んだ時だけ、ボスエリアマップへ移動する。
- 一度でも行かないを選べば、このイベントは終了する。
ここでもトランジション設定は、していません。
3. 森
▲上から出ても下から出ても、出されるワールドマップの位置は同じです。■EV内設定
00:初めて森マップに来た時の説明表示&LVが10になった時の説明表示。
01:ワールドマップへ移動させるイベント。(画面上下に設定)
02:パーティを増やすイベント。(にわとりに話し掛ける)
03:ランダムエンカウントによる敵の出現設定。
00:説明表示の設定
1ページ目
▲最初に森へ入ると、このマップイベントが始動します。
起動条件は、『自動実行』にしてあります。
セルフ変数0の中身が【0】の時にのみ、始動するようにしています。(指定しなければ、デフォルトは0です)
- 説明文を表示した後、セルフ変数0の中身を【1】に変更。
- 最後に、通常変数2[説明]の中に、【1】を追加。(ワールドマップで1が追加&ここで更に1を追加したので、現在通常変数2の中には1+1=2が入っています)
このセルフ変数も、スイッチのON&OFF代わりに使用しました。
2ページ目
▲こちらが起動条件です。2つの条件が満たされる時のみ、始動されます。
起動条件は、『自動実行』にしてあります。
《条件1》セルフ変数0の中身が【1】の時にのみ、始動。(1ページ目が始動した後)
《条件2》通常変数3[主人公のレベル判定]の中身が【1】の時にのみ、始動。(主人公のLVが10以上になった時)
▲レベルが10以上になると、一度だけこのマップイベントが始動します。
- 説明文を表示した後、セルフ変数0の中身を【2】に変更。
このセルフ変数も、スイッチのON&OFF代わりに使用しました。
01:ワールドマップへの移動設定
▲ワールドマップへ移動させるだけのイベント。
トランジション設定は、していません。
起動条件は、『プレイヤー接触』にしてあります。
02:パーティ追加設定
1ページ目
▲今回は、選択肢を文字列変数にしました。
『選択肢に文字が無ければ表示されない』というツール仕様を利用し、パーティを選んだ後にその名前を消す処理をしています。
但し、最初に初期設定として各文字列変数に文字を入れてしまってるので、これを毎度始動させてしまうと仲間がいても選択肢に出てしまいます。
そこで、最初だけこれを始動させ、次からは2ページ目を始動。
そして、全員仲間になったら3ページ目を始動させるようにしました。
起動条件は、『決定キーで実行』(話し掛けると始動)にしてあります。
セルフ変数0の中身が【0】の時にのみ、始動するようにしています。(指定しなければ、デフォルトは0です)
- 各「文字列変数S1~S4」に、『戦士・魔法使い・僧侶・夕一』をそれぞれ入れる。
- にわとりのセリフを表示。
- どれか一人を選んだら選んだ人をPTに追加して、その仲間の文字が入っている入れ物「文字列変数S1~S4」から選んだ名前のみを空にする(””が空の状態)
- セルフ変数1に【1】を追加。(これは、仲間の数のカウント)
- 最後に、セルフ変数0の中身を【1】に変更。(このページ始動をOFFにする)
2回目以降に話し掛けたら、2ページ目が始動します。
2ページ目
▲1ページ目を始動させた後に始動されるので、文字列変数のどれか一つは空の状態です。
でも空だと選択肢に出ないので、実際には3つの選択文字が出ている状態です。
キャラを増やすごとにセルフ変数1の中の数を増やしていき、全てのキャラを仲間にしたら、このページは始動されなくなります。
起動条件は、『決定キーで実行』(話し掛けると始動)にしてあります。
セルフ変数0の中身が【1】の時にのみ、始動するようにしています。
- にわとりのセリフを表示。
- 選択肢を出す。
- それぞれ選ばれたら、選んだ人をPTに追加して文字列変数の中身を空にする。
- セルフ変数1の中に【1】を追加。(仲間の数のカウント用)
全員を仲間にしたら、3ページ目が始動します。
3ページ目
▲全員が仲間になってる時のみ、始動します。
この時の文字列変数の中身は、全て空です。
ちなみにこのツールの仕様で、『複数のページで条件が当てはまっていても数字が大きいページを優先して始動』されます。
このページが始動している時は、ページ2とページ3が条件に当てはまってる状態です。(セルフ変数0=1、セルフ変数1=4)
起動条件は、『決定キーで実行』(話し掛けると始動)にしてあります。
セルフ変数1の中身が【4】の時にのみ、始動するようにしています。
- にわとりのセリフを表示。
仲間を増やす設定はマナがしましたが、仲間がいるのに毎回選択肢に出るのは変だと思い、仲間を増やすと選択肢から消す設定を私が追加しました。
03:ランダムエンカウントのバトル設定
▲主人公のLVを参考に、LVが5上がるごとに出現する敵グループを変更しています。
文字が切れていますが、書いている内容はほぼ同じです。
1つだけ抜粋して書いてみますね。
■条件分岐(変数):【1】可変DB(0,12,4)[ウルファール レベル]が10未満 【2】可変DB(0,12,4)[ウルファール レベル]が15未満 【3】可変DB(0,12,4)[ウルファール レベル]が20未満 -◇分岐:【1】[可変DB(0,12,4)[ウルファール レベル]が10未満]の場合↓ |■イベントの挿入:コモン37:[◇ランダムエンカウント処理] / 3 / 0:ぷにぷに×3 / -1:<なし> / -1:<なし> |■ -◇分岐:【2】[可変DB(0,12,4)[ウルファール レベル]が15未満]の場合↓ |■イベントの挿入:コモン37:[◇ランダムエンカウント処理] / 3 / 2:ぷにぷに2×3 / 3:ぷにぷに2×5 / -1:<なし> |■変数操作:V3[主人公レベル判定] = 1 + 0 |■ -◇分岐:【1】[可変DB(0,12,4)[ウルファール レベル]が20未満]の場合↓ |■イベントの挿入:コモン37:[◇ランダムエンカウント処理] / 3 / 0:ぷにぷに×3 / -1:<なし> / -1:<なし> |■ -◇上記以外 |■条件分岐(変数):【1】可変DB(0,12,4)[ウルファール レベル]が25未……
・・・と続いていきます。
一か所だけ変数操作をしていますが、LVが10になった時の説明スイッチの一つを、ONにしているだけです。
▲これが、実際の画面。
タイプ内容番号に◆がありますが、これは選択されている状態です。
一番上は0番になっています。
起動条件は、『プレイヤー接触』(接触範囲内を移動していると始動)にしてあります。
接触範囲は、歩ける場所を全て囲ってあります。
- 主人公のLVを見て条件に合う命令を実行。
- ランダムエンカウントの始動。
- LVが10~14の時だけ通常変数3[主人公レベル判定]の中を【1】に変更。
思いつきで作ったのですが、特に問題なく反映されていたので、どうやら条件分岐の仕様は満たされた条件が重複する場合は、一番下を実行させるようですね。
戦闘のマップイベントは、私が作りました。
普通に作ったら、弱い敵しかでなくなっちゃうからね・・・。
もっと良いやり方があるのかもしれませんが、初心者の私にはこれしか思いつきませんでした(´・ω・`)
4. ボスエリアマップ
▲ウサギっぽいのがボスです。■EV内設定
00:ワールドマップへ移動させるイベント。
01:ランダムエンカウントによる敵の出現設定。
02:ボス戦の設定。
00:ワールドマップへの移動設定
▲ワールドマップへ移動させるだけのイベント。
トランジション設定は、していません。
起動条件は、『決定キーで実行』(話し掛けると始動)にしてあります。
- 鳥のセリフを表示。
- ワールドマップに行くかどうかの選択肢を出す。
特に難しい事はしていません。
01:ランダムエンカウントのバトル設定
▲ランダムエンカウントの設定。
『挫折して再び講座』で習った通りの、基本バトル設定です。
起動条件は、『プレイヤー接触』(接触範囲内を移動していると始動)にしてあります。
接触範囲は、歩ける場所を全て囲ってあります。
- ランダムエンカウントの始動。
ラスボスエリアなので、ここのランダムエンカウントは強い敵しか設定していません。
02:ボス戦の設定
▲ラスボス戦の設定。
下の行のモザイクは、ラスボスを倒した後の処理なので、ネタバレ防止の加工です(´・ω・`)
動画でボスに勝ってないからね・・・。
ちゃんとLV99にしたら、倒せるよ~ヽ(´―`)ノ
- ラスボスのセリフを表示。
- バトルの発生。
- 戦闘に勝利した後の処理。
バトル発生の設定内で、戦闘に負けるとゲームオーバーイベントを発生させるようにしています。
今回は、タイトル画面に飛ばされる処理をしています。
5. バトル画面の修正(コモンイベントの加工)
▲こちらがデフォルト設定。コモンイベントの加工は、マナはしていません。
私が勝手にやりました(´・ω・`)
ゲームを制作する時の最初の設定で画面サイズを「320×240」にすると、ゲームプレイ時は画面を640×480にされてしまう為、画像も2倍に引き伸ばされてしまいます。
640×480の画面に合わせてモンスター画像を作ると、このような現象が発生します。▲こちらが修正後。
モンスター画像をデフォルトのまま表示させる設定に変えました。
後、敵の表示位置とHPやゲージなどの位置を少し上下にずらしています。
これらの変更は、コモンイベントをちょっと加工する事で出来ます。
只、私の場合は手探りで強引にやったので、参考程度に見て下さい。
変更箇所は、179:×[戦]敵キャラ単体描画のコモンイベントです。
【追加修正】表示サイズを100%→50%にした。(ゲーム画面に表示する時に2倍に引き伸ばされる為) 123行目を一部修正 | | |■ピクチャ表示:CSelf21[一時ピクチャ番号] [中心]ファイル(CSelf9[敵画像ファイル]) X:CSelf22[表示X] Y:CSelf23[表示Y] / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 50% / カラー R[100] G[100] B[100] 【追加修正】/=2+0を/=4+0にして、縦サイズの1/4だけ上に移動させた 126行目を一部修正 | | |■変数操作: CSelf10[一時変数A] /= 4 + 0 【追加挿入】敵画像の縦位置を微調整 127行目と128行目の間に挿入 | | |■変数操作: CSelf10[一時変数A] -= 9 + 0 【追加修正】一番右の/2を- 13に変更して、HPの縦の位置を調整 184行目を一部修正 | | | |■変数操作: CSelf11[一時変数B] -= CSelf17[最小フォントサイズ] - 13 【追加挿入】HPゲージの縦の位置を調整 207行目と208行目の間に挿入 | | |■変数操作: CSelf71[HPゲージY] += 10 + 0
ウディタの仕様で、コモンイベントはイベント名が同じなら、数字が大きい方を採用する事になっています。
これを利用して、変えたいコモンイベントをコピーし、空いている部分の数字が大きい場所へペーストしていじれば、元をそのままにして色々加工修正が出来ます。
イベントはそれぞれ独立して保存が出来るので、元の状態を確認したければ修正版を保存して一旦削除したら、元に戻ります。
本格的にいじるなら、コモンイベント全てを把握する必要があるかもしれませんね。
今回は強引にやったので、もっといい方法があると思います(´・ω・`)
以上になります。
初心者なりに、がんばったヽ(´―`)ノ