GFF

GFF事務局お問い合わせ
トップ > FUKUOKAゲームインターンシップBLOG

FUKUOKAゲームインターンシップBLOG

世界、そして、未来を見据える人たちが、福岡にいます。

GFF加盟企業をはじめとする福岡のゲーム企業の現場に入ってその仕事を体験する、ゲームインターンシップ制度。
ゲーム制作の厳しさ、楽しさを学んで、ゲームクリエイターになるきっかけをつかむ体験をブログ形式で報告します。

ガンバリオン: 2014年6月アーカイブ

こんにちは。プログラマー志望の濱浦です。
今回は最終週に行った作業についてご紹介して行きたいと思います。

2014春ガンバリオン濱浦氏2.jpg
まず、私が前回までに行った作業は、
物理演算を動かしてみて「ただ動くだけ」という内容のものでした。

ですが、私はシミュレータを作っているのではなく「ゲーム」を作っているわけなので、
そのために、この一週間の作業を通して「ゲーム」という形になるよう制作を続けました。
たとえば物理演算の実験としてボックスを2、3個出していた時とは違い、
ゲームではもっと沢山のボックスを出す必要があるため、
そういった管理の機能や、ゲームを起動してからプレイして終了するまでの流れの実装を行っていきました。
そのほかにも、ゲームを盛り上げるエフェクトや、
ルールを分かりやすくするユーザーインターフェースの実装も行っていきました。

3週目の水曜日には『高速化する』という新しい課題が伝えられ、高速化に取り組みました。
物理演算は特に"当たり判定"が重く、またすべてのブロック同士で判定を取らなければならないために
非常に低速です。
そのため、低速な当たり判定を使う前に高速で大まかな当たり判定を使って、
低速な当たり判定を使う必要のないものを調べて必要なところだけ低速な当たり判定を使うようにしました。
ほかにも不要な処理の削減や低速なグラフィックの操作回数を削減して高速化を図りました。

ゲーム制作がいよいよ終わりに近づいてくると、ゲームのシステムや機能を増やすこと、
動作を確認してバグを減らすこと、そしてステージの追加の作業を行っていきました。
ステージの作成では編集するたびにプログラム自体を書き換える必要が無いよう、
私は簡易的なスクリプトを読み込める機能を実装しました。

2014春ガンバリオン濱浦氏2[6].jpg
こうして私のゲームは完成を迎えることが出来ました。


そしてインターンシップ最終日、完成したゲームの発表・講評会に臨みました。

終わってみるともう少ししっかりと分かりやすく話せたのではないかと思います。
発表の後の質疑応答では社内ライブラリの使い心地はどうだったかということを質問されました。
そのときに答えた内容は少し言葉足らずになってしまったのですが、
私のライブラリの感想としては「どうしてこういう設計になっているのだろう」と感じた部分も
説明を聞くとその理由に納得して自分のプログラムと比べてものすごくよく考えられているなと感じました。
また、この短い間でよく物理挙動を実装し、ゲームとして仕上げたとの感想を頂き、
とてもうれしかったです。

2014春ガンバリオン濱浦氏2[3].jpg
インターンシップ全体を通しての感想ですが
特に現場の方が大事にされていたのは、『プログラムの書き方』や、『設計について』でした。
学生としてのプログラミングではあまり意識せずに書いていたものも、
プロとしては『分かりやすさ』『安全性』『変更の容易さ』などをしっかりと考えて
プログラムを書く必要がありました。
毎日の講評でプログラムについて色々な指摘を受ける中で、「少し面倒だな」と感じたこともあります。
しかしその時に指導担当の方から「安定性を取るか、書きやすさをとるか」ということを言われて、
プロはしっかりとプログラムの安定性を意識しなければならないのだと感じました。
そういった指摘を受けた点については「どうしてこのような設計になるのか」ということを
指導担当の方に詳しく質問して、しっかりと納得してプログラミングに生かすことが出来ました。

振り返ってみると、とても楽しく、あっという間でした。
一日約8時間という時間のなかで、ゲームを作り、
やっぱり「私はゲームを作るのが好きだ」と再確認できた3週間でした。
確かに難しいと感じたりした部分もありますが、
そういった経験もゲームの完成によって良い思い出として昇華するというものではないでしょうか。


このFUKUOKAゲームインターンシップに参加したことで
私のプログラミングに対する考え方が大きく変わりました。
どう書けば良いプログラムになるのかということをしっかりと理解することが出来たと思います。

2014春ガンバリオン濱浦氏2[5].jpg
指導担当の方をはじめとする社員の皆様には大変お世話になりました。
この場をお借りして感謝を申し上げたいと思います。
本当に、ありがとうございました。


← Prev 
Next →


【関連ブログ】
 【2014春】ガンバリオン:プログラマーコース 濱浦誠悟さん(1)
 【2014春】ガンバリオン:プログラマーコース 狩屋智紀さん(1)
 【2014春】ガンバリオン:プログラマーコース 狩屋智紀さん(最終)


GFF TOPページ

FUKUOKAゲームインターンシップ TOPページ

ガンバリオン ホームページ

こんにちは、狩屋智紀と申します。
前回のブログで登場した濱浦君と同じく、プログラマー志望です。

2014春ガンバリオン狩屋さん1.jpg
まず、今回のインターンシップに参加した動機ですが
ゲーム会社という場を実際に見て感じてみることが重要だと思ったことがきっかけで応募しました。

実は...去年も福岡ゲームインターンシップに応募したのですが
1次選考で落ちて非常にくやしかったので
今年こそは絶対に合格してやるという強い気持ちで改めて応募しました(笑)


福岡に来て最初の印象ですが...、九州地方に来るのは人生初のことで、
来る前のイメージは大阪より暖かいのかな?と思っていました。
ですが、福岡に来てみると「意外と変わらないのだな~」と感じたのを憶えています。

また、私は趣味でランニングをするのですが
福岡の道は凹凸があるからなのか、来た当初は少し走りにくいと感じていました。
が、今では逆に走りにくいのがいい練習になっています(笑)


さて、ゲームインターンシップが始まり、実際にゲームの開発室内に入ってみると
社員の方が一生懸命に仕事に取り組む姿に感動しました。
ゲームに限らず仕事の現場というものを目にする機会がなかったので
仕事に一生懸命に取り組む人達の姿は憧れます。
ゲーム会社なので、なおのことそう感じました。


インターンシップで行った作業についてですが
1週目は、社内のゲーム開発ライブラリの勉強をさせていただきました。

私は今まで、ほとんど自作のライブラリを使ってゲームを制作してきたので
実際の現場で使用されている開発ライブラリを使わせていただけることは、
とても参考になりました。

学んだことについて少し具体的な話をすると...
クラス(※)のコンストラクタ(※)にすべての初期化処理を記述するのではなく
"初期化関数"を予め用意して、その"初期化関数"を呼び出して初期化を行うと効率がいい。
※「クラス」とは
クラス(class)は、クラスベースのオブジェクト指向プログラミングにおいて
オブジェクトの設計図にあたるものです。
※「コンストラクタ」とは
コンストラクタ(構築子、Constructor)は、オブジェクト指向のプログラミング言語で
新たなオブジェクトを生成する際に呼び出されて内容の初期化などを行なう関数、メソッドのこと。

なぜそうするのか?というと、
コンストラクタというのはオブジェクト生成のタイミングで呼び出されるものであるから、
コンストラクタにすべてを記述してしまうことで、
処理の中でまだ使用できないものが、意図せずに使用してしまう可能性があるからです。

この問題にはもう1つ
"new"をして動的に確保することで、
コンストラクタの呼び出すタイミングを操作する、という解決策があるのですが
家庭用ゲーム機での開発の場合"new"は重い処理なので
「できるだけ避ける」ということをプロの方から学びました。

2014春ガンバリオン狩屋さん1[1].jpg
プロからこういった細かい内容のことをたくさんご指導いただき
自身のプログラムの未熟さを身をもって実感しました。

作業内容としては2Dの線や3Dの立方体を描画したり、3Dカメラの操作など、
簡単な内容のライブラリの使い方を、一通り学びました。

2週目からは物理演算を作成しています。
そのため、当たり判定などを勉強していきました。
ですが、自前で実装するには時間がかかりそうだと判断し、
物理演算は「Box2D」を使うことになりました。

また、その日打ったプログラムソースを現場のプロの方に見てもらい
たくさんのことを指摘してくださるのでとても、いい勉強になります。

今回の記事はここまでです。
次回のブログは3週目に行った作業について紹介していきたいと思いますので
よろしくお願いします。


← Prev | Next →



【関連ブログ】
 【2014春】ガンバリオン:プログラマーコース 狩屋智紀さん(最終)
 【2014春】ガンバリオン:プログラマーコース 濱浦誠悟さん(1)
 【2014春】ガンバリオン:プログラマーコース 濱浦誠悟さん(最終)


GFF TOPページ

FUKUOKAゲームインターンシップ TOPページ

ガンバリオン ホームページ

こんにちは、プログラマー志望の濱浦誠悟です。
今回から全2回にわたって、インターンシップについて書いていこうと思います。

2014春ガンバリオン濱浦さん1[1].jpg
私はゲーム系の学科に所属しており、ゲーム会社への就職を目指しています。
毎年福岡ではGFF(福岡ゲーム産業振興機構)がインターンシップを開催しているのを知っていたため、
就職活動をはじめるにあたって、
是非インターンシップを経験しておきたいと思い応募しました。

まず、ゲーム会社にの中に入ってみて感じたことですが
私ははじめゲーム会社には「あわただしい」というイメージがありました。
しかし実際に開発室中に入ってみると社員の方々は静かに画面に向かって
作業や相談事をしていて、とても落ち着いた雰囲気でびっくりしました。

また、指導担当の方を初めとする私に接してくださった社員の方々はインターンシップ生の私に対しても、
「失礼します」「今お時間よろしいですか」「お疲れ様です」と、
とても丁寧に挨拶をしてくださいました。
初日はおどおどとして小さな声で返事を返すことしかできませんでしたが、
次の日からはしっかりと自分から「お疲れ様です」と言うように心がけました。


最初の1週間の作業は、会社のライブラリを使用して、
いくつかの課題に応じたプログラムを作成し、
その都度、書いたプログラムの講評を頂く、というものでした。

講評では指導担当の方からコードについての指摘を多く受けました。
今まで学校ではコードの書き方やプログラムの設計についてはほとんど
指導をされたことがなく、自分なりの書き方でずっとプログラムを作っていましたが、
『効率のよい書き方』や、『変更時の負担が少ない書き方』、
『バグが発生する可能性の少ない書き方』を知ることができました。

また、会社のライブラリは、その会社のノウハウの詰まった大切なものですから、
インターンシップで触れることができたのは大変良い経験になりました。


2週目からは、お題に沿って実際にゲームを作るという課題を出されました。
お題は主に3つで、
(1)3Dで物理演算を使ったゲームを自作すること。
(2)当たり判定や物理演算の部分は自分でプログラムを作ること。
(3)いくつか自分なりの要素をゲームに追加すること。
でした。

2014春ガンバリオン濱浦さん1[2].jpg
私は物理演算というものは普段の学習で取り組んだ経験が無く、
2週目の初日はその方法を調べることからはじめました。
しかし、インターネットで調べただけでは難解な上に、
物理演算のゲームを作るためにはどこから手をつければいいのか分からず
「まずは2Dの当たり判定ライブラリを使うところからはじめよう」などと正直なところかなり弱気になっていました。
その日の講評でこのことを話すと、指導担当の方は私に3D物理演算の本を貸してくださいました。

次の日からはその本の内容に従って数式などをもとにプログラムを組みました。
木曜日にはそれなりに動くものができ、講評で指導担当の方にOKを頂くことができました。

しかし、物理演算ができただけではゲームと言うことはできません。
これから本格的に「ゲーム」としての作品を作っていくわけです。

今は2週目、金曜日の朝。
私はこれから「ゲーム」を作る作業を始めますので、今回のブログはここまでです。

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


← Prev | Next →



【関連ブログ】
 【2014春】ガンバリオン:プログラマーコース 濱浦誠悟さん(最終)
 【2014春】ガンバリオン:プログラマーコース 狩屋智紀さん(1)
 【2014春】ガンバリオン:プログラマーコース 狩屋智紀さん(最終)


GFF TOPページ

FUKUOKAゲームインターンシップ TOPページ

ガンバリオン ホームページ

ポスター
第26回応募要項

2020年3月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31