スーパーど素人ゲーム開発者のレベルの低いゲーム開発日記です。この記事では、ゲーム開発初心者がプログラミングの勉強をしてみて思ったことを書きます。
初心者のゲーム開発にプログラミングは必要?
ゲームはプログラミングで作られてるらしい、というのは知ってたのでプログラミングの勉強は必須なんだと思ってました。が、実際そうでもないらしいです。
ゲームエンジンによって使うプログラミング言語が違うらしく、ゲームエンジンによっては独自の言語や言語に変わるシステムがあるとか。UnityはC#を使うのが基本ですが、言語を使わずに視覚的にプログラミングできるアセットもあるとか。
でも私はプログラミングどころかパソコンの知識すら怪しい初心者だったので、アセットの使い方を覚えるのが難しい(説明はたいてい英語だし)。ど素人初心者こそ少しはプログラミングの基礎を知っておいた方がいい気もします。
プログラミング学習方法
Unityの学習はネットより本の方がやりやすかったのですが、プログラミング学習はネットでもガッツリできました。その後に本も購入しています。
余談ですが、Unityを本格的に始めるずっと前にJavaScriptの学習サイトを見てたんですが、今探してみたら全然見つからない!ちょっと古臭いイラストと薄ら寒い茶番を挟みながらも分かりやすく説明されてて面白かったんだけど、あれどこにあるんだろ。
C#の学習サイト
C#の勉強はこちらでしました。
一週間で身につきませんでしたが(1ヶ月以上かかった記憶が…)、説明は分かりやすくチャプターごとに練習問題が用意されているので解くのが楽しかったです。
ただ、けっこう古いサイトでずっと更新もされていないようです。誤植かな?と思う所もありました。でも初心者が基礎を学習する分には問題なかったです。
C#の入門書
私が購入したC#の入門書はこちらです↓
新・標準プログラマーズライブラリ なるほどなっとく C#入門
ネットで学習した後にこちらを読んだんですが、同じようなコードでも少し書き方が違ったり、洗練されていてさらに勉強になりました。この本は電子版でも見やすいレイアウトなのも良かったです。
C#の基本のキ
C#の基礎の勉強は2段階あると思うんです。
1段階目は変数、演算、条件分岐、繰り返し処理、配列あたりまでで、多分レベルで言うと小学生レベルなのかも。これらの勉強はすぐ飲み込めて、練習問題もゲーム感覚で解いてました。
SNSで見かけた基本のキで解ける問題↓
【問題】配列{“ドド”,”スコ”}からランダムに要素を標準出力し続け、『その並びが「ドドスコスコスコ」を3回繰り返したもの』に一致したときに「ラブ注入♡」と標準出力して終了するプログラムを作成せよ(配点:5点)
@Sheeeeepla さんのツイート
これ自力で考えてラブ注入できた時すごい嬉しかった笑
C#の基本のホン
配列あたりまでは楽しく勉強できてましたが、その次に大きな壁が立ちはだかります。
オブジェクト指向
ここから急にレベルが上がって2段階目に突入するわけです。テキストに書いてあるコードの実行結果がどうなるかは理解できるけど、だから何だ?なんでこんな回りくどいとこをするの??という疑問がつきまといます。そこをちゃんと理解できないままC#の勉強を終えました。
基本のキだけでもゲーム制作できた
オブジェクト指向がわからなくても、Unityの入門書やって分からないところはその都度調べてたら自分の作りたいゲームは何とかできました。
それこそ最初は変数の扱いすら分かってなくて全然思い通りに動かなくてイライラしましたが、このやり方が無理なら別のやり方でって工夫することが楽しかったです。小学校の算数を使って高校の数学の問題を解けた時の快感みたいな。
でも、コードは無茶苦茶です。他人どころか自分ですら何書いてるか分からんやろって。
良いゲーム設計には高度なプログラミング知識が必要
1人でゲーム開発して完成後は2度と触らないならぐちゃぐちゃプログラミングでも良いんだろうけど、一発でバグのないゲームは作れないだろうし、バグ修正するには分かりやすいプログラミングじゃないと修正できないこともあります。
私がゲームを1つ作るたびに、それまでのやり方の無駄に気づき、コーティングやゲーム設計が少しずつ成長するのを感じてます。まだオブジェクト指向は完全に理解できてないですけどね。