GFF

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

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

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

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

プログラマーコース: 2013年5月アーカイブ

初めまして!
プログラマーとして今回のサイバーコネクトツーのインターンシップに参加している宮川隆浩です。
この記事では前半2週間の出来事についてお話ししていきたいと考えています。


■志望動機
現在私はゲームプログラマーになることを目標に、京都にある4年制大学の情報系学科に所属し、
日々プログラミングの勉強に励んでいます。

情報系学科に所属しているので、講義を通してある程度の知識は身に付きますが、肝心のゲームプロラミングに
関する知識を得る機会は全くと言って良いほどありません。
なので、学内のゲーム制作サークルやプロジェクトに参加して、先輩方からゲームプログラミングについて
教わってきました。

お蔭様で簡単なゲームをつくれるようにはなりましたが、本職の方とお話出来る機会が無かったので
「現場について何も知らないまま勉強し続けて本当に必要な力が付くのか?」
「間違った知識を増やしているだけではないか?」と疑問に思い続けてきました。
そんな折、プロジェクトの先輩からFUKUOKAゲームインターンシップの事を聞き「これしかない!」と思い
参加することにしました。


■インターンシップ ‐1週目‐
他の方のインターンシップブログで既に書かれているように、インターンシップ最初の週は参加者全員で
毎日1,2時間程どの様なゲームをつくるか話し合ってきました。

企画が煮詰まるまではチーム制作のゲームについては何も出来ないので、ゲームデザイナー、アーティスト、
プログラマーはそれぞれの指導担当の方々から課題を出してもらい、会議以外の時間はその課題に
取り組んで来ました。

私たちプログラマーに課された課題は「インベーダーゲームをつくる」というものでした。
組んだプログラムは昼休みと終業後の1日2回、指導担当の方々に提出します。
その後、担当者から直接プログラムの問題点の指摘や、改善方法の指導を頂く。といった流れで課題を
進めていきます。

その過程で頂いた指摘は、基礎的なものから、基本的にチームで作業する現場ならではのものまで多岐に
亘りました。
そしてその多くが普段1人でプログラムを組んでいる自分では到底気付けなかったであろう問題でした。

インベーダーゲームに関する詳しい話は、同じプログラマー志望の原田君がインターンシップブログにて
書いていると思いますのでそちらをご覧ください。

2013spring_cc2宮川氏1.jpg
▲今回課題として制作したインベーダーゲーム



■インターンシップ ‐2週目‐
1週目でつくるゲームの概要が決定したので、いよいよ2週目はチームでのゲーム制作に入ります。
今回、プログラマーは私と原田君の2人なので、ゲームのプログラミングに入る前に2人で設計について話し合い、
分担箇所を決定しました。

ゲームを設計する過程で、ゲーム内の物体の描画(キャラクターやステージの画像を表示すること)や
当たり判定(物体と物体がぶつかっているかどうか判定すること)の管理方法についての意見が分かれ、
数時間議論をするという場面がありました。

議論の末、お互いの設計を納得するに至らず、争点となったゲームプレイ中の物体の描画や当たり判定の処理等は
全て原田君にお願いし、タイトル画面やメニュー画面の切り替え制御の処理と、プログラマー以外の人もステージを
改変できるようにするためのツールであるエディターの作成を私が行う、という形で
制作して行くことになりました。

当時はお互い納得の行く結論に辿りついたと考えていましたが、現在大きな問題となって
私たちの前に立ちはだかっています。(詳しくは私の次回のブログにてお話しします)


■エディター作成
ここで、今回私が作成を担当することになった「エディター」について、担当者の方から頂いた言葉を踏まえつつ
お話したいと思います。

2013spring_cc2宮川氏2.jpg
▲今回制作したエディター


私がエディターを作る事が決定した当初、期限を2日後に設定しようとしていました。

ところが、担当者の方に「特にエディターに関しては、遅れた場合チーム全体への影響が大きくなるので、
期限を短く設定する事よりも確実に達成できるよう設定することが大切である。」と教えられ、
期限を3日後に設定することにしました。

2013spring_cc2宮川氏3.jpg
▲本職の方から指導を受けています


エディター制作中、指導担当の方から使用者の事を想定しきれていない等、様々な足りない点を指摘される中で、
私のエディターに対する認識と現場の方のそれの間に大きな溝がある事に気が付きました。

それまでの私のエディターに対する認識は
「(プログラマーが)ステージのどこに何を置くか設定しやすくする為の道具」であって、
本来の「(ゲームデザイナーが)プログラマーを通さずにステージや配置物を自由に調整する為の道具」という
認識ができていなかったのです。

例えば、ステージ上にある足場の大きさや画像を変更する場合、前者は「(プログラマーが)コード内で読み込む画像の
名前と大きさの数値を変更する」必要がありますが、後者は「(使用者が)メモ帳等を使って画像の名前と大きさの
数値を変更する」だけで良いのです。

2013spring_cc2宮川氏4.jpg
▲前者の認識のまま作成したエディターのテキストデータ。座標と種類しか変更できない


つまり、ゲームデザイナーが素材の何かを変更したいと考えた時、前者の場合はプログラマーを通す必要性があり、
後者の場合はその必要はありません。

ゲームデザイナーが直接素材の大きさや位置を修正できるようにすることで、プログラマーの作業時間と、
ゲームデザイナーのそれを待つ時間を浪費せずに済むのです。

今までは1人でゲームをつくる事が多く、エディターを使うのは基本的に私だけだったので、
プログラマーの作業補助の為のエディターで良かったのですが、今回のようなチーム制作の場合は
誰もが使えるような設計にしなければ、エディターとして使い物にならないということを痛感しました。

この認識の差分を埋めるため、1日分伸びた期限をいっぱいまで使ってしまいました。
しかし、もし指導担当の方の助言を聞いていなければ期限に間に合わなかったことでしょう。

今回の件を通して、チーム制作を行う場合は、不測の事態が発生した場合でも確実に達成できるような
スケジュールを設定する事の大切さを痛感しました。

以上のような紆余曲折を経て完成したエディターは、以下のようなテキストデータを読み込むことにより、
ゲームの素材をテキストファイルから自由に追加、削除、編集する事が出来るようになっています。

2013spring_cc2宮川氏5.jpg
▲認識を改め、配置する画像の大きさや画像を変更、追加可能に



■最後に
他の方も書かれているかもしれませんが、今回のインターンシップでは昼休みと終業後に、
サイバーコネクトツーの社員さん方が働いているフロアを訪ね、質問したい事を質問したい人に
質問することが出来ます。
ただフロアを歩いているだけでも、PV内でだけ見たことのあるキャラクターや見たことのないキャラクターが
動いている画面を見ることが出来る上に、それらについて質問する事ができるので非常に楽しく、
貴重な経験が出来ます。

折角の機会なので色々な方にお話を頂戴しているのですが、多くの方から
「ゲームをつくろうと思うのならば普段から多くの作品に触れておくべき」といった助言を頂きました。
どうしても時間が無い場合は「そのゲームの売りが短時間で理解、体験できる」体験版をプレイすると良いそうです。
その際に注意すべき事としてはただ楽しむだけではなく、何故そのゲームがそのような仕様となっているかを
開発者の視点から考察する等、何らかの意図を持って取り組まなければ時間を浪費するだけに
なりかねないという事でした。


毎日が非常に濃い事と私が口下手な事が相まって少々長くなってしまいましたが、
今回はここらで締めようと思います。

また後日、後半2週間の分の記事を更新する予定ですので、そちらもぜひご覧ください。ありがとうございました。


サイバーコネクトツーのウェブサイトはこちら

>>【2013春】サイバーコネクトツー:プログラマーコース 宮川隆浩さん(最終)

はじめまして、こんにちは。
プログラマー志望の原田照太です。
この記事では、私がインターンシップ1週間で体験したことを書いていきます。

■志望動機
私は現在、大阪にあるゲーム専門学校のゲームプログラミング科で勉強しています。
ゲーム科の専門学校ということで、ゲームはたくさんつくってきました。
しかし、時間が経つにつれ、基礎知識の無さが目立つようになっていました。
その悩みを先生に相談すると、このFUKUOKAゲームインターンシップのことを教えていただき、
この機会を逃すともう後は無いと思い、参加させていただきました。


■インターンシップ ‐初日‐
それでは、ここからインターンシップでの体験を話そうと思います。
最初に行ったのは、同じインターンシップ生との顔合わせです。
今回はプログラマー2名、アーティスト2名、ゲームデザイナー2名でゲーム制作を行います。
各職種2名ずつの構成ということで、バランスの取れたチームになりました。

それが終わると毎週月曜日に行われている、朝礼に参加させていただきました。
企業の朝礼というのはめったに参加できるものではなく、また、当然ながら朝礼の内容も自分の趣味である
ゲームの話だったため、興奮しながら聞いていました。
と同時に、社外に出してはいけない情報なども飛び交っており、それらを耳にするというプレッシャーに
押しつぶされそうな気分にもなりました。

朝礼が終わると、いよいよインターンシップ生として私たちが過ごす事になる研修室に案内されました。

インターンシップ生のための部屋が社内に設けられている、ということにとても驚きました。
さらに、その部屋には多数の参考書籍が用意されているのです。

2013spring_cc2原田氏1.jpg
▲インターン室におかれている参考書籍の一部

これらはインターンシップの間、全て自由に読むことができます。
本を借り、自宅で読むことも可能です。
スキルアップを目指しインターンシップにきた私には、うってつけの環境です。

それだけではなく、インターンシップ中は各職種に指導担当のスタッフが配属されます。
指導担当のスタッフは実際にサイバーコネクトツーで働いている、まさに「プロ」グラマー。
そんな方々に課題を出してもらえる上に、直接指導を行ってもらえるのです!


■プログラマー第一課題
さて、その指導担当スタッフから早速プログラマーの課題が出されました。

私たちプログラマーに出された課題内容は「インベーダーゲームをつくること」。
期間は1週間です。
インベーダーゲームと聞いて「なんだ、簡単じゃないか」と思った方もいるかもしれません。
が、ただインベーダーゲームをつくるのではなく、しっかりとスケジュールを立て、設計なども行い、
なおかつプロの方に見てもらえるようなプログラムをつくる必要があるのです。
さらに、課題だけではなく、インターン中にチーム全体で1本、ゲームをつくる必要もあります。
そう考えると時間は余りありません。
私たちプログラマーは早速課題に取り掛かりました。

課題中も指導担当の方が定期的に様子を見に来てくださって、その都度指摘や評価をしてくださいます。

2013spring_cc2原田氏2.jpg
▲指導担当の方に指摘を受けています

指導担当の方の指摘は、大きく分けて
・プログラムの中身の問題点
・プログラマーとしてここに注意すればゲームをさらに面白くできる
といった、2点でした。

前者は、同じ処理が何度も繰り返されていることや、コメント(プログラム内容の注釈)が少ないということに対しての
注意です。
後者は、例えば敵のショットと自分のショットを相殺できるようにすれば面白くなるのではないか。という指摘を
いただきました。
プロの方からの指摘、アドバイスは、実際にプログラマーを目指す私には参考になるものばかりです。

それらの指摘を反映しつつ、プログラムを作成していきます。

コメントもできる限り多くすることを心がけ、同じ処理を行わないように、注意に注意を重ねました。

下の画像はインターンシップ前とインターンシップ中に制作したインベーダーゲームの
ソースコード(プログラムの中身)です。

2013spring_cc2原田氏3.jpg
▲インターンシップ前のソースとインターンシップ中のソース

緑色文字がコメントです。
以前と比べるとコメントが多く、親切なプログラムになっています。


そして1週間にわたる指導の下、完成したインベーダーゲームがこちらです!

2013spring_cc2原田氏4.jpg
▲実際のゲーム画面

見た目は普通のインベーダーゲームですが、先ほど言ったとおり、中身は以前よりも進化しています!

もちろん、これだけでほかのプログラマーが見て理解できるプログラムになったわけではありません。
・まだまだ同じような処理を何度も書いている
・改行、スペースが少なくごちゃごちゃしている
等、指導担当の方から追加で指摘をしていただきました。
まだまだ至らぬ点は多く、更なるステップアップが必要です。


■昼休みと終業後の質問タイム
そんな時、嬉しいのが昼休みと終業後の質問タイムです。
サイバーコネクトツーは昼休みと終業後、なんと指導担当の方だけでなく、現場で働くスタッフに
直接質問をすることができるのです!

私も、この日は「プログラムの勉強をする際、これだけは読んでおけ!というような本はありますか?」という質問を
させてもらいましたところ、『Effective C++』という本をお勧めしていただきました。
調べてみると、この本はプログラマーにとって「バイブル」とよばれる本。
実際この本を読んでいるプロのプログラマーは多いようです。

実際にゲームをつくっている方の意見、というのはめったに聞けるものではないと同時に、
どれも参考になるものばかりです。
そのような機会があるのも、インターンシップの強みだと思いました。


■最後に
さて、インターンシップは個人課題だけではありません。
現在チーム制作が本格的にスタートしています。
それぞれの課題の合間にチームのみんなで話し合い、「トビラを使うゲーム」というテーマでゲームをつくることが
決定しました。

出会って1週間しか経っていない私たちがどのようなゲームをつくるのか!

気になる制作ですが、そちらの内容については同じゲームプログラマー志望の宮川君が書いてくれているでしょう!

それでは!


サイバーコネクトツーのウェブサイトはこちら

>>【2013春】サイバーコネクトツー:プログラマーコース 原田照太さん(最終)

ポスター
第27回応募要項

2022年10月

            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          

プログラマーコース: 2022年10月: 月別アーカイブ