【アクツクMV】釣りゲーム制作日誌
普段どんな感じでゲームを制作しているかを書きたくて日誌形式にしてみました。
ここまでがどうやってゲームを考えているか。
ここから先が実際にゲームを作る作業です。
#アクツクMV pic.twitter.com/I6v6i2BFvQ
— あいあんとべあ (@yuyamaz1987) 2020年6月13日
基本システムはこんな感じ
— あいあんとべあ (@yuyamaz1987) 2020年6月14日
次は釣りモーションを付ければ釣りゲーっぽく見えるはず#アクツクMV pic.twitter.com/tdTNco8XEf
というわけでエアフィッシング pic.twitter.com/5AbeZgK449
— あいあんとべあ (@yuyamaz1987) 2020年6月21日
釣りゲーができてきた。#アクツクMV pic.twitter.com/SLOA6dTril
— あいあんとべあ (@yuyamaz1987) 2020年6月28日
出来上がりはこんな感じ pic.twitter.com/yPlcSGucHi
— あいあんとべあ (@yuyamaz1987) 2020年7月5日
作りたいのはゲームじゃなくて絵本なのかもしれない。#アクツクMV pic.twitter.com/vvwlzcd40V
— あいあんとべあ (@yuyamaz1987) 2020年7月12日
ざっくりとですが、こんな感じで作ってます。
製作期間は1か月ちょっと。一番時間がかかるのはドット絵の作成やデザインですね。
特に餌はいまだに納得がいってないのでそのうち修正予定。
苦戦したのは文字を動きに合わせて表示させるアクションプログラム、トライ&エラーで何とか形にしました。
セリフはだいぶシンプルにしたけどまだしっくり来てないのでこちらもリテイク予定。
作ってて、ショップで餌の種類を増やす、釣れる魚の種類をランダムにして20種類コンプリートのやりこみ要素などアイデアが色々出てきたのでゲームに組み込んでいこうと思ってます。
【アクツクMV】ノウハウ集 マシュマロ回答など【随時更新】
過去のマシュマロ回答集をまとめております。
※随時更新しております。最終更新日 2021/5/31
合わせて、ツクラー講座で私が書いたキャラクターセレクト、メニュー作成講座もご紹介しておきます。
YOUTUBEにアップした動画もあります。
マシュマロ回答集
一方方向であれば、タイルの基本設定でオブジェクトをX軸方向に移動(+-)で作れます。#マシュマロを投げ合おうhttps://t.co/PiTGfgdRwp pic.twitter.com/gNRwlX5kNa
— あいあんとべあ (@yuyamaz1987) 2019年8月12日
対象のオブジェクトの[基本設定]-[消滅後の復活条件]を「無し」にすると解決します。
— あいあんとべあ (@yuyamaz1987) 2019年10月25日
質問された方は解決されたようですが、初心者がよくやる失敗なので情報を共有しときます。#アクツクMV#マシュマロを投げ合おうhttps://t.co/cZApn0oz7c pic.twitter.com/PVfRAuGtQl
ツクラー講座のステージセレクトのレイアウトを変えるだけで1キャラ分のキャラセレクトになります。https://t.co/qOE5GFQytc#マシュマロを投げ合おうhttps://t.co/R346Rd3msN pic.twitter.com/L2Uh6mqZbC
— あいあんとべあ (@yuyamaz1987) 2019年12月15日
オブジェクトに「ポータルに触れた」という、ポータルに触れたときにONになるスイッチがあります。#アクツクMV#マシュマロを投げ合おうhttps://t.co/gDYe6LlwW9 pic.twitter.com/2KbQh6kSB8
— あいあんとべあ (@yuyamaz1987) 2019年12月16日
無理やりやるなら、透明なオブジェクトにランダム移動させて、子オブジェクトにモーション用のオブジェクト(親オブジェクトの速度=0なら待機、それ以外なら移動モーション)をくっつけるとかでしょうか?#マシュマロを投げ合おうhttps://t.co/SoSrdwjVZ8 pic.twitter.com/Dmbo0ElrQc
— あいあんとべあ (@yuyamaz1987) 2020年1月31日
はじめに
— あいあんとべあ (@yuyamaz1987) 2020年4月4日
右下り坂、左下り坂用でアクションを用意します
※後ろ向きで滑りたい場合はさらに2つアクションを用意
リンクのその他条件に「坂に接触ー右(左)に下っている」があるのでそれを使う 続く#マシュマロを投げ合おうhttps://t.co/ZhqWHFlst4 pic.twitter.com/f9g5CVMZRp
[表示と親子関係]タブに親から引き継ぐ要素:オブジェクトのフィルター効果って項目があります。
— あいあんとべあ (@yuyamaz1987) 2020年4月12日
親オブジェクトのフィルターで透明度を変更すると、子オブジェクトも変わります。#アクツクMV#マシュマロを投げ合おうhttps://t.co/uZVlbaPDma pic.twitter.com/6qf8v8snTN
待機へのリンク条件が「何も入力されなかった」とかになってるのが原因かと思います。
— あいあんとべあ (@yuyamaz1987) 2020年4月24日
[→が離されている]and[←が離されている]にすれば左右入力がないと待機になると思います。#マシュマロを投げ合おうhttps://t.co/mdAKOzlvjt pic.twitter.com/Se4DO4Grab
オブジェクト変数の「攻撃属性」を使うのが簡単です。リンク条件の「攻撃判定に当たる」で属性を指定できるので、特定の属性攻撃判定に当たった時の分岐を作れます。
— あいあんとべあ (@yuyamaz1987) 2020年5月14日
続く#マシュマロを投げ合おうhttps://t.co/4yvxsxdOcD pic.twitter.com/fieZ5TB3cH
対象オブジェクトが自分か敵かで変わってきますが、「他のオブジェクトの当たり判定に接触」か「攻撃判定に当たる」を使えばできます。#マシュマロを投げ合おうhttps://t.co/1MNF9XgGh9 pic.twitter.com/ASdoEq0kaE
— あいあんとべあ (@yuyamaz1987) 2020年5月20日
オブジェクト数ですかね、不要オブジェクトの削除(画面外に飛んだ弾など)は必須です。
— あいあんとべあ (@yuyamaz1987) 2020年5月21日
効果あるか分かりませんが、不要な壁・当たり判定の削除、シーン数を最小限、壁判定のあるタイルは流用とかしてます。#マシュマロを投げ合おうhttps://t.co/bz6oTZaeCW pic.twitter.com/JKzHTu4NgT
簡単に設定する方法は多分ないです。
— あいあんとべあ (@yuyamaz1987) 2020年6月5日
プレイヤー側で1体をロックして、敵はロックされたを条件にするとか考えたけど、スクリプト使わないとインスタンスIDの取得が面倒そう。#マシュマロを投げ合おうhttps://t.co/NejIz6LRop pic.twitter.com/PfgwxSQvBb
[シーン]のステージ2のシーン設定で初期メニューの指定を忘れているとかでしょうか
— あいあんとべあ (@yuyamaz1987) 2020年7月3日
あとは、表示はスイッチのON/OFFだけだったと思うので、スイッチONを忘れているとか共通/個別を間違えているとか#マシュマロを投げ合おうhttps://t.co/6AtU3QweN1 pic.twitter.com/nt8l62kb1n
敵停止:[レイヤーの動作をOFF]か[ゲームスピードを変更-エネミーグループ]、全敵にライフ0のとき停止を作る
— あいあんとべあ (@yuyamaz1987) 2020年7月12日
飛び:壁判定なし+ジャンプ(レイヤーの動作をOFFの場合、最前面レイヤーに移動後停止)#マシュマロを投げ合おうhttps://t.co/aA5JAoNNRy pic.twitter.com/j7ldBK6uF3
6→5が正常動作している場合、変数の指定やモーション設定ミスの可能性が高いです。昔は変数バグがあったので共通変数のが信用性高いかも。[F1]-[デバッグ]から変数情報見れるので確認してみてください。#マシュマロを投げ合おうhttps://t.co/QDJZL5XKal pic.twitter.com/6PU3IlYdRC
— あいあんとべあ (@yuyamaz1987) 2020年7月18日
ざっくりサンプル
— あいあんとべあ (@yuyamaz1987) 2020年7月18日
共通変数[弾種類]と[弾数N]×N個(Nは[弾種類の変数と連動])を作って、リロードゲージは[弾種類]の[弾数]に応じたアニメーションを設定。[弾種類]に応じて武器変更。
射撃時のリンクに[弾種類]=N and [弾数N]>0なら弾発射、[弾数N]-1(≦0なら発射しない)。リロードすると[弾数N]=6。
・弾の移動タイプを戦車に
— あいあんとべあ (@yuyamaz1987) 2020年8月4日
・[オブジェクトを移動させる]で指定したオブジェクトへ移動、[移動対象]を自身のオブジェクト、[表示方向を移動方向~]をチェック
・[前後移動と旋回]で前方移動、旋回なし#マシュマロを投げ合おうhttps://t.co/Khh4TMug8U pic.twitter.com/EJtrn78U94
ちょっと作るの面倒だけど、例えばリンク条件を[スイッチ主人公AがON]and[敵≦主人公A]、[スイッチ主人公BがON]and[敵≦主人公B]と複数作るとよいかと。#マシュマロを投げ合おうhttps://t.co/hAOo8lMKyh
— あいあんとべあ (@yuyamaz1987) 2020年10月13日
ダメージは攻撃判定が当たり判定に触れた時に発生します。ジャンプや着地モーションに攻撃判定が設定されており、敵の当たり判定に触れているのが原因だと思います。#マシュマロを投げ合おうhttps://t.co/qbfY6LiM89 pic.twitter.com/3oXmovH4SN
— あいあんとべあ (@yuyamaz1987) 2020年11月14日
敵の当たり判定を上方向に小さくする、敵の攻撃判定を上に大きくする、プレイヤーの攻撃判定をなくすなど、攻撃判定と当たり判定を調整してみてください。
— あいあんとべあ (@yuyamaz1987) 2020年11月14日
1個目は検証するので少々お待ちください。2個目は壁張付作ったときに似たような経験あるのでバグかも。解決方法は、条件を満たしたら無重力でウェイト0.01くらいのアクションを間にかませると直るかも。#マシュマロを投げ合おうhttps://t.co/TQK1b12UGe pic.twitter.com/D57RKZBwiJ
— あいあんとべあ (@yuyamaz1987) 2020年11月22日
1個目の質問は記載されているリンク条件が微妙かも。
— あいあんとべあ (@yuyamaz1987) 2020年11月22日
よじ登れるタイルにだけエリア変数設定して、ジャンプ中に[エリア変数=]ならよじ登りなら確実かと。Y軸は座標調整必要なので、ハシゴのサンプルを参考に#マシュマロを投げ合おうhttps://t.co/TQK1b0LjOG pic.twitter.com/GY0uAzJ0KQ
[補足]
— あいあんとべあ (@yuyamaz1987) 2020年11月22日
ジャンプ中に[エリア変数=](必要に応じてand[壁の左右に触れている],and[壁の方向を向いている])
[補足2]
エリア変数は、タイル1個分の幅ぶれるので、モーションを合わせるためにY軸を変数で修正する必要がある。Ladder sampleに計算式があるので参照して。(タイルsize16なので16を別の数字に)
それ以外だと多分、C:\ユーザー\[ユーザ名]\AppData\Local\[ゲームタイトル]\save#マシュマロを投げ合おうhttps://t.co/RRNQLItxJV pic.twitter.com/AVBV1bIH9z
— あいあんとべあ (@yuyamaz1987) 2020年11月26日
ゲームビルド時に「ゲームデータと同じフォルダにセーブデータを作成」にチェックを入れると、Resourcesフォルダ内のsaveフォルダに保存されます。更新内容によってはロードできない可能性もあります。#マシュマロを投げ合おうhttps://t.co/RRNQLItxJV pic.twitter.com/0F74ANcHNl
— あいあんとべあ (@yuyamaz1987) 2020年11月26日
緑と赤で2種類のオブジェクトを作り赤を下で重ねる
— あいあんとべあ (@yuyamaz1987) 2020年11月26日
赤は【赤≦緑】なら[赤=緑]、【赤>緑】なら[赤-=1][wait X秒]って感じで
赤、緑の変数は体力、スケールX%、アニメフレームあたりを使う#マシュマロを投げ合おうhttps://t.co/9hUOlvY0Ng pic.twitter.com/RCV7BLQngO
緑ゲージオブジェクトが緑[Xスケール(%)]=[体力]/[最大体力]*100という変数を持っている場合の赤ゲージオブジェクトの作り方
— あいあんとべあ (@yuyamaz1987) 2020年11月26日
自分のライフゲージに合わせて変数の内容を変えてみてください。(例えばアニメーションフレームを代入とか)#アクツクMV pic.twitter.com/jObk6SOfRv
例えば[待機]→[ジャンプ]の条件が[A押された瞬間][受付フレーム60F]だと、ジャンプにリンクしてないアクション中にAボタンを押しても60F以内に待機になればジャンプする。何度押しても1回判定。#マシュマロを投げ合おうhttps://t.co/NukamhcT1R pic.twitter.com/6JTwalFqik
— あいあんとべあ (@yuyamaz1987) 2020年12月27日
つまり弱連打に関しては、この機能だけだと実装はむずかしいかな。[弱攻撃(弱攻撃モーション)]→[弱連打判定(前モーション引き継ぎ)]→(Aを押された(×n回))[弱連打待機(弱モーション引き継ぎ)]→(モーションが終わったらorX秒)[弱連打攻撃(弱連打モーション)]って感じで作れると思う。
— あいあんとべあ (@yuyamaz1987) 2020年12月27日
1.公式プラグインを使う
— あいあんとべあ (@yuyamaz1987) 2021年1月2日
2.その他の実行アクションで「テキストを表示」を使う
3.文章を画像化してオブジェクトのモーションとして表示する
とかかな? 詳しくは次のツイートで#アクツクMV#マシュマロを投げ合おうhttps://t.co/8C0tMf95eX pic.twitter.com/DaOHlqt3TK
前提として、文章送りについては
— あいあんとべあ (@yuyamaz1987) 2021年1月2日
[待機(透明オブジェクト)]→(条件:スイッチ/変数/ボタン押すなど)→[テキストAを表示]→(条件:ボタンを押す)→[(テキストAを消す)/テキストBを表示]→(以下繰り返し)
みたいなオブジェクトを作って、文章を表示させます。
1.は上のタブ[プラグイン]でプラグイン一覧を右クリックして、[公式プラグインを追加]を選ぶ。
— あいあんとべあ (@yuyamaz1987) 2021年1月2日
オブジェクトのその他の実行アクションで[プラグイン1]タブに[文章の表示]が追加されるから、そこから文章とオプションを指定するとRPGツクール風なテキストが表示できる。
2.もその他の実行アクションから設定。
— あいあんとべあ (@yuyamaz1987) 2021年1月2日
テキスト素材とフォントを設定しないと表示されないから注意。オプションはまずは画像の赤枠を調整する感じで。
メッセージウィンドウ画像は以下のどっちか選択で。
・オブジェクトのモーションとして設定(背景は無しを指定)
・画像素材から選択で設定 pic.twitter.com/wpKltpZLM5
3.は、テキストを画像として保存して、アクションのモーションに指定するだけ。個人的にこの方法が一番簡単だけど作るのはちょっと面倒。 pic.twitter.com/3T0hG1MPOr
— あいあんとべあ (@yuyamaz1987) 2021年1月2日
簡単に言うと[マウスカーソルに追従するオブジェクト]の方向を常に見続けて、クリックするとその方向に弾を発射するオブジェクトを作ればいい。詳しい作り方はTwitterで。#マシュマロを投げ合おうhttps://t.co/aIEZrm4Ku3 pic.twitter.com/UvSdPgfQaD
— あいあんとべあ (@yuyamaz1987) 2021年1月9日
マウスカーソルの位置に弾を飛ばす方法。
— あいあんとべあ (@yuyamaz1987) 2021年1月9日
作るのはマウスカーソル、砲台、弾の3つ。マウスカーソルにモーションを付ける場合はアクツクの設定でPC側のマウスカーソルを消す設定もあります。#アクツクMV pic.twitter.com/wWNhsoAJub
マシュマロでマウスで指定した位置に弾を飛ばす方法について質問来たから試しに作ってみたけど面白いなこれ#アクツクMV pic.twitter.com/BPPKVFd2aa
— あいあんとべあ (@yuyamaz1987) 2021年1月9日
いないということは、自機オブジェクトを消滅させている可能性があります。
— あいあんとべあ (@yuyamaz1987) 2021年1月14日
それかシーンで[オブジェクト]-「スタートポイント」を配置、プレイヤーは[設定]-[プレイヤーキャラクター管理]で設定。#マシュマロを投げ合おうhttps://t.co/16MCIWMfUU pic.twitter.com/9PDyYutzRI
キャラ/敵どっちでもOKですが、[変数+=1]⇔(キー入力がされた場合)[変数+=1]で変数が一定以上の場合、次のアクションへ、ダメージはカウントダウン変数を使ってリンク
— あいあんとべあ (@yuyamaz1987) 2021年1月18日
詳しくはtwitterで#マシュマロを投げ合おうhttps://t.co/zXh0OVwfPb pic.twitter.com/IaGFnoCFiH
レバガチャの作り方#アクツクMV pic.twitter.com/JGUapvxNMT
— あいあんとべあ (@yuyamaz1987) 2021年1月18日
無理ですごめんなさい、開発に言ってください。#マシュマロを投げ合おうhttps://t.co/H0UTQa7flL pic.twitter.com/IrezehJg3R
— あいあんとべあ (@yuyamaz1987) 2021年1月21日
これ、スクロール速度とオブジェクトの移動速度が同じ時、画面の描写処理の関係なのか、めっちゃガタガタする場合がある。基本設定でカメラ位置と固定させてもなる。
— あいあんとべあ (@yuyamaz1987) 2021年1月21日
カメラの対象オブジェクトを変えるとかで何とかなることもあるけど・・・って感じ
真面目にアドバイス書くと、UIに関しては、menuシーンに配置すればガタガタしないよ。あと、menuシーンは複数呼び出せる。
— あいあんとべあ (@yuyamaz1987) 2021年1月21日
自機はどうしようもないので、背景だけを移動させて動いているように見せるとか? pic.twitter.com/DSlPzQKeAO
プレイヤーに接続する「透明な盾用のオブジェクト」を作り、そのオブジェクトの当たり判定に弾の攻撃判定が触れたら弾を進行方向と逆に移動させて消滅させる#マシュマロを投げ合おうhttps://t.co/4bYSflZj5d pic.twitter.com/5nlecjJc8I
— あいあんとべあ (@yuyamaz1987) 2021年1月25日
イメージはこんな感じ。 pic.twitter.com/om5C5zwDsK
— あいあんとべあ (@yuyamaz1987) 2021年1月25日
接続する盾の当たり判定オブジェクトの設定と接続点はこんな感じで。 pic.twitter.com/CSXiSS6Zyj
— あいあんとべあ (@yuyamaz1987) 2021年1月25日
[補足]
— あいあんとべあ (@yuyamaz1987) 2021年1月25日
接続点は盾弾きが欲しい待機と攻撃だけに設定。
そうすると、歩いてるときは接続点がないから接続するオブジェクトは表示されない。
後、接続するオブジェクトは子オブジェクトにして、親オブジェクトの表示方向~のチェックを入れたままにする。
タイルだとめり込むっぽいので壁をオブジェクトにするといいよ。ただ、しゃがみ中に立ち上がるとオブジェクトに埋まるのでしゃがみ中に上にタイル・オブジェクトが接してるとしゃがみから立てないようにすること。#マシュマロを投げ合おうhttps://t.co/nisJnT91co pic.twitter.com/QRIUfM39Ws
— あいあんとべあ (@yuyamaz1987) 2021年1月27日
ついでに、一個前の質問のタイルにめり込む現象を動画にしてみた。手前がオブジェクト、奥がタイル。 pic.twitter.com/41S8n84oJy
— あいあんとべあ (@yuyamaz1987) 2021年2月4日
その他の実行アクションに「カメラの表示領域を変更する」があり、秒数指定して拡大縮小を設定可能です。ただ、レイヤーの表示速度に依存するので、レイヤーごとに速度が違うと見え方が変になるかも。#マシュマロを投げ合おうhttps://t.co/9EoXGU0ain pic.twitter.com/0gE9uQWtbR
— あいあんとべあ (@yuyamaz1987) 2021年2月4日
参考までに、背景レイヤーだけ移動速度が違うとこんな感じで背景が動くので、普通のズームにはならない。 pic.twitter.com/lG2F4DHc8O
— あいあんとべあ (@yuyamaz1987) 2021年2月4日
[テキストを表示]を使うなら表示位置:[シーンを基準にする]でX軸Y軸の数値を調整、枠は表示領域の背景:[画像素材から選択]にすればOK。それか会話プラグインを使う。#アクツクMV#マシュマロを投げ合おうhttps://t.co/EcmtzHKtR2 pic.twitter.com/TTOqPbjEGU
— あいあんとべあ (@yuyamaz1987) 2021年2月8日
[補足]枠を自作する場合はテキストの表示領域で枠のサイズを調整できます。文字の位置は上下左右の余白、テキストの改行などで調整しましょう。
— あいあんとべあ (@yuyamaz1987) 2021年2月8日
[シーン][その他]に初期カメラの設定があり、カメラの追従対象で好きなオブジェクトを指定できます。プレイヤーの接続点に一定間隔で追従する透明なオブジェクトを作り、カメラの対象にするとよいと思います。#マシュマロを投げ合おうhttps://t.co/59JSUUmz6J pic.twitter.com/JVQum5Zfxx
— あいあんとべあ (@yuyamaz1987) 2021年2月9日
例えば上を向くモーションで、接続点を頭上よりちょっと上の方に設定しておけば、上を向く→接続点が上に→透明なオブジェクトが接続点の位置に向かう→カメラが透明なオブジェクトに合わせて動く、といった感じになります。
— あいあんとべあ (@yuyamaz1987) 2021年2月9日
マウスの座標にカメラを移動させるのではなく、マウスの位置に向かってゆっくり動くオブジェクトをカメラの対象にしてみる。[マウスのX座標]-[キャラのX座標]≧0なら右、<0なら左を向く。 #アクツクMV#マシュマロを投げ合おうhttps://t.co/Zr8e14cP8l pic.twitter.com/QBXz76CqUd
— あいあんとべあ (@yuyamaz1987) 2021年2月11日
やりたいこととあってるか分からないけど、横スクロール時は画面上表示位置が固定ってこと?
— あいあんとべあ (@yuyamaz1987) 2021年3月4日
横スクロール時に同じ速度で移動させるか、X座標を画面に疑似的に固定にする感じかな。#マシュマロを投げ合おうhttps://t.co/qGklP9P83y pic.twitter.com/lL3bhH45hT
X座標を画面に固定させる方法として
— あいあんとべあ (@yuyamaz1987) 2021年3月4日
・基本設定で[カメラと位置関係を固定]の透明なオブジェ(A)を作って固定したいX座標上に置く。
・変数で[対象のX座標≠AのX座標]なら[X座標=AのX座標]にするオブジェを作ってシーン上に置く。
縦横が逆ならX座標をY座標に。
補足
— あいあんとべあ (@yuyamaz1987) 2021年3月5日
このオブジェクトを前後移動させたい場合は、透明なオブジェクトの方を前後移動させればよい。
共通変数に[BGMの音量バランス]という項目があるので、特定の条件なら[共通変数:BGMの音量バランス=40]、それ以外なら[音量バランス=100]にするオブジェクトをシーンに貼り付けとけばOK。#マシュマロを投げ合おうhttps://t.co/jX7UBH0de2 pic.twitter.com/TmOv9ccmzf
— あいあんとべあ (@yuyamaz1987) 2021年3月5日
現HP/最大HPでバーの長さを変える方式なら、1ゲージの体力をNとすると、1本目は(現HP-N)/(最大HP-N)、2本目はHP≦N以下の場合、現HP/N。1本目の下に2本目を重ねる。#マシュマロを投げ合おうhttps://t.co/1YlqcppbTq pic.twitter.com/1ugX8X8PTI
— あいあんとべあ (@yuyamaz1987) 2021年3月5日
例えば最大HP200、1ゲージ100なら、1本目のオブジェクトは(現HP-100)/100で、現HP≦100なら透明化、2本目は現HP<100までは処理なし、現HP≦100から現HP/100でバーの長さを縮める処理を始める感じ。最大HP300で3本目作るなら1本目は(現HP-200)/100みたいな感じで。
— あいあんとべあ (@yuyamaz1987) 2021年3月5日
いくつかあるけど[オブジェクトを移動させる]、[指定したオブジェクトへ移動]で接続点を指定、スピードは0.00秒、移動対象は自身のオブジェクトを2つ作って無条件でつないでループさせる。 #アクツクMV#マシュマロを投げ合おうhttps://t.co/WTs0yo2rWG pic.twitter.com/BlW30I097m
— あいあんとべあ (@yuyamaz1987) 2021年3月9日
ループ抜けるための条件は優先度を高くしないと抜け出せなくなる。
— あいあんとべあ (@yuyamaz1987) 2021年3月9日
それか、持つ時に敵オブジェクトを消滅させて、スイッチオンで接続点に表示させる。投げるときはスイッチオフにしてオブジェクト生成で接続点から敵を再生成。HP保持したいなら持つ時に敵のHPを変数で保持して投げるときにHPを代入。
シーンで[その他]タブにカメラがあるので、固定したいシーンの位置に配置する。カメラ設定を[追従無し][カメラを有効にするスイッチを設定]でスイッチを指定。特定エリアでスイッチON、倒したらOFF。#マシュマロを投げ合おうhttps://t.co/gnWxMoyMoh pic.twitter.com/EZwoXzDXxL
— あいあんとべあ (@yuyamaz1987) 2021年3月10日
注意事項として、カメラ1とカメラ2でレイヤーの起点が違うので、スクロール速度を変えてるとこんな感じで背景がおかしくなる。カメラ2の枠内でちゃんと映るように背景レイヤーを調整するか、スイッチONの時だけオブジェクトかタイルを画面全体に表示するようにするといいかも。 pic.twitter.com/2C50JsamLg
— あいあんとべあ (@yuyamaz1987) 2021年3月10日
カメラを滑らかに移動させたいなら、プレイヤーの位置から固定させたい画面まで移動する透明なオブジェクトを作成して、カメラに追従させるようにする。(特定エリアでオブジェクト生成+スイッチON→オブジェクト移動、倒した後はプレイヤーの位置まで移動してスイッチOFF)
— あいあんとべあ (@yuyamaz1987) 2021年3月10日
期待している挙動になるか分からないけど、プレイヤーが後ろを向いたとき、一定時間たったら移動するカメラプログラムにすれば行けると思う。具体的には次のツイートで。#マシュマロを投げ合おうhttps://t.co/mfkR7iS1Fm pic.twitter.com/wx0yMhTrdK
— あいあんとべあ (@yuyamaz1987) 2021年5月28日
カメラ用のプログラムはこんな感じ。真ん中以外の4つはプレイヤーの接続点にオブジェクトの速度で移動。条件を無条件とかでループさせる。停止へのリンクは優先度を高く設定する。 pic.twitter.com/rlVo48UMFo
— あいあんとべあ (@yuyamaz1987) 2021年5月28日
で、実際の動きがこんな感じ。
— あいあんとべあ (@yuyamaz1987) 2021年5月28日
カメラオブジェクトはシーンに貼り付け。
後はこれだとジャンプ・落下中に左右に振るとカメラを置いてプレイヤーが下に落ちるのが問題かな?
ってか移動速度を加速タイプにすれば片側のループだけで解決しそうな気もする。 pic.twitter.com/O50alt8krc
基本的にすべてのオブジェクトにアクションプログラムを書く形になります。
— あいあんとべあ (@yuyamaz1987) 2021年5月25日
NPC(オブジェクト)の出現方法は、いろいろなやり方がありますので、次のツイートにいくつかやり方を書きます。#マシュマロを投げ合おうhttps://t.co/v3rTadn5Vc pic.twitter.com/4GFJ07ngoc
・NPCのスタートアクションに透明なモーションを設定。
— あいあんとべあ (@yuyamaz1987) 2021年5月25日
・実行アクションで[オブジェクト無効化]にすると透明になる、別のオブジェクトで[オブジェクト有効化]をすると解除される。
・[オブジェクトを生成する]でNPCを出現させる。(出現させるオブジェクトは透明にする)
入力した方向へ移動するオブジェクトを透明なモーションで作り、そのオブジェクトの接続点にマウスカーソルの方向に向くオブジェクトを接続させるのが簡単かと思います。#マシュマロを投げ合おうhttps://t.co/97G4jxFxL7 pic.twitter.com/CiQycIqNYu
— あいあんとべあ (@yuyamaz1987) 2021年4月20日
接続オプションで子オブジェクトにしちゃうと、接続するオブジェクトの[表示と親子関係]で親の表示方向とか引き継いじゃうかもしれないからその辺は注意してください。
— あいあんとべあ (@yuyamaz1987) 2021年4月20日
特定のスイッチがOFFなら会話を表示、ONなら何もしないようにリンクする透明なオブジェクトを作ってシーンに貼付。プレイヤーを動かないようにするのはプレイヤー側でスイッチOFFなら何もしないとか、...
— あいあんとべあ (@yuyamaz1987) 2021年5月30日
続き→https://t.co/tHAyuiXsdN#マシュマロを投げ合おう pic.twitter.com/sOfoPgXe4y
[テキストを表示]で●変数を選択、プルダウンで対象の変数を表示できる。オプションで桁数や小数点以下非表示も設定できる。フォントを設定しないと表示されないので注意。あと、フォントはオリジナルフォン...
— あいあんとべあ (@yuyamaz1987) 2021年5月30日
続き→https://t.co/he4VH2sdnA#マシュマロを投げ合おう pic.twitter.com/gTbDf4cXBG
こんな感じ。画像に接続点を設定しておけば、接続点付近に変数を表示できる。 pic.twitter.com/lbB6Pr2tEX
— あいあんとべあ (@yuyamaz1987) 2021年5月30日
[オブジェクトを変更]は今のオブジェクトを削除して新オブジェクトを生成する感じだから回復して見える。変更後のキャラBの初期アクションで変数[自身オブジェクト]┗[体力]=共通変数┗[B_HP]と...
— あいあんとべあ (@yuyamaz1987) 2021年5月31日
続き→https://t.co/c1F8INFTL8#マシュマロを投げ合おう pic.twitter.com/B7COdIUPCW
【アクツクMV初心者講座】TIPS Twitter過去ツイートまとめ)随時更新】
過去のアクツク講座系ツイートをまとめましたのでご参考に。
データベースの使い方
アクツクのデータベースは使い方はサンプルにカラム追加して試すと何が起こるか理解しやすいと思う。例えばスケールX(%)を追加するとレベルが上がるたびにウサギが太る。
— あいあんとべあ (@yuyamaz1987) 2020年12月22日
まぁ公式のチュートリアル動画とサンプル見れば使い方がわかると思うけど、念のため。#アクツクMV pic.twitter.com/sRKLoXBUwl
滑る床
滑る床、気になったので作ってみた。
— あいあんとべあ (@yuyamaz1987) 2020年8月16日
プレイヤーの移動の種類を加速移動にして、アメのオブジェクトに加減速量を変更させてる。アメがオレンジの時が加速度変更時。 pic.twitter.com/PRHejFMiTC
アクションプログラムはこんな感じ。 pic.twitter.com/kpcSouLDfU
— あいあんとべあ (@yuyamaz1987) 2020年8月16日
【訂正】滑る床→通常時のリンクがめっちゃ間違ってた。
— あいあんとべあ (@yuyamaz1987) 2020年8月16日
正しくは
アリクイのエリア変数≠2 and
アリクイがジャンプ状態でないとき and
アリクイが落下状態でないとき pic.twitter.com/4co9j4Cs9N
クールタイム
アクツクでクールタイム作るとき、自分はこんな感じで作ってます。
— あいあんとべあ (@yuyamaz1987) 2020年7月30日
スイッチがONになったらクールタイムのモーションになるオブジェクト、「モーションのアニメーションが最後まで実行されたら」元のオブジェクトに戻ってスイッチをOFFに。2つのアクションだけで実現できるので好んで使ってます。 pic.twitter.com/58hJLXTo88
コマンド入力
作り方 pic.twitter.com/Iwf0qfTTu8
— あいあんとべあ (@yuyamaz1987) June 7, 2019
セーブ&ロード
おまけ
— あいあんとべあ (@yuyamaz1987) April 18, 2019
基本形さえ覚えればアクツクでUIやセーブ&ロード作るのは実は簡単
後はただひたすら面倒なだけ pic.twitter.com/qoW3qw88N2
優先度の設定
アクツクでよく遭遇する設定ミス:優先度
— あいあんとべあ (@yuyamaz1987) April 14, 2019
例えば、図の待機⇒落下の優先度を一番高くしないと、ジャンプ直後orジャンプ攻撃直後に待機になった瞬間、ボタンを押せばジャンプか攻撃が出でることがある
アクションプログラムが複雑になると気付きにくくなるし、他の優先度と干渉して新たな不具合が出る pic.twitter.com/0fG9F8pNRi
動く足場の作り方
アクツクMVで動く足場の作り方https://t.co/G8ure0HxZr
— あいあんとべあ (@yuyamaz1987) April 8, 2019
足場さえ作ってしまえば、後は透明な移動オブジェクトを作って接続すれば割と自由な動きを作れる。#アクツクMV #アクションゲームツクールMV pic.twitter.com/6TLyTipprE
メニュー画面の遷移
ただ[ボタンを押された瞬間]のリンクと[ボタンを押されているand一定時間経過]のリンクを並列に並べてるだけだけど、アンロックタイプの画面だとスパゲッティ化する。#アクツクMV pic.twitter.com/MksnzOvBQK
— あいあんとべあ (@yuyamaz1987) April 1, 2019
アイテムの作り方
やり方は色々ありますが、簡単なのはこんな感じです。
— あいあんとべあ (@yuyamaz1987) March 31, 2019
敵を倒したときにアイテムを出したい場合は、「オブジェクトの生成」で作ったアイテムを生成します。その場合、画像1枚目の重力の影響を受けないをはずして、ジャンプさせればそれっぽく見えます。#アクツクMV pic.twitter.com/4GmDVzKZfG
動くカーソル
詳細な設定方法はこんな感じです。 pic.twitter.com/8Gflh0b8v5
— あいあんとべあ (@yuyamaz1987) November 3, 2018
おまけ、ミニゲームをリリースしました。
新着ゲーム:「アリクイくんのフルーツパーティ」フルーツをたくさん集めてハイスコアを目指せ https://t.co/APqWDztUec
— ふりーむ(ブラウザ&無料ゲーム配信中!) (@FreemGames) May 31, 2019
【アクツクMV】敵の動きについて
おひさしぶりです。あいあんとべあです。
人型や背景がうまく描けず苦戦しておりますが、少しずつ進んでます。
今回は進捗報告を兼ねて、私が作っている敵の動きを簡単に紹介します。詳しい部分は省略しておりますので、分からないことがあればコメントに記載いただければ解説します。
ちなみに、アリクイくんがファンタジー世界に迷い込んだ設定なので敵はファンタジー系にしてます。その辺のストーリーは完成が近づいたら紹介するかもしれません。
左右に移動するタイプ
壁に落ちないように左右を移動するタイプの敵です。
リンク条件に[1タイル進んだ先で、タイルの壁判定と接触][≠]を設定すると壁端で停止するように設定できます。
やられは前回紹介したコモンイベントで設定してます。
aiantbear.hatenablog.com
(下図はコモンイベントへのリンク条件です。スイッチ・変数が変化以外は同じ設定です。)
固定遠距離攻撃タイプ
移動せずに遠距離攻撃をするタイプの敵です。アクションプログラムは以下のような感じです。
解説すると、「敵≦自機なら右を向く、敵>自機なら左を向く」という処理を待機、矢印(緑)でやっております。待機から攻撃へのリンクは「一定時間経ったら」、弾は弾の発射(もしくはオブジェクトの生成)をさせております。今後の説明では省略しますが、緑色で左⇔右となっている部分は上図と同じことをやっていると思ってください。
私は敵キャラを作るとき、右向きと左向きを別々に作成しております。最初は作業量が倍になるので嫌だったのですが、色々考えた結果、どっちを向いているか分かりやすく、動きをパターン化しやすいのでコピペで派生を作りやすいので最近は好んで使ってます。
ちなみに泡攻撃は以下のようなオブジェクトを生成(接続点)しております。(弾発射ではない)
固定攻撃タイプ
基本的な形は上の固定遠距離タイプと同じです。待機から攻撃へのリンク条件が時間経過ではなく、オブジェクトとの距離となっております。
接近したらプレイヤーに近づくタイプ
こんな感じで追ってくるタイプの敵は以下のような感じで作成できます。
※歩行⇒停止の条件はプレイヤーの当たり判定に触れるorプレイヤーのX座標と敵のX座標が一致するときになります。
行動パターンが確率で変わるタイプ
上のプレイヤーに近づくタイプに、一定距離以内なら「ダッシュする」「ジャンプ移動する」の行動パターンを追加したものになります。
下図赤枠で「確率を使用する」アクションを使う事でランダムな動きを実現できます。
※黄枠部分は[zzz]や[!!]エフェクトを出すための処理です。
今回は紹介しておりませんが、宙に浮くタイプのキャラは重力の影響を受けないにチェックを入れるだけなので、基本的な作り方は変わらないです。(上下の移動量は調整する必要があります。)
ドット絵が完成したら、また紹介していこうと思います。今回はこの辺で失礼します。
アクツクMV初心者講座ミニ コモンアクションの紹介 やられアクションのサンプル
今回はタイトルの通り、コモンアクションの紹介と、それを使ったダメージ時のアクションの作り方を紹介します。
また、やられアクションはプレイヤーの向きとダメージを受けた方向で飛ぶ方向を変えたいという要望をよく聞きますので、そのやり方を説明します。
やられアクションは最初の講座で紹介しておりますが、その方法だと図のようにプレイヤーのアクション数が多くなるにつれて作るのが非常に手間になります。
そんな時、コモンアクションを使えると便利です。
※コモンアクションはダメージモーション以外にも色々使い道はあるので模索してみてください。
※Ver 0.9.2をベースに記載しておりますので、正常に動作しない場合はバージョンアップをオススメします。
[オープンベータへの移行手順]
1.Steam-ライブラリからPixel Game Maker MVのプロパティを開く
2.「 open_beta 」を選択してプロパティを閉じる
コモンアクションとは
コモンアクションは、[オブジェクトの設定項目を追加]から追加することができます。
コモンアクションはすべてのアクションからリンクが繋がっている状態です。
コモンアクション実行後は、元のアクションに戻ります。
※下図は攻撃発生からコモンアクションにリンクしたときのイメージです。
コモンアクションの設定方法は通常のリンク、アクションと一緒です。
コモンアクションへのリンク条件は図の赤枠部分の矢印をクリックすると設定できます。
コモンアクションは図の赤枠部分をクリックすると設定できます。
コモンアクションから元のアクションへ戻るときのリンク設定は赤枠部分の矢印をクリックすると設定できます。
ここでやられモーションを作成するときに一つの問題が発生します。
コモンアクションは必ず元のアクションに戻るため、ジャンプアクションや攻撃アクション中にダメージを受けると、ダメージモーションを実行後にジャンプや攻撃が出てしまいます。
この問題は、[オブジェクトのアクションを実行]を使うことで解消できます。
具体的は方法は次の章で説明します。
やられアクションを作る
最初に完成図と簡単な説明です。
解説すると、コモンアクションのその他の実行アクションに[オブジェクトのアクションを実行]を設定すると、元のアクションへは戻らずに指定したアクションからリンク先へ遷移させることができます。
図では、ダメージを受けたら、やられアクションを実行し、そのまま待機アクションへ遷移させております。ジャンプ中でも攻撃中でも必ず「やられ」→「待機」に遷移します。
それでは、具体的な作り方の説明に入ります。
Step1 やられアクションの作成
オブジェクトのアクションを実行させる場合、あらかじめアクションを作成しておく必要がありますので、最初にノックバックを作っておきます。
正面から攻撃を受けた時は正面を向いたまま後ろに移動させたいので
「表示方向と同じ方向」に数十ドット+逆方向へ移動にチェックを入れる
と設定します。
後ろから攻撃を受けた時はそのまま前に移動させたいので
「表示方向と同じ方向」に数十ドット と設定します。
Step2 コモンアクションへのリンク
次に、コモンアクションへリンクさせるときの条件を作成します。
使うのは「攻撃判定に当たる」「他のオブジェクトの向き」の2つです。
1.攻撃判定に当たる
攻撃判定は▶の枠がオレンジ色の時、指定されていることになります。
プレイヤーの場合はエネミーグループ、敵の場合はプレイヤーグループで指定しましょう。(作成しているゲームによってはすべてのグループを設定ください)
2.他のオブジェクトの向き
8方向から指定を選択します。矢印が緑色の時、指定されている向きとなります。
オブジェクトはオブジェクトで指定から「自身のオブジェクト」を選択します。プレイヤーが1体しかいない場合は対象のオブジェクトを名指しでも構いません。
考え方として、攻撃判定の方向とプレイヤーの向いている方向の組み合わせから吹き飛ぶ方向を割り出します。以下の5つのパターンになると思います。
①攻撃判定:左、プレイヤーオブジェクトの向き:右 ⇒やられ前移動
②攻撃判定:右、プレイヤーオブジェクトの向き:左 ⇒やられ前移動
③攻撃判定:右、プレイヤーオブジェクトの向き:右 ⇒やられ後ろ移動
④攻撃判定:左、プレイヤーオブジェクトの向き:左 ⇒やられ後ろ移動
⑤攻撃判定:全体(もしくは上下) 優先度が上より低い ⇒やられ後ろ移動
上記5つをコモンアクションへのリンク条件に設定していきます。
図は①の攻撃判定左、方向右の設定となります。同様に②~④も設定しましょう。
⑤のみ、優先度を他の4つより小さい値を設定します。
また、「他のオブジェクトが指定方向を向いている」は不要です。
Step3 コモンアクションの実行アクション
最後に、コモンアクションのその他の実行アクションを追加します。
Step1で作成したやられアクションを実行するアクションを追加していきます。
※今回、コモンアクションの右側のリンク条件は設定不要です。
①攻撃判定:左、プレイヤーオブジェクトの向き:右 ⇒やられ前移動
②攻撃判定:右、プレイヤーオブジェクトの向き:左 ⇒やられ前移動
の場合
③攻撃判定:右、プレイヤーオブジェクトの向き:右 ⇒やられ後ろ移動
④攻撃判定:左、プレイヤーオブジェクトの向き:左 ⇒やられ後ろ移動
⑤攻撃判定:全体(もしくは上下) 優先度が上より低い ⇒やられ後ろ移動
の場合
これで、設定は完了です。
テストプレイで敵の攻撃を受けて、思い通りに動くか確認してみてください。
上手くいかない場合は、Step2,3の設定を見直してみてください。
今回の説明はプレイヤーのやられでしたが、敵プレイヤーでも同様に設定できます。
その場合、オブジェクトグループ設定などに気を付けてください。
今回の講座は以上です。
アクツクMV初心者講座プチ 敵に攻撃を当てた時に白く点滅させる方法
お久しぶりです。あいあんとべあです。
今まで敵キャラを白く光らせる方法を難しく考えすぎてたのですが、ちょっとした設定で簡単に光らせる方法がありましたので紹介します。
※補足:動画は基本設定の無敵をオフにしております。
使うのはオブジェクトの[被ダメージ]の設定です。
下図のように、対象のオブジェクト設定に、[攻撃判定に触れた時の被ダメージ設定]をチェックし、OKをクリックします。
次に[被ダメージ]タブを選択し、[+]をクリックして追加していきます。
クリティカル率、被ダメージ係数などは今回は触りません。
被ダメージ時の表示設定で表示時間とフィルター効果を設定します。
先ほどの動画は表示時間0.02、指定色で塗る:255:255:255:255としております。
[ポイント]属性値で指定
攻撃側のオブジェクトのデフォルト属性値は0です。
つまり、定数=0にすれば特に設定なしでダメージ時に白塗りにできます。
逆に、属性値=任意の数字にすれば、特定の攻撃時のみ白塗りにできます。
※攻撃する弾の属性を1に変更する方法は以下の通りです。
簡単ですが、以上です。
アクツクMV初心者講座プチ 10分でできるステージセレクトの作り方と誤魔化し方
どうも、あいあんとべあです。
タイトルにある通り、今回はステージセレクトの作り方について紹介します。
正直、仕組み自体は以前、下で紹介しているので講座に書く必要はないかなと思っていたのですが、思ったより需要がありそうだったので記載します。
ステージセレクトの作り方
今回紹介する方法は、こんな感じの一見複雑そうなステージセレクトも簡単に作ることができます。
まずは事前準備です。
今回のポイントは、この画像です。
絵を見ていただければわかると思いますが、重要なのは選択されているように見える画像です。
画像をばらして作ろうとすると、移動させる座標を調べたりする必要があるので大変手間です。画像側で最初からそろえておけば何も考えずに作れます。
下図のような感じで背景+パーツごとに透明化してもOKです。
ここからステージセレクトを作成していきます。
これを全てのステージ分作成すれば完成です。
この方法の利点は難しくないのと、ステージの配置とオブジェクトの配置を同じにすれば、後で見ても理解しやすい点です。
右を押されたら+1みたいなプログラムっぽいやり方は作るのが複雑なので好きじゃない、という私みたいな人間にはこちらのが圧倒的に簡単です。
以前、私が作ったありくいジャンプというゲームも、画像と表現方法が違うだけで、オブジェクトの作り方は全く同じです。(他のオブジェクトの状態を変化させて、動いているように見せてます。)
誤魔化し方を考える
ゲームを作り始めて感じたのは、ゲーム制作は外見が100%ということですね。
例えば、下の動画、どうやって作ってると思います?
下の4つの画像を使って作ってます。
後は、今回上で紹介した方法と同じですね。上2つと下2つのペアでアニメーションを作ってます。選択肢とかタイトル画面の始める、続けるといった方法はまったく同じなので、UIをつくる基本かもしれませんね。
ここで、カーソルと画面が違うものだと思った!とか、もっと簡単な方法がある!とか意見はあると思いますが、そんなことプレイする人には関係ないです。
重くない限りは、やりたい事が実現できればどうやっても構わないです。
画像100枚作るのと、変数とかを駆使して画像を数枚に抑えるか、どっちが楽かはその人次第かと思います。
なるべく汎用的な事のみを講座化しているので、参考にしつつ自分が作りやすい方法を考えてみてください。
最後に、こういうタイプのカーソル移動の方法を一つ紹介します。
利点はドット数を計算しなくて良い事と、等間隔でなくても良い事です。(ななめ移動なども出来ます。)
まず、接続点の異なるアニメーションを用意します。(同じ画像でも可)
次に接続するカーソル用オブジェクトを準備します。
親と子の設定で一定間隔をあけて追従するを設定します。
※離れずに追従するにすると、接続点に瞬間移動するタイプの移動方法になります。これはこれで便利です。
オブジェクトの接続、もしくはカーソルの生成をします。(※ver0.91だとメニュー画面でオブジェクトの接続ができませんでした。)
あとは、モーション設定時に接続点を考慮するだけで、接続点の中心にカーソル用アイコンが移動するようになります。
いかがでしたでしょうか。
全てをアクツクの機能でやろうとはせず、画像でごまかしたり、遠回りすることで実現することもできますので、自分の実力にあったやり方で作りたいものを作ってみてください。