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

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

EDGE3のアーリーアクセスを触った所感

ドット絵エディター「EDGE3」のアーリーアクセスが開始しました。
自分はEDGE1から使用しており、現在はEDGE2、EDGE Touchを使用してドット絵を描いています。
3もどんな感じで使えるのか気になるので早速購入しました。

公式ページ: https://edge3.takabosoft.com/
とりせつ: https://edge3.takabosoft.com/manual/
Edge2から移行する方へ: https://edge3.takabosoft.com/manual/migration-from-edge2/
v0.9.2 リリース https://steamcommunity.com/games/4593020/announcements/detail/711151544010016129 ベータ版を試している間にリリースされてしまった…

触っていてよかったところ

編集ウインドウを複数表示して反転表示できる

反転表示のまま編集できるのはうれしい
EDGE2ではアニメーションウインドウで表示だけはできたがセットアップが若干手間だった。

左右・上下対称の補助機能追加

対称デザインを描くときに便利。
レトロゲー的な表現に重宝する。

カラーパレットに透明度追加

弾の周りのオーラっぽいのはalpha値で透明度を設定した色です。
この手のグロー表現や炎や光系のエフェクトで表現できることが増えて良いです。

レイヤの描画方法変更が追加

レイヤの透明度の設定と合成方法(加算や乗算)を設定できるようになった。
これによって、ゲーム実装時にエフェクトと合わせた時を想定したプレビューができたり、
上記のカラーパレットの透明度追加と合わせて、indexでないフルカラーで半透明エフェクトを合成したドット絵を作れるようになった。

一例として、コレを下層レイヤに置き、

上に加算エフェクトのレイヤを置くと、

こんな感じで表現できる。

カラーパレットにカラーホイール表示を追加

デフォルトでパレットの下にカラーホイール表示が追加された。
また、v0.9.2の更新で、色をダブルクリックした時のダイアログが独自のものに変わり、そこでもカラーホイールが表示できるようになった。
カラーホイール常時表示は不要だなと思ってたので、ダブルクリックで必要な時に表示されるできるのは使いやすくてよいと思う。

ショートカットで描画色をパレット上の前・次の色に変更可能

これもv0.9.2の更新内容。
EDEG2になかった機能だけど軽く使った感じ便利そう。
キーショートカットが余っていたので取り込みます。

数値入力ボックスに計算式が入力可能になった

これもv0.9.2の更新内容。
選択範囲の位置・サイズ・角度入力で数式に対応。

UnityEditorの計算入力みたいな。8ドット移動したいときに 16+8 みたいに書くやつ。便利です。

アニメ再生中にサムネクリックでその部分から再生可能

長いアニメの一部分を何度も確認したい場合に役立つ

基本的にEDGE2に近い考え方で操作可能

ベースの画面構成がEDGEシリーズを踏襲しているので迷わず移行できる。

EDGE2形式(.edg)で書き出してEDGE2やEDGE Touchで表示できる

レイヤのフレームアニメなし、レイヤ複数の構成であればEDGE2・EDGE Touchでそのままの構成で開けることを確認済み。

レイヤのフレームアニメありでは、EDGE2ではページアニメとして表現される。
EDGE Touchはレイヤフレーム2枚目以降は転送されない(もとからページ・レイヤ複合だと2枚目以降は転送されない)

たまにiPhoneでドット絵を見せる機会があるので、EDGE Touchへの転送が以前と同様にできるのは助かる。
携帯でドット絵をくっきり表示できるEDGE Touchはとても良いです。

app store: https://apps.apple.com/jp/app/edge-touch-%E3%83%89%E3%83%83%E3%83%88%E7%B5%B5%E3%83%84%E3%83%BC%E3%83%AB/id329021851

公式のPC連携ツール: https://iphone.takabosoft.com/jp/edgetouch/utility/

steamクライアントを起動していなくても動作する

当方、左手デバイスにjoycon+JoyToKeyを使用している。
steamクライアントが立っているとjoyconの入力が効かなくなる事象があり、もしsteamクライアントが強制起動されたら詰んでた。

要望

後で掲示板と重複してないかチェックしてまとめてから投稿予定。
https://steamcommunity.com/app/4593020/discussions/4/
設定変えられる場所を見落としてたらスミマセン

shiftキー+割り込み(マウス入力)をクリックボタン左右で分けてほしい

EDGE2ではshiftキー+左クリックをスクロールに割り当てていた。
以下の設定変更を行うことで、EDGE3でもshiftキー+クリックでスクロールできる。

  • オプションツールバー > マウスマーク > shift + 割り込みをスクロールに変更
  • さらに、キーボードショートカット > モディファイアキーから適宜不要なshiftキー割り当てを削除

ただし、shift+右クリックもスクロールになってしまう。
EDGE2ではshift+右クリックに全レイヤ対象カラーピックを設定しており重宝していたので、スクロール操作よりもshift+右クリック操作が優先されるとうれしい。

アニメの1フレームの表示時間をヘッダーで編集時、TABキーで次のフレームの入力に移ってほしい

一コマずつクリックしなければならないので若干手間を感じる。

ぼかし機能の充実

EDGE2でドット絵を書いてから、他のペイントソフトでぼかしや方向性・放射性ブラーを使ってエフェクトをかけることがたまにある。
せっかく半透明カラーやレイヤの合成方法が増えたなら、この辺のぼかし系が充実されればEDGE3だけで完結できるな、と思いました。

ほか気になったところ

ユーザー側で対処できそうだったりすでに修正検討に入っていたり単に備忘メモなど雑記

スプライトアニメーションがjson書き出しに対応していないこととjsonのdurationの値について

v0.9.2時点では、json書き出しはレイヤのフレームアニメのみ対応で、スプライトアニメは対応していないようです。
(6/16追記)
見落としでした!スプライトアニメのメニュー > エクスポート > テクスチャアトラス書き出し から出力できます。
またEDGE3本体のウインドウのファイル > エクスポート > スプライトアニメーション からでも出力できます。

EDGE2では全コマをpng1枚に書き出した後に、キャプチャアニメーションを使いXMLをエクスポートしてUnityに取り込んでいた。
なのでキャプチャアニメ代替機能となるスプライトアニメでも、jsonなり何かしらのアニメ情報出力ができると助かる。
まあ全コマをpng1枚にある状態からアニメ設定する作業フローを見直すべきかもしれない。
最近まで、最初から各コマ横並びで描いて、キャプチャしてアニメーションウインドウで動きを確認してたので…むしろページ機能を利用し始めたのはごく最近で…

EDGE2のxmlをゲームに取り込む時に使用していた項目はコレ↓

  • SrcRect (画像範囲)
  • Delay (1コマの表示コマ数(60fps換算))
  • DestPos (コマ毎の相対移動の値を設定して、アニメに同期したキャラの移動を制御)

EDGE3のjson出力して中身をみた感じ、必要な情報はそろっていそう。 ただ、duration(1コマの表示時間)がミリ秒単位の値になっているっぽい?

自分のゲームは秒ベースではなくフレームベースで動いているので、durationをfps単位で何フレームかを設定できると助かる。
ただUnityへの取り込みツールは自作なので、json取り込みに変更する際に値をフレーム単位に変換するとかで対応はできそう。

グリッド・編集単位などの設定が編集ファイルごとに保存される(edge3本体に設定保持しない項目がある)

透過色の表示設定・グリッド・編集単位などの設定が.edg3ファイル側に保存されるようになった。
出力したpng画像を開いたときに、ファイルに合わせたグリッド表示をつけたい場面は多く、開くたびに設定するのが少々しんどい。

こちらの要望スレッドで、グリッド・編集単位はアプリ側にプリセットを持つようにしてもらえそう。
https://steamcommunity.com/app/4593020/discussions/4/655982159561171775/

アニメーションフレームの時間設定について

備忘メモ

https://edge3.takabosoft.com/manual/tutorial/part-animation/

時計マークのダイアログで基準fps単位と基準フレーム数を変更できる。
fps単位は基本60fpsで考えたい。
基準フレーム数はデフォルトで6fが設定されている。
レイヤータブ・スプライトタブのメニューボタン > 表示時間ヘッダ で1コマ(フレーム)の表示f数を表示できる。
この数字が1と表示されている場合、1コマは6f表示される。2と表示されている場合は12f表示される。

もし60fps単位で秒間12枚固定のアニメを書きたい場合、基準フレーム数は5を設定。各コマ(フレーム)の表示時間は1のままでよし。

表示フレームを変えて動きの緩急をつけたい場合は、 基準フレーム数は1を設定し、各コマ(フレーム)の表示時間を変更するといいかんじ。

以上!

まだ触りはじめなのでわからんことも多少ありますがEDGE2からの移行はスムーズにできそうです。
最初はEDGE2に新機能がいくつか追加になった~ぐらいのノリで使ってみます。
アニメ関連の変更が大きそうですが、自分は最近EDGE2でページを使い始めたばかりなのでそこを覚えなおすぐらい。

掲示板のユーザーの書き込みが多くて愛されてるなぁと。
https://steamcommunity.com/app/4593020/discussions/4/
それにtakabosoftさんのレスポンスも早いし、更新も早くてすごいです。

デジゲー博2025 参加レポート

お疲れさまでした

あまり告知できませんでしたが今年もデジゲー博参加でした。
運営・サークル参加の皆さん、一般参加の皆さん、お疲れさまでした。
ここ数年同じゲームで展示しているにもかかわらず、初めて触っていただける方もいて大変うれしいです。
また、去年のSTGキャラバンイベントの影響か、STG経験がある人が多く、普段よりも後半ステージ突入率が高かったのも印象的でした。
これを受けて難易度上げる調整をすべきかは要検討ですねw

今年は冬コミの申請を行っておりません。ですので今年のイベント参加はデジゲー博のみとなりました。
また来年お会いしましょう。

今回のバージョンについて

コンテンツ

去年はイベント展示に間に合わせるためにオリ4面ステージ・ボスの仮実装が遊べるようになっていました。
今回は以下のようになっています。
・[修正・調整]オリ4面道中の正式版実装
・[修正・調整]4ボスの正式版実装
・[追加]ウェーブ4面道中の正式版実装

120Hzモード

たまにツイッターに投稿している120Hz対応です。

体感せよ!!!!とか煽ってますけど…

対応するきっかけはSwitch2でした。
Switch2本体のモニタが120Hz対応のため、主力CS機ですので多くの人が120Hzを体感できる機会があります。
この作品をSwitch2で出すかはわからんけどやってみようかとなった次第です。

あとは、このゲームは敵弾の弾速が速いかつ、視認して避けれるゲーム性である(そうしたい)ため、高FPSによって敵弾の速度や軌道が測りやするために実装したい気持ちがありました。
適した弾速は意外と範囲が狭いように感じました。弾が遅いなら滑らかに飛んできてもわからないし、弾が速すぎて覚えた位置取り前提なら滑らかに見えても意味ないなと。

でまあ120Hzモードの実装完了しました。
その結果、劇的に視認性向上や操作感UPに寄与したかというと、そんなことはない…
速い敵弾・自機弾・アイテムが滑らかに動いてる、気が、する……ぐらいの印象です。
思うに、ゲーム画面が低解像度なので、微細な動きが反映されないという点もあるかもしれません。

今後は60/120切り替え時やVsyncの設定を変更したときに正しく設定できるか検知する仕組みを作ります。
ゲーム側で120Hz,Vsyncありを設定したのにFPSが240出ている場合に120Hz,Vsyncなしを設定しつつ注意表示、など。

リプレイ改修(途中)

上記の120Hz対応と、途中の面での再生を可能にするための機能追加のため、改修中です。
現在DLできるバージョンではリプレイ保存がされないバージョンとなっています。

展示当日には放置デモが正常に流れないがリプレイメニューからは再生できるという状態でした。
前日の夜中まで修正を試みましたが放置デモは結局再生できるようになりませんでした♨
当日はあきらめてリプレイを手動再生してました。

加えて、リプレイ再生後に通常プレイを開始すると途中でフリーズする不具合があり、会期中に修正作業し対応しました。

リプレイ関連に関してはもう少し制作に時間を要しそうですので、もう少々お待ちください。
今回のDLカードで公開するかは未定です。

試遊やユーザーの反応を受けて修正したい箇所等

遊んでくれた方との会話やプレイ内容、あとは後日配信してくれた方のプレイを拝見しました。

  • 1、2面のむずくね?と思った箇所(今更?)
    • ミニデビル 弾速すぎ
    • 1ボス 弾多すぎ
    • 2面 後半の敵配置(でか石が上下に出てるシーン)
  • 3面 人魚と接触しがち
    • 飛び跳ねる位置を調整します。
    • 泳ぎ状態、飛び上がりの配色を検討。飛び上がる際の予兆エフェクトを検討
  • 全体的の敵の攻撃の予兆が分かりにくい
    • 視覚エフェクト・効果音追加
  • ウェーブの敵がやわらかすぎる
    • 試遊台では初期装備モリモリだったのが要因と思ったが、帰宅後に遊びなおしたら初期強化なしでも自機が強くなりすぎてる…
    • せっかく縦穴のハチは固くしたつもりだったのに…ではバリ固にするので覚悟しておいてください
  • イージー以下で弾が渋滞していたので弾速と発射頻度を見直します
  • ボムの回転率の考慮が必要
    • 現状でも打ちまくりにならないよう補正が効いているのですが、足りないかつ分かりにくい。仕組みを変えてみるかも
  • (不具合指摘)ゲーム開始時にレバー/ボタンが効かない
    • 対応検討いたします。チュートリアル>ゲーム本編の画面遷移の構成を変更するため少々規模が大きい改修になりそうですが、プレイフィールにかかわるところですので出来たら直したい

当日の展示内容

前日にアキバにin。ヨドバシでモニタを購入して、当日使用しました。
もちろん高フレームレートにも対応しているものを選択。

予定では試遊台2台体制(ノートPC+モニタで1台、ROG Allyで1台)を予定していました。
実際は、最初はROG Ally+モニタの1台体制でした。
修正作業をするのにノートPC使ってました…

作業終了後、後半の14:00ごろに2台体制に変更しました。
2台試遊される機会はほぼなかったけども、今回は動画用タブレットの用意がなかったので、試遊中以外の筐体で動いてるものがあるだけ良し。

今回初めて宅配搬出を使いました。購入したモニタを自宅に送りました。 搬出が必要なものは15:40頃から梱包して、閉会直後に出すとスムーズでよいかもしれません。

旅行

秋葉アトレやyostarショップなどなどを歩きました。公式ショップどっしり構えてんのスゲー

HeyでSTGをいくつかプレイ後、ガンシュー「ゴールドストームパイレーツ」をプレイ。連コしてクリアしました。
レッツゴージャングル(セガ)の後継か!?と思ってたらバンナムでした。過去に関連作があるようでした。
アケゲー逆境の中、ガンシューも完全に途絶えてはいない感じなのですね。ハウスオブザデッドも2,3年前に出ていました。

ごはんは肉の万世へ。 前回もここで食べましたがどのメニューも美味しそうで悩んじゃいます。

UnityのスタンドアローンアプリでWindows11の丸角表示をさせない方法

PCの買い替えによりwin11導入

昨年のデジゲー博直前にPCが不調になり、イベント後すぐにPCを買い替えました。よく2イベント乗り越えられたもんですわ。
買い換えたPCはWindows11です。もともとROG Allyでwin11がどのような操作性かはうっすら把握していましたが、すぐに母艦PCもwin11に変わるとは思っていませんでした。

マジカルブラスターへの影響

win11に対して不満は山ほどありますが製作中のゲーム「マジカルブラスター」への影響も若干ながらあります。
マジブラは、低解像で作ってますよーということをネタにして、ウインドウ解像度240x160で動作させることが可能です。
しかしwin11ではアプリ側で制御しない限りウインドウの丸角が強制的に入ってしまうようです。
くっきり表示できることをウリにしているのに、丸角されると印象が変わってしまうので対応したい。

左が対応前(丸角あり)、右が対応後(丸角なし)

対応内容

アプリ起動時に、WindowsAPIを呼んでウインドウの属性を変更し、角丸させない設定にする。

資料1:Windows 11 向けデスクトップ アプリケーションで角の丸めを適用する
https://learn.microsoft.com/ja-jp/windows/apps/desktop/modernize/ui/apply-rounded-corners

角の丸めは、Windows 11 Geometry の最も注目すべき機能です。

だ、そうだ…無駄な手間かけさせやがって

サンプルとして、WPF やWinformアプリの実装例が記載されている。
これの通りにウインドウの情報の取得・丸角設定の変更を行う。

また、Unity上でどのようにWINAPIを扱うかを調べながら実装を行った。

資料2:Unity(C#)でWINAPIを使う
https://qiita.com/hakua-doublemoon/items/f3d44c0986a94bacaa74

ソースは以下の通り。

#if UNITY_STANDALONE_WIN
using UnityEngine;
using System;
using System.Runtime.InteropServices;

public class WindowRoundCanceller {

    [DllImport("user32.dll", EntryPoint = "FindWindow")]
    public static extern IntPtr FindWindow(System.String className, System.String windowName);

    public enum DWMWINDOWATTRIBUTE {
        DWMWA_WINDOW_CORNER_PREFERENCE = 33
    }

    public enum DWM_WINDOW_CORNER_PREFERENCE {
        DWMWCP_DEFAULT = 0,
        DWMWCP_DONOTROUND = 1,
        DWMWCP_ROUND = 2,
        DWMWCP_ROUNDSMALL = 3
    }

    [DllImport("dwmapi.dll", CharSet = CharSet.Unicode, PreserveSig = false)]
    internal static extern void DwmSetWindowAttribute(IntPtr hwnd,
                                                     DWMWINDOWATTRIBUTE attribute,
                                                     ref DWM_WINDOW_CORNER_PREFERENCE pvAttribute,
                                                     uint cbAttribute);

    [RuntimeInitializeOnLoadMethod]
    static void cancelWindowRound() {

        IntPtr hWnd = FindWindow(null,Application.productName);
        var attribute = DWMWINDOWATTRIBUTE.DWMWA_WINDOW_CORNER_PREFERENCE;
        var preference = DWM_WINDOW_CORNER_PREFERENCE.DWMWCP_DONOTROUND;
        DwmSetWindowAttribute(hWnd, attribute, ref preference, sizeof(uint));

    }
}
#endif

#if UNITY_STANDALONE_WIN

exe実行時のみコードを実行させたいため、こちらを指定。

[RuntimeInitializeOnLoadMethod]

MonoBehaviourを継承してAwake()などの各ライフサイクルでもよいが、コンポーネントをつけるのが面倒、かつUpdate()等で常に実行や監視が必要なものでもないので、
アプリ起動時のみ実行される[RuntimeInitializeOnLoadMethod]で一度だけ実行させる。

FindWindow

資料1にてGetWindow(this)...等でウインドウ情報を取ってきているようだが、Unityで同じ方法はできないようなので資料2を参照。
FindWindow()を使用し、ウインドウ名を指定して取得する。
併せて、ProjectSettingで多重起動を封じ、ウインドウ名の重複を避ける。

DwmSetWindowAttribute

変更対象のアトリビュートに、丸角設定を司るDWMWA_WINDOW_CORNER_PREFERENCEを指定。
設定する値にDWMWCP_DONOTROUND(角丸させない)を指定。

以上!

以上で対応完了です。結果は記事の最初の画像の通りです。
起動後にフルスクリーンやボーダーレスに切り替えても、丸角なしは維持されるようです。

めっちゃ小さいウインドウ表示は一発ネタのつもりで実装しましたが、どうせやるなら画面の省略がないくっきり表示ができたほうが良いですよね。

FPS表示は、この解像度の時は消すようにします。上かぶせからゲーム内解像度に変えても邪魔だよなぁ。

デジゲー博2024レポートとコミケ105出展のお知らせ

デジゲー博参加してました(事後報告)

例年通りデジゲー博参加。
今回はエンドレスシラフ様主催のキャラバンイベントに参加しておりました!
良い機会になりました。参加させていただきありがとうございました!

https://endless-shirafu.com/stg_caravan_2024/

コミケ受かりました

続いて冬コミも例年通り参加します!!
よろしくお願いします!!

月曜日 西地区 “き”ブロック-09b(西2ホール) で体験版DLカード頒布になります!!

デジゲー博の展示について

当日は大盛況で、例年よりずっと遊んでくれる方が多くてびっくりです!

イベントモードで用意したステージは、結構難しくしたつもりだったのですが、
ステージ後半や、さらにはボス撃破までたどり着くプレイヤーがこんなに多いとは思わなかったです!

STGに慣れている方が多く来てくれた印象で、初見であろうステージでもガンガン前に出るプレイングが多くみられました。
限られた時間でハイスコアへの糸口を探るプレイヤーの皆さんに感謝を!

イベントの参加賞として、1~2面とイベントモードが遊べる体験版を配らせていただきました。(サークルで100円で配ってたDLカードとは別物)
また、当日遊ばれた方のリプレイが残っており、その体験版で再生できます!
ご連絡いただければリプレイファイルを渡せますので何らかの手段でご連絡ください。

反省点

キャラバンイベントが初めてであったため検討が足らず反省点が結構多いですが、特に大きい反省点は プレイの回転速度が足りず試遊台に並ぶ方が少し多めになったという点ですね。

要因1つ目は、大半の人はステージ中盤でやられてしまうだろうという想定だったので、想定よりも長時間のプレイとなってしまったこと。

2つ目は、並んでいる人に見てもらえるよう操作説明カードを用意しましたが、その後、ゲームプレイ時に大体の人がゲーム前のチュートリアルをフル尺で見ていたこと。
こっちが難しく…技ボタンに機能が詰まりすぎ(妖精の技、自機の技、妖精ローテ)、妖精の説明も簡素なので動かさないとわからない、
スコアの説明も説明見ただけだとわからない、等の要因でほとんどの方がフルで見ていたと思います。

対策としては、並びが生じた時点でチュートリアルを強制的に飛ばし、プレイ中に必要な情報を口頭で伝える…ですかねぇ。
「もっとわかりやすいルールにしとけ」と言われればまあそれはそう。

前日設営に初参加

早めに秋葉についたので前日設営に参加。
設営中に機材が足りないことに気付き、その後PCショップで調達することができました。

設営後は同じく前日設営されていたサークルさんにご挨拶。

体験版の内容

過去の展示にも来ていただいていた方から今回「前の展示からの変更点がわからなかった」と言われ、これは更新内容をしっかり書くべきと思いました。
ごもっともでゲーム前半(ステージ1、2)のステージ構成等はほぼ変更なしですので…

ステージ3ボス

冬コミ頒布版ではステージ3ボス前で終わりでした。
今回は3ボスの動きが大体完成、細かい調整やドット絵の描き込みが未完です。

ステージ4(キャラバン用ステージ)

かなりギリギリの制作進行でした。
結果として、出来上がったステージもそのまま製品版に乗っけるのは厳しい出来栄えになってしましました。

10/14ぐらいでArea14の地形の配置と処理が完成(ゆうて接触処理がおかしいバグが残ってます。)

↓書き込み時点でArea14と縦穴までの敵配置と道中全体の尺完成
https://x.com/Y__revSD/status/1852409037167702316

11/3の2時ぐらいにデカデビ以外の敵動作と配置が完成 11/3の3時ぐらいにデカデビが完成

11/3午前5時の書き込みでボス完成
https://x.com/Y__revSD/status/1852808402856190002

モナーちゃんキック!!!!!!!!!
喰らっていただきありがとうございました。すんませんでした。

急ピッチで用意したステージ後半・ボスの内容はデカデビ登場付近から手を入れなおす予定です。
これまでの敵配置・移動・弾幕は初見で対応できる内容か吟味していたのですが、さすがに検討時間がたりなかったのとキック筆頭に明らかな初見殺しを用意したので調整というか作り直し確定です。

グラフィック関連も未完でした。
背景、地形の塗り。
ボスのサモナーちゃんも入場時のアニメが未完。他魔物召喚時のエフェクトもなかったです。 というか以前書き上げたものをゲームに取り込んだけどサイズ感がおかしいから書き直し?
あとせっかくだしキックのアニメバリエーション増やします。

リプレイズレ対策としてゲーム座標管理の大幅改修

ココが一番力入れてた箇所かもしれない。
「前の展示からの変更点がわからなかった」に対しての返答は「前と同じように動いているのがすごい」なのかもしれない。

https://x.com/Y__revSD/status/1782087190727811082

https://x.com/Y__revSD/status/1789222756686643376

この辺で意味わからないこと書いてたのはリプレイズレの対策でした。
ゲームの座標管理を大きく書き直したので安定性が増しました。

以前の放置デモは途中でズレることがあって、説明まではギリギリ耐えてそれ以降は早めにがめおべらになってました。 今回の改修でだいぶ安定しています。
リプレイが手元で動くゲームにしたかったので、いずれ入れるべき対応でした。
リプレイ機能は今後、早送りやステージ選択して途中から再生といった機能も対応していきます。

ランキング画面

イベント展示に合わせて、簡易ですがネームエントリー画面とランキング画面を用意。 ついでにリプレイ再生用のメニューも用意。

カード強化の特殊アクション

カード強化の中に、特殊効果ボタンを使って効果発動できるものやパッシブ強化の種類を増やしてます。

前回冬コミ版で検討してたやつはこんな感じになりました。

気分はいいけど、このままだとこの強化を取ったもん勝ちになるな。

途中でイベント展示ステージの準備にシフトしており、テキストの表示がはみ出たり等UIが未完なところがありますが、機能はおおむね出来てます。

その他

  • 弾の角度画像を用意し、視認性向上を図った
  • 敵の攻撃パターンのうち、体力に依存し攻撃を激化するようにする処理の追加(1ボスの最後、2ボスの最後等)

冬コミに向けて

ステージ4の改修を優先して、展示中に見つけた不具合の修正、カード強化のUI修正や視認性向上などの改修をやっていきます。
前回の展示での改善点(雷ボムやテキスト高解像度化等)もあまり対応できていいないのでそこも可能な限り対応します。

そんなわけで、次回は冬コミ!よろしくお願いします!

あとSteamにてストアページを公開しているので、興味を持たれた方はウィッシュリスト登録をお願いします!! 発売時期は未定!

新年のご挨拶とイベントの振り返り

あけましておめでとうございます。
昨年は夏コミ合わせの体験版web公開と、steamストアページの公開、デジゲー博とコミケ103参加で試遊と体験版の頒布を行いました。
今年も引き続きマジブラの制作を続けていくことになりますので、引き続き応援をお願いいたします。

マジブラについて

進捗どうですか

去年全体を通して制作に充てられる時間が足りず、思うように制作できないつらい一年でした。
バランス調整やらドットぬりを結構時間かけてやるタイプなので…
st3道中は何とかこしらえましたが、3ボスの制作に着手できないとは…

その代わり、カード強化と編隊の早回しのモードが生えてきました。

カード強化は継続プレイ要素を作りたいという気持ちと、強化内容を選択するところに面白みを出せないかと思い実装しました。
現状の実装内容だと成長のしかたや偏り等の問題点があるので、おいおい調整していきます。

一度オリジナルモードで組んだ背景であれば編隊敵の情報はすばやく用意できるので、無事に作りきれました。

頂いたご意見

試遊展示で遊んでいただいた方や他サークルさんからご意見いただきました。
取り入れたほうが良いと思う物があったり、実装した意図を改めて考えるいい機会になりました。

ゲージの状況を把握しやすくするため、妖精ゲージがたまった時に効果音つける等したほうがよい

視覚エフェクトを増やすことを検討していましたが、効果音も確かに良いなと。
デジゲー博でご意見いただきましたが冬コミ段階では間に合わず。
音いじるのはまとめてやったほうが効率よいので、今後取り入れようと思います。
冬コミ時にはゲージの枠を点滅させることにしました。

エリア間のカードの選択画面が短すぎる

言われるの当たり前すぎる時間設定。すんませんでした。
冬コミ時には2秒ほど長く、ボス戦後もさらに長めに変更しています。
でもちょっとダレるきがするので短くするかも?

どのカードを選ぶべきか分かりにくい

同じ妖精を強化すべきか・新たにどの妖精を呼ぶかはプレイを重ねて判断頂きたいですが、
概ね妖精が多いほうが有利にゲームを運べるので、うっすら点滅させることにしました。

エリアリザルトの時間の存在意義やスコア関連

デジゲー博で試遊いただいた後にガッツリ会話出来て大変有意義でした。ありがとうございます。
返答全文は当日聞けた方のみって感じですが、ほかに考えまとまったところを返答します。

「素点が早々に上限に到達したり、時間で下がる等、制限が窮屈。もっとプレイヤーがポジティブな気持ちになれるルールのほうが良いのでは?」

(聞き違いや認識違いがあったらスミマセン)
聞いててなるほどーとなった意見でした。
上限がある理由としては、エブリエクステンドにしたいためです。
スコアを稼いで俺うめぇ!という気持ちを味わうために、残機数が増えるというのは直接的でわかりやすく、稼ぎプレイをしたいというモチベーションに直結するため、ぜひとも実装したい。
ただ、STG未経験で素点が貯められない人と、熟練者で素点が際限なく上がる人でエクステンドの回数が大きく違うとゲームの難易度が変わってしまいます。
そのため素点上限を設定し、スコア取得の差が大きくなりすぎないよう制限しているという形になります。

あと個人的には制限があるほうが燃える傾向にあるかも…その点がゲームに反映されていると思います。

今後の調整でアイテム出現量や敵撃破点数を調整予定ですが、得点アイテムによるスコア稼ぎのルールは現状のまま進める予定です。

> もっとプレイヤーがポジティブな気持ちになれるルール

という点で、現状のルールのまま何か改善できないか検討した結果、得点アイテムのサイズを1段階増やしました。
中サイズの得点アイテムを増やし、詳細は伏せますがスコア稼ぎしやすくなる調整を行いました。
だんだんと画面が賑やかになっていくのを演出しましたがいかがでしょうか。

画面解像度を上げて欲しい(フォント回りなど)

デジゲー博でご挨拶に伺った、そらのちゃん氏にゲームを遊んでいただいてのご意見でした。
https://todaysone.hatenadiary.org/entry/2023/11/26/102932

テキストについては、現状のゲーム画面の上に別カメラで高解像度のテキストが表示できそうなので対応しようかと。
画像化していたりUnityのテキスト機能を使っていたりと統一されていないので少々時間かかりそうですが、
カード選択強化のモードでは文章の読みやすさがゲームの遊びやすさにつながるので対応します。

ゲーム解像度は現状の240*160にこだわりたい。低解像度で回転拡大させた時の荒々しさとか勢いを大事にしていきたい。

他の指摘事項についても。
妖精の人数による攻撃力調整は多少入ってます…わ、わずかに…改めて遊ぶと確かに厳しいので調整検討します。
任意の順序変更は頂いてから一度検討し、ゲーム性が結構変わってしまうので取り入れるのは難しいな…と。
冬コミ版では検討結果のなれの果てみたいな機能が触れるようになってます。

ウェーブモードのカード選択のとき効果音と演出がほしい

同じくMachiaWorxさんからのご意見。

こちらも効果音用意する予定です。
チュートリアルの長押し時間は、試遊台2台&カード強化の時の対策でした。
飛ばせるのをわかりづらくする意図で前バージョンよりかなり長めに変更してました。

一部の妖精さんアタックが出てるのか出てないのかきわめて判りづらかった

同じく、白うさぎさんからのご意見。

わかりにくい攻撃というと、黄緑妖精(自機強化)の演出と黄妖精(追尾電撃)の2点かなと。
両方演出のタメ時間やグラフィックを調整してみます。

至近距離で撃たれる件については、全体的に敵が前に出すぎないように調整してみました。
試遊者を見た感じ、それでも足りなさそうなので引き続き調整していきます。

弾の撃ち方で参考にした作品は?

冬コミの試遊者から頂いた質問(というか会話でどの作品に近いかって話になった)。
会場では「システム面ではこの作品参考にしましたけどー」みたいなズレた返答した気がします。

あまり特定の作品っぽくというの無いのですが、cave系を意識しつつ、狭い画面に適用した攻撃を用意しています。

敵の攻撃を考えるにあたって、大きく意識しているところとしては、
・アニメーションに合わせた攻撃にする
・細かい避けをさせないゲームにするため、固めた弾幕を多めにする
・同じ角度で連発する弾幕を多めにする
 (毎回自機を狙いなおすと、細かい避けが必要になる可能性が高い。誘導ミスって壁になったらゲージ払ってね)
ですかねぇ。他にもありますが大まかにはこれぐらい。

サークル展示

去年の展示で、「試遊台に人がついているところに他の人も興味を持ってブースを見てくれている」と感じました。

じゃあ窓口増やすぜ!エイライあるし!!携帯型PCで持ってプレイしてほしい!!!って感じで、
デジゲー博ではこれまでの試遊台PCの展示に加え、ROG Allyを使って2台体制を張りました。

しかし当日は試遊者数・売り上げともに、これまでのイベント参加の中でもワーストの数字となってしまいました。

振り返って、配線が多く見栄えが悪い点、
タブレットと合わせて画面が三つもあり、何を触ればいいのか誘導が無い点でよくなかったと感じました。
加えて設営に時間掛かって近隣サークルへの挨拶が遅れたほか、
エイライの映像をPCで見るようキャプボを持って行ったが、当日はなぜかキャプチャがうまくいかず結局PCで見ることができなかった、等など問題点アリアリでした。

C93の初のサークル展示の時を思い出しました。
テーブルクロスなし・ノートPC高さも角度も悪い・操作性マッチしていないサタパで展示などなど…
昔から「動いてるもの置いてあればいいだろ!」という気持ちはあまり変わっていないのですが、そのスタンスが今回で問題噴出した形ですね。

C103では誘導や見栄えを改善しました。
・試遊台は1台
・試遊できますポップ
・安定するモニタ台に変更する(隣サークルのあうとさいどさんと被るとは…)
・台にもクロスを置いてウラに置いてる物を隠す
・大き目のお品書き
・品物(DLカード)を手前に展示

思いつく限り・できる範囲の対策の結果、去年のコミケと同等かやや多いぐらいの人着きになりました。

デジゲー博→冬コミの期間では追加の印刷物の用意に限界あるので行いませんでしたが、
大き目のポスター掲示や販促用チラシも検討したいと思います。
合わせてDLカードは名刺サイズになるかも。

今後の制作について

ひとまず3ボスと4道中の作成着手でしょうか。
やりたいことは山ほどあるのですが…
年明け以降もしばらく制作時間がとれない可能性があるので、長い目で見守っていただけると幸いです。

完成したらsteamでの販売を予定しております。
ウィッシュリストに入れていただきますと幸いでございます。

その他旅行等

デジゲー博

行きの飛行機が欠便! 振替の手続きで苦労しつつ、普段利用しない新千歳空港のゲート前の食事処をのんびりいただくなど。

旅程がこなせなくなり、どこ行こうか話していくと、相方が浅草をみて回りたいとのことなのでそちらへ。
すると当日11月11日は「酉の市」というお祭りだそうで、屋台や神社内を回りました。2人とも事前知識なしで行ったら偶然祭りに遭遇するとは!
人混みスゲーってなったり、三本締めで盛り上がってるのを見たり、見ごたえある寺の建造物で楽しめました。

あとはHeyでまったりSTGを。
グレ魔を何回か遊びました。システムちゃんと調べないと太刀打ちできないかも…
カラスもやりたかったけど、化け稼ぎしてる人を後ろから見て満足。

ホテルは秋葉のア〇を使用しました。
ベッド側にHDMI差し込み口があり、デカテレビでゲーム出来ました。遅延結構あり。
GBVSRのロケテでフォール〇イズしてました。

帰りの飛行機も遅延で、帰りが振替タクシーになりましたが無事帰れてよかったなと。

コミケ

1日目は一般参加しました。

ホテルに荷物を置いて、国際展示場についたのが12:25ごろ。
午後待機列に乗って外周をぐるりと回り、再び逆三角を拝めたのが13:20ごろ。
行軍の途中で「午前チケの人は列抜けてこちらへ」って案内があったから、今後は午後早めにつく人は午前チケ買ってく人が増えるのではないかな~と。

入場後は、同ソの日と被りがちな音楽系を初めて回って、黒沢ダイスケさんのスペースへ。
憧れのアーティストを初めて見て会話もできたのですごく嬉しかったです。
他の音系サークルを事前調査できずにふらついてましたが、試聴の心理的ハードルが高いし、ほぼジャケ買いになるな…と思いました。

その後は東を巡回して配達へ。
時間が余れば南や西を回りたかったですが、ちょうど荷物を渡したタイミングで閉会になりました。
ホテルで配達を受け持ってる所に泊まれたらそっちを検討すべきかも。

1日目、2日目共に閉会してからの撤退になりました。
午後入場の帰りのりんかい線ゆりかもめ共に人いっぱいで大変でした。
速めに撤退することも考えるべきかもしれません…去年も言ってた気がするけどすっかりわすれとる。

品川付近の宿泊に飽きてきたので、今回は大井町のホテルを取りました。
コミケりんかい線が乗り換え無しなので非常に楽!
駅近くに食事処も多く、旅行時はかなり楽しめそうです。

ホテルでは相方とGBVSR対戦をするなど。
テレビの背面に自由に刺せるHDMIポートあり。テレビの設定を変えて低遅延で表示可能。
旅行前に購入したレバーレスコンを使いました。
直ガ入力が結構楽しいかも。
ジャンプとしゃがみが混乱してめちゃくちゃになります。コマンドは割と出る。
GBVSRだとこんなにボタン数いらないと思います。

帰りの飛行機が欠便!そしてwebでの振替に失敗!!
電話で修正依頼し、他の航空会社の便に変えてもらって何とか年内に帰宅できました。

そんな感じで

本年もよろしくお願いいたします。

デジゲー博2023当選しました

無事に今年も受かりました。

最近の制作はこんな感じっす。

Rog Ally買いました。 十字ボタンはSteamDeckより操作しやすく、重量もdeckと比べると軽いのでこちらのほうが良い感じです。 ABXYボタンはやや押し込みにくさがありますが、MBはショットおしっぱ・技ボタン押す時は多少力むと思うので問題なしと判断。

トレモは体験版でフル機能動かすのは流石になので、試遊台で最低限のステージセレクトと自機強化設定ができるとこまで実装してます。

夏体験版はこちらです。 カード強化x早回しの敵配置モードを実装してST1まで作ったので、デジゲー博版は以降の配置をやっていきます。

Steam Deck 購入したので自作ゲー導入セットアップ手順や展示について考える

先日のsteamセールに合わせてsteam deckもセールされていました。
年末のコミケ参加以降、展示の方法で幾つか考えていたので、せっかくだしポチりました。

容量は256GBにしました。
Windowsを導入したほうがスペックが良い的な話をみたので、OS二つ持っておきたいので64GBは避けました。

最近出費が多いのでWindowsOS買うのは後回し。後々使い勝手よくなるみたいな話も書いてあるし。 https://help.steampowered.com/ja/faqs/view/6121-ECCD-D643-BAA8

Steam Deckはデュアルブートに完全に対応していますが、デュアルブートウィザードを表示するSteamOSインストーラーは現在準備中です。 これは、SteamOS 3が完成した時点で一緒に出荷されます。

とりあえずいろんなゲームを入れて遊んでみる

同人・商業のSTGやら3D描画の格ゲーやら入れましたが快適に動いて動いています。
valve側が確認したらしいsteam deck対応状況が黄!やNG表記のものでも、
基本的にアンチエイリアスなし、解像度DbD(1280x800)かHD(1280x720)なら60FPS安定しています。
DXlib、unity、unreal製のゲームや他のゲームも動くので、大体のゲームが動く気配を感じます。
オンラインがメインのゲームはアンチチート対策にひっかかって動作しないらしいですが、持ってないのでわかりません。

遅延はほとんど感じません。
steam OSはLinuxをベースに作られています。
Linuxwindows向けゲームを動かすためにエミュレーションしているようですが、特に遅延を感じられません。
自分は結構鈍感なので実際はあるかもしれませんが…

一部日本語が文字化けしてるゲームもありました。
ジャンルによりますがRPGとかテキストが多いゲームだと遊べなくなりますね。アーケードなアクション系ならまあ何とかなる。
STGでアイテム盛りだくさんのゲームだと一部処理落ちが(所有デスクトップPCと比べて)多い場面もややあり。

インストールの際にPCと同じLANにいたらローカル転送されますが、
最初はうまく行かないので何度かdeck側本体とPC側steamの再起動を行う必要があるようです。
軽めのゲームのインストールと再起動を繰り返して動くようにしてから大きいゲームを転送しましょう。

自作ゲーをインストールして動かしてみる

さて、展示にdeckを使うなら、deckに自作ゲーを転送する必要があります。
自分はまだsteamでの開発者登録や販売ゲーム登録等を行っていないので、
普通にWindows向けビルドした自作ゲームファイルをdeckに転送して、動かしたいと思います。
あと、自分がビルドしたかによらず他の非SteamのPCゲーの転送にも使えます。

導入作業には以下の機材が必要です。

転送から起動までの手順は以下のようになっています。

  1. 転送用USBをexFATにフォーマットする
  2. フォーマット後に転送したいゲームをUSBメモリに入れる
  3. steam deckをデスクトップモードに変更
  4. USBメモリからゲームファイルを移動する
  5. 非steamゲームとして追加する
  6. ゲームのプロパティで互換性を有効にする
  7. ゲーム起動!

参考資料
WindowsをインストールしないでSteam Deckで非Steamゲームを動かす方法
https://note.com/masterchief/n/n67722ebbf515
ほぼこちらの内容の転記な感じですが、個人的に詰まった箇所を画像付きで説明します。

【初心者向け】WindowsからSteam Deckへなるべく楽にファイルを転送する方法を考える【USBメモリMicroSDカード編】
https://hotachin-lover.hatenablog.com/entry/2022/12/03/194522
USBフォーマットについて知らんかったので参考になりました。

あと、この手順はまだSteam開発者登録やら販売ゲーム登録等を済ませていない状態の話になります。
済んでいる場合だとこちらの開発者向けキットを使ってすばやく転送できるのでしょうか。使っていないのでさっぱりわかりません!
Steam Deckにゲームをロードして実行する方法
https://partner.steamgames.com/doc/steamdeck/loadgames?l=japanese

1.転送用USBをexFATにフォーマットする

上の参考記事の通りですが、Linuxで読み取れるようにUSBメモリのフォーマットをexFATにする必要があります。
手元の適当なUSBメモリをフォーマットします。
https://www.buffalo.jp/support/faq/detail/1687.html

2.フォーマット後に転送したいゲームをUSBメモリに入れる

入れます。フォーマット替えてもドラッグドロップでおk。
unityでビルドしたフォルダを圧縮して持ち込みましょう。
steamOSに解凍ソフトもプリインストールされています。

3. steam deckをデスクトップモードに変更

steam deckの電源メニューからデスクトップモードに変更します。
初回切り替えた時はタスクバーや初期配置のショートカットアイコン等も表示されない暗黒状態になってたような気がしますが再起動かなんかでどうにかします。

デスクトップモードをdeckのボタンや画面タップで操作するのはしんどいし誤操作が危険なので、キーマウあったほうがいいです。

4. USBメモリからゲームファイルを移動する

USBメモリを指したらマウント可能の表示が出るので、そこから取り出して自由な場所にコピーします。
ひとまずデスクトップに置きました。

5. 非steamゲームとして追加する

デスクトップモードでsteamのウィンドウクライアントを起動します。

ライブラリから非steamゲームの追加を行います。

ここで軽くハマりました。 ファイル選択のダイアログはデフォでは.desktopファイルが抽出条件になっています。
windowsゲームの実行形式がexeになるので、All Filesに変更して選択対象として表示しましょう。

選んだら、戻ったダイアログでチェックが入ってることを確認して閉じます。 これでライブラリに表示されます。

6. ゲームのプロパティで互換性を有効にする

追加したゲームを右クリック > プロパティ > 互換性 > 特定のSteam Play互換ツールの使用を強制する にチェック。

最初に転送したときは、steamゲーミングモードに戻って設定しようとしたらなぜか初回はチェックが入りませんでした。タップでもボタンでも無反応。
2回目転送したときは初回でもチェックつけられたのですが…反応しない場合はウィンドウクライアントで行うようにしましょう。

7. ゲーム起動!

あとは、ウィンドウクライアントでもゲーミングモードでも起動すれば動きます。

やったー動いたーーーーー
シーン移動やらリソース読み込み処理やら音声関連も問題なく動いた!

動かなかった場合は、使用するエミュのバージョンを変更することで動くかもしれません。
使用しているライブラリやゲームエンジンと同じ物を使っている他ゲーで選択されているエミュに切り替えてみましょう。

展示方法を考える

無事自分のゲームを手元で動かすことができました。
これでイベント展示でも使えそうですね。

携帯モードか別モニタ出力か

イベント展示でdeckを使用している写真を結構見ますが、モニタ出力で使用しているケースが多そう。

自作ゲーのマジカルブラスターはもともとG〇A風のスペックを想定して開発を続けている。
手元でゲームが動いている感じもしっくり来たので、是非とも携帯モードで遊べるようにしておきたい。

ぶっちゃけ、高い機体なので落とされたらイヤです。
あとグリップ部分があるので持つだけなら安定しますが、MBのような常に十字ボタンやスティックに触るような忙しいSTGだと持ち方に工夫がいりそうです。

なので対策として、グリップ付きカバーや画面保護シート、落下防止ストラップを追加で用意する予定です。

ミラーリングして展示者側でプレイを見る

イベント展示を行うなら、試遊される方のプレイ内容を把握しながら適宜アドバイスしたり、感想を受け取りたいです。
携帯モードではプレイ内容が見えにくいため、ミラーリングできるよう準備しておきたい。

公式ドックはケーブルが短いので、接続したまま携帯モードで試遊させるのは不可能。
代わりにUSB-Cの充電可能・映像出力可能で長いケーブルのハブを購入しました。これで携帯モードで試遊させることが可能です。
https://www.amazon.co.jp/gp/product/B0BM3W2JG2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&th=1

配線とかミラーリングするモニタをどうするか問題はありますが、キャプボで映像を受け取れば省スペースになるかも。
この辺はもう少し考えてみます。

ミラーリングのセットアップ手順

deckからミラーリングは、2023/04現在はゲーミングモードではサポートされていないようです。(今後対応されるかも不明) デスクトップモードでは可能です。

linuxの画面設定で以下を設定します。

  • 解像度をdeckの同じ1280x800を設定
  • Replica of: でdeck本体の画面をミラー設定

この設定を行うことでミラーリングでき、steamクライアントウインドウから実行すればプレイ内容を両方の画面でゲーム画面を表示できます。
ただ、MBではミラーリングで問題ありませんでしたが、他のゲームで、垂直同期の有無で極大の入力遅延が発生したことを確認しています。
(MBは現在垂直同期を強制OFFにしています)
steamOS/Linuxのマルチモニタの事情はわかりませんが、展示設営の際は垂直同期の設定に気を配る必要がありそうです。

あとはモニタ側ではなくdeckのスピーカーを使用するよう、音声機器の選択をあらかじめ設定しておきます。

この辺の設定を会場でできていないことに気付いたときにキーマウで設定するのしんどそ~~

てなかんじで

次回の設営に向けてどんな構成にするか、また今年後半のイベント参加に向けて考えて行きます。
それより制作だ制作。見慣れない画面が出てきたがこれは一体…?乞うご期待!