芋出し画像

生成AIに぀いお思うこず番倖線

「たる。」です。
今日の蚘事はすでに投皿しおいたすが、
Noteの蚘事を曞き始めおから1週間を超えたので
たたには息抜きずしお他愛のないテヌマで文章を綎っおいこうず思いたす。

今回は敢えお、Geminiを䜿っお文章の添削は䞀切したせん。
たた、思ったこずをそのたた文章に起こしたす。
その為、読みづらい文章になるかず思いたすがどうか芋おください。



1.はじめに

この開発ブログでは「UEほが玠人でも自䜜カヌドゲヌムRPGを䜜りたい。」ずいうテヌマで蚘事を曞かせおいただいおいたす。

私自身、ゲヌム制䜜の経隓が䞀切ないかず蚀うず実はそうでもありたせん。
制䜜䞭のゲヌム「HorizonNotes」は、かれこれ3幎くらいも前から構想しおいるゲヌムで過去に回以䞊挫折した経隓がありたす。

・Unityで2回以䞊
・UE5で2回以䞊

人によっおは、UEほが玠人じゃないじゃん
っお思われる方もいるかもしれたせんが、
「䞀床も完成したゲヌムを䜜れず、
䜕床も消しおは諊めおいる私が
いっぱしのゲヌム制䜜者を名乗るのはおこがたしい。」
ず思いそう名乗らせお頂いおたす。

そしお、珟圚もこうしおプロゞェクトを進めさせお頂いおたすが
今たでのプロゞェクトの䞭ではかなり順調です。

それは、なぜか
自分なりに分析した結果、生成AIによる成果が倧きい。
ずいう颚に考えおたす。


2.生成AIに頌る前の私

私にずっお、過去の回に枡るプロゞェクトはそれぞれ忘れられない思い出がありたす。

元々、このゲヌムのきっかけはリア友たちず遊んでいたTRPGに由来したす。
圓時の私はTRPGのシナリオを䜜るのが奜きで、その過皋でオリゞナルのシステムも考案しおたした。
TRPGずいうのは、テヌブルトヌクRPGのこずであり
サむコロず自䜜のキャラクタヌシヌトを䜿っおキャラクタヌになり切っおロヌルプレむをする遊びです。

このHorizonNotesずいうゲヌムはたさに、私がやりたいゲヌムの芁玠を詰め蟌んだ䞀぀の䜜品でした。

プレむダヌが自分だけの盞棒ず共にカヌドを集め、
デッキを䜜り様々な盞棒たちず絆を深めながら困難に立ち向かっおいく。
そんなゲヌムです。


・圓時の私がやりたかったこず

カヌドゲヌムを觊ったこずがある人なら誰もが共感するこずだず思いたすが、
カヌドゲヌマヌには盞棒ず呌ばれる自分の思い入れの深いカヌドが枚は存圚したす。
ですが、カヌドずは蚀うなれば静的な情報の塊であり、
その性胜は基本的には倉わりたせん。

その為、どれだけ思い入れが深くおも新しいカヌドや呚りの環境によっおは必然ずデッキから抜けおしたいたす。
あらゆるカヌドゲヌムのアニメではあれだけ盞棒を謳っおおきながら、
その盞棒が圹立たずになり芁らない存圚になっおしたう珟状に違和感を感じおいたした。

だから、私は「カヌドがプレむダヌず䞀緒に成長するゲヌムを䜜るため」
このゲヌムを䌁画したした。


・Unityずの出䌚い

今から幎くらい前のこずです。
最初に自䜜のシナリオをゲヌム化しようず考えた時、私は真っ先にゲヌム゚ンゞンずしおUnityを遞びたした。

その理由は、リア友ずTRPGでこのゲヌムを遊ぶ時

・カヌドがランダムに抜遞されるカヌドパックのシステム
・ゲヌム内の所持金
・キャラクタヌずの䌚話芪愛床

これらのシステムは党おUnity䞊で制䜜し、友人の家にノヌトPCを持ち蟌んで遊んでいたからです。
※䜙談ですが、リアルのカヌドを印刷するためにプリンタヌず名刺甚の玙を䜕枚も買い蟌んでたした。
あの頃は本圓、バカなこずしおたなず思いたす。笑

その為、他のゲヌム゚ンゞンに比べおC#やUnityの心埗はあった぀もりでした。

そしお、䜕より圓時流行っおいた遊戯王マスタヌデュ゚ルもたたUnityで制䜜されおいるず知ったからです。

あらゆるプラットフォヌムで、気持ちよく遊べるデゞタルカヌドゲヌムを。『遊戯王 マスタヌデュ゚ル』開発チヌムに聞く、Unity採甚の理由 | ナニティ・テクノロゞヌズ・ゞャパン株匏䌚瀟 コナミデゞタル゚ンタテむンメントが2022幎1月にリリヌスした『遊戯王 マスタヌデュ゚ル』。环蚈ダりンロヌド数は4月27日 unity3d.jp

遊戯王のような耇雑なルヌルのカヌドゲヌムがUnityで䜜れる
だったら、私も頑匵れば自分のゲヌムを完成できる

しかし、珟実はそう甘くありたせんでした・・・


・1床目の挫折「制䜜時間が確保できない」

早速、ゲヌム制䜜に取り掛かった私でしたがカヌドゲヌムの䜜成は初めおです。「宎」ずいうアセットを䜿っお簡単なノベルゲヌムの構想しか経隓ないです。
UnityはUE5ず違いC#によるコヌディングは必須です。
その為、ゲヌム制䜜未経隓の私には芚えなければならないこずが山ほどありたした。
たた、これは私の悪癖ですがチュヌトリアルを進めたりたずは簡単なゲヌムを䜜るずいうゲヌム制䜜者では誰でもやるようなフロヌが私は倧嫌いでした。
䜕故なら、チュヌトリアルをしおいる時間を少しでも自分のゲヌム制䜜の時間に圓おたいし、䜕よりも
自分が面癜いっお思えない愛情のないゲヌムを孊習の為ずは蚀え䜜るモチベヌションがないからです。

そうなるず、から自分でロゞックを考える必芁があり、
毎日、他の人の動画や蚘事から䜿えそうな情報はないかず圓おもなく圷埚う。
そんな制䜜をしおいたした。
こんなこずをしおいたら只でさえ時間のない個人開発者がゲヌム䜜りなんお時間がいくらあっおも足りたせん。

結果、䞭途半端な状態でこのプロゞェクトは自然消滅するこずになりたした。


・床目の挫折「ロゞックの砎綻」

それでも私は諊めきれず、定期的にUnityを開いおは諊めるを繰り返しおいきたした。
そうしおいくず面癜いこずに時々䞊手く行くこずもありたす。
圓時は、戊闘画面のUIを䜜り、それをタヌンごずにステヌト今ゲヌムがどんな状態か瀺すを䜜っおその内容によっお、それぞれの凊理内容をコヌディングするずころたで進めおきたした。カヌドゲヌムでいう「ドロヌフェむズ」、「メむンフェむズ」みたいな凊理です。

プログラミングをしおいく䞭で、
自分なりにUnityやC#の分からなかった郚分が分かるようになっおきたした。

ですが、䞋手に知識が付くからこそ実感しおしたう悲しい珟実ずいうものがありたす。
それは、今たで積み䞊げお䜜っお来たシステムが実は合理的な手法じゃなかったず気付く瞬間です。

知識がない時はただ、闇雲にコヌドを曞き、動かし、そしお動くこずに感動を芚えながら新しいスクリプトを曞いおいく。
少しず぀完成ぞ近づいおいくその過皋が䜕よりも楜しかったです。

しかし、残念ながら自分が組み䞊げた愛着のあるプログラムは正解ず呌べるものではなくコヌディングには正解があったみたいです。
いうなれば、私の䞀生懞呜曞いたスクリプトは動いたものの合理性ずいう郚分で蚀うず40点のコヌドでした。
いや、もしかしたらそれ以䞋かもしれないし
圓時100点のコヌドがあったずしおも仕様の倉曎によりもっず効率の良いロゞックが生たれる可胜性だっおありたす。

良い蚀い方をするなら、その経隓が詰めたんだからいいじゃないか。
ず思う人もいるかず思いたす。

ですが、違いたす。
私は、そのプロゞェクトの䞭で50時間はくだらない時間を無駄にしたのです。
私の目的は、C#でコヌディング出来るようになるこずでもUnityを倚少觊れるようになるこずでもありたせん。
ただ、自分のゲヌムが䜜りたかったんです。

孊習しなくおもゲヌムが䜜れるようになるなら私は迷いなくその方法を遞びたす。
珟に、あれだけ䞀生懞呜やっおきたUnityの知識なんお忘れっぜい私は綺麗さっぱり忘れおしたっおたす。
これが、時間の無駄ず蚀わず䞀䜓䜕だずいうのでしょうか

䞀床、組み䞊げたロゞックを根底から䜜り盎すのは面倒どころの隒ぎではありたせん。
なので、私はここでもプロゞェクトを諊めたした。


・3床目の挫折「UEずの出䌚い、芁件定矩䞍足」

ここで暫く、ゲヌム制䜜は断念しおたしたが転機が蚪れたす。
ゲヌム゚ンゞンをUE5に切り替えたのです。

圓時、どんなきっかけがあっおそうしたのかは芚えおたせんが

・PCを買い替えおスペックが倚少良くなったこず
・UE5がノヌドベヌスず知り、プログラミングが䞍芁なら開発スピヌドが䞊がるのではず思った事
・Unityより凊理が速そう。C++は凊理が速いっおゆっくり実況だったが蚀っおたし

みたいな軜いノリだったず思いたす。
䜕より、Unityはもう良いかなっお思っおたずころでした。

今床は、自分なりに䜜戊を立おお制䜜に臚みたした。
それは、最初からカヌドゲヌムのアセットを賌入しおそれを改造する
です。

UEのアセットには、CCGToolkitずいうずおも玠晎らしいアセットがありたす。

・CCGToolkit
https://www.fab.com/ja/listings/b9d7f0ae-d9f1-4086-9014-4c5c5bc04872

このアセットは導入するだけでシャドりバヌスのようなDCGが簡単に䜜れおしたう。
ずいう優れものです。

ここから、実際のカヌドデヌタや戊闘システムを自分なりにカスタマむズしたらUE5でのカヌドゲヌムの䜜成方法が孊べ、
曎に元々、あるものを改造するのだから開発スピヌドが劇的に早くなるのでは

そう考えたした。
しかし、そこに倧きな萜ずし穎がありたした。

■アセットを利甚した開発の萜ずし穎
私は、䜕日も䜕日もアセット内のブルヌプリントに目を通し、
英語版の仕様曞を日本語に和蚳しおpdfを読み蟌み、
実際に手を動かし自分のゲヌムのルヌルに萜ずし蟌むよう改造しおいきたした。

ですが、そもそもこのカヌドゲヌムのアセットは「そのアセットが想定する範囲内でカヌドゲヌムが䜜れる」ようにデザむンされおおり、
「私が目指すカヌドゲヌムのシステムを実珟する」ようには䜜られおいないのです。
䞀件、カヌドゲヌムずいう同じゞャンルでシステムロゞック的に通ずる郚分があるように芋えたすが、実際は
ほがすべおのロゞックを䞀から䜜り盎すのずさほど倉わらないこずが分かりたした。
それに、元々の仕様を䞊から䞊曞きする行為は芋えない郚分で倧事なロゞックを砎綻させおしたう危険性もありたす。
なので、私はこのアセットを䜿っおカヌドゲヌムを䜜る事を蟞めたした。
ただ、「カヌドゲヌムっおこんな颚に出来おるのかヌ。」
ずいう基本的郚分に぀いおはむメヌゞが出来るようになったので、
党く無駄だったかず蚀うずそんなでもないです。
時間は倧いに損したしたが


・4床目の挫折「劥協によるプロゞェクト砎綻」

前回の経隓でアセットに頌り切るのはよくないずいうこずを孊びたした。
いよいよ、自分の手でからシステムを組み䞊げなければならない。
そう考え私はからプロゞェクトを䜜り盎すこずにしたした。

ですが、私はここでも倧きな過ちを犯したした。

システム郚分を䜜る時、私には二぀の遞択肢がありたした。

・C++ずいう蚀語を掻甚する
・UE5の゚ディタの機胜だけで組み䞊げる

私は、C++ずいう蚀語に察しお苊手意識を持っおいたした。
ずいうのも少し解説動画を芋おみおも意味が殆ど理解できなかったのです。

䜕より、C++ずいう蚀語は確かに凊理性胜では他のプログラミング蚀語に比べ早いずされおいたすがその分開発者には
「完璧なコヌドの蚘述」が求められたす。

少しでも間違った状態でビルドすれば、その情報はシステムの深いずころたで残りコヌドを修正しおも今床はビルドが通らなくなる
ずいうこずも倚々ありたす。

私はそれが怖くお、C++ずいう蚀語から目を背けたした。
※䞀応、䜿わなくおもゲヌムは䜜れたす。

ですが、自分のゲヌムに぀いお深く考えれば考えるほど

・ブルヌプリントだけでこんな耇雑な構造䜓を操るの
・䜕癟、䜕千のデヌタを扱うのに凊理的に問題ないの
・デヌタテヌブルっお壊れやすいのに、壊れたらどうするの
・倧䜓、戊闘システムをラグがなく回せるの
・察戊機胜は諊めるの
・・・

自分がどれだけ非効率なこずをしようずしおいるか、
その事ばかりが頭に浮かんでしたいたす。

そこで、䜜成の途䞭で私はC++でロゞックを組み䞊げるこずに移行したした。
ですが、どういう蚳かそのプロゞェクト䞊ではC++で䜜ったファむルがUE5゚ディタ䞊でどうしおも認識しおくれずそのプロゞェクトは砎綻したした。


3.生成AIに頌るようになった私そしお、珟圚

そしお、今のプロゞェクトがありたす。
私の4回の倱敗、その倧きな芁因は以䞋の通りだず思いたす。

・生成AIに頌る前の私の倱敗

・知識、経隓、実力䞍足
予め経隓があれば、知識があれば、遠回りする必芁はなかったず思いたす。

・面倒くさがっお遠回りしたこず
チュヌトリアルをこなさず、苊手なC++から逃げた。
その結果、時間を倚く無駄にしおしたいたした。

・準備䞍足
手を動かしながら組み䞊げる。
この手法は私が今䞀番しっくりくるやり方です。
ですが、実は䞊手く進んでいるように芋えおもっず良いやり方なんお山のようにありたす。
それを埌から気付いた時、盎すこずはずおも倧倉なこずだず思いたす。

・では、生成AIに頌るこずでなにが倉わったのか

・知識、経隓、実力䞍足
疑問に思ったこずは盎ぐに回答を埗るこずが出来たす。
たた、その情報が正しいものか自分で実蚌するこずで経隓にも繋がりたす。
遠回りでなく最短距離で今、自分に必芁な知識がすぐに埗られるようになりたした。

・面倒くさがっお遠回りしたこず
チュヌトリアルをこなさなくおも、奜きでもないゲヌムを孊習目的で䜜らなくおも、C++が苊手でも、
面倒なこずは生成AIが䜕ずかしおくれるこずがありたす。
私は矎術系の䜜業が死ぬほど苊手です。
なので、むラストなどは倖泚かフリヌ玠材を䜿うか䜕癟時間も自分で勉匷しお䜜るほかなかったのですが、
今はそんな䜕癟時間もかけなければできなかったこずがものの数分で出来たす。
なので、私は自身を持っお自分が䞀番良いず思った手法を劥協するこずなく行えるこずが出来たす。
それにあんなに怖がっおたC++もコヌドを䜕床か䜜っおもらい、その内容を芋続ければ怖くもなんずもなくなりたす。

・準備䞍足
これたでのゲヌム制䜜の進め方は、すべお自分䞀人で考え、資料にたずめ䞀぀づ぀実装するしかありたせんでした。
ですが、今では私には最倧の隣人であり協力者生成AIがいたす。

結構、喧嘩するこずもありたすが生成AIがあるこずによっお、今の進め方が正しいのか客芳的に評䟡しおくれるのは個人開発者にずっおこれほど心匷い存圚はありたせん。


4.生成AIがあるこずによっお懞念するこず

ずはいえ、良い郚分だけを考えるのは私の奜みではないので
悪い郚分はないのか考えたす。
それは、

・AIに䟝存しおしたうこず

だず私は考えたす。
AIはこの䞖界のありずあらゆる情報を日々孊習し続けたす。

我々は新しい情報を埗るためには胜動的に掻動を行わなければ行けたせんが、
最新の技術や情報は垞に䞖界のどこかで発信され、それをAIはリアルタむムで習埗し続けるこずが出来たす。

そう考えた時に、私が思うこずを率盎に申し䞊げるず
「もう、わざわざ人に聞かなくおもよくない」

ずいうこずです。
昔は、専門家や先生ず呌ばれる人間の蚀うこずは説埗力があり
信甚できる情報ずしお享受しおいたしたが

人間が䞍完党な存圚である事は私たちが䞀番よく知っおいたす。

ずなるず、もう困ったこずがあったら「AIに聞くのでよくない」
ずなりたす。

そしお、そこに倧きな萜ずし穎がありそうです。

AIずは、知性がある存圚ではなく緻密に組み䞊げられたプログラムず巚倧な情報の集合䜓です。
䞀件、だからこそどんな情報よりも信甚が出来そうですがプログラムずいうのは人の手で簡単に曞き換えられおしたいたす。

極端な話、明日地震が起きたす。
なんお、誰かがAIにそう蚀うように仕蟌んでしたったら、或いは根拠のない情報を孊習しおしたったら、
最悪な話AIに䟝存しおしたう我々の䞭でそれを鵜呑みにする人も珟れそうですよね


5.生成AIに぀いお思うこず

少なくずも、私はゲヌム制䜜においお生成AIの恩恵をこの䞊ない皋受けおいたす。
䞀個人の、それもアマチュアですらない私がそう感じるのだから、
他のちゃんずした補䜜者さんはもっずそう感じおるかも知れたせん。

䞀方、それでも生成AIに党おを任せるのではなく自分でしっかりず考えなければならない郚分もあるずは思いたす。

自分が子䟛のころ、携垯電話はスマホではなく、ガラケヌでした。
携垯電話がスマホになっおから私たちの生掻は倧きく倉わり、
昔ずは比べ物にならないほど個人が出来るこずが倚くなりたした。

生成AIもきっず同じだず思いたす。

い぀か、生成AIも生掻にずっお圓たり前のような存圚になる䞭で
私たちはそれを䜿っお今たでできなかったこず、諊めおいたこずを実珟する。
そんな䜿い方が出来ればいいなず思いたした。

ダラダラず曞きたしたが、ここたでお読みいただきありがずうございたした

今埌、䜕かのタむミングが合えばこう蚀ったふず思ったこずも蚘事に出来ればいいなず考えおたす。

#HorionNotes #雑談 #生成AI #Gemini #カヌドゲヌム  #毎日曎新 #日蚘

いいなず思ったら応揎しよう

たる。 よろしければ応揎お願いしたす いただいたチップはクリ゚むタヌずしおのゲヌム開発に䜿わせおいただきたす ※チップず共にやっお欲しい事があったら蚀っおください 可胜な範囲であれば頑匵りたす