Create Your FriskでUndertaleみたいなゲームを作る（準備編）

# この記事を書く理由
皆さん、Undertaleというゲームをご存知でしょうか。

https://undertale.jp/

Toby Fox氏がほぼ一人で作り上げた「誰も死ななくていいRPG」として、世界中で人気のあるゲームです。サンズとかMEGALOVANIAだけなら知ってる、って人も多いかもしれません。やったことない人はネタバレを踏まないうちにプレイすることを強くお勧めします。

　さて、このゲームの独特のコンセプトと細部まで作り上げられたレトロな世界観、そしてこれまた独特な戦闘システムに魅了された一部のファンは、こんなことを考えました。
　「もし、このキャラクターがこうしていたら...」と。
そんな風にして生まれていったのが、Undertaleの二次創作群、所謂**UndertaleAU**です。

　しかし、元が海外製のゲームなだけに、日本語でのAUゲームというのは非常に少ないのが現状です（Scratchは別として）。そこで、高機能かつ初心者にも使いやすいLuaによる開発ができる**Create Your Frisk**というUnity製のプログラムを使う開発の紹介を通じて、日本製のAUというものが増えてくれるといいな～と思いこの記事を書くことにしました。

# 動作確認環境

Windows 11
Create Your Frisk v0.6.5
Visual Studio Code v1.66.0
Unity 2018.2.13f1
Microsoft (R) Visual C# Compiler version 4.8.4161.0

# 本編
　環境構築をしていきましょう。なお、この記事は「これがプログラミング初挑戦だよ～」って人でもできるように書いていこうと思うので熟練の方には回りくどいかもしれませんが予めご了承ください。

## 開発ツールのインストール
　以下のリンクからOSに対応したCYFをダウンロードします。

https://github.com/RhenaudTheLukark/CreateYourFrisk/releases

　此方の動画の概要欄から日本語化ツールをダウンロードして解凍しておきましょう。動画ではUnitaleとなっていますが、後継であるCYFでも同じように使えます。

**22/4/5 追記：フォントのみではなく、サンプルMod付きのほう（Mediafireのほう）をダウンロードしてください（続編で使います）。**

https://youtu.be/4LRU2k3iCJA

　エディタは極論何でもいいですが、デフォルトのメモ帳とかは書いてて心が折れそうになるのでやめましょう。こだわりがない人なら**VScode**を使うのが一番だと思います。Microsoft謹製のエディタで、拡張機能の入れ方によってはそこらへんのIDEよりも使い勝手が良くなります。

https://code.visualstudio.com/download

　デフォルトのCYFだと戦闘画面しか作れません。オープンワールド上を動き回れるようにしたい場合は、先ほどのリンクからソースコードをダウンロードし、CYFがビルドされたバージョンと同じUnityをインストールして開く必要があります。最新のCYF v0.6.5では2018.2.13f1が使われています。戦闘だけ作れればいいやって人はインストールしないでも大丈夫です。

https://unity3d.com/jp/get-unity/download/archive

　ダウンロードの際には**Unity Hub**を用いるといいでしょう。後々別の開発もしたくなった時に便利です。なおこの時にUnity IDの作成を求められます。商用のライセンスは必要ないので、個人開発用のアカウントとして作成しましょう。

　なお、Luaそのもののインストールは不要です（CYFが実行環境としての役割を果たすため）。
## 環境構築
### VScode
　VScodeを初めて起動したときは英語になっていると思います。そこで、左の四角が四つ積まれているアイコンをクリックし、「Japanese」と入力し、下の機能を選んで「Install」をクリックします（画像ではアンインストール）。
![explain1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2610946/27934ffc-3d3c-caee-eb2d-3d30af400173.png)
インストール完了後再起動すると、日本語化が完了します。

またLuaの開発を手助けする拡張機能も入れましょう。

https://marketplace.visualstudio.com/items?itemName=sumneko.lua

Unityを使う場合は次の二つも入れておきます。C#の入力補完、Unity用のデバッガーです。

https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp

https://marketplace.visualstudio.com/items?itemName=Unity.unity-debug

オプションですが、インデントを見やすくする拡張機能です。

https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow

他にもいろいろ入れたい機能はありますが、割愛します。

### Unity（使う人のみ）

解凍したCYFのソースコードのフォルダ構成は以下のようになっています。

```CreateYourFrisk-0.6.5
.
├── Assets
├── Documentation CYF 1.0
├── Packages
├── ProjectSettings
├── .github
├── .vs
|
├── .gitattributes
├── .gitignore
├── Build.py
├── CreateYourFrisk-0.6.5.sln
├── How to add mods to CYF (Mac).txt
├── LICENSE
├── MOONSHARP_LICENSE
└── README.md
```
　ここのAssets/Scenesの中にDisclaimer.unityというファイルがあるのでクリックします。何も開かない場合はUnityのエディタを指定して開いてください。
　プロジェクトの読み込み処理が行われた後（結構長い）、Unityが起動するのでVScodeと連携させます。

https://qiita.com/riekure/items/c45868f37a187f8e1d69

此方の記事が非常にわかりやすいので、参考にして連携して下さい（丸投げ）

# あとがき
　これでCYFのModを製作する準備が整いました。次回はいつになるかは未定ですが、CYFにもともと入っているMod「Encounter Skelton」の解説と日本語化を行っていきたいと思います。なお、Unityはしばらく使いません（おい）。というのも、~~僕自身Unityを使った開発はあんまりやったことがなくてよくわかんないから~~高度なことをしない限りUnityを使わないでも十分に開発が可能だからです。
　では、ここまでのご拝読有難うございました。

2022.4.12 追記：
エンカウンター編が公開されました！併せて御覧ください。

https://qiita.com/Geronimo-moon/items/48fb45d5339cff2ec54b