itch.ioに自作ゲームを投稿したがDLされたのは三日で3件でした

ということで、タイトルに言いたいことは全て書かせてもらった。

現実は甘くない。
どれだけ力を入れてゲームを作ろうが宣伝しなけりゃこのザマである。

英語と日本語で説明文を書いたしプレイ動画もgifで作って掲載している。サムネイルは5枚貼っている。

そもそもDLできるページにアクセスしてきてくれたのが15人ぐらいなものでitch.io自体に集客するという力はないように感じる。新着に載りすぐに流されそこからはもう何もない。

3DLは初日に1回。翌日は0、二日目になぜか2DLされて合計3だ。

そこからはそもそもDLページ自体にアクセスがないという状態で完全に埋もれる。

おそらく、開発ログというのを更新してけばなんとかなるのかもしれないが、なんかもう心は折れていてやる気にならない。

ということで、これからitch.ioに初めてリリースしようという人はこういう現実なので期待しないように。おそらくXとかで宣伝しておかないと全く話にならない。

個人的にはitchは大手ときいているから初日で100回ぐらいページにアクセスし十人ぐらいがDLし、インディー開発者には優しいということで3件ぐらいコメントがくるもんだと思っていた。

しかしそんなことは全くないのである。

とりあえずゲームは完成した

ということで、約100日に渡る開発も終わりを迎えた。(?)

一応、作りたいゲームは作れたと思う。

itch.ioにアカウントを作り、一応アップロードまで済ませた。

あとはいつ公開するかだ。今は非公開にしている。

まだDLページをいじっているところだ。

ゲームの紹介文もAIに清書してもらったりして、やっぱりAIがあると楽だなという感じ。(英語もいけるし)

最初はChatGPTに相談していたが、Geminiも使うようになり、VSCODEでGitHub Copilotも使いだしが、終盤になるとgrok3がかなり性能がよく、一番使うようになった。

全部無料でゲームが作れたことはありがたい。

所詮、アマチュアなんでね。

今回のゲームはgodotで作った初めてのゲームだしAIを活用したのも初めてだった。

そういう意味で初心者だった。次のゲームはしっかり企画を考えてある程度仕様書みたいなものも考えた方がいいだろう。作りながらアイデアも同時に考えると手が止まるというのも怖い。

「今日なにしようか」と考えてから開発すると一瞬エネルギーを使うからね。

最初から結構細かいところまで考えておけば、作るだけとなる。もしかするとそっちのほうが開発が早いんじゃないかな。漫画でいうと全話のネームを考えたからペン入れする感じか。漫画描いたことないけど。

+++

今気になっていることは、ソースコードの暗号化だ。やろうとしたけどできなかった。

エラーが出る。godot4.4 c# macos の環境だと最後の最後で.NETがどうのこうのというエラーがでてエディタが起動しない。まあいいや。今回リリースするのは体験版だしね。

itch.ioでバズったら完成品を出して売ろうと思っているけど、雰囲気をみてみると面白いゲームでも埋もれるっぽい。まだ公開はしていないけれど、なんの実績もない人間が突然リリースしたゲームがバズるとは思えない。Xとか育てておいた方が良かったのかな。まあしょうがないね。

もちろん、このブログも誰も読んでいないと思うし。それもまたしょうがないこと。

とりあえずゲームがヒットしなくても「作り方だけは手元に残る」だからまた挑戦したらいい。

十本ぐらい作りゃなんか1つぐらいヒットするだろう。そこまで計算に入れてコツコツやらないとな。

(個人開発)中規模以上のゲームは仕様書がいるかも

さすがに毎日ゲームを開発しているのでコードが増えてきた。

それによって不具合が発生する。

よくあるのは、気づかないところで”new”を2回していて、データが合わなくなること。

今日はシングルトンにしていたクラスを別に読み込み二重になっていた。

最初はシングルトンにするつもりはなかったのだが、途中で「よく使うなあ」と思ってシングルトンにしたのが原因。

二ヶ月も前に書いたコードのことなんかもう覚えているわけもなく、「なんで?」となってしまった。

ゲームはつくりながらコロコロ仕様が変わってくる。

作っている間に脳が働き、新しいアイデアも出てくる。

少しでも面白くしようとするとどんどん元とは違ったシステムになってしまう。

んで、途中でわけがわからなくなるというわけ。

「最低限、重要なデータはどう扱うか」ということは最初に決めておかないと後々問題になる。そうなってしまうと修正するだけで時間が取られていく。あまりにその作業が長いとだるくなり、作るのを諦めるか、1からやり直すかという話になるかもしれない。

ということで、「中規模以上のゲーム開発は仕様書がいるのではないか」という話。

一人の人間の脳に収まる情報なんてあまりない。二ヶ月でこのような感じだからこれから先は本当に気をつけていかないとバグが嫌になって作るのを諦めるかもしれない。

AIが手伝ってくれるからといったって限界はあるし、ちゃんと全て管理しておかないとゲーム一本まともに作れないのではないか。

データの取得はケチらない方がいい

unityでもGodotでもアプリ開発でも同じ。

データを取得するときはとりあえず全部取得した方がいい。

例えば、オブジェクトがあるとき、位置だけしか使わないとしても、色や大きさも取得していて損はない。

今のハードの性能で考えると無駄にデータを取得したところでそんなに負荷にならない。

困るのは後々になって、新しいことを実装しようとしたとき、データが足りずに実装できなくなること。

最初からすべて決まっていて仕様書や計画書がしっかりしていれば問題ないと思う。

特に個人開発で全部自由にやっている場合は、現状での必要最低限のデータで作っていくより取得できるときは無駄になるかもしれないがたくさん取得しておこうという話。

最終的に、「完成!」となってから後からデータを消して負荷対策した方が簡単だと思う。

ということで、必要最低限のデータよりとりあえず取れるデータはとっておいた方が良さそうだ。

まあこの抽象的な記事を読んだところで、あまり意味がないと思うけど、個人的なメモとして。

(ポエム)ゲーム開発は今でも難しい

ゲーム開発の道のりは、単純に見えて実は非常に複雑です。ゲームを完成させるためには、1から10までの全ての作業が必要ですが、書籍やネットの情報、さらには生成AIを使っても、初期段階で得られるのはせいぜい1から3程度の知識にとどまります。まるで、絵を描く方法は教えてくれるけれど、漫画のストーリー作りを教えてくれないようなものです。

重要なのは、ゲームをしっかり完成させ、最終的にお金に変換することです。そのためには、途中で得た部分的な知識だけでは足りません。どれだけ情報を集めても、最終的に求められるのは、5から10までの道のりを自力で進む力です。これらのステップは、誰かに教わったりAIに頼ったりするだけでは乗り越えられません。

たとえば、プログラムコードに関しては、生成AIを使えば100行程度のコードはすぐに書いてくれるでしょう。しかし、ゲームが中規模に成長し、コード量が3000行を超えると、もう生成AIに頼るだけでは難しくなります。5000行から1万行規模のコードを書く場合、AIが1000行程度手助けしてくれたとしても、残りの部分は結局自力で解決しなければなりません。さらに、AIが書いたコードをそのままコピー&ペーストして使おうとしても、十分に理解せずに進めると、ゲームを完成させることはほぼ不可能です。

プログラムの世界では、ほんの1文字の誤りがエラーを引き起こすことが多く、期待通りに動作しない場合には詰んでしまうこともあります。だからこそ、ゲーム開発は今でも非常に難しいと感じます。

逆に言えば、100行程度のコードで完成するような超シンプルなゲームなら、無限に作ることができるでしょう。複雑なゲームを作り上げるためには、時間と努力を惜しまず、細かな部分までしっかりと理解し、調整し続ける覚悟が必要です。


ChatGPTを使って文章を書かせた。

毎日、ゲーム開発をしているがだんだんとAIが通用しなくなってきた。(1000行超えてきたかな?)

部分的には頼りになるが全体的なバランスなんかはどうしても個人の力が必要になってくる。

そもそも一部でも理解せず、コピペで終わらせようとするものなら、そのコードが後々になってバグを生み出す。生成AIを使ってコードを書くのは良いのだが、しっかり理解してから次に進まないと最終的にゲームは完成せず、リリースもできず、スパゲティコードとなり、全てが破綻するだろう。

ということで、1日ガリガリコードを書いたら、次の日はただコードを見直すという時間を作った方がいいだろうと思う。

美しいコードを書くには見直し&管理時間の確保が早い

美しいコードを書きたいとは思うもののいつの間にかごちゃごちゃしてくる。

これを解決するために、リファクタリングとかいろいろ知識を得ているわけだが、最初からリファクタリングなんかできるはずもなく、とりあえず汚いコードでもいいから全力で書く。

そして、思い通りの動作が確認できたら一旦冷静になってコードを見直す。

クラス分けができそうならするし、インデントなんかもする。コメントも不要なものは消す。

そうやって一旦動いたものを見直す時間があれば、結果的に美しいものになっていくんじゃないかという話。絵を描くにしても最初から実線は引かないわけで鉛筆で下書きとかする。それに近いのかな。

ゲーム開発と企画の話

ゲームを1本作ることにした。

その理由を書いておく。

  • ChatGPTの存在
  • M4mac
  • ウルトラワイドモニター
  • 作りたいものがあった
  • 暇だった

ChatGPTを触ってから1年ぐらい経過した。初期の頃は使い物にならないかなと思って放置していたが2024年になってから使えそうだということがわかってきたので使おうと思った。

そして、プログラミングをやらせてみると私が分からなかったことをスイスイ教えてくれた。

ということで、ChatGPTというパートナーを使ってゲームを作れるのかもしれないという可能性がでてきた。アイデアは常にあったのだが形にするのが面倒だと思っていたが手伝ってくれるのであればコスパが良い。

お試しでミニゲームを1本作ったら作れてしまった。(3時間ほどで)

https://deleteblock.httqs.com

こりゃ本格的にunityで作ってもいいかもしれないということでテンションが上がった。

ちょうどM4macが発売されるということで買った。

mac mini m4 proで34万円ぐらいした。それに加えてDELLでウルトラワイドモニターも購入した。こちらは13万円ほど。

この2つとChatGPTを使いゲームを作ろうと思う。
過去にunityでゲームを作ったことがあるが重たくてしんどかった。
最新のmacなら高速でビルドされるはずだからストレスもない。

ウルトラワイドモニターなら動画を見ながら作業もできるのも良い点だ。

つまり、開発環境が整ったことがゲームを作るきっかけとなった。

アイデア

ゲームのアイデアは私が過去に遊んできたゲームで面白いシステムや好きなシステムを組み合わせてみようと思った。例えばシャドウバースの2picみたいなものとかね。どちらかを選ぶと片方は選べなくなるというのはゲームとして面白かった。基本的にカードゲームとローグライクとパズルゲーム、(将棋と麻雀)が好きなのでこれの組み合わせたローグライトのようなゲームになる(すでにノートにゲーム画面は書いてある)

詳しいアイデアを書くと万が一にも盗まれるのが嫌なので、詳細は書かないのだが、過去に自分が遊んで面白かったと思ったことをつなぎあわせてゲームを作っていますよということだけはお伝えしたい。

ChatGPTに聞けば大体分かる

ゲームを開発しているのだが分からないことはたくさんある。

しかし現在はChatGPTやGemini、その他のAIが教えてくれる良い時代だ。

こんな時代に技術ブログなんか流行らないのはわかっているのだが、プログラミングをしていると息抜きしたいと思うこともあるので文章を書くというのも悪くない。

というかunityで開発していた人たちが別のアプリへ移動したという話もあるので、余計に需要はないかも。とはいえ私も他人の書いたブログで世話になることもあるので、お返しみたいなものという意味もある。

1人称を「私」にするか「俺」にするか迷うところだ。

ゲーム開発は気合いがいるので「俺、俺」言ってた方が良いかもしれない。

このブログについて

何年ぶりのWordPressなんだろう。
(何もわからないのでChatGPTに聞いて、Syntaxというデザインテーマにしてみた)

1本unity6でゲームを作るので、そのときに学んだことをまとめておくために作った。

個人的なメモが9割かなという感じ。

コメントをしてもらってもゲーム開発に忙しいし無料で教えたりしている暇がないのでコメント欄はなしにしたいかな。

アフィリエイトもデザインの一部だしゲームが売れないと大赤字になりそうなので、アフィリエイトも貼る予定。

またunityに関しては素人に近いので、参考にならないかもしれない。

とりあえず、そういう感じで一発目の記事終わり。

一応このブログは趣味で運営しているドメインのサブドメインなので、宣伝しておく。

https://httqs.com