初心者のためのアクションゲームツクールMV講座

アクションゲームツクールMV(アクツクMV)を使ってゲームを作る方法を紹介します。

アクツクMV初心者講座ミニ コモンアクションの紹介 やられアクションのサンプル

今回はタイトルの通り、コモンアクションの紹介と、それを使ったダメージ時のアクションの作り方を紹介します。

また、やられアクションはプレイヤーの向きとダメージを受けた方向で飛ぶ方向を変えたいという要望をよく聞きますので、そのやり方を説明します。

f:id:AIAntbear:20181128202152g:plain

やられアクションは最初の講座で紹介しておりますが、その方法だと図のようにプレイヤーのアクション数が多くなるにつれて作るのが非常に手間になります。

f:id:AIAntbear:20181128070045p:plain

そんな時、コモンアクションを使えると便利です。

※コモンアクションはダメージモーション以外にも色々使い道はあるので模索してみてください。

 

※Ver 0.9.2をベースに記載しておりますので、正常に動作しない場合はバージョンアップをオススメします。

[オープンベータへの移行手順]
 1.Steam-ライブラリからPixel Game Maker MVのプロパティを開く
 2.「 open_beta 」を選択してプロパティを閉じる

コモンアクションとは

コモンアクションは、[オブジェクトの設定項目を追加]から追加することができます。

f:id:AIAntbear:20181128070553p:plain

コモンアクションはすべてのアクションからリンクが繋がっている状態です。

コモンアクション実行後は、元のアクションに戻ります。

※下図は攻撃発生からコモンアクションにリンクしたときのイメージです。

f:id:AIAntbear:20181128071215p:plain

コモンアクションの設定方法は通常のリンク、アクションと一緒です。

コモンアクションへのリンク条件は図の赤枠部分の矢印をクリックすると設定できます。

f:id:AIAntbear:20181128072249p:plain

コモンアクションは図の赤枠部分をクリックすると設定できます。

f:id:AIAntbear:20181128072439p:plain

コモンアクションから元のアクションへ戻るときのリンク設定は赤枠部分の矢印をクリックすると設定できます。

f:id:AIAntbear:20181128202500p:plain

ここでやられモーションを作成するときに一つの問題が発生します。

コモンアクションは必ず元のアクションに戻るため、ジャンプアクションや攻撃アクション中にダメージを受けると、ダメージモーションを実行後にジャンプや攻撃が出てしまいます。

この問題は、[オブジェクトのアクションを実行]を使うことで解消できます。

具体的は方法は次の章で説明します。

やられアクションを作る

最初に完成図と簡単な説明です。

f:id:AIAntbear:20181128075703p:plain

解説すると、コモンアクションのその他の実行アクションに[オブジェクトのアクションを実行]を設定すると、元のアクションへは戻らずに指定したアクションからリンク先へ遷移させることができます。

図では、ダメージを受けたら、やられアクションを実行し、そのまま待機アクションへ遷移させております。ジャンプ中でも攻撃中でも必ず「やられ」→「待機」に遷移します。

 

それでは、具体的な作り方の説明に入ります。

Step1 やられアクションの作成

オブジェクトのアクションを実行させる場合、あらかじめアクションを作成しておく必要がありますので、最初にノックバックを作っておきます。

正面から攻撃を受けた時は正面を向いたまま後ろに移動させたいので

「表示方向と同じ方向」に数十ドット+逆方向へ移動にチェックを入れる

と設定します。

後ろから攻撃を受けた時はそのまま前に移動させたいので

「表示方向と同じ方向」に数十ドット と設定します。

f:id:AIAntbear:20181128204148p:plain

Step2 コモンアクションへのリンク

次に、コモンアクションへリンクさせるときの条件を作成します。

使うのは「攻撃判定に当たる」「他のオブジェクトの向き」の2つです。

1.攻撃判定に当たる

攻撃判定は▶の枠がオレンジ色の時、指定されていることになります。

プレイヤーの場合はエネミーグループ、敵の場合はプレイヤーグループで指定しましょう。(作成しているゲームによってはすべてのグループを設定ください)

f:id:AIAntbear:20181128204958p:plain

2.他のオブジェクトの向き

8方向から指定を選択します。矢印が緑色の時、指定されている向きとなります。

オブジェクトはオブジェクトで指定から「自身のオブジェクト」を選択します。プレイヤーが1体しかいない場合は対象のオブジェクトを名指しでも構いません。

f:id:AIAntbear:20181128205027p:plain

考え方として、攻撃判定の方向とプレイヤーの向いている方向の組み合わせから吹き飛ぶ方向を割り出します。以下の5つのパターンになると思います。

①攻撃判定:、プレイヤーオブジェクトの向き: ⇒やられ前移動

②攻撃判定:、プレイヤーオブジェクトの向き: ⇒やられ前移動

③攻撃判定:、プレイヤーオブジェクトの向き: ⇒やられ後ろ移動

④攻撃判定:、プレイヤーオブジェクトの向き: ⇒やられ後ろ移動

⑤攻撃判定:全体(もしくは上下) 優先度が上より低い ⇒やられ後ろ移動

上記5つをコモンアクションへのリンク条件に設定していきます。

図は①の攻撃判定、方向の設定となります。同様に②~④も設定しましょう。

f:id:AIAntbear:20181128211124p:plain

⑤のみ、優先度を他の4つより小さい値を設定します。

また、「他のオブジェクトが指定方向を向いている」は不要です。

f:id:AIAntbear:20181128211501p:plain

Step3 コモンアクションの実行アクション

最後に、コモンアクションのその他の実行アクションを追加します。

Step1で作成したやられアクションを実行するアクションを追加していきます。

※今回、コモンアクションの右側のリンク条件は設定不要です。

f:id:AIAntbear:20181128203206p:plain

①攻撃判定:、プレイヤーオブジェクトの向き: ⇒やられ前移動

②攻撃判定:、プレイヤーオブジェクトの向き: ⇒やられ前移動

の場合

f:id:AIAntbear:20181128075838p:plain

③攻撃判定:、プレイヤーオブジェクトの向き: ⇒やられ後ろ移動

④攻撃判定:、プレイヤーオブジェクトの向き: ⇒やられ後ろ移動

⑤攻撃判定:全体(もしくは上下) 優先度が上より低い ⇒やられ後ろ移動

の場合

f:id:AIAntbear:20181128203307p:plain

これで、設定は完了です。

テストプレイで敵の攻撃を受けて、思い通りに動くか確認してみてください。

上手くいかない場合は、Step2,3の設定を見直してみてください。

今回の説明はプレイヤーのやられでしたが、敵プレイヤーでも同様に設定できます。

その場合、オブジェクトグループ設定などに気を付けてください。

今回の講座は以上です。

アクツクMV初心者講座プチ 敵に攻撃を当てた時に白く点滅させる方法

お久しぶりです。あいあんとべあです。

今まで敵キャラを白く光らせる方法を難しく考えすぎてたのですが、ちょっとした設定で簡単に光らせる方法がありましたので紹介します。

f:id:AIAntbear:20181124122710g:plain

※補足:動画は基本設定の無敵をオフにしております。

使うのはオブジェクトの[被ダメージ]の設定です。
下図のように、対象のオブジェクト設定に、[攻撃判定に触れた時の被ダメージ設定]をチェックし、OKをクリックします。

f:id:AIAntbear:20181124123101p:plain

次に[被ダメージ]タブを選択し、[+]をクリックして追加していきます。
クリティカル率、被ダメージ係数などは今回は触りません。
被ダメージ時の表示設定で表示時間とフィルター効果を設定します。
先ほどの動画は表示時間0.02指定色で塗る:255:255:255:255としております。

f:id:AIAntbear:20181124124321p:plain

[ポイント]属性値で指定

攻撃側のオブジェクトのデフォルト属性値は0です。
つまり、定数=0にすれば特に設定なしでダメージ時に白塗りにできます。
逆に、属性値=任意の数字にすれば、特定の攻撃時のみ白塗りにできます。

※攻撃する弾の属性を1に変更する方法は以下の通りです。

f:id:AIAntbear:20181124125042p:plain

簡単ですが、以上です。

アクツクMV初心者講座プチ 10分でできるステージセレクトの作り方と誤魔化し方

どうも、あいあんとべあです。

タイトルにある通り、今回はステージセレクトの作り方について紹介します。

正直、仕組み自体は以前、下で紹介しているので講座に書く必要はないかなと思っていたのですが、思ったより需要がありそうだったので記載します。

aiantbear.hatenablog.com

 

ステージセレクトの作り方

今回紹介する方法は、こんな感じの一見複雑そうなステージセレクトも簡単に作ることができます。

f:id:AIAntbear:20181104164359g:plain

まずは事前準備です。

f:id:AIAntbear:20181104164532p:plain

今回のポイントは、この画像です。
絵を見ていただければわかると思いますが、重要なのは選択されているように見える画像です。
画像をばらして作ろうとすると、移動させる座標を調べたりする必要があるので大変手間です。画像側で最初からそろえておけば何も考えずに作れます。
下図のような感じで背景+パーツごとに透明化してもOKです。

f:id:AIAntbear:20181104165940p:plain

ここからステージセレクトを作成していきます。

f:id:AIAntbear:20181104164539p:plain

f:id:AIAntbear:20181104164543p:plain

f:id:AIAntbear:20181104164547p:plain

これを全てのステージ分作成すれば完成です。
この方法の利点は難しくないのと、ステージの配置とオブジェクトの配置を同じにすれば、後で見ても理解しやすい点です。
右を押されたら+1みたいなプログラムっぽいやり方は作るのが複雑なので好きじゃない、という私みたいな人間にはこちらのが圧倒的に簡単です。

以前、私が作ったありくいジャンプというゲームも、画像と表現方法が違うだけで、オブジェクトの作り方は全く同じです。(他のオブジェクトの状態を変化させて、動いているように見せてます。)

f:id:AIAntbear:20181104171906g:plain

f:id:AIAntbear:20181104171438p:plain

f:id:AIAntbear:20181104171522p:plain

 

誤魔化し方を考える

ゲームを作り始めて感じたのは、ゲーム制作は外見が100%ということですね。

例えば、下の動画、どうやって作ってると思います?

f:id:AIAntbear:20181104172144g:plain




下の4つの画像を使って作ってます。

f:id:AIAntbear:20181104172716p:plain

 

後は、今回上で紹介した方法と同じですね。上2つと下2つのペアでアニメーションを作ってます。選択肢とかタイトル画面の始める、続けるといった方法はまったく同じなので、UIをつくる基本かもしれませんね。

f:id:AIAntbear:20181104173121p:plain

ここで、カーソルと画面が違うものだと思った!とか、もっと簡単な方法がある!とか意見はあると思いますが、そんなことプレイする人には関係ないです。

重くない限りは、やりたい事が実現できればどうやっても構わないです。

画像100枚作るのと、変数とかを駆使して画像を数枚に抑えるか、どっちが楽かはその人次第かと思います。

なるべく汎用的な事のみを講座化しているので、参考にしつつ自分が作りやすい方法を考えてみてください。

 

最後に、こういうタイプのカーソル移動の方法を一つ紹介します。
利点はドット数を計算しなくて良い事と、等間隔でなくても良い事です。(ななめ移動なども出来ます。)

f:id:AIAntbear:20181104175259g:plain

まず、接続点の異なるアニメーションを用意します。(同じ画像でも可)

f:id:AIAntbear:20181104174516p:plain

次に接続するカーソル用オブジェクトを準備します。
親と子の設定で一定間隔をあけて追従するを設定します。

※離れずに追従するにすると、接続点に瞬間移動するタイプの移動方法になります。これはこれで便利です。

f:id:AIAntbear:20181104174528p:plain

オブジェクトの接続、もしくはカーソルの生成をします。(※ver0.91だとメニュー画面でオブジェクトの接続ができませんでした。)
あとは、モーション設定時に接続点を考慮するだけで、接続点の中心にカーソル用アイコンが移動するようになります。

f:id:AIAntbear:20181104174520p:plain

いかがでしたでしょうか。

全てをアクツクの機能でやろうとはせず、画像でごまかしたり、遠回りすることで実現することもできますので、自分の実力にあったやり方で作りたいものを作ってみてください。

アクツクMV初心者講座プチ 壁張り付き&壁ジャンプ

お久しぶりです。あいあんとべあです。

アクツクはチュートリアルが実装され、このブログの役目も終わったかなとは思ってます。

現在セール中ということもあり、何かしら情報を発信しておこうかなと思い、Twitterの方でアップした、壁張り付きと壁ジャンプの作り方について簡単に説明しようと思います。

f:id:AIAntbear:20181102232550g:plain

全体的な構図はこんな感じです。やることは簡単ですが、少しだけ小細工が必要になります。

 

f:id:AIAntbear:20181102230750p:plain

ジャンプから一定時間がたったら落下に遷移し、壁に張り付いたりできるようにしています。

ジャンプから直接壁張り付きのリンクを繋げると、壁に接触した状態で通常ジャンプできないので、こういう形にしています。

壁張り付き

壁張り付きのサンプルです。

※接続しているオブジェクトの向きを考慮する必要があったので左右に分けております。
分けなくても作れるかと思います。

f:id:AIAntbear:20181102230754p:plain

[POINT]張り付き前に重力の影響を受けない 100%のアクションを入れる

ジャンプ上昇中に重力の影響が変化すると、ふわっと上に浮いてしまうため、壁張り付きになりません。
重力の影響を受けない 100%だと、ジャンプ速度が0になる仕様のため、張り付きモーションになる前に入れることでジャンプ上昇中でも浮かび上がることがなくなり、ゆっくり落ちることができるようになります。

重力の影響を受けないは100%に近いほどゆっくり落ちます。この辺りは作りたいゲームに合わせて調整してください。

壁ジャンプ

壁ジャンプのサンプルです。

f:id:AIAntbear:20181102230757p:plain

[POINT]ジャンプと一緒に表示方向と逆方向に一定ドット移動させる

ロックマンX風にジャンプさせる場合は上記のように設定します。この時、その他の実行アクションで移動しているときに移動の入力を受け付けてしまうと、実行アクションがキャンセルされてしまうため、「移動中の入力を受け付けない」にチェックを入れております。

壁ジャンプから落下へのリンクは、一定時間経過に設定します。パラメータによって経過時間を調整してください。(0.1~0.3秒で十分だと思います。)

 

 

あくまで一例ですので、他にやり方はいくらでもあると思います。

今回の内容は、解決策に気づけないと作れない要素だと思います。なぜできないのか?できるためにはどうすればいいのか?をバグだ!と決めつけずにトライアンドエラーで原因を考えて解決策を見つけ出すのが重要だと思います。出来なければ別の実現方法を考えてみるといいと思います。(私はそうしてます。)

今回は以上です。

アクツクMV初心者講座ミニ オブジェクトの接続編 チャージ攻撃を作りたい時にも便利

今回は非常に便利な機能、オブジェクトの接続について説明します。

「オブジェクトの接続」は、オブジェクトに別のオブジェクトをくっつけることができます。

※実行アクションのオブジェクトを生成と似たようなものです。こちらはアクションを実行することなく生成されます。

設定は下図のように、[オブジェクト]の歯車マークをクリックし、オブジェクトを接続するにチェックを入れ、[OK]ボタンをクリックすることで追加されます。

f:id:AIAntbear:20180921234633p:plain

[オブジェクトの接続]タブから接続したいオブジェクトを追加します。

オススメは接続点を使用することです。

f:id:AIAntbear:20180922000044p:plain

例えば、プレイヤーのオブジェクトにこのように接続点を追加して

f:id:AIAntbear:20180922000723p:plain

画像に合わせるように接続先のオブジェクトの中心点を合わせることで

f:id:AIAntbear:20180922001515p:plain

このように二つのオブジェクトをくっつけた状態にすることができます。

f:id:AIAntbear:20180922001559g:plain

※この時、接続するオブジェクト(上図の小さいアリクイ)の設定で、親オブジェクトから引き継がせる要素:表示方向にチェックを入れ、子オブジェクトとして接続することでアニメのようにプレイヤーの表示方向に合わせて向きを変更させることができます。

f:id:AIAntbear:20180922002012p:plain

オブジェクトを接続させる方法は以上です。

 

非常に簡単ですが、オブジェクトの接続には利点があります。

それは、複数のオブジェクトを組み合わせて使えるという点です。これは、表現の幅が広がるとともに、オブジェクトのプログラムを簡略化できます。

例えば、Yボタンを押しっぱなしでチャージ、離すと強化攻撃を実現したい場合、1つのオブジェクトで実現しようとすると、Yボタンを押した状態で「歩き」、「ジャンプ」などのアクションをしたい場合、個別で作成する必要があります。

この時、Yボタンの処理だけを行うオブジェクトを作り、プレイヤーオブジェクトを接続させるだけで、プレイヤーオブジェクトがジャンプしてても歩いていても、Yボタンを押しっぱなしでチャージができ、いつでもYボタンを離すと攻撃が出せるようになります。

※やられモーション中だけチャージをしたくない場合は、リンクのその他の条件設定で「指定オブジェクトのアクションが変化」というのがあるので、やられアクションになったらチャージをやめる、復帰するまで攻撃しない、といった設定をすることで実現できます。

下のアニメーションではL,Rボタンでコスチュームを変更しております。プレイヤーがどのような動作をしてようが、切り替えることが可能です。

f:id:AIAntbear:20180922010326g:plain

この時、コスチュームのアクション内でプレイヤーオブジェクトの変数を変更しており、移動速度・ジャンプ力の変更、二段ジャンプを可能にしたりしております。

 

他にも、HPバーやMPバーをオブジェクトごとにくっつけたりできます。また、透明なオブジェクトを接続することで疑似的な当たり判定や壁判定を作ったり、状態異常を表現したりと、表現の幅が広がります。使い道はこれだけではないので、色々考えてみてください。

※特に説明しませんが、過去の講座の弾を発射する攻撃方法なども、別のオブジェクトで作成して接続することで管理しやすくなります。

アクツクMVで作成したゲーム「アリクイJUMP」を公開しました

あいあんとべあです。

アクションゲームツクールMVで簡単なミニゲームを作ってみましたので宣伝させて頂きます。タイトルは「アリクイJUMP」です。

以下URLからダウンロードできます。

www.syakerake.jp

尚、BGMはMusMus様(フリーBGM・音楽素材 MusMus)のものを利用させて頂きました。

難易度は高めですが、ハイスコアを狙うゲームですので、クリアする必要はありません。ぜひ気軽にプレイしてみてください。

基本的に講座で書いたような事しか実装していないですが、どのように実現させたか?など知りたいことがございましたら、コメントかツイッター、もしくはマシュマロの方に言っていただければ解説します。

 

[ゲーム概要]

簡単にゲーム内容を紹介します。

タイトルから分かる通り、アリクイがジャンプするゲームです。

ありくいさんがアリヅカを求めてけわしい山道を登っていくという設定ですが、特にストーリーがあるわけではありません。

操作は簡単です。横移動とジャンプのみです。

パズル要素も特にありませんので、純粋にアクションスキルが試されるゲームです。

 

ステージは全部で5つです。

今後のアップデートで増やしていくかもしれません。

バージョンアップでステージを3つ増やしました。全8ステージです。

f:id:AIAntbear:20180915003854g:plain

 

[ステージ&コスチューム紹介]

f:id:AIAntbear:20180915004117p:plain

やまのレストランは落ちる足場が特徴のステージです。

落ち着いてプレイすれば簡単ですが、終盤は足場が落ちるので、気を取られると意外とミスしたりします。

このステージで手に入るカブトは障害物に触れてもゲームオーバーにならないコスチュームです。

このステージ以外では障害物が配置されているので、非常に心強いです。個人的に一番使いやすいです。

 

f:id:AIAntbear:20180915004759p:plain

ゆきぞらステージはスベル足場が特徴です。

着地時に移動してしまうので、障害物をよけるのが大変です。

ここで手に入るサンタ帽子は着地時に移動しなくなります。ただし、着地時のみですので、普通に歩くと滑ってしまうので注意です。

もう一つ、足場が落ちなくある効果もあります。そのため、落ち着いてプレイすることができます。

 

f:id:AIAntbear:20180915005209p:plain

けわしいやまは先に紹介した2ステージを足して難しくしたステージです。

コスチュームを駆使してクリアを目指しましょう。

ここで手に入るマフラーは移動速度とジャンプ力がちょっと上がります。

ジャンプのタイミングが少し甘くても大丈夫です。

 

f:id:AIAntbear:20180915010847p:plain

魔女の森は大きく4つのエリアに分かれている特殊なステージです。

強制スクロール、星の障害物、変わる足場、消える足場とギミックが豊富なのが特徴です。

お菓子のような足場、まるで魔女にイタズラされているかのようなギミックを演出してみました。おかげで非常にプレイしにくいステージとなっております。

ここで手に入る魔女の帽子は2段ジャンプができるようになります。非常に強力ですが、過信は禁物です。障害物が多いステージではカブトの方が使いやすいです。

 

f:id:AIAntbear:20180915011347p:plain

次にアスレチックステージです。

こちらは8つのエリアに分かれていて、アリヅカに触れないと次のエリアに行くことができません。

他のステージと違い、試験的にいろいろなギミックを詰め込んでみました。難易度はかなり高いと思います。

ここで手に入る仔ありくいさんは、移動速度とダッシュが低下するので、ステージの難易度が上がります。

腕に覚えのある方は、ぜひこちらを試してみてください。

 

[追加ステージ紹介]

f:id:AIAntbear:20180924233159p:plain

和風なステージとなっております。

難易度は全ステージ中一番簡単ではないかと思います。

試験的に壁キックや回転する足場を取り入れてみました。

 新コスチューム:キツネのお面は空中浮遊が可能となります。二段ジャンプとは違った操作性能です。

 

f:id:AIAntbear:20180924233219p:plain

こちらはアスレチックステージで作った雲によるジャンプが面白かったので、それがメインのステージを作ってみました。

ハードモード(おともだちコスチューム)だと雲に行くまでが結構難しかったりします。

追加コスチュームのかわいい帽子は落下速度がゆっくりになります。

正確には重力の影響が半分くらいになっているので、雲踏みジャンプや壁キックのジャンプ高度が上がってたりします。

 

f:id:AIAntbear:20180924233237p:plain

ハロウィンをイメージしたステージです。試験的に照明や視野を使って作ってます。

ステージ終盤の暗黒、照明は重いようで、ステージ選択から開始までが少し長いです。

ステージ結構は結構シンプルになっておりますが、他のところで結構時間かかってます。(一番作るのに時間がかかってます)

追加コスチュームは特に能力はないです。この帽子自体は結構お気に入りです。

 

その他

本ゲームはオートセーブになります。素材紹介画面でロードしております。

ロード時に強制終了してしまう場合は、セーブデータが原因の可能性がございますので、一度セーブデータのリセットをお願いします。

以下、素材画面でR1+L1(キーボードA+D)を押すとセーブを消すか選択できます。

f:id:AIAntbear:20180915013254p:plain

 

以上でゲームの紹介を終わります。

感想などもお待ちしております。

アクツクMV初心者講座プチ カメラの設定

今回は質問のあったカメラワークの設定方法について説明します。

プレイヤーを追いかけるカメラワークを使いたくない場合に参考にしてください。

カメラは[シーン]の[その他]にあります。動作設定でカメラの追従対象をなしに設定すると、カメラを固定にできます。オブジェクトを指定できるので、透明なオブジェクトを指定すればカメラ役として使うことができます。

※カメラオブジェクトの利点は、変数を使って自由に場所を移動できることです。例えば、[プレイヤーのX座標>カメラ位置]なら[カメラ位置=プレイヤーのX座標]といったループを作っておけば、プレイヤーが右へ移動すればカメラは移動するが、左に移動してもカメラは固定、といったベルトスクロール系のゲームを演出できます。

f:id:AIAntbear:20180828225817p:plain

カメラを複数用意して、[プレイヤーのX座標≧640※下の図の場合]なら[スイッチをON](そのタイミングで使わないカメラのスイッチをOFF)にするオブジェクトを用意しておけば、プレイヤーが640の地点に来た時にカメラを切り替えることができます。下の図はわざとカメラの開始地点を40ドットくらいずらしてます。

f:id:AIAntbear:20180828230201p:plain

以上で講座は完了です。