by 唐草 [2024/04/08]
ゲーム開発を進める際に、スクリプト言語でパパっとデータを処理できるスキルは欠かせない。エクセルで作ったダンジョン定義を手動でUnity向けのJsonに変換するなんて無理。そもそもJsonは人間の書くものじゃない。
だから、ぼくはエクセルをCSVに変換して、それをPHPで処理をしてJsonに書き出す方法を採用している。
こういう変換をする時はいい加減に書いてもすぐ動くし、変更があってもコンパイルの必要がないスクリプト言語を使うのが便利。
Windowsで開発していることを考えれば、ベストな選択肢はPythonだ。でもぼくはPythonを自分の手足の延長のように思い通りに使えない。だから、ぼくはもっとも得意なPHPを使う。
PHPはクソ原語だが、動的にHTMLを生成することに特化した言語なのでテキスト処理だけは得意。その得意さというのは、雑に書いてもまるで空気を読んでくれるように動く点。その緩さが開発者を困らせることも多いが、勝手知ったる仲になるとテレパシーのように意思疎通ができる。
だから、プログラムに読み込ませるためのデータを作るときに大活躍。数値が文字列になっていたり、区切りがタブだったりカンマだったりと整合性に欠けた雑なデータを与えても、いい感じに処理してくれるように作ることができる。
これまでにのべ50個ぐらいのJsonを作ってきた。どれも10KBにも満たない小さなファイルだが、それぞれに1,000を超えるデータが規則に沿って整然と並んでいる。全部手書きをしていたら恐ろしく時間がかかるし、ミスだらけで使い物にならないだろう。
厳密な機械と効率よく対話をするために、人間らしい緩さを許容してくれる機械を使ってぼくの言いたいことを翻訳してもらうのは合理的なやり方。近い将来その役目はAIに取って代わるかもしれない。だが、複雑なAIプロンプトを書くより、直に小さなコードを書いたほうがまだ早い。
ソフト開発を効率よく進めるには、C#などのメイン言語の他に作業を助けてくれるスクリプト言語が欠かせない。ぼくの場合は、それがおよそ場違いなPHPなのだ。