大阪Cygames エンジニアの堀端です。
ゲームプログラマーを目指されている学生さん達に向けての記事を書かせて頂きます。
学生時代には何をしておくべきかは色々ありますが
その中でも個人的にやっておくべき事を書かせて頂きます。
1.友人を作る
2.遊ぶ
3.沢山ゲームをプレイする
4.実際にゲームを作る
5.興味のある分野のスキルを磨く
です。
なぜ、これらをする必要があるかですが
一つずつ紹介していきます。
1.【友人を作る】
学生時代には友人を多く作ってください。
友人は非常に大切です。
楽しく遊んだり、時には相談を聞いてくれたり色々あります。
人とのつながりも出来ますし、コミュニティの輪も広がります。
人と人との伝達能力も自然に高くなりますし、
旅行や飲み会、遊ぶ時にも、相談したり計画を練ったりするでしょう。
それによって、
コミュニケーション能力やチームワーク能力を高める事が出来ます。
これらはゲーム制作に非常に役に立ちます。
ゲーム制作では一人で作ることは少なく
必ずといって良いほど複数人のチームで作ります。
ゲーム制作では頻繁に
・プログラマーとの設計についての相談
・アーティストさんとのデータについての相談、
・ディレクターさんとのゲーム内容の相談、
など
様々な話し合いをします。
これらをスムーズに進めれるようになるためにも
コミュニケーション能力とチームワーク能力高めておきましょう。
2.【遊ぶ】
プログラムばかり勉強してても良くありません。
学生時代でなければできない事をしておきましょう。
友人と映画、海外旅行、ゲームなどして沢山遊んでください。
その経験が仕事でも活かせることが多くあります。
楽しいことや面白いことを経験することで、
その面白さをゲーム内に反映させ、今までにない遊びのゲームを作れるようになります。
経験がないとアイデアも浮かびませんからね。
世の中にある「楽しい事」「面白い事」を経験しておきましょう。
きっと面白いゲームを作れるようになりますよ。
ただし、遊んでばかりではだめです!
勉強と遊びのバランスは上手くコントロールしてください。
3.【沢山ゲームをプレイする!】
ゲームの面白さを知らなくては面白いゲームも作れません。
プログラマーでもゲームの面白さを知っておきましょう。
TVゲーム、ボードゲーム、ゲームならなんでもいいです。
いろんなゲームの面白さを知っておくことで、
自分ならではの面白さも考える事が出来ます。
また、ただゲームをするのではなく
面白さの分析をしてください。
「なぜ、このゲームは面白いのだろうか?」
「なぜ、このゲームはつまらないのだろう?こうしたら面白くなるはず!」
「このプレイヤーの操作感だろうか?爽快感かな?」
「ゲームシステムが面白い?」
「ストーリーが楽しい?」
など、自分なりに考えて蓄積しておきましょう。
これは自分から面白さを提案出来るようになる為です。
ゲームプログラマーはプログラムを打つだけではなく
面白さの提案も出来るべきだと思います。
ゲームの仕様書通りに作るだけでなく
プラスアルファ面白さを提案し、それを作れるようになりましょう。
また現在流行っているゲームをみて、
どういったプログラムの技術が使われているか調べてるのも良いでしょう。
何が必要かを知っておくことで、これからどのプログラムを勉強するか
方針も出てくると思います。
4.【実際にゲームを作る】
本当にゲームプログラマーを目指している人であれば、
既に行動に移してゲームを作っていると思います。
SNSをみていても、
本当にゲームプログラマーになりたい学生さんは
サークルなどで人を集め作っているのは良く見かけます。
もし現在、ゲームプログラマーを目指していて
ゲームを作っていないのであれば
今からでも遅くありません。すぐに行動に移しましょう!
なぜゲームを作っておくことが大事なのかも列挙します。
・ゲーム作りで自分の足りない部分を知る
・ゲーム作りの必要なスキル習得
・自分で調べ作っていくスキル習得
・ゲームの面白さを考えれるようになる
・失敗する経験を学ぶ
・完成する喜びを学ぶ
・チームワークを学ぶ
4-1.■ゲーム作りで自分に足りない部分を知る
自分が作りたいと思ったゲームを考えた後に
どうすれば作れるか考えてみてください。
キャラクターモデルを表示したいなら、描画まわりのプログラム。
キャラクターを動かしたいなら、コントローラー系のプログラム。
通信対戦をさせたいなら、UDPの通信プログラム。
サウンドを鳴らしたいなら、サウンドまわりのプログラム。
エフェクトを表示したいなら、シェーダーやパーティクル系のプログラム。
のように、
自分が作りたいゲームで必要なプログラムで
分からない部分や、足りない部分が出てくると思います。
これらを一つずつ勉強して
作り上げていくことでスキルが向上していきます。
※最初はプログラミングに不慣れな状況からスタートされると思いますので
無料のゲームエンジン(UnrealEngine4やUnity)でゲームの動作を作ってみてから
中身の動作を知るためにプログラミングを学ぶ、
という順序のほうが入りやすいと思います。
4-2.■ゲーム作りに必要なスキル習得
ある程度、プログラムが打てるなら
とにかく自分で何本もゲームを作ってみてください。
こったものでも、簡単なゲームでも良いです。
実践して作る事が大事です。
作ってみないと分からない部分があります。
ゲームの面白さの構築方法などは、
実践して身につけていくほうが早く習得していけます。
4-3.■自分で調べ作っていくスキル習得
ゲームの作り方が分からないなら、自分なりに調べて作っていきましょう。
そうすることで調べる力がつきます!
現場で入ってよくあるのですが、
プロでも知らない分野の機能を追加してほしいなどの仕事はありますし
自分から作ろうとします。
その時に何をしていいか分からないので、
自分で調べたり、詳しい人に聞いてヒントなど教えて頂きながら作っていきます。
この時に自分で調べる力がないと非常に大変です。
最初は書籍やWebなどで、解説記事や論文を探したりするレベルでも良いと思います。
「調べて作る」というスキルを身に着けておけば現場でも非常に役立ちます。
4-4.■ゲームの面白さを考えられるようになる
ゲームを作っていると
友達にテストプレイをしてもらって
「操作方法が難しい」「面白くない」という意見を頂いたり、
ある程度面白く作れたけど、
自分が思っていたほど面白くないと思う事があります。
そんな時に、
より面白くするにはどうすればいいか?
を考える事が何度も出てきます。
試行錯誤してアイデアを出し作っていくことで、
自分で、よりゲームの品質を良くしていく事を自然にできるようになってきます。
4-5.■失敗する経験を学ぶ
初めてゲームを作る時には必ずと言っていいほど失敗します。
プログラムをやっている人はわかると思いますが
バグが出たり、こっちのほうが効率が良かったプログラムが書けたとか
後程後悔した事がありますよね。
でも、この失敗は非常に大切です。
失敗することで、この方法はあまり良くなかったと経験ができて
次に同じ失敗をしにくくなります。
ですので、どんどん恐れず失敗をしていきましょう!
失敗は成功の母って言われていますからね!
4-6.■完成する喜びを学ぶ
必ず一つゲームを完成させましょう!
なぜなら、
苦労してゲーム作り上げた時には
今までにない喜びがあります。
また、他の人にプレイしてもらい楽しんでもらっている姿を見た時の
喜びは本当に何とも言えないぐらい嬉しくなります。
これを経験すると、次もゲームが作りたくなります。
ですので、
必ず一つでもいいのでゲームを完成させてください!
4-7.■チームワークを学ぶ
最初は一人でゲームを作ってみて慣れてきたら
できれば複数人でチームを作り、一つのゲームを作ることをお勧めします。
複数人だと、
・スケジュール、タスク管理
・コーディングのやり方(他人が見やすいコーディングをするが学べる)
・別の人が作ったプログラムを読むスキル
・複数のプログラムのまとめる方法
・スケジュールが遅れた場合はどうするべきか?
・他人にも見やすいコーディングをするにはどうするべきか?
など、色々しなければならないことが学べます。
仕事でも一人で制作することは少なく複数人でやることが多いので
チームワークを学んでおくことは凄く大事です。
5.【興味のある分野のスキルを磨く】
実際にゲームを作っていくと、
興味がある分野のプログラムが出てきていると思います。
次に、
興味のある分野のスキルを磨くのが良いでしょう。
ゲーム制作でいえば、
・グラフィック(シェーダー)
・ネットワーク(UDP/TCP IPなど)
・AI
・ゲームのアイデア
・プレイヤーの操作性の面白さが出せる
・試作のゲームの素材が作れる(簡単なモデル作成、イラストが描ける)
などです。
どれか一つ誰にも負けないぐらいのスキルを身に付け
武器にしておくと良いでしょう。
自分の武器を作っておくことで、
仕事にも役立ち頼りにされますよ!
さて、色々書きましたがいかがでしたでしょうか。
これらは、あくまでも例だと思ってください。
全て出来るのが一番良いことですが中々難しいと思います。
自分が出来る範囲でやってみてください。
出来ないからと言ってやらないのではなく、
自分なりに出来る限りやってみようと思う行動が大事
だと私は思います。
それでは、またね。