July 17, 2026

スタック、ダイアログスタイル、そして itch.io への道

journal

まず最初に:長らく沈黙してしまいすみません。ここ数週間はいつものように色々と立て込んでしまいました:小さな問題をたくさん修正し、いくつかのサイドクエストをこなし、ランチャーを準備し、creator beta の承認作業を進め、その過程での各パッチバージョンをきちんと共有できていませんでした。

なので今回の記事は通常のリリース記事より広い内容になっています。以下の変更の一部はすでに小さな Steam パッチで配信済みですが、同じ大きな流れの一部なのでここにまとめておきます。

最大の変更点は新しい Stacks、異なる Dialogue StylesStory Previews、ランチャー、そして新しいクリエイターベータの承認フローです。この記事ではこれらの機能をもう少し詳しく説明します。

Version: App: v0.17.0 - API: v0.19.3-d59486d3

アイテム・ダイアログ・シーン向けのスタック

アイテム・ダイアログ・シーン向けのスタック

Stacks は、itemsscenes、ディテールシーン、dialogues 用の再利用可能なコンテンツプールを導入します。これらはストーリー、チャプター、シーン、ダイアログ、アイテムなど、使用されるコンテキスト内で管理できます。

これは、ランダムや再利用可能なコンテンツがそれを消費する個々のaction とは別の構造を必要とするために実装されました。その分離がないと、クリエイターはあらゆる可能な結果をアクション内に直接定義するか、同じリストを複数箇所で重複させる必要が出てきます。

スタックはランダムなインベントリ報酬(ルートテーブルのようなもの)、ランダムなシーン選択、オプションのディテールシーン、ダイアログのバリエーションに使えます。ストーリーはプールを一度定義しておけば、必要に応じてプレイヤーのアクションがそこから引き出せます。

最初は機能要望に応えてアイテムセットから始めましたが、すぐに多くのシナリオで有用だと分かったので、より汎用的なアプローチにしました。

複数のダイアログスタイルの導入

複数のダイアログスタイルの導入

Dialogues は複数の表示スタイルに対応しました:default、チャット、電話、ターミナルです。エディターにはダイアログの表示スタイルを設定するコントロールが含まれます。

これは全ての会話が同じ視覚フォーマットでうまく機能するわけではないため実装しました。直接対話、電話、ターミナルでのやり取りは同じ基盤となるダイアログロジックを使いますが、見せ方のルールはそれぞれ異なります。

この変更により、ダイアログコンテンツをダイアログシステム内に保持しつつ、プレイヤーに表示される見た目だけを変えることができます。再生処理も話者名、ポートレート、背景、選択肢、スクロールに合わせて更新され、これらのスタイルがより一貫した動作をするようになりました。

注意:現時点では default 以外のダイアログスタイルのインラインプレビューはありません。これは今後のバージョンで実装予定です。もちろん開発中にダイアログを実際にテストすることはできます。

ストーリープレビューが利用可能に

ストーリープレビューが利用可能に

Story previews は、ストーリーがフルのrelease workflow を通る前に作成できるようになりました。ストーリーページは、ストーリー自体がまだ公開リリースとして利用可能でなくても表示させることができます。これは、実際にゲームを公開する前に Steam ページを公開するのに似ています。

これは、クリエイターが完成したリリースを出す前に作業中の内容を見せる方法を必要としているために実装しました。また、マーケットプレイスとストーリーページのワークフローが公開前に何かを検証できるようにもなります。

これにより公開用のstory page を準備したり、作業中のリスティングを共有したり、リリース前にストーリーがどう表現されるかを確認できます。プレビューリリースは関連するストーリーとページのチェックを実行し、checks system は公開前により多くの欠落コンテンツケースを処理するようになりました。

選ばれた Story Previews は常に自動的に Talescape Discord と他のソーシャルメディアチャンネルに公開されます。

ランチャーとデスクトップアプリケーション

Talescape ランチャーは、今後の itch.io リリースに向けて特別に準備されました。Steam キーは必要ありませんが、Creator Beta の期間中はアカウントが解除されている必要があり、そのために最大 24 時間かかることがあります。

ランチャーはバンドルされた Steam アプリとは動作が異なります。アプリのロジックをリモートで読み込むため、初回起動が少し遅くなることがあります。その代わり、ほとんどのアップデートは手動ダウンロードを必要とせず、ランチャーフローを通じてアプリ自身が更新されます。

これは Talescape を Steam 以外でも利用可能にし、クローズドベータからクリエイターベータへの移行を準備するために実装しました。ランチャーは次の公開ベータステップとともに間もなくリリースされます。

要素のインライン作成と編集

要素のインライン作成と編集

関連要素は要素・モデルブラウザから直接作成できるようになりました。欠けているcharactersitemsvariables や類似リソースは、必要なときにその場で作成して編集できます。

これはエディターでのコンテキスト切替を減らすために実装しました。アクション、conditionscene element、ダイアログが別のリソースを必要とする場合、クリエイターは現在のワークスペースを離れて別の場所でリソースを作成し、戻ってきて続ける必要があってはなりません。

これは接続されたstory logic を構築する際に役立ちます。クリエイターは現在のフローに留まったまま欠けている依存関係を追加し、その後でそのシーン、ダイアログ、アクションの設定を続けられます。プレイヤー側の変更は大きなインベントリ、可視のtimers、スタックに対応したアクション挙動の改善にも寄与します。

Steam 実績

Steam 実績

実績が Steam 向けに適切にセットアップされました。Talescape の実績を Steam と同期するには user settings から行えます。

これは Talescape が 4 つの異なるプラットフォームで利用可能になる予定であり、実績の進行状況が内部の Talescape アカウントに限定されるべきではないために実装しました。Steam はこの同期フローを使う最初のプラットフォームですが、同じプラットフォームベースのアプローチは将来的に他のプラットフォームにも使えます。

これによりプレイヤーは Talescape 以外でも進行状況を一貫して保てるようになり、配信プラットフォーム間で実績の役割が明確になります。今後さらに多くの実績が追加されます。

ローカリゼーション完了

アプリケーションは現在、フランス語、イタリア語、スペイン語(スペイン)、ポルトガル語(ブラジル)、簡体字中国語に翻訳されています。

これはより多くのクリエイターが好みの言語でアプリの UI を使えるようにするために実装しました。翻訳は翻訳サービスで作成されたため、文言の修正が必要な箇所がまだあるかもしれません。

これによりより広いローンチ前に複数言語でアプリをテストするのに役立ちます。書面のドキュメントも更新・翻訳済みです。動画は引き続き英語のみになります。

その他の変更とバグ修正

エディター体験

  • リソースを削除したときにリストが楽観的に更新されるようになり、待ち時間が減りました。
  • ダイアログのテーブル行が関連コンテンツを直接開くようになりました。
  • マーケットプレイスのヘッダーとサムネイル選択が改善されました。
  • オプションのアイテム画像について説明を明確にし、フォールバックとしてアイテムアイコンを使うようにしました。
  • 必要に応じてストーリーデータをリロードするメンテナンスオプションを追加しました。
  • バグ修正:シーン作成時に正しいシーンタイプが選択されるようになりました。
  • バグ修正:リリースの公開・送信モーダルが再び正しく閉じられるようになりました。
  • バグ修正:メディア編集フォームが再度保存できるようになりました。
  • バグ修正:ストーリーメディアの削除は非同期で実行されるようになりました。以前は非常に大きなストーリーを削除しようとしたときに問題が発生していました。
  • バグ修正:同じメディアを同じ要素に複数回割り当てられるようになりました。

メディアとAsset Packs

  • オーディオファイルはアップロード時に最適化され、最適化が無効でない限りモノラルの MP3 に変換されます。
  • 画像ファイルはアップロード時に最適化され、最適化が無効でない限り WebP に変換されます。
  • ファイルごとのアップロード上限が 32 MB に引き上げられました。
  • asset-pack インポートモーダルに全選択・解除ボタンを追加しました。
  • asset-pack インポートがストーリーの保存容量制限を超える場合の警告を追加しました。
  • 失敗または部分的に失敗した asset-pack インポートはより明確な通知を返すようになりました。
  • 審査待ちまたはレビュー待ちのメディアはメディアカードと編集フォームにマークが表示されるようになりました。

リリースチェック

  • シーンは作成時に背景を必須としなくなりました。欠けている背景は公開前にチェックされます。
  • アイテムは作成時にアイコンや画像を必須としなくなりました。欠けているビジュアルは公開前にチェックされます。
  • マーケットプレイスのスクリーンショット検証はエラーではなく警告を出すようになりました。

マーケットプレイス

  • ストーリーマーケットプレイスの年齢グループフィルタは、ユーザーが明示的に成人コンテンツを許可した場合にのみ成人向けコンテンツを表示します。
  • ストーリーは最初のプレイヤーがクリアしたときに自動的にテスト済みとしてマークされます。これは現状、新しいリリースごとにリセットされます。
  • バグ修正:マーケットプレイスのエクスポートデータで欠けていた作者名を修正しました。

ストーリープレイヤー

  • インベントリ検索とページネーションを追加しました。
  • 緊急状態スタイルを備えた可視のタイマーディスプレイを追加しました。
  • プレイヤーのアクション実行とクリーンアップ挙動を改善しました。
  • debug menu をログ、インベントリ、変数、イベント、タイマーのタブにリファクタしました。

実績

  • アプリケーション向けに Steam の実績が設定されました。
  • 実績同期はユーザー設定からトリガーできます。
  • 実績同期は将来的に他のプラットフォームもサポートできるプラットフォーム統合アプローチを使用しています。

次に来るもの

次のマイルストーンは今後の itch.io ローンチです。これにより Talescape の追加の公開配信チャネルが増え、現在のテスターグループ以外でもプロジェクトが見つけやすくなります。

同時にベータはクローズドフェーズからよりオープンな creator beta へ移行します。承認は引き続きプロセスの一部ですが、次のフェーズはより多くのクリエイターと公開向けのストーリープレビューを含めることを意図しています。