C#が全く分からない人向け Celeste Code Mod入門: 環境構築編
- 0. 初めに/ 免責事項
- 1. Everestのダウンロード および OpenGLへの切り替え
- 2. Visual Studioのダウンロード
- 3. 自作MOD用のテンプレート作成
- 4. デフォルトの状態でビルド
- 5. おわりに
0. 初めに/ 免責事項
こんにちは。
突然ですが、最近CelesteでFarewellの金苺狙いをしています。Farewellの金苺狙いはあまりにもモチベ管理が大変なので、自分用にEverestを用いてMODを作成しました。
Celesteで金苺持ちながら死んだ場所を自動的に記録できるようになった いいですね
— 煎茶 (@sentya7) 2023年1月9日
これでやっとFarewellの練習が始められる pic.twitter.com/FnuG4elhH3
環境構築に戸惑ったので、今後触る方に向けて少しでも助けになればと思い、記事を作成しました。
なお、「C#が全く分からない人向け Celeste Code Mod入門」の続編予定はありません。
この記事ではEverestの仕組みや、Everest APIを使って何ができるかといった説明は行いません。 自作MODを始める最低限のテンプレートを作成し、Everestに読み込ませるところまでを目標とします。
また、自分も「C#全く分からない人」であるため以下の方法で進めることが必ず正解ではありません。自分の一体験としての記録を残すつもりですので、ご了承ください。
環境はWindows / Steamでのインストールを想定したものです。
1. Everestのダウンロード および OpenGLへの切り替え
初めにですが、Steam上で簡単な変更を行います。
おそらくこのページを見ている人はすでにMODで遊んでいる(=Everestをインストール済み)かとは思いますが、起動方式を変更しておきます。(起動方式って呼び方で合っているかな...)
OpenGLという方式で起動する必要があるようです。コードをいじる気がなくても、Everestで遊ぶ場合はこちらを選んだ方がメモリ使用量やクラッシュする頻度が減るため変更しておくことをおススメします。
This setup doesn't require NuGet or git, but if you're a Windows user, you'll need to switch to the OpenGL branch.
参考: Code Mod Setup · EverestAPI/Resources Wiki · GitHub
変更方法
- SteamライブラリのCelesteを右クリック → プロパティ
- 「ベータ」 → openglを選択
openglへ変更をすると、Everestを再度入れ直す必要があります。
普段通りOlympusからEverestを起動しようとするとインストールを求められると思うので、指示に従って進めてください。 セーブテータやMODは保持されているので大丈夫です。
説明についてはこのへん
2. Visual Studioのダウンロード
まずは .NETをインストールします。 docs.microsoft.com
次に、Visual Studioをインストールします。恥ずかしながらEverestを触ろうと思うまで自分も混同していたのですが、Visual Studio Codeとは別物です。 無料のCommunityバージョンでOKです。
これ以降のVisual Studioについての説明は、おそらくバージョンが変わっても同じになるかとは思いますが自分がインストールしたバージョンは17.2.4でした。
Visual Studioのインストールが完了したら一回閉じておいて大丈夫です。
3. 自作MOD用のテンプレート作成
まずは、作成したMODを入れる空のフォルダ(ディレクトリ)を作成します。 Celesteに関連したファイルがどこに保存されているかは先ほどと同様にSteamから辿ることができます。
Steamからプレイしている場合、おおよそ C:\Program Files (x86)\Steam\steamapps\common\Celeste
のような場所にあるかと思います。
Mods
フォルダの中に好きな名前で新しいフォルダを作成してください。
そうしたら先ほどダウンロードしたVisual Studioを起動し、空のMod用ファイルを開きます。
PowerShell上で dotnet --version
などを実行し、dotnetコマンドが使えるかどうかを確認します。
dotnetコマンドが使えない場合は、
winget install Microsoft.DotNet.SDK.7
でインストールします。指示に従って進めてください。
(注: 現在(2023/3)ではバージョン7が安定バージョンとなっていますが、今後新しいバージョンがリリースされると .7
の部分が変更になるかと思います。)
参考: Windows に .NET をインストールする - .NET | Microsoft Learn
dotnetコマンドが使えることを確認したら
dotnet new install CelesteMod.Templates
でテンプレート作成用ライブラリをインストールしたのち
dotnet new celestemod
を実行します。
必要なファイルが作成され、先ほど作成した空のフォルダが以下のようになっていれば成功です。
注: この時点でEverestを起動するとエラーになります。
正常に起動させるには次の「4. デフォルトの状態でビルド」節までの作業を完了するか、作業を途中で取りやめる場合は作成したフォルダ(例の場合は「MyTestMod」フォルダ)を丸ごと削除し、次回作業時に「3. 自作MOD用のテンプレート作成」節の最初からやり直すことをお勧めします。
4. デフォルトの状態でビルド
補足および謝罪
Mod作成時のメモに「初回ビルド時にDeveloper Toolがないと怒られたのでインストールした」と書かれていたのですが、3ヶ月くらい前のメモであるのと今になって再現できないので、割愛させてください。
おそらく何が足りないかがエラーメッセージなどに現れると思うので、適宜対応していただければと思います... 🙇♂️
もしも思い出したり再現できたら書きます。
気を取り直して...
Visual Studioを開いたばかりの状態ではメニューバーにないのですが、.sinファイルを開くと「ビルド」が表示されるようになるので(??)開きます。
メニューバーの「ビルド」→「ソリューションのビルド」を実行します。
ビルドが正常に終了すると、テンプレートで作成された bin
フォルダの中にdllファイルが作成されます。
ここまで完了するとEverestを起動し自作したMODを読み込ませることができます。
5. おわりに
お疲れさまでした。ここまでうまく運べば、以降は公式リファレンスとコードとの対応付けを確認したり、Everest上での動作を見ることができるので少しは進めやすくなるかなと思っています。
公式リファレンスはそこそこ充実していますので、やりたいことに合わせて探索していただければと思います。
また、GameBananaなどで公開されているMODはGitHub上でコードが公開されていたりもしますので、自分がやりたいことと近いものがあれば覗きに行くのもよいかと思います。
自分もまだまだModのさわりしか分かっていないので、もし今後知識が増えたら続編として書こうかなと思っています。
それではまた。