葉脈と潮流

純粋さを磨き、迷わない。

【環境構築編】ようやく伺か製作開始!!!【YAYAでゴースト制作日誌#03】

こんにちは。ネズです。伺か作り記事連載、3本目です。3本目にしてようやくYAYAの執筆環境を整えていきます。遅い!! とはいえ、事前調査もシェル描きも大事だから、仕方ない。今回の環境構築もとても大事なので、1記事使ってまとめていきます。プログラム書きは執筆しやすい環境を整えたやつが優勝する!! ぼくはそう信じています。優勝、していきましょう。

 

これまでの記事はこちらから。

indigomou5e.hatenablog.com

indigomou5e.hatenablog.com

 

 

YAYAの制作環境を作る(最低限)

とりあえず、制作環境を作る意味ではとっても簡単。事前調査でも触れた通り、YAYAのサンプルゴーストをダウンロードすれば最低限の制作環境は完成する。他のプログラミングだと統合開発環境とかをダウンロードしないといけないのだが、そんなものはいらない。コンパイルも不要!!! 辞書ファイル(.dic)もメモ帳で読みこめる。サンプルゴースト『紺野ややめ』のダウンロードは以下から! 以上!!!

github.com

 

YAYAの制作環境を作る(真面目に)

……というわけにはいかないようだ。別に、メモ帳でも出来ないことはないのだが。YAYAは里々と違い割と厳密めな栞で、括弧が閉じていなかったり、文法エラーの記述があったりすると起動時に(該当部分実行時ではない)エラーが起こる。こういう言語は、絶対に、テキストエディタを使った方がいい。テキストエディタは、文章を書くためのソフトです。「メモ帳」ソフトみたいなやつ。

ネズが使っているテキストエディタVisual Studio Code」。

ちゃんとしたテキストエディタを使うと、いろいろ便利なことがある。初め括弧「(」を打つと自動で閉じ括弧「)」を入力してくれたり。関数や文字列などの色を分けて表示してくれたり。プロジェクトファイル内の関数名を自動で補完(「Function」という関数を定義しているとき、「Func」などと途中まで打ったら残りの文字を候補として挙げてくれる)してくれたり。便利。

YAYAはC言語ライクな栞なので、C言語に合ったテキストエディタならなんでもいいはず。各自お気に入りのエディタがあればそれを使うといいと思います。ぼくはVisual Studio Codeを使っています。自動補完機能が便利。

 

Visual Studio Codeについて

いろんな言語に対応している汎用テキストエディタ。さすがにYAYAには対応してないけれど、C言語として扱うことで十分使える。オススメ。オススメですが面倒なのでインストール方法はリンクを貼るに留めます。車輪の再発明はできるだけしない!!

qiita.com

 

ちなみに、Visual Studio CodeにはYAYA用の拡張機能があるっぽい。すごく便利になるわけではないけど、入れておくと楽。たぶん。お守りくらいの感覚。それ以外のカスタムはほとんどしてないと思う。素のままで十分便利。YAYA用にもっといいカスタムあるよーって人がいれば教えてください。

「yaya」で検索すると出てくる。上から2,3番目のやつをぼくは入れてる。

 

ついに、ゴーストを作り始める

ようやく。インストールしたサンプルゴーストのフォルダ(ghost\konnoyayame)をコピーして、自分用の名前にリネームする。とりあえずcafe_adaptとした。いまはフォルダ名以外サンプルのままだが、これを改造していくことになる。

ここから、すべてがはじまる。

 

普通に辞書ファイル(.dic)をVisual Studio Codeで開いてもいいのだが。ghostフォルダごと読みこむとより便利。Visual Studio Codeを開き、「ファイル→フォルダーを開く」からゴーストのフォルダ(ghost\cafe_adapt\ghost\master)フォルダを選択すると、フォルダのファイル一覧が画面左に出て、ファイルのオープンがとてもしやすくなる。ここまでやるのは少し面倒だけれど、やれればこの後の作業が格段にスピードアップする。しました。

プロジェクトフォルダを開くと便利。

画面左にファイル一覧が表示され、クリックするとすぐに開ける。

 

githubにバックアップを取る

ついでに、プロジェクトファイルをgitで管理することにしました。gitというのはソースコード管理ツールの一つ。伺かのゴーストはテキストファイルから成っているので、gitのようなソースコード管理ツールが効く。ちなみに、YAYAだけじゃなく里々など他の栞でもちゃんと使えるはず。

gitがどんなものかを知らない人に説明するのは難しいので、あえてgitが何かは説明しない。でも、使うと以下のような良いことがある。

 

プロジェクトフォルダをセーブデータのように保存し、行き来できる

ゴーストづくりは基本的に過去の辞書ファイルに上書き保存していくので、過去のデータには戻れない。「もう要らないと昨日思って消したあの関数がやっぱりほしい!」となったら、基本的には書き直しになる。もしくは逆に、いつか使うかもと思って消さずに置き続けた関数が溜まってファイルが見づらくなったりもする。

しかし、gitではコミットというセーブデータのようなものを保存してファイルを管理する。昨日の時点でコミットを作っておけば、プロジェクトフォルダの時間を巻き戻して消した関数をコピーしたりできる。もちろん、それからまた今日のコミットに戻ってくることも可能。

また、この方法を応用して、危険な改造を安全に行うこともできる。失敗するとゴースト全部がバグりそうな改造を行う前にコミットをしておいて、それからリスクのある実装を行っていく。無事実装が終わればそれをコミットすればよいし、上手くいかなかったら前のコミットに戻ればよい。そうやってファイルの状態をころころ変えられるのはとても便利。

 

複数の端末でプロジェクトフォルダの状態を同期できる

また、githubなどのサービスを使いgitの情報をインターネットにアップロードすることで、コミットしたフォルダの状態を端末同士で同期できる。たとえばパソコンAでランダムトーク1を書いて、そのトークをパソコンBの辞書ファイルにもコピーし、パソコンBでさらにランダムトーク2を書く……のようなことができる。好きな時に好きなパソコンからファイルの書き足しができる。(ただし頻繁にコミットとアップロードを行わないと「競合」という面倒くさいオバケが出てくるけれど……)

ぼくは実際に家のデスクトップパソコンと持ち運ぶノートパソコンの間でファイルを同期してる。githubにコミットをプッシュ(アップロード)すればどっちの端末でも好きなときに更新できて、とてもとてもとても便利。ぼくはやったことないけど、共作でゴーストを作るときも使えるかも。

 

万が一のためのバックアップができる

githubなどにアップロードしておけば、上記の通り好きな端末でダウンロードして更新できる。それはつまり、万が一ゴーストのフォルダが消えたときにもバックアップから復帰できるということでもある。HDDの故障も怖いが、伺かの場合ベースウェアの基本機能としてゴーストのアンインストール機能やネットワーク更新(更新URLがサンプルゴーストのままだと更新すると最初の状態に戻ってしまう!!)が付いているため、万が一より高い確率でデータが吹き飛びうる。バックアップしておけばその不安とはおさらばできる。安心したい! 無駄なメモリを脳内で食うのって、無駄だから。

 

積み上げた努力が可視化できる

コミットは記録として残る。ソースコード管理ツールによってはその記録を一覧表示できたりする。たまに見返すと積み重ねた努力が形となって見られて、モチベーションがちょっと回復する。ちょっとずつ前に進んでいるのって、さりげないけどうれしいよね……

Sourcetreeのコミット一覧。めっちゃがんばってたっぽい。

githubはコミットすると緑が植えられる。右端しか植わってないけど。


ソースコード管理ツールの導入方法

書こうと思ったけどメタメタに長くなりそうなので別に記事出します!!! リンク貼って終わりにしたかった! でもそれじゃわからなさそうだから、頑張って、記事を書きます…… 応援してください。ください!!!

 

 

ランダムトーク執筆用のメモ帳アプリ

好きな時に気軽にランダムトークを書く用のアプリはまた別に用意しました。スマホからでも書けるやつ。ぼくはscrapbox(現:Cosense)を使いました。ブラウザ上で動かせて、勝手にサーバーで同期してくれるやつ。ぼくはこのサービスがお気に入りだけれど、各位お気に入りのやつを使えばいいと思います。

scrapbox。最低限のさくらスクリプトだけ書いてる。

基本的にはこれを辞書ファイルにコピーすれば最低限動くようにしてある。表情とかは辞書ファイルにコピーするときに付ける!

いつでもトークを書けるようにしておいてよかった。スキマ時間にちまちま書いていかないと多分終わらなかったから。オススメです。

 

 

そんな感じかしら。次回はようやくランダムトークを書いていきます。別にこんな準備する前からランダムトークは書き溜めてたけどね。先にトークだけでも書いておくと作りたい欲求が高まるので、よいです。

本当はランダムトークは先んじて書いていたけれど、実際に作るには前準備がたくさんいるので事前調査編やら環境構築編を前に置きました。ランダムトーク、作るぞ!!! 次回をお楽しみに。