HTの「創作奮闘記」

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

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

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

 

 

 

 

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

 

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

通称ウディタで勉強してたんですが

 

どうにも難関でして…。

(さすが中級者以上の人向けソフト…)

 

 

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

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

上手く進まなかったHTですハイ。

 

というわけで、有料の代わりに、

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

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の記事を

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

 

絵の勉強もそろそろ再開したいし、

音楽研究も同じく。

 

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

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

 

 

次に書くツクール記事は

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

にでもしようかなぁ。

 

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

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

みたいな。

 

 

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

 

 

好きなように書くっ!

 

それではっ!