HTの「創作奮闘記」

絵も描きたい、ゲームも作りたい素人DTMer HTの奮闘記

RPGツクールMV買いました。

RPGツクールMV|オンラインコード版

 

 

 

 

夢だったゲーム制作の第一歩に。

 

もともと高機能フリーソフトWolf RPGエディター通称ウディタで

自分なりに頑張ってみてたんですがどうにも難関でして…。

(さすが中級以上向けソフトです…)

 

音楽勉強やら何やらの面でも

なかなか結果を出せず困ってた頃でしたので

上手く進まなかったHT(@harys14474464)です。ハイ。

 

というわけで、「初心者向け」と公式がガッツリ売ってるツクールを

5ヶ月ほど前に購入しました。

 

 

まぁ、結局1ヶ月は手も足も出ず…

最初に1つ、何処に出すわけでも無いものを練習で作るだけでも結局…。

 

…あれなんですよね、そもそも いわゆるイベントコマンドの組み方やら

仕組み、作法なるものが全く分かってなかったんですよねボク…。

 

ようはプログラマーの考え方なるものが全くなかった的な。

 

「初心者向け!」とか「プログラムを書かずにっ!」とか ありましたけど

めちゃめちゃ必要。

 

整理具合は さすが有料って感じなので見易さが違いますね。

 

 

 

練習として「自作システム」に挑戦した3ヶ月。

 

というわけで、練習がてらということで、

後の3ヶ月くらいは自作システムを組むことに専念しておりました。

 

 

プラグインを導入する」という手もあったんですけど、

実際のところは「組む」ということに慣れることが目的なので

 

今回は止めておきました。

 

目的は あくまで組み立て思考を育てるというところにあったので。

 

というわけで今回は、ボクが今日までにやってきたことの紹介。

 

 

言語のスクリプトという用語やらは初耳で、プラグインどころか

javascriptとやらも、その名前しか聞いたことが無いほどに

 

いわゆるプログラム関係について全くの初心者なわけですが、

とりあえずイベントコマンド内だけでそこそこのものなら

作れるようになってきました。狙いは成功?だったかも。

 

 

プラグインを自作できるほどのレベルには遠く及びません。

 あくまで簡単にイベントコマンド内で出来る範囲のものに限ります。

 

 

 

・自作戦闘システム

 

(※戦闘ウィンドウはピクチャです。)

f:id:htmusmaker:20171006003955p:plain

 

最初に戦闘システムから手をつけました。

 

だいたいデフォルトの戦闘システムと同じで、

「プラス何か」を付け足した、みたいな感じになっております。

 

 

拡張を前提に作っているので計算やピクチャ等、凝れる限りは

これでも一応、だいたい何でも出来る作りになってたり。

 

プラグインを混ぜて使っていけば もっと良い感じになるかも。

それこそ本格的に使えるレベルにもなれるはず。

 

 

あと、これらとはまた独立して作ったシステムですが

画像をクリックできる機能も有り。

 

決めた座標の範囲内をクリックして、

そのクリック位置が座標的にピクチャの表示域内であれば

決定扱いという仕組みです。

 

後に触れる自作ショップ、自作メニューも同じ感じ。

範囲指定なので画像を選択する必要が無い分、

ピクチャを少なくすることが出来ます。

 

ただ、画像によって選択範囲がゴロゴロ変わってしまう敵画像の場合は

この仕組みだけだとタッチできないのが弱点。

 

 

 

やたら長く時間かかってたり…

 

ちなみに完成までにかかった期間は2~3ヶ月ほど。

 

「1~2週間は覚悟かな」と思ってたのですが

倍どころの騒ぎではありませんでしたね。

 

ホントに長かった…。これだけは大誤算です…。

 

 

デフォルトに近いレベルまでなら すぐ作れるだろうと

甘く見ておりました…。

 

主に「○○の取得」というスクリプト分野で

大きく作業スピードを狂わされてしまってまして…。

 

特に当時はtraitsとかアイテム使用効果 取得等、

連想配列?(…って言うんですか?)みたいなのの書き方が見つけられず 

少なくとも1ヶ月はそういった分野で消費しました…。

 

結局それらの情報は検索で見つけられなかったので、以下記事に。

適当に書いてたら通ったやつです。

【関連記事】

 

いやぁ…長かった。

 

組む分には何も難しいことはなかったんですけどね…。

別に言語から いじってるわけじゃないので。

 

 

 

・自作ショップシステム

 

後述の自作メニューと少し似てて、選択肢と文章の表示を利用してるだけ。

デフォルトのショップシステムに比べて相当 雑なものとなっておりますが

 

背景画像なり、看板娘なるキャラなりを配置することも可能。

 

「デザインで見せられるショップ」的な。

 

 

ウディタみたいに文字列をピクチャとして表示させられるなら

疑似的に選択肢とか作って別の画像と連動させて

選択肢ごとに表示を切り替えるなんて仕組みも出来ます。

 

……そういう機能があれば良かったのになぁ。

 

 

ちなみにですが、何気に「合成システム」もつけてたりします。

ホントに何となく。

 

レシピアイテムなり、キーになるものを持っていれば作成 出来ます。

 

 

武器とかはパラメーター表示。アイコンと数値です。

 

しょうもないながら円状のグラフみたいなヤツ?も作った。

(ただ…カッコよくないので まさに経験のためだけにやった感じ)

 

 

あと、売却専用にしたりも出来ます。

全部スイッチで切り替え可能だから楽できる。 

 

 

 

・自作メニューシステム

 

f:id:htmusmaker:20171006043344p:plain

 

選択肢やウィンドウ類は透過して、背景に専用の画像を表示させれば

表示可能なテキストの問題で不自由な面をカバーできる。

 

別にテキストを標準機能にこだわらないなら

文字をピクチャで用意しても良いっちゃ良いので

デザインのバリエーションはコレに限りません。

 

ただ、相当面倒なことになりそう…。

 

 

リングコマンドも計算さえ大丈夫なら一応作れるし、

1/4円型の面白系メニューも作れないこともない。

 

 

見かけ「え?」って思わせておいて案外こっちも使い込めます。

 

ただ、ここまで作っておいてなんですけど使うことは無い。←

むしろ手間にしかなってない部分っていうのも多いんですよね。

 

通常メニューであればメンバー選択などのときとか

いちいち画面切り替えないでトップ画面のまま入れ替えできますけど

ボクの作った方は選択肢利用なためそれができない…。

 

使うとすれば何なりとプラグインやら言語やらの面で作りなおしてから

って感じでしょうか。

 

……文字列ピクチャ。(ツクールにジーッと視線)

 

 

 

今後の課題

 

並列処理って なんか重くなることあるじゃないですか。

2~3同時に起動してるともう相当ガクガクするし。

 

 

メニューの起動とか、

戦闘システムでも「どのキャラが状態異常にかかってるか」の

監視および画像ループのコモンとか

 

なんだかんだで並列が必要な場面が少ないながらあるんですけど、

出来ればゼロにしたいなぁなんて思ってまして…。

 

 

移動ルートのところのスクリプト

コモンイベント呼び出しのスクリプト(※)書いてみて、

それで無理に自動化させてみたんですけどね?

 

(※$gameTemp.reserveCommonEvent(ID);)

f:id:htmusmaker:20171006045422p:plain

 

一応メニューの呼び出しとか成功したっちゃしたんですけど

これをするとマウスによる移動だったら

なぜか1マスずつしか動けなくなってしまいます。

 

キーボードなら まだ普通なんですけど、

下手したらキャラが行動できなくなることもあるんですよ。

決定等のキー操作も きかないことがありますし…。

 

これじゃEvを調べることも話しかけることも出来ない。

 

 

どうやら このスクリプトが問題っぽいんですが…

どうやって解決したら良いのか もう さっぱりで…。

 

移動ルートのスクリプトからコモンを呼ぶ術は もう無さそう…。

 

 

我ながら良い方の案だと思ったんですけどねぇ。

 

どうも一度コレで呼び出したらコモンの処理が終わるまで

他のイベントの動作をストップさせてるっぽいんですよね。

自動実行みたいなものだろうか。

 

キーボード操作(長押し)でなら移動できるのは

「キーが連続入力だから」ってとこかなぁ?

 

マウス操作が指定位置までの移動イベントなのだとしたら

1マスずつしか動けないのも納得。

 

つまり このスクリプト一時的にコモンイベントを呼び出すものであり

並列のように他のEvを保ったままでは作動させることはできない

という類のものなのかも。

 

 

別に何のプラグインも追加してませんし、

マップ内に競合するようなイベントも呼び出してませんから

(切り分け作業の結果でも完全にコレが原因でしたし)

 

なんにせよ、並列にも自動にも頼らない処理というのは

このままだと厳しそうです。

 

 

こだわる必要も無いと言えば無いんですが一応、現時点での課題。

頑張って解決できるものなら したいものですねー。

 

 

※解決しました!

 

スクリプトは止めて、

一時的に並列処理でEvからコモンを呼び出して

Evを中断させ切り離した後、ラベル処理でループさせてみました。

 

……解決なのかな?

 

 

 

終わりに。

 

さて次回からツクールmvの記事を

暇さえあれば書いていきたいと思います。

 

絵の勉強もそろそろ再開したいし、音楽研究も同じく。

 

いやはや頭抱えることも多々ありますけど

それすらもひとつの楽しみだったりするこの頃です。

 

 

次に書くツクール記事は

「ボクが長く調べ続けても結局見つけられなかったスクリプト

にでもしようかなぁ。

 

たくさん検索して、でも見つけられなくて、

だけど不意に自力で何となく書いてるうちに偶然見つけた書き方っ!

みたいな。

 

 

……特に需要ないかなぁ。

 

 

好きなように書くっ!

 

それではっ!