見出し画像

無茶苦茶な初心者がUnityでゲームを作る日記#1

 アホで馬鹿でどうしようもない素人がぐっちゃぐちゃになりながらUnityを学んでいく日記です。
 昨日、キータに投稿したんですが、日記がダメらしいのでこっちに移します
 
 Q.なぜゲームを作るの?
 A.ゲーム会社に落ちたから

 人生に絶望して、川に入水して自殺しようと思っていたのですが、想像以上に汚くて『嗚呼まだこんな余裕あるんだな』と思いやめました。
 ならもう、無茶とかそんなの関係なしに人生の再起として、やりたいことを無謀でもいいからやろうと思い、プランナー志望として中学時代に熱中したアプリゲームの開発会社に応募したのですが、まあ落ちました。

 なので、ちゃんとゲームの知識をつけてまた受けようと思い、ゲームを作ることにしました。

 今は4日目です
 その時の質問が5月31日なので

 正直ナメているつもりはなかったのですが、結果的にナメてました。
 だって、こんな自分でもUnityとかのゲームエンジンとかblenderなら触ったことがあるし、たまに見るブログとかにちゃんねるまとめとか、制作動画とか、今は前よりも開発しやすい環境がある(大いなる語弊)という言葉を見かけ、僕でもコピペするくらいだったら簡単なゲームくらいできるだろうと思ってました。

 そうやってはじめて自分の認識がどれほどズレているのかを理解しまして、世の開発者は須らく狂人なんだなあと心の底から感じました。

 当初、3Dゲームは難しいだろうと思い、まずは2Dゲームから――と、テトリスを最終目的に見据えやっていこうと思いました。
 まず、YouTubeで何から始めればいいのかと「Unity ゲーム開発 初心者 解説」と調べ、

 ユニブレさんの動画を参考にまずは基礎を流し見して分かった気になり次に

 テトリスに手を出しました。
 結果、最後の最後、リトライボタンがなぜか機能せず怒りのあまりモニターぶん投げたくなりました。
 ナメていた結果です。恥ずかしくて悔しい。
 最初の方は動画の通りに上手くいくのがうれしくて、徹夜して作ったからかめっちゃ動揺しましたし、どれだけスクリプトを睨んでも、動画を見返しても、ググっても、どこがダメなのかを下手ながら質問しても何も解決しませんでした。

 なるほど、これ一筋縄じゃ行かねえぞ
 ここで初めて自分には無理なんじゃないかと感じ始めました

 マジの基礎の基礎からじゃないとダメだ。

 そこで、質問の回答にあった通りC#の書籍を購入。
 今ここで買わなきゃダメだ。
 そう思い、近くの本屋を2件梯子して、得られたのは田舎の本屋にC#の本は無いという事。

 C++とCはあったけど、もしかしてC#って取り扱い的にはそんなメジャーじゃないのか?

 翌日ちゃんと買いました。
 けど、初日ペラペラ読んでコンソールを立ち上げてぽちぽちと打っていたんですが、

 正直、これで本当にUnityでゲームが作れるようになるのか?

 と、焦燥感に本を閉じ、できもしないのにUnityを立ち上げて

『初心者 ゲーム制作』『初心者向け Unity 簡単なゲーム』『Unity ゲーム制作 初心者向け』etc……

 と、調べては、とりあえずコピペしてぶち込んで、エラーが出て、調べてもよくわからずに、そのまま進めて、結果どこから直しゃいいかもわからず、プロジェクトを放棄して、ChatGPTに頼って、scriptが上手く書けておらず失敗し……

 それを何十と繰り返していくうちに、ああ――これ無理
 弱音を吐きつつ、翌日。

 ふとYouTube見ると、オススメが桜井政博さんの動画だらけ
 その中で逆に目立った見知らぬチャンネル。

『初心者が挫折するポイント』

 目に留まり、再生してみる。
 狂人(褒め言葉)が言うには『ネットで調べればいいから分厚い参考書を買う必要はない』とのこと

 マジかよ3000円も出しちゃったよ。
 もう引くに引けない。
 仕事も今はできないし、これ以上時間を無駄にしたくない。
 無理にでも何かに意味を持たせなければと、コンソールに打ち込む

 そんな感じです。
 それが昨日、わからないところはChatGPTに聞きまくって分かったのは

『小学生にも分かるように説明してください』

 これ魔法の言葉ですよ。
 なんか聞こえないため息が聞こえるけど、とにかく分かりやすく言い換えてくれるので逐一、最後に付け加えます。

 そして今日、なんとなーく義務感で嫌々打ち込んでいたのですが、
 なにかが違うんですよね。
 全く何も覚えていないのに、何も手についていないのに、謎の英字配列を見ても疲れなくなったというか。
 多少でも慣れたんでしょうかね。

 低気圧で頭が重くなりながら今日も打ち込んでました。
 ただ打ち込んでるだけじゃつまらないので、ChatGPTを使いながらになりますが、応用したスクリプトを組んでみたり……
 お願いだから、これが学びになり成長になってくれ……

 頭が疲れたのでUnityでCubeをWASDで動かすだけのゲーム?を作っていました。

 もうほんと、ゲームと呼んでいいのかわからないですけど、これはゲームです。
 楽しくないマリオです(拡大解釈)。

 ここで気づいたのが、そもそもChatGPTに頼んで脳死でコピペしてたんですが、よくよく考えてみると

「あれ?Input.GetKeyは打ち込んでた覚えはあるけれど……どうやって組むんだっけ」

 なんて恐ろしいことでしょう。
 あんだけ苦しんでおいてこの体たらく、ほんと学ばない馬鹿です。
 なので、取り敢えず今回もChatGPTに頼ることにしてスクリプトを組んでもらいました

using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
   public float moveSpeed = 5f;

   void Update()
   {
       float moveX = Input.GetAxis("Horizontal");
       float moveZ = Input.GetAxis("Vertical");

       Vector3 move = new Vector3(moveX, 0, moveZ) * moveSpeed * Time.deltaTime;
       transform.Translate(move);
   }
}

 ここまでは一昨日までの自分
 今回は一味違います

 ちゃんと教えを請いました。

 今までは急ぎ過ぎていました。
 経験者からすれば、いやもしかしたら少しでも知ってる人がいれば『お前が天才なら話は別だけどサァ……』案件だと思います。

 いや、ほんと。
 おっしゃる通りでございます。

 ただ、英字配列を見ても拒否感は薄まりつつあるので、見慣れておくという点では本当に基礎の基礎打ち込んで得られた経験かもです。

 長々と失礼しました。
 それでは。

この記事が気に入ったらサポートをしてみませんか?