同人ゲームサークル reverse snare 開発ブログ

主に2DSTGを作ってる同人ゲームサークル reverse snareの開発記、イベント・作品宣伝を行うブログです。

ADX2LEでインタラクティブミュージック(横遷移)の実装

製作中の「アルカイック・デスブリンガー」ではインタラクティブミュージックを実装したい。
その一歩として、次の体験版で実装予定のキャラセレ/チュートリアルのBGMでの実装を試みる。

インタラクティブミュージックとは

(以下IM)

ゲームの進行状態や操作に応じて音楽の展開を制御して、場面に合わせた音楽でゲームプレイを盛り上げる手法。

  1. 縦遷移…マリオシリーズヨッシー搭乗パーカッションやマリカwii以降のメニューの階層を進めたときに楽器が増えていくあたりがわかりやすい。
    強化状態やピンチな状態で楽器の追加変更を行う。

  2. 横遷移…F-ZERO GXファイナルラップBGMに遷移するとき、急に切り変わらず音楽的な区切り(4小節毎など)まで待ってから切り替える。
    ゲームの進行が固定的なスクロールシューティングでは、道中は曲流しっぱなしで十分だが、横遷移を使うのであれば、「ボス戦の形態によって曲が進む」などだろうか。

大復活の裏中ボスは、ステージ開始時に別曲を読み込んで再生しているが、条件によってゲーム進行を一部だけ変えるのであれば、IMで実装してもよいかもしれない。

キャラセレ/チュートリアルでIMをどう使う?

実現したいのは以下の通り。
横遷移を使用する。

太文字はチャレンジングな内容で問題になりそうな事項。

  • キャラセレのループからチュートリアルのループに遷移
    • 遷移するときは専用のセクションを通過したい
  • キャラセレのループが終わらないままチュートリアル終了した場合、Aジングルでゲーム開始、
    チュートリアルのループならBジングルでゲーム開始
  • 変拍子の曲でインタラクティブしたい
    • 主にボス戦で多用する予定だし、先にどのようなデータ用意/実装が必要か見ておきたい
  • セクションごとに微妙にテンポチェンジしたら生演奏っぽいかな?
    • 普段やってるわけでもないのになんでこれ目標にしたの?????
  • 曲のセクションを遷移しても空間系の余韻を残すべき。なので遷移タイミングすべてでwavを分割しておく

曲の作成

というわけで曲が出来上がった。

  • Aパート:キャラセレ用パート「7776」
    • その名の通り7/4 x3と6/4で構成されたパート
    • キャラセレ中はこのパートでループする
    • ゲームがチュートリアルに遷移した場合は、4,8小節目を遷移用フレーズ(8/4)に切り替えてBパートへ遷移
    • ゲームがゲーム開始状態に遷移したときは各小節の終わりからジングル:end1に遷移
  • Bパート:チュートリアル用前半パート「piano」
    • ピアノのメロが主体のパート
    • 自動的にCパートに遷移する。最後の小節だけ7/8拍子
    • ゲームがゲーム開始状態に遷移したときは4小節の区切りからジングル:end2に遷移
  • Cパート:チュートリアル用後半パート「DHE」
    • switchのユグドラを遊んでいたせいかスティング作品の戦闘準備BGMぽくなったパート
    • チュートリアル中はこのパートでループする
    • ゲームがゲーム開始状態に遷移したときは2小節の区切りからジングル:end2に遷移
  • Aパートで終了時ジングル「end1」
  • B,Cパートで終了時ジングル「end2」

音楽的なつながりとか、ディミニッシュのフレーズでゴリっとやってしまった。
end2の最初の3音のヒット、「THE ASTONISHING」で聞いたような場面転換感。

というわけで遷移ポイントごとにwavに書き出してCRI Atom Craftに取り込む。
空間系の余韻を残すという目標によってデータサイズ爆上げ君。

CRI Atom Craftでデータ作成

テンポ/拍子設定

イムルーラ横のボタンを押すと時間基準表示かビート表示が選べる。
https://game.criware.jp/manual/adx2_tool/jpn/contents/criatom_tools_atomcraft_edit_timeline_timebase_setting.html?highlight=%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%99%E3%83%BC%E3%82%B9

テンポ/拍子を設定できる。7/8とか分母も設定できる。

ミリ秒指定は面倒なのでクオンタイズされた操作ができるのはありがたいが、同一キュー内でテンポチェンジがあった場合は変更できない。

タイムラインの右クリックからビート同期情報を作成できるが、ここでテンポ/拍子変更してもタイムルーラには反映されない。ビート同期情報は縦遷移のテンポ合わせに必要なものなので、横遷移のみの今回には関係ない。
変拍子だけなら、正直、小節頭がずれててもクオンタイズされていれば目的のデータ設定はできそうだが、テンポチェンジとなると厳しい。

タイムライン上で右クリック>サブシーケンス作成で編集中のキュー内でサブシーケンスを持てる。
サブシーケンスの中では別のテンポ/拍子設定が使えるので、変更があるたびにサブシーケンス内に波形を置いていく。

ブロックの設定

https://game.criware.jp/manual/adx2_tool/jpn/contents/criatom_tools_atomcraft_sequence_block_property.html

キュー内でのみブロックを設定する。 サブシーケンスや子キューで持つと親キューの進行にかかわらず内部でループすることがあるので。

  • ブロックの終端ミリ秒
    • テンポチェンジと変拍子が絡む場合は自前のexcelで計算する。変拍子では付属の計算機で出しにくいのでね…
  • ブロック遷移先
    • デフォルトの遷移先。次のセクションに続けるなら「次のブロック」、ループするなら戻したいブロックを指定。遷移先を設定するときはインスペクタの下のブロックの情報設定を開く必要あり。
  • ブロック遷移タイミング
    • 今回のAパートのような、「遷移先によって遷移タイミングを変える」を実装したい場合はブロックエンド時に限定してブロック数を増やしたほうが良い。プログラムで現在ブロックIndexはとれるが、現在の指定分割位置が取れないため
    • 他には「XからYに遷移する時は、2小節目はX’につなぐが4小節目はX''につなぐ」などつなぎ部分を切り替えた曲を用意する場合もブロックエンドのほうがよさそう
    • 上記に該当しなければ、入力の手間が省けるため、指定分割でもよい
  • ブロック遷移の振る舞い
    • 余韻を残したい場合は「何もしない」

多重再生が発生しないか確認

ここからが本当の地獄だ…

  • テンポ変更によってクオンタイズされた操作がほぼ不可
  • 余韻云々のためwavが分割されすぎている
  • ブロック遷移の振る舞い「何もしない」により、一度wav再生されると1フレーズ流れっぱなし

上記のためか、下記が起こる場合がある。

  • 同セクションループ時に、次ブロックサブシーケンスが再生される
  • 分割ブロックから遷移したとき繊維前の次波形が再生される

必要に応じて5~15ミリ秒程、各wavを後ろにずらす。

確認がすんだら書き出し

ついでにCSVで情報を書き出しておくと便利かも。

Unityに取り込む

ブロック制御するときの再生プログラム

CriAtomExPlaybackで次ブロック指定や現在の再生情報の取得を行うことができる。

宣言

CriAtomExPlayer player;
CriAtomExPlayback playback;

//CSVからブロック名を抽出すると楽。識別しやすい命名にしよう!!!!!!!
enum SectionState : int {
    fillin
    , _7776_123
    , _7776_4
    , _7776_567
    , _7776_8
    , _7778_8
    , piano_123
    , piano_4
    , DHE_1_peak
    , DHE_2to8and1peakless
    , end2
    , end1
}

再生ファイル指定

player = new CriAtomExPlayer(true);

//Assets\StreamingAssets以下を参照してファイル指定
player.SetCue(CriAtom.GetAcb("CharactorSelect_Tutorial"), 1);

再生

playback = player.Start();

現在のブロック取得と遷移先ブロック指定

int cur = playback.GetCurrentBlockIndex();
if(cur==(int)SectionState._7776_123){
  playback.SetNextBlockIndex((int)SectionState._7778_8);
}

ブロック設定で触れた、

今回のAパートのような、「遷移先によって遷移タイミングを変える」を実装したい場合はブロックエンド時に限定してブロック数を増やしたほうが良い。プログラムで現在ブロックIndexはとれるが、現在の指定分割位置が取れないため

について、もし分割で設定してしまっている場合は、別途フラグの用意、シーケンス位置で判定してどうにかする(敗北)。
曲前半であるほどブロックの差し込みによる手間が爆増するため、データ修正をあきらめてコードを書く。

const long _7776_3_START = 6884;
const long _7776_3_END = 9558;

const long _7776_7_START = 17202;
const long _7776_7_END = 19877;

bool is7776_3or7() {
    long seqPos = playback.GetSequencePosition();
    return (seqPos >= _7776_3_START && seqPos <= _7776_3_END) ||
      (seqPos >= _7776_7_START && seqPos <= _7776_7_END);
}

----

//ゲーム状態操作時
if (is7776_3or7()) {
    playback.SetNextBlockIndex((int)SectionState._7778_8);
} else {
    waitFor7776_3or7 = true;
}

----

//遷移タイミング待ち
if(is7776_3or7() && waitFor7776_3or7){
   playback.SetNextBlockIndex((int)SectionState._7778_8);
   waitFor7776_3or7 = false;
}

多重再生が発生しないか確認

地獄は終わらない…

ツールで多重再生などが発生しないことを確認したにもかかわらず、Unity上で発生してしまう… 各wavをさらに8msほど遅くして解決。

ビルドして、Application.targetFrameRateでFPSを下げたり、PCの省電力設定で多重再生が起きないか確認。
ほかのプロセスで走ってるはずなのでFPSは確認の意味ない気もする。

実装完了!

お疲れさまでした。

その他気になった点など

  • ツール付属のマニュアル.chmファイルよりウェブ公開されてるユーザーズマニュアルのほうが詳細。
  • 多重再生については読み込み速度や処理速度の問題か?と見ていたが、ツールデフォルトのオンメモリ再生から変更していないので、サンプル位置の調節でしか対処できない?
    • CriAtomExPlayer.Prepare()はストリーミング再生での事前読み込みなので関係ない。

今後の製作でIMをどう用いるか

今回横遷移のIMを実装したのは、曲の展開がある場合だと横遷移だろうと決めつけていたため。(F-ZERO GXの制御だけ想定していた)
縦で楽器の差し抜きに限らず曲展開も可能だということを、IMについて調べてる間に気づいたが、対応する曲制作が技術的に可能かわからない、データ作成の手間が多そう、変拍子で縦はさらに難度高そうで、今後やるかどうかはわからない。
(「この小節だけ1拍抜き」とかやりたいので縦で同期とるの絶望的では?)
縦を使うならコード進行に影響のないパーカッションの増減が最もエコノミーか。
強化状態になったらドラムをズンドコさせたバージョンに切り替えるとか?

IM用のデータを用意するなら

  • 拍子は自由でOK!
  • テンポチェンジは音楽的に必要がない場合は使用しない(演奏感のブレを求めて使用しない)
    • 次の作成時、テンポチェンジがない曲で多重再生が発生するのであれば、サンプル位置補正は作業手順に含めてしまう
  • ブロック遷移タイミングは基本ブロックエンドで、プログラム側で制御しやすくする。
  • 遷移可能タイミングを増やすと分割wav数が増えるので、絞る
    • 短いループに留めて縦のパート増減で尺稼ぎ?

以上、IMの試作でした。 今月はキャラセレ/チュートリアルの画面素材作成に入ります。

イベント参加告知!!【デジゲー博2019】【コミケ97_4日目】

前ブログの後始末や過去記事の画像整理をしないまま半年以上たっております。

デジゲー博

2019年11月17日(日)
秋葉原UDX2階 アキバ・スクエア&4階 UDXギャラリーで開催

配置場所:2階 AKIBA_SQUARE D-20a reverse snare

digigame-expo.org

参加サークル一覧 | デジゲー博

お疲れさまでした。 多くの方に試遊いただいて感謝です!

コミケ 97

配置場所:12/31(火) 4日目 南地区 "メ " 20b

おしながき

【体験版】アルカイック・デスブリンガー 2019 体験版 - ¥100

横スクロール弾幕STGです。
去年頒布したステージから変わって正式なステージ1が…遊べる…かもしれない
システムも一部変更が入っています。
デジゲー博とコミケで同じDLカードを頒布しますが、内容は進捗に応じて更新していきます。

ダウンロードリンクは以下となります。
https://www.dropbox.com/s/3viwjmev3wmvjh9/AD_Tr2019.zip?dl=0
カード記載のリンクはhttp://bit.ly/AD_tr2019ですが、上記の短縮URLとなっています。
Zipの解凍はDLカード裏面のパスワードを使用してください。

11/17 初版公開(設定ミスにより、11/17 25時ほどまでDL不可の状態でしたが現在は復旧しています。)
11/21 描画不具合の修正ほか、画質クオリティの変更をオプションで可能にしました。

【既刊】stolen explosive - ¥100(予定)

装備の熱量をコントロールして、強力な攻撃を放て!縦STGです。
DLカードになるか白ロムCDに焼くかDL販売サイトの宣伝ビラになるかまだわかりません。 デジゲー博ではCD焼いて頒布していました。多分コミケもそうなる。

それではまずはデジゲー博でお会いしましょう~~ではでは~~~~~~~~ 次はコミケです~~~~~よろしくです~~~~~~~~

Twitter連携の実装

ブログ中のDLリンク確認は完了して無効リンクの差し替えなど行いましたが、サムネ画像の差し替えがめんどくてやってない…結構な量あるよなぁ

では本題です。

RebRank製のTwitter連携ツールを使いたい

SimpleTwitterClient
https://www.rebrank.org/products/SimpleTwitterClient/

RebRankさんが公開している、ツイッターのアプリ連携を行うツールの存在を以前から知っていました。

GitHubで公開されており、MITライセンス内で使用できます。
RebRankさんのゲームはもちろん、∀kashicforceなどの他サークルの同人ゲームでも利用されているツールです。

こういうやつ

エゴサってあんまりやってないんですけど、これでタグ付けツイートさせれば感想とかたどりやすくなるんじゃないかなーという目論見で、去年の体験版の時点で実装したかったのですがTwitter側の設定がわからず実装をあきらめました。
つい先日思い立って設定を見直したら連携できたのでサクッと実装してみました。

Twitter側の設定

https://developer.twitter.com/

ここでdeveloper登録する。(1年前なので覚えてない)

アカウントを作ったら、連携するアプリケーションの情報を入力します。
右上の下矢印からApp
f:id:Y__revSD:20190630203444p:plain

右上のCreate an appで
f:id:Y__revSD:20190630203447p:plain

アプリケーションの情報入力画面に入ります。
f:id:Y__revSD:20190630203637p:plain

アプリ名はまあいいとして、

  • Website URL (required)
    開発者や製品ページのURLを記載します。
    ここに入力した内容がユーザーに表示され、連携設定を行う画面やTwitter設定内の「アプリと端末」内に表示されます。
    ほかのURL欄は入力しなくてもOKです。多分。

  • Application description (required)
    "ゲームプレイ結果をツイートします"など書いておきます。 これもユーザーから見えます。

  • Allow this application to be used to sign in with Twitter / Enable Sign in with Twitter
    Callback URLs
    チェックなしのURLなしでOKです。
    去年はここでやられてました。
    Enable...にチェックを入れるとCallback URLsがrequiredになります。

f:id:Y__revSD:20190630204814p:plain

f:id:Y__revSD:20190630204819p:plain

読み違えて「ログインが必要?そりゃそうだろうな…」でチェックを入れ 「このツール使ってるゲームではこのPIN画面が出るけど、ここのURLはどうやって調べるんだ!?」と去年は必死でググり混乱を重ねていましたが、
f:id:Y__revSD:20190701005314p:plain 別にチェックなしのURLなしでOKです。この画面が表示されるようになります。

入力が終わったらKeys and tokensタブでConsumer API keysAccess token & access token secret 両方を生成します。
Access tokenは不要かも?(よくわかってない)

SimpleTwitterClientを設定変更してビルド

https://github.com/Sheile/SimpleTwitterClient

ZIPダウンロード。
readmeどおりに進めていけばOK!

コマンド打って稼働確認しておきます。

--configで設定を行ったかどうかは、twitter-config.xmlが存在しているかを判定するとよいと思われます。

Unity/C#の実装方法を確認

  • exeを呼ぶには?
    System.DiagnosticsのProcessクラスを使用します。
void callSSTwitter(string currentPath, string arg) {
    var app = new ProcessStartInfo();
    app.FileName = currentPath + "sstwitter.exe";
    app.Arguments = arg;
    app.UseShellExecute = true;
    Process.Start(app);
}

引数に渡す文字列にはダブルクォートを忘れずに…(1敗)(最初のスペース以降すっぽ抜けた図)


public string getCurrentPath() {

    string FilePath;

#if UNITY_EDITOR
    FilePath = Application.streamingAssetsPath;
    FilePath = FilePath.Replace("Assets/StreamingAssets","");
#else
    FilePath = System.AppDomain.CurrentDomain.BaseDirectory;
#endif
    UnityEngine.Debug.Log(FilePath);
    return FilePath;
}

エディタでの動作確認はプロジェクトディレクトリ直下にsstwitter.exeを配置。
ビルドしたらゲーム本体exeと同じ階層に配置。

ツイート内容を考案

  • ゲーム名ハッシュタグ
  • キャラ
  • バージョン
  • スコア
  • 到達面
  • 設定で追加情報をツイートに含める
    • アイテム素点などスコア回りの内容

字数を稼ぐために半角英数でカバーしたい
(最近の文字数仕様だと全角文字だと140字、半角だと200?字で、混在してるとその間で文字数可変だったような気がする)

あと英語でもツイートできるようにしたい。

言語化対応

UnityのTextAssetを使った多言語対応(ローカライズ)の方法
https://taiyoproject.com/post-430
こちらの、Asset/Resourcesに言語別ファイルを置いて読み込む形式を使用。コピペして下さいとあるのでコピペする。

Dictionaryって処理・メモリ重いんじゃないかな?と思うけどツイートタイミングはゲーム終了時だしツイート時のみ言語別の文章を知ってればいいので、staticでないクラスにして必要な時だけ読み込み、解放するようにした。
ゲーム内容の多言語化はどうしようか。文章ボリュームの想定がつかないのでまた今度考える。

日本語と英語で文章構成が変わってくるので使用する単語置き換え用の単語を含んだ文章を書いておく。 $hennsuu 的な

多言語用ファイルの内容はこんな感じ。

tweet_ja.csv

HashTag  #ARCAIC_DEATH_BRINGER
Stage   ステージ
Boss    ボス
TrueBoss    真ボス
Reached $charaで$stageに到達!
GameClear   $charaでクリア!
DefeatedTrueBoss    $charaで真ボス撃破!!!!
UseContinue (Continue有)
Sies    シエス
Alsy    アルシィ
hogehoge    名称未設定
Seg セグ

tweet_en.csv

HashTag  #ARCAIC_DEATH_BRINGER
Stage   Stage
Boss    Boss
TrueBoss    True Boss
Reached $chara reached $stage!
GameClear   Game cleared with $chara!
DefeatedTrueBoss    $chara has Defeated True Boss!!!!
UseContinue (UsedContinue)
Sies    Sies
Alsy    Alsy
hogehoge    (unnamed)
Seg Seg

この短い英文でも怪しい…怪しくない?

Reachedの例で言えば、
1. ゲームで使用しているキャラの名称を取得。(ファイル後半の4項目)
2. ゲームの進行に合わせて、StageBossキーから単語を取得。
3. ステージ数はゲーム管理から取得してstringにする。
4. ステージ数とStage or Bossの単語を合成する
5. Reached文章を取得。
6. $hennsuuの文字列を用意したキャラ名、ステージ数に置き換え
7. シエスでステージ1に到達! Sies reached 1Boss!のような文字列が完成する。

追加情報をツイートに含める内容については、字数稼ぎのため英字で固定にする予定だけどハードコード脱却のためにあとで両方に同内容移すかも。

あと文字コードUTF-8で保存すること。

テストを書く

今までのゲーム、テストを全く書いていない
最近になって書いたほうがいいんだろうなと思いつつもゲームロジックはカウント多用や他オブジェクトとの会話が多めで書きづらいためできていない。

今回は動的な部分が少ないので、導入するきっかけにできた。

Unity Test Runnerを導入
https://docs.unity3d.com/ja/current/Manual/testing-editortestsrunner.html

public class TweetUtilTest {

    [Test]
    public void Test01_callTwitterConfig() {
        TweetUtil tu = new TweetUtil();

        tu.configTwitter();

    }

    [Test]
    public void Test02_stage1GameOver_Ja_Simple() {

        Settings.languege = Settings.Languege.Ja;

        TwitterSetting.enableAdditionalInfo = false;

        TweetUtil tu = new TweetUtil();

        StringAssert.AreEqualIgnoringCase(
            "\"#ARCAIC_DEATH_BRINGER " + Settings.version + " / シエスでステージ1に到達! Score:999,999\"",
            tu.Tweet(TweetUtil.Progress.St1, false, Player.NewGamePlayerBase.Chara.Sies, 999999, 123, 1.23f, 1, "hogehoge")
        );
    }

    [Test]
    public void Test03_1bossGameOver_En_Detail() {

        Settings.languege = Settings.Languege.En;
        TwitterSetting.enableAdditionalInfo = true;

        TweetUtil tu = new TweetUtil();
        StringAssert.AreEqualIgnoringCase(
            "\"#ARCAIC_DEATH_BRINGER " + Settings.version + " / Sies Reached 1Boss! (UsedContinue) Score:999,999 ITEM:+123 ElmMult:1.23 Orb:1 \"",
            tu.Tweet(TweetUtil.Progress.St1boss, true, Player.NewGamePlayerBase.Chara.Sies, 999999, 123, 1.23f, 1, "hogehoge")
        );
    }
}

StringAssert.AreEqualIgnoringCase
単純なequalアサートがないっぽい? 正規表現じゃないからisMatchじゃないし、containsも含むって変だなと思ったのでAreEqualIgnoringCaseにした。

完成! あと残作業

ヤッタネ!

  • C97版で画面遷移など整理しなおす予定なので正式な実装箇所にはまだ載せられない…
  • 設定画面で
    • sstwitter.exe 設定画面呼び出し
    • ツイート許可設定
      • twitter-config.xmlの存在を検知して設定変更 可/不可 を制御
    • 詳細を書く設定
  • ゲームオーバー処理でツイートする

うん、完成といえないのでは?

ブログお引越し

気分で移動してきました。

 Markdownが使えると聞いて飛んできました。

移転元:http://reversesnare.blog.fc2.com/

 

すごいお手軽に引っ越しできて驚いています。過去記事全部持ってこれると思ってなかった

一部gif画像が読み込めないので手修正か放置か、あと過去の作品リンクの死活確認を行う予定です。 サムネ画像のリンク先全部前ブログじゃないか?

  さて今年は冬のコミケ97と11月のデジゲー博に参加予定です。(夏はいつも通り出ません!)

AD体験版の予定ですが、洞窟面を捨て正式なstage1を実装して公開!できるといいね!! PGも音も画像も課題が山積みだぜ!!!!!!  

BOOTH Festival デジタルゲーム回 参加してました

事後報告ですが、イベントの終わった現在も販売継続しています。

アルカイック・デスブリンガー C95 体験版 (BOOTH更新版) [無料]

https://revsd.booth.pm/items/1275107

更新点は…

・エフェクトの追加

・疑似処理落ち、ヒットストップ等調整

・ボス体力表示

・ボス形態変化で錬金

・自機の攻撃、スコアシステム等調整

・自機の移動で任意縦スクロール

・敵の管理方法変更(見た目変化なし)

・一部的動作変更

…など

stolen explosive  [300円]

https://revsd.booth.pm/items/1274873

他DL販売サイトと同内容。値段は端数を減らしてちょっとお得

燗天 -KAN TEN- [無料]

https://revsd.booth.pm/items/1274801

以前ブログに置いていたものと同内容。

深夜に動画をこしらえている最中「新たに動画用意する必要あったのか」と疑問が沸き、ADは力尽きて動画作成していない。

アルカイック・デスブリンガー C95体験版 ダウンロードページ

DLカードには「省略リンクが嫌なら公式ブログを見ろ」的に書いてあったのにしばらく用意せずすいません

 

 

アルカイック・デスブリンガー C95体験版

 

DLリンク:以下のどちらかからzipファイルをダウンロードしてください。

 

頒布ファイルはzipで、AES-256で暗号化しています。

対応する解凍ソフト(7zとか)を用意しDLカード記載のパスワードで解凍してください。

 

20190626編集:リンク切れ&BOOTHで更新しているため、以降はBOOTHからDLしてください

revsd.booth.pm

 

 

 

最終更新:1/12

・起動時のロゴ表示

・warning画面のボタンスキップ

・スタートでコイン投入

・readmeに実装しているオプションの説明などの追記

・フルスクリーン対応

・キーコンフィグの設定後の表示崩れ修正

・キーコン未使用の4ボタン目の項目名変更

・リザルトボーナスの修正。ボスタイムは実装されていないため0点に固定

・一部状況でゲーム終了してもBGMなるのを修正

・たまにレーザー放してもレーザー移動速度になるのを修正

・レーザー開始アニメのタイミング修正

・PMAP権利表記追記

 

今回のバージョンは無料公開することはないです。

3月末にブラッシュアップしたバージョンを無料公開…できたらいいね!

 

 

おまけ

BGMの一部パートだけ抜き出し音源です。

 

ゲームに載せられなかった、Effekseerで作ったエフェクト2種。

スクロールついてくる仕組みを用意できなかったため今回の実装は泣く泣くあきらめた。

swing.png

剣振りエフェクト

rec_3_2.png

ボタン離しボム…の予定

 

サークルカットの子「サモナー

ザコキャラを複数考えて待機ポーズぐらいは書き上げてるけど待機アニメも攻撃も全く書いていないためほとんどのキャラが実装できない状態。

サモナーip

C95&12/29ラジオ会館同ソイベントの作品感想

ラジ館ゲームショウの作品から

DSM サークル名?DSM DEVELOP TEAMでググってもサークルページは見つからず。

https://kansai-doujingame.com/?p=2071

DSM_2.png

往年のアケシューな感じの手触りで、会場であそんでかなり気に入った作品。

ビジュアルもいいしブラウン管風の表示もオプションで細かく設定できて雰囲気がある。

敵がやや硬めな気がするけど配置や敵動作が王道という感じですごく好き。

作品や作者の情報が知りたい…

DSM.png

ボムを消費して、追尾弾などの敵弾の挙動を予測できる

グルーブコースターsteam版もそうなんだけどOSで縦画面にしないと縦表示できないヤツはデスクトップが汚れたりして面倒なのでできればソフト側だけで回転できるようにしたほうがいい(個人の感想です)

Rolling Gunner サークル:Project Rolling Gunner.

https://rollinggunner.wixsite.com/rollinggunner

RG2.png

見た目かなりケイブシューに近い、オプションのショット方向を自由に操作できるSTG

C93版でほぼ完成だったような気がしたけどメニュー画面かっこいい!発信シーンかっこいい!2ボスの曲変わってる!など変わってる箇所も多くみられた

RG.pngRG3_20190124234220c07.png

難易度は高い。全方位を攻撃できるとはいえ1面で前後から敵出すのってありなのか?でも全編にわたって複数方向から敵が出てくるので慣れるしかないのか。

キャラグラフィックや背景もすごい。switch版も楽しみ http://d-mebius.com/rolling_gunner/

Scarlet Gazers Trial ver.C95 サークル:エンドレスシラフ

http://endless-shirafu.com/

SG3.png

ゲームボーイ風の画面のSTG

readmeのQAに >普通のSTGすぎる…エンドレスシラフっぽくない… ってあるけど「ショットが十分強いんだから威勢のいい雑魚敵出してもいいよね」みたいな敵の挙動からシラフを感じる

SG2.png

SG.png

高ランク(赤)だけがハイスコアにかかわるというわけではないっぽいし、ただランク変動ボタン押せばいいってわけでもなさそう。

横帯の表示中に緑だと早回し敵が出るようなのでそのあたりがランク選択の肝なのかもしれない。

-----ここからコミケ-----

UnitedDirection C95 Trial ver. サークル:エンドレスシラフ

http://endless-shirafu.com/

UD.png

ラジ館では「やばいバグが見つかったので修正中」ということで見れなかった横スクアクションの作品。

まだまだアクションの基礎部分を作っている途中な感じ。

自作のアルデスも近接があるので、この作品の近接連撃のように1段ごとに効果音変えたほうがいいなーと思った。かっこいい

ネコミミホイールクロスデッカー C95体験版 サークル:アリスブレイズ

http://aliceblades.skr.jp/

NWCD_2019012423190589f.png

画面に積もっていく敵の残骸をボムでガリガリけずってくSTG

前回遊んだC93体験版(2面道中)から2ボスと3道中が追加されていた。敵の残骸があちこちに吹っ飛ぶので大変ハチャメチャです。

なかなかボムを残骸の塊にクリーンヒットさせるのは難しいが、大型的やボスにあてた時の爽快感がいい。海の面の残骸の挙動が独特。

NWCD2.png

NWCD3.png

BREAKPOINT V0.5(体験版) サークル:MagicalForest

http://magifore.blog.fc2.com/

BP2.png

人が飛んでる感じで弾消し錬金する縦STG。そうこのソフト側縦画面ね。

ラスボス?まで実装済みのバージョン。やっぱりエスプじゃねーか!と思ったら…?

BP4.png

前回C93版を遊んだ時も思ったけど、やはり背景が書き込まれていたり、建物の裏から出てくる敵など演出も凝っていてとてもいい。

後半面の水色背景で水色弾を出すシーンだけ結構見づらい…

(拙作も1面から緑背景で緑弾で自機キャラの頭が緑色とかやってるのであまり強くは言えない)

C93版のときまったく気づかなかったけどボムでかなり稼げるのね

BP3.png

例のアレ。最初は上下端までつかないのか~

Terra Arcadia v1.00 C95 製品版 サークル:MATYLA

http://matyla.info/contents/Terra.htm#Res

TA2.png

人が飛んでる感じで弾多めの縦STG

パッドを使うと上下入力が反転する…今後対応されるそうです。

TA.png

TA3.png

前半ステージは去年のバージョンと変わらず全方位や固定弾ばかりで窮屈だが、

後半面はバリエーションが増えたり自機狙いや自機見てる弾幕がいいバランスで出てきて面白い。

ほとんどの敵が弾撃ったら早々に帰ってしまう。全方位弾でもたついて対応に遅れると打ち込んでいる途中でお帰りになられるので少しもやもやする。

SUPERまてまてレーザー C95体験版 サークル:瞬殺サレ道?

https://ss-do.sakura.ne.jp/smmlc/ ここで過去のまてまてが遊べるのか

smml.png

https://ss-do.sakura.ne.jp/#/diary/91

今年で進展がありそうなので期待大です。

事象の地平メンダコ C95テスト版 サークル:VAGUES GAMES

http://www2.tba.t-com.ne.jp/vagues/

mendako3.png

左右移動のみのインベーダー系STG

スティックのみでショット/移動/しゃがみガードを操作するのが独特。

ゲームスピードは速くなく、敵の動きに対して撃つかよけるかガードするかを考えながら遊べる。

そんなゲームスピードに合わせたかなり重めのメタルがBGMでとてもいい。

mendako4.png

-------------------------

自機が画面端行ってたり弾に埋もれてたりスクショヘタクソマンですんません

遊んでて「それちゃんと作るの大変だしそうするよねー」とか「過去に自分も似たようなのやったけど、そうゆう方法もあるのか!」みたいな気付きがありました。

あれ、手に入れた作品これだけか…?少ない、少なすぎる。

徹夜作業や現地修正で大変だったけど、他サークルへのあいさつと作品の交換はするべきだった…

ラジ館でも見たブルーセイバーズも気になってたけど「今人いるし、コミケで買えばいいか~」とか言って結局コミケでもスルーしたし。

とはいえ遊ぶのはこの辺にして制作に戻りたいと思います。

ろくに制作に時間を当てれないまま1月も終わろうとしている…

なんていいつつへるしんかがBOOTHで出たので買ったり

https://tonnor.booth.pm/items/1187721

PS4ケツイも1クレ1週してないしサイヴァリアも年末追加されたモードまだ遊んでいない…時間が欲しい…