Link Search Menu Expand Document

SRC#でシナリオ・データを作る

SRC# でシナリオやデータを作るときの道具と、作り始めてから公開するまでの流れです。データとイベントの書き方そのものは「データを作成する前に」「シナリオを作成する前に」からの各章を見てください。

道具

おすすめは VS Code 拡張です。書く・見る・マップを描く・試す・検査するが 1 つの画面でつながります。下の道具はどれも VS Code を使わずに単独でも使えます(ブラウザの SRC#Studio、コマンドラインの srcsharp)。

道具 できること
VS Code 拡張「SRC# Authoring」 イベント・データの書き間違いをその場で知らせる、コマンドとラベルの補完、ラベルへ移動、画面付きでイベントを動かす・止めて調べる(デバッガ)、直しながら遊ぶ(ホットリロード)、マップ作成ツール
SRC#Studio(マップ作成ツール) マップ(.map)を描く。ブラウザで https://7474.github.io/SRC/studio/ を開くか、VS Code で .map のファイルを開く。詳しくは「マップデータ」
srcsharp(コマンドライン) ひな形を作る(new)、データとイベントを検査する(lint)、画面なしで最後まで自動で遊ぶ(play)、能力値の一覧(balance)、このヘルプを引く(help)
SRC#Avalonia・SRC#Web 作ったシナリオを遊ぶ(「SRC#のインストール」)
データビューア 公開されているデータ(SRC-Data の GSC データパックなど)を、画像付きで見る・ユニットとパイロットを比べる(https://7474.github.io/SRC/)。データを作るときの参考に

VS Code 拡張と srcsharp は、.NET 10 SDK を入れてから入れます。

dotnet tool install -g SRCSharpTools

VS Code 拡張は、拡張機能の画面で「SRC# Authoring」を探して入れます。srcsharp が無ければ、拡張が入れるかを尋ねます。

汎用データ

シナリオを動かすには、地形データなどの汎用データ(SRC のフォルダの Data\System など)が要ります。

VS Code 拡張では、設定の srcsharp.appPath にそのフォルダを書きます(拡張の「SRC#」のパネルから選べます)。

流れ

1. ひな形を作る

VS Code のコマンド「SRC#: 新しいシナリオを作る」か、コマンドラインで作ります。

srcsharp new 私のシナリオ --title "私のシナリオ"

次のファイルができます。最小の汎用データでそのまま遊べる 1 話です。

ファイル 内容
第1話.eve イベント。プロローグ・スタート(マップを出してユニットを置く)・勝ち負けのイベント
第1話.map マップ
Data/robot.txt・Data/pilot.txt ユニット・パイロットのデータ
第1話.play 最後まで自動で遊ぶ手順
.vscode/launch.json VS Code で F5 を押すと、開いているイベントを画面付きで動かす
.github/workflows/src-check.yml GitHub に置くと、データの検査と、最後まで自動で遊べるかの確かめを毎回行う

2. 書く

イベントとデータは VS Code で書きます。保存しなくても、書き間違い(コマンドの引数・If と EndIf の対応・飛び先のラベルが無い・データの読み込みの誤りなど)に波線が付きます。コマンドとラベルは補完でき、ラベルは F12 で定義へ移動できます。データは「データ形式」から各データの章を見てください。

2.5. データを見る・試す

  • データのファイル(robot.txt・pilot.txt など)を開いて「SRC#: データのプレビュー」を選ぶと、カーソルのあるユニット・パイロットを、ゲームの数値(能力値・特殊能力・武器・スペシャルパワー)で横に出します。保存しなくても、打つたびに変わります。ブラウザの SRC#Studio の「データのプレビュー」でも見られます
  • 「SRC#: 試し戦闘」を選ぶと、ユニット・パイロットと敵を選んで、小さなマップで戦わせられます。戦いながらデータを直して保存すると、その場で読み直します。コマンドラインでは srcsharp trial <シナリオのフォルダ> --unit ユニット で試し戦闘のイベントを作れます

3. マップを描く

第1話.map を VS Code で開くとマップ作成ツールが開きます。左クリックで描き、右クリックで地形を拾います。マップの大きさは「大きさ」で変えます。ブラウザの SRC#Studio でも同じことができます。

4. 試す

  • イベントを開いて F5(「開いているイベントを遊ぶ(画面付き)」)。VS Code の中のタブで遊べます。行の左をクリックするとブレークポイントを置け、止まったところで変数を見られます
  • 遊んでいる最中にイベント・データ・画像を直して保存すると、遊んでいる状態のまま読み直します(ホットリロード)
  • 「第1話 を自動で最後まで」で、第1話.play の手順のとおり自動で遊びます。勝つまでの流れが壊れていないかを確かめられます

5. 検査する

srcsharp lint . --app-path <汎用データのフォルダ>

読み込めないデータ・イベントの誤りを出します。--rules で書き方の決まり(GSC データパックの基準など)も調べられます(srcsharp lint --list-rules)。ひな形の .github/workflows/src-check.yml は、GitHub に push するたびにこの検査と自動プレイを動かし、結果をプルリクエストに出します。

6. 公開する

  • SRC#Web で遊べるように置く: 「SRC#Webの使い方」
  • 元の SRC と同じく、フォルダを zip にして配る

困ったとき

  • コマンド・関数・データの書き方は srcsharp help 項目(例: srcsharp help Talk)でも引けます
  • 動きがおかしいときは、デバッガで止めて変数を見るか、「ログ」を見てください