ゲーム業界に転職したいJavaプログラマへ!
ゲームプログラミングに興味のある方におすすめなのが、「ライフ」と呼ばれるコンピュータゲームです。ライフは、ケンブリッジ大学のジョン・H・コンウェイという教授が開発したシミュレーションゲームで、コンピュータ上で生物の繁殖活動を再現することができます。説明を聞くとなにやら難解なゲームのような印象を受けますが、実際にやってみるとその単純さに驚かされます。真っ暗な画面上に表示される緑色の点が生物を意味しており、一定のルールのもとに展開される生物たちの繁殖と死滅が光の点滅によって描かれていきます。
ライフには、データの演算や複数スレッドの並行処理など、ゲームプログラミングの基礎的な技術が見事に組み込まれています。しかもそれほど難しい理論を用いているわけではなく、初心者の方でも実際に自分でプログラムを組んで作動させることができるので、ゲームプログラミングの練習にうってつけです。ライフゲームの内容をもう少し詳しく見ていきましょう。
プレイヤーはまず真っ暗な画面上を適当にクリックして生物を配置していきます。ある程度の配置が終わったら、スタートボタンをクリック。すると、ゲーム内の時間が作動して生物たちが繁殖を開始します。
生物の繁殖・死滅の結果は、その生物の存在するマス目を中心とした上下左右斜めの8ヶ所に他の生物がどのように分布しているかによって4種類に分かれます。一つ目のパターンは、8マス内に2または3種類の生物が存在するとき、その生物が次の世代も生き延びるというパターンです。二つ目のパターンは、8マス内に0または1種類しか生物が存在しないとき、その生物が孤立により死亡するというパターンです。三つ目のパターンは、8マス内に4種類以上の生物が存在するとき、その生物が過密により死亡するというパターンです。四つ目のパターンは、生物の存在しないマスの周囲8マス内に3種類の生物が存在するとき、そのマスに新たな生物が誕生するというパターンです。
この法則に従って、画面上の緑色の点が本物の生き物のように目まぐるしく活動し続けます。なお、クリアボタンを押すと画面上の全生物を消滅させて最初からやり直すことができます。
生物の繁殖・死滅のルールはたった4種類しかありませんが、実際にプログラムを動作させてみると、実に様々なパターンを展開します。少しずつ位置を変えながら画面上をさまよい続ける「グライダー」、2種類のパターンを繰り返し続ける「振幅」、プレイヤーが刺激を与えない限り全く変化しなくなる「膠着状態」など、ユニークなものがいくつも発見されています。シンプルなゲームにも奥深さがあることを証明する良い例といえるでしょう。Javaでのゲーム開発の参考になるのではないでしょうか。
ゲーム好きにとってスマホは電話じゃありません。スマホは電話もかけられるゲーム端末です。Javaのゲームプログラミングを学ぶなら、Androidアプリ開発にも興味を持ってしかるべきです。遊び半分、勉強半分ぐらいの気持ちで、Androidのゲームアプリ制作にチャレンジしてみるのも楽しいですよ。iOSのAppstoreと違って、GooglePlayは個人のアプリ公開のハードルも低いので、自分でつくったアプリを世に出すことも夢ではありません。
ゲーム業界で働いていると、純粋無垢なゲーマーさんから、キラキラと目を輝かせながら「ゲーム業界に入りたいんです!」という相談を受けることがあります。そんな相談を受けたゲーム業界人の目には、ほぼ例外なく、愛しさと懐かしさと少しの残虐性を交えた色が浮かぶはずです。ゲーム業界の実態は、過酷です。ゲーム業界はゲーム好きが多いといいますが、それは裏を返せば、ゲームが好きでもなければつらすぎる業界だと言い換えることもできるのです。
ゲームが大好きで熱意もあって、スキル的にも問題ないのに、ゲーム業界への転職がなかなかうまくいかず、不採用が続いているという人がたまにいます。このパターンによくあるのは、ゲームに対する熱い思いを伝えきれていないという失敗です。ゲーム業界の求人募集の応募条件にはほぼ必ず「ゲームが好きな人」という項目があります。つまり、ライバルも採用担当者も、ほぼ例外なくゲームが好きな人しかいない中で、自分のゲームへの熱意をアピールしなければならないのです。