【ゲーム開発】プログラミングができない人の最初の一歩

こんにちは!
いきなり結論から言います。
小さいころの夢が一瞬でもゲームを作る事だった人は、もう作り始める事をお勧めします。
飽きなければ絶対にできます。(自分に言い聞かせてる)

僕がゲーム開発を始めたのはつい最近の事で、本当に思いつきで始めました。
幼少期からゲームが大好きで、生まれてから物心がつく頃にはスーパーファミコンとファミコンのコントローラーの操作方法を知っていました。
歳を重ね、おそらく1日たりともゲームをしなかった日がないレベルで高校生になりました。
高校3年生にもなると周りの友達は進学先や就職先について考え始めるようになります。
そこで僕が当時すごく仲が良かった友達は、ゲームを作りたいからそういう学校へいく!と言って、ゲーム関係(システム系の学校なのかな?)の学校へ進学していきました。

僕は激しく馬鹿にしていました。

オタクすぎ!とか、ゲームで生計なりたたんだろとか、そもそもゲームなんて作れるわけねぇだろってそういう事を言ったと思います。
本当の気持ちを隠して。

本当はものすごく悔しかった覚えがあります。
だって大好きなゲームを作れるんですよ?
好きなことを仕事にできるんですよ?
ゲーム作ってお金をもらって、そのお金でゲームが買えるんですよ?

そんな幸せありますか?

実際のところ、その友達が作ったゲームをプレイさせてもらったことがありますが、時間内にお花を集めてポイントを競うFPS視点のゲームで、お世辞にも面白いとは思わなかったしクォリティも散々なものでした。
学校へ行ってもこんなもんなんだなぁ、行かなくてよかったわって思いましたが、心の奥底ではこんなのでもちゃんとゲームとして機能してる。

僕の友達はゲームを作ってる!!

って悔しい気持ちでいっぱいでした。
僕はといえばゲームは漠然と作りたい気持ちはありました。
でもそれはガチではなかったのです。
どこかで「やっぱりできない」「技術的に不可能」と思っている節があったからです。
特に僕は勉強するのが嫌い、努力が嫌い、すぐ飽きて諦めるという性格だったので、フリーのソフトやRPGツクールなどで作り始めてもすぐとん挫していました。

そこから毎日ゲームをして、特にゲーム開発はしないものの漠然とゲーム開発できたらたのしそーだなーって思いながら日々を過ごしていました。

ある時、彼女が「テレビで3Dで粘土みたいなのこねてフィギュア作るのが趣味って劇団ひとりが言ってたんだけど、これってPCでできるの?」って聞かれて、ソフトの体験版をダウンロードして実際に触ってみました。
僕は3Dモデルの教養が全くなく、2Dゲーム世代なので3Dモデルなんて簡単に作れるはずない事を知っていました。知っていたはずなんですが…

あ、めっちゃ粘土やん。これ面白…。

今のソフトはすごいです。
多分ブラシの使い方や、システムの構造(そんなに複雑じゃないです)を理解すれば小学生でも簡単に作れます。
実際のところ、PCやゲーム自体あまり触ったことのない彼女も少し使い方を教えただけで浜ちゃん(ダウンタウンの)を数時間で作り上げることに成功しました。(僕は松ちゃんを作ってました)

それが僕の3Dモデリングソフト「Zbrush」との出会いでした。

そこであることに気づきます。
あれ?絶対できないと思ってた3Dモデリングも何となくできたし、3Dのゲームも作れるんじゃね?
僕はZbrushの勉強もそこそこに、Unityの勉強を始めました。
Unityとは2Dから3Dのゲームを作るのに色んな会社さんが使っているゲームエンジンです。
ゲーマーならゲームを開始するときに立方体のようなロゴを見たことありますよね?それはUnityを使って作られたゲームですよってことです。
大体のスマホゲームはUnityで作られていたりします。個人から企業までです。
(それほど今はゲーム開発の敷居がさがっているんですね…。)

Unityを使ってみて、最初は楽しく作成していました。
…が、当然の壁にぶち当たります。
きっと「ゲーム開発をしてみたい!」「ゲーム開発はじめました!」という人、ほぼ全員がぶちあたる壁じゃないでしょうか。
そう…

プログラミングです。

プログラミングって超難しいです。
先に言っておきますが、生半可な気持ちでプログラミングはできません。
膨大な仕組み、コマンド、変数やらなにやら…を勉強する必要があります。
その中でUnityで使うプログラム言語は「C#」になります。
一応言っておきますが、僕はプログラミングなんてホームページを作るときに使うHTMLしか知りません。
ついでに言うとHTMLなんて中学生でもできますし、実際僕は中学生の時に後に黒歴史になるホームページを作っていました(YAHOOジオシティーズ懐かしいですね)
因みに原理は同じですが、やはりHTMLとC#だと敷居が段違いなので、僕は一応頑張りましたがC#を完全に習得できたとは言えないでしょう。
めっちゃ調べましたし、本も買ったし、なんとかUnityを使いこなそうとしましたが、欲しい情報はほとんど海外サイトであったり、分からない専門用語がびっちりだったりと、一つのシステムを調べているだけで一日が終わるようなそんな日々でした。
(※Unityは2Dのゲームを作るんだったらC#使わないでできる事もあるそうです。)

やっぱりゲーム開発なんて普通に無理や…

そう思って、またZbrushで3Dモデルをこねこねしていました。
そこであることを思い出します。

Unityともう一つ、UE4も無料でエンジン提供してた気がする。

UE4(アンリアルエンジン4)とはFortniteを開発した会社、EPICGAMESが開発したエンジンです。
ダメ元で使ってみたところ、UE4はすごく自分に合っていて使いやすかったです。
インターフェイスの日本語化も標準でされており、公式のチュートリアルも充実していてとにかくUnityと比べると僕は使いやすかったですね。
現に今もUE4で学習を進めています。
UnityとUE4の大きな違いはUE4にはブループリントというプログラミング機能があることです。
なんとLEGO感覚でプログラムを組むことができます。
ここでは説明はぶきますが、ブループリントだけで一本のゲームを作ることも可能だと思います。

そしてUE4を学びながら今に至ります。

僕にとってゲーム開発のきっかけは些細な事でした。
あの時、彼女が3Dの粘土の話をしなければ僕は3Dのゲーム開発、もしかしたらゲーム開発自体しなかったかもしれません。
そして僕はいまだに一本もゲームを完成させていません。

だからこそ、僕はNoteを書くことにしました。

個人のゲーム開発は孤独です。
僕と同じようにゲーム開発を始めた人、ゲーム開発したいけどプログラミングやらなにやら覚えることが多そうでマジ無理…って人に見てもらって、少しでも力になれたらなと思った次第です。

僕がゲームのエンディングについての記事を書いたとき、おそらくやっと僕にとっての初めてのゲームが出来る事でしょう。

最初の一歩は意外と軽い一歩かもしれませんよ。

ここまで読んでいただき、ありがとうございました。

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