見出し画像

ティラノスクリプト使用者が学習しやすいゲームエンジンはGameMakerかも……という話

今までティラノスクリプトでアドベンチャーゲームを作ってきた私が、GameMakerというゲームエンジンに触れはじめてから一か月がたちました。

その成果がこちら。

名付けて『刹那の見切り算』。
言わずと知れた星のカービィのミニゲーム、『刹那の見切り』にフラッシュ
暗算の要素を足したものになります。

画面中央に出てくる数字を頭の中で足し算していき、21を超えたら画面をクリック。相手より早く動けたらクリア、というシンプルなルール。

この記事では、今までゲームエンジンを触ったことがなかった私なりにミニゲームを完成させて感じたことを書いていきます。

ゲームエンジンを触ってみたきっかけ

元々私はティラノスクリプトというアドベンチャーゲーム作成ツールを使っていました。このツールは非常にシンプルかつ簡単で、ほぼコードを書くことなくノベルゲームや脱出ゲームを作成することができます。

私も最初はオーソドックスな選択肢で分岐するゲームを作っていたのですが、次第に凝ったことがしたくなり、戦闘要素を入れたり、タイミング良くクリックする要素を入れるようになっていきます。

ティラノスクリプトは結構いろんなことができるのですが、とはいっても基本はアドベンチャーゲーム制作ツール。複数のオブジェクトをそれぞれ独立して処理しようとすると大変だし、実装を諦める要素も出てくるようになりました。

もういっそ本格ゲームエンジンを一回使ってみて、『要素盛り込みたい病』を発散させよう!と思い立ち、とりあえず有名どころの無料ゲームエンジンを触ってみようと思ったのです、が……。

ゲームエンジン、難しい……

とりあえず『ゲームエンジン シェア率』で調べて出てきた3つ、Unity、Unreal Engine、GameMakerを順にインストールし、チュートリアルを行ってみて……その複雑さに粉砕されました。

進めるたびに操作の意味が分からないところが増えていき、こんなことで私はオリジナルゲームを作るところまでたどり着けるのか?と不安になることしきり。

一番ティラノスクリプトに近いエンジンはGameMaker……かも

ただそんな中でGameMakerは比較的分かりやすかったんです。ティラノスクリプトでは[iscript]タグを用いることで部分的にJavascriptが使えるのですが、その延長みたいな感じでコードが並んでいるので。実際GameMakerのプログラミング言語であるGMLはJavascriptベースなので、そのためかもしれません。

例えば……
ある画像『obj_image』を(100,100)の位置に表示し、クリック時に右に100pix移動、さらにクリックすると画像を消去する。
という処理を行う場合、ティラノスクリプトだとこんな感じでしょうか。

[image  storage="obj_image"  x=100 y=100 name="image"  layer=1]
[p]
[anim name="image" time=0 left=+100]
[p]
[free  layer=1  name="image"  ]

ティラノスクリプトは中央指令室から画像に対して命令していく感じですが、GameMakerは画像(を紐づけたオブジェクト)そのものにコードを書きこむことができます。コードはこんな感じで『生成』『左プレス』の二つに分けます。

最初に一回だけ呼ばれる『作成』イベントでobj_imageの初期配置を行う。画面左上が原点なところもティラノと一緒。
オブジェクトを左クリックしたときに呼ばれる『左プレス』イベント。

どうでしょう。なんとなく何が書いてあるのか分かるのではないでしょうか。
ティラノスクリプトと違って必ずしも上から順番に処理が行われるわけではないので、一回目と二回目のクリックを区別するためにクリックフラグを作る必要がありますが、そんなに難しくはありません。

個人的にティラノスクリプトとGameMakerで大きく違うと感じた点は以下。

1.あたりまえだけどタグが全然違う。
2.GameMakerは動かしたいオブジェクト自体にコードを書きこめる。
3.GameMakerだと『毎フレーム○○する』という指示が書けるので、『定数Aが10を超えた瞬間にオブジェクトを表示する』といったコードがすぐに書ける。

なんにせよ、読む分には比較的簡単な言語となっています。

コードについてはChatGPTに書いてもらうこともできるっちゃできる

比較的GameMakerが理解しやすかったのは分かったけど、ゲームを作れるレベルでコードが書けるようになるまで結構かかるんでしょ。となりますが、それについてはChatGPTに助けてもらうという選択肢があります。

例えばマウスで動かせる『バルーントリップ』を作るとして、ChatGPTにお願いすると、即座にこんな感じで帰ってきます。

これをGameMaker上でobj_imageという枠だけ作り、コードをそのまま張り付けるとこんな感じです。

左右方向の慣性がないとか、クリックした位置とobj_imageの移動方向の関係が逆とかは修正する必要がありますが、大枠はまあできていると言えるでしょう。

ただゲーム全部を最後までChatGPTに書いてもらうのは難しいですね。仕様が増えるにつれて思うようになってくれないことも増えます。(あとif分だらけになる。)
修正してもらうにしても結局ChatGPTが書くコードを理解できてないと上手くいきません。

といってもコードを学んでからゲームを作り始めるよりかは早いですし、何より実際にゲームが動いているのを見るとモチベーションが保てます。GameMakerのプログラミング言語はシンプルであり、ティラノスクリプトでタグを覚えたような感じで覚えていけます。多分。私もまだ一か月しかやってないんで……。

最後に

はい。という訳で、ティラノスクリプトの経験があればGameMakerで簡単なゲームはすぐ作れるので、『アドベンチャーゲーム以外も作ってみたい!でもゲームエンジンを一から学習するのって時間がかかりそう……』という人は一緒にやりませんかという話でした。

これが誰かがゲームエンジンに手を出すきっかけになってくれたら嬉しいです!

おわり








この記事が気に入ったらサポートをしてみませんか?