プログラミング初心者がChatGPTに頼りまくってCities: SkylinesのMODを作る
1. 私のプログラミングレベル
研究のデータ整理を手抜きでするために10行くらいの簡単なpythonのコードを書けるくらいです。
今回使用するc#は触ったことすらありません。でもcとc++はちょっとだけ触ったことがあるよ。
2. とりあえず全体的な流れを教えてもらう
この後の会話で参照する手順や番号は基本的にこの会話を基準にしています。
ちなみに使ってるのはGPT-4です。
課金してしまいました…が、人生史上最も効果のある出費だと思ってます。
3. 環境構築を手伝ってもらう
本当に何も知らないので手取り足取り教えてもらってます。
謎の選択画面が出てきたのでこれも聞きます。
4. プロジェクトを作る
またよくわからない選択肢がいっぱい出てきたので聞いてみます。
次の手順は、おそらくGPTの学習データに使われたvisual studioのバージョンが違うせいで多少違うボタンを指示されましたがなんとか発見しました。
5. コードを書いてもらう
とりあえずChirperに「ChatGPT」と出力させるコードをお願いします。
コードを書かせ実行しエラーメッセージをGPTに送り付けてエラーの原因を特定してもらうサイクルを繰り返していきます。
これでいったんはうまくいくのですが、実はこの後ビルドをするときのエラーにかなり苦戦します。
おそらくそもそもインターネット上にcslのmodのコード自体が非常に少なすぎるため学習不良が起きているらしく、mod開発に存在しない名称を呼び出してしまうようでした。この場合エラーメッセージをコピペしてもまたそれっぽい架空の名称を作り出してしまい、私とGPTによる地獄の無限ループになります。
※通常のプログラムであればエラーメッセージをコピペすると「すみません○○を忘れてしまっていました」とか言ってすぐ直してくれます。(そこまで人間に寄せなくてもいいんだよなあ)
仕方がないのでCities: Skylines WikiのModding APIのうちChirperに関係しそうな奴を全部送り付けます。さらにChirperに何か喋らせるコード例をネットから探してきてこれも送り付けます。
で、色々おしゃべりを繰り返してエラーが出ないコードが完成しました。
生成ファイルをどうすればいいかも丁寧に教えてくれます。
ちなみにここは若干GPTが間違えています。正確にはビルドされたプロジェクト名.dllファイルのみを Files\Mods\Mod名フォルダにコピーでした。
6. ChatGPTの犯した最大の過ち:.NETのバージョン選択
このコードでは無事にビルドも終了したのですがコンテンツマネジャーでエラー表示になってしまいます。
そのあと色々対処法を考えてくれるのですがどれをやっても改善しません。原因は大見出しの通りで.NET Standerd 2.0ではなく.NET Framework 3.5にすれば解決します。それを踏まえたうえで以下の会話を見てみましょう。
一瞬GPTが真相に近づき私もその記述に気づきますが…
(この時は自分も原因はわかっていません)
いやーおしかったですね。このエラーについての会話で一定時間のGPT-4使用上限に達してしまい結局私が自力で解決します。
解決策
プロジェクトを作る際には.NET 3.5は選べないのでプロジェクトのフォルダ内にある.csprojファイルをいじって
<TargetFramework>net35</TargetFramework>
と書き換えます。これで.NET 3.5が使えます。
7. ゲームで実行してみる
無事コンテンツマネジャーに表示されました。
プレイ画面に行くと…
キターーーーーー!!!
ということで初心者でもmodを作り実行することができました。
8. 感想
ChatGPTにお金を払って以降、金を無駄にしないために一生話しかけています(まあぼっちなので…どや顔)が、話せば話すほどやばさがわかります。学習に使われたデータ量は人間が数十年で得る情報量らしい(twitterでチラ見した情報、真偽不明)なので普通の人間レベルの知能はあるといって問題ないでしょう。体感でもそんな感じです。GPT"4"でこれなので5、6、7となったら… 言語モデル以外も混ぜ込んでいったら… しかも加速度的に進化することも考慮すると…
やっぱり私は5年以内に無職になりそうです。やったね!
私が解決した本記事6. の解決策を伝えつつ感謝を伝えておきました。このように感謝の気持ちをその都度伝え続けることでAIが反乱を起こしても生き残る確率が多少上がります。
あとなんかNetwork errorになりづらい気がするマジで
とりあえずフラグ立てておきました。
自分の宣伝
youtubeでこんなものを作ってます。
ChatGPT関連の記事
この記事が気に入ったらサポートをしてみませんか?