GFF

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

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

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

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

プログラマーコース: 2011年9月アーカイブ

皆さん、こんにちは。FUKUOKAゲームインターンシップに(以下、F.G.Iと省略)プログラムコースで参加している山下です。

今回はお世話になっているガンバリオン様でのプログラマーコースインターンシップブログ最終回ということで、成果発表会について書かせていただきたいと思います。

fgi2011s_gan山下氏2_1.jpg
▲私の作品は「○○○のたからあつめ!!」というkinectで遊ぶゲームです。
○○○は諸般の事情で伏せておりますが、
ガンバリオン様のCGデザイナーの方が手がけた、とあるキャラクターの名前が入っています。


fgi2011s_gan山下氏2_2.jpg
▲画面中央の丸秘がガンバリオン様のCGデザイナーの方が手がけたプレイヤーキャラクター。
2人同時に遊べるゲームなので丸秘が2つあります。


ルールはプレイヤーキャラクターを左右に動かして、降ってくる宝石を奪い合うゲームでたくさん取った方が勝ちとなります。


fgi2011s_gan山下氏2_3.jpg
▲体で遊ぶkinectを使ったゲームなので、プレイ風景は写真のようになります。

操作方法は、kinectのカメラに向かって体を左右に傾けることでキャラクターを左右に移動。
体を縦に屈伸すると、キャラクターがジャンプします。

ガンバリオン様の開発スタッフの方に実際にプレイしていただいたのですが、楽しく遊んでいただけてうれしかったです。

自分の制作したゲームで笑いが起き、楽しんでいただけた時はとてもうれしかったです。 発表後、ディレクターの方に「あそこからよく作ったね」というお言葉をいただけた時には、今までの苦悩が一気に吹き飛びました。

発表会には自分が思っていた以上にたくさんの開発スタッフの方々が見に来られ、用意されていた椅子がうまってしまうほどでした。多くのプロの方々が注目する中でゲームの発表ができたのはとても良い経験となりました。

約2週間という限られた時間でライブラリを理解し、kinectを解析して、それらを組み合わせたゲームを1本完成させる、とても厳しい状況ではありましたが、そんな状況だったからこそ感じることのできる達成感がありました。

そして、今回のインターンシップでの、一番の教訓はゲームを作ることの楽しさを再認識させていただけたことです。確かにゲームを作ることは大変ではありますが、その苦労の先に楽しんでくれる人がいると思えばそれは苦労ではなくなる、そんなことを教えていただきました。

実は制作以外でも収穫がありました。期間中に福岡ゲームセミナーに参加して、そこで他社様に参加している他のF.G.I生と交流会があり、とても密度の濃い充実した2週間を過ごすことができました。


fgi2011s_gan山下氏2_4.jpg
▲交流会の様子。エレメンツの石川社長が司会をして下さいました。


このブログを読まれている学生の方がいらっしゃいましたら、ぜひこのサイトで告知される次回のF.G.Iに応募して参加して欲しいです。自分は名古屋からインターンに参加しましたが、学校とは全く違った体験ができるので本当にお薦めします。

簡単ではありますが、最後にガンバリオン様にもう一度お礼を申し上げて終わりとさせていただきたいと思います。
約2週間、インターンシップ生としていろいろな貴重な体験をさせていただき、本当にありがとうございました。




>> 【2011夏】ガンバリオン/プログラマーコース 山下勇太氏(1)


「kinectでプログラムした課題」

こんにちは、ガンバリオン様でFUKUOKAゲームインターンシップ(以下F.G.Iと省略)を受けている的石です。前回記載させていただいたように、今回は制作中のゲームを紹介させていただきたいと思います。
私は現在kinect(*)を使って、物を避けていくアクションゲームを制作しております。

kinect(*)...(キネクト)コントローラーを使わずに体の動きを感知して操作できるX-BOX360のデバイス。

fgi2011s_gan的石氏2_1.jpg
▲真ん中の丸秘がプレイヤーキャラクターです。

F.G.Iの山下さんと同様、私もガンバリオン様のCGデザイナーの方が手がけたキャラクターを使わせていただきました。諸事情によりお見せできませんが、プロの方のデータを使わせていただけるとテンションがあがります。
このゲームは自分の体を左右に動かすことでキャラクターが左右に移動するので、うまく障害物に当たらないように進むというものです。
ゲームを企画した時点では、kinectをうまく使ってできる!と思ったのですが、制作をしてみると、kinectでの操作感が、自分が想像していたものと違う形になりました。
通常のコントローラーとは違い、kinectの場合は体を動かして操作するので、下図のような左右に動くだけの操作でも、実際にやってみるとなかなか上手く行きませんでした。

fgi2011s_gan的石氏2_2.jpg ▲最初に思いついたのは左図の操作方法。やってみるとプレイヤーがすぐに疲れるうえに、すぐに止まる、少し戻る~などの細かい操作が困難でした。
最終的に右図のように体の傾きで移動する方が、プレイヤーの疲れも軽減され微妙な操作もしやすく快適でした。最初の操作方法は、事前に担当の方に見ていただいたときも同じ指摘を受けました。

また私は操作感のほうにばかり気をとられていて気づかなかったのですが、「オブジェクトをベタ塗りにしているので、奥行きが分かりにくい」とのご指摘も受けました。

fgi2011s_gan的石氏2_3.jpg ▲初期段階では左図のように壁にアウトラインが無く、非常に分かりにくいものでした。
アウトラインをつけただけでも分かりやすくなったと思います。
発表までに、ご指摘いただいたところを修正し、私が面白いと考えた部分を活かしてプレイヤーに楽しんでもらえるようなゲームに仕上げます!!

私のレポートは今回で最後になりますが、発表会の模様は次の山下さんのレポートに掲載予定です。ありがとうございました。
山下さんのレポートは9月28日掲載予定です。




>> 【2011夏】ガンバリオン/プログラマーコース 的石雄輝氏(1)


こんにちは。
サイバーコネクトツーにてプログラマーとして参加している馬野泰成です。私のブログは今回で3回目、そしてこれが最後ですね。インターンに参加してのまとめを書いてみます。

複数人での開発経験を得たい!とのことで参加したインターンだけれど、感想は

「とにかく大変」の一言。

プログラマーとして大変だったところは、アーティストからの「ここをこのようにしたいのですが、できますか?」という仕様に関する部分です。
それはゲームがより良くなる意見なので「はい!!」と元気よく答えたい...が、ゲームのシステム部分を作ってしまっていると、いきなりの追加仕様に対応できず。(本当は仕様変更に強いプログラムを書くのが良いけれど、そこは私の経験が不足ということで...)

fgi2011s_cc2馬野氏3_1.jpg
【画像1:攻撃モーションと攻撃エフェクト】

例えば、上の画像での話です。システムの仕様としては「攻撃モーション」と「攻撃エフェクト」の描画の終了時間は同じとしていました。私が勝手に決めただけで皆に伝えなかったのです。 アーティストからは描画の終了時間をずらしてほしいと私に言いましたが、変えることができませんでした。

ここでは、以下の2点の事を反省しました。
・勝手に仕様を決めた
・プログラムの仕様変更への弱さ

次はアーティストとプログラマーとの仕事の境界について少し話します。
まずはこの画像を見てください。

fgi2011s_cc2馬野氏3_2.jpg
【画像2:ゴール部分】

今回のアクションゲームのゴール部分です。
このキラキラエフェクトはアーティストとプログラマー、どっちが演出を作ったでしょうか?

答えはプログラマー、私です。

【画像2】には大小さまざまなキラキラがあります、そして大きいキラキラは上に向かって登って行き小さくなっていきます。これは以下の6枚の異なる色の物だけでできています。

fgi2011s_cc2馬野氏3_3.jpg
【画像3:6種類のキラキラ】

【画像2】のようなキラキラアニメーションをアーティストが描くのと【画像3】のような1枚絵をプログラマーが動かすのでは各職の作業量、そしてプログラム内部でのメモリの使用量などが全く変わります。

今回、このアニメーションをプログラム側で制御することになったのは私がアーティストに「これはプログラムでできますよ」と言ったからです。このように、プログラマーはアーティストやゲームデザイナーに、プログラマーができる仕事というのを伝える必要があるようです。(プロの方も仰ってました)

さて、長くなりましたが、まとめです。
実際のプロの現場では数十人~数百人規模で開発が行われます。そのような中で他の方との立ち回りをどうやって上手くやっていくか、ということの入口を今回のインターンシップで見つけることができました。今後は一人制作する場合でもこのことを常に頭に入れていきたいです。

私と同じようにゲーム作りを独学で学んでいる方も、ゲーム業界を目指しているのであれば是非心がけてみてください!また、インターンシップにも参加してみてはいかかでしょうか?きっとあなたにとって良い経験となると思います。




>> 【2011夏】サイバーコネクトツー/プログラマーコース 馬野泰成氏(1)

>> 【2011夏】サイバーコネクトツー/プログラマーコース 馬野泰成氏(2)


こんにちは。プログラマー志望の川端です。

ただ今の進捗報告を行います。
他のプログラマーの方が作った土台となるプログラムを大まかに理解し、テクスチャ表示までできました。
今は、テクスチャの切り替えによるアニメーションに挑戦しています。
画像を一枚一枚切り替えて表示する事で、アニメーションさせるという手法です。
パラパラ漫画のようなものを想像していただけるとわかりやすいかと思います。

テクスチャ一枚の表示は完成しているのでそれを応用させるだけですが、「応用させるだけ」と一言で言ってしまうのは簡単です。
あまり経験がないので、かなり苦労しました。

画像を一枚一枚読み込んでいては遅いので、下の図のような一枚に複数の絵が描かれた画像を使います。

fgi2011s_cc2川端氏2.jpg
これはテスト用の画像なので、ゲーム本体には使用しません。
表示させる位置をずらして何枚もコマ送りにしているかのように見せます。

画像を読み込んだ時に横幅・縦幅を取得して、横幅をフレームの数だけ割って、それをUV座標に適応させて...など、細かい処理を挙げれば切りがありませんが、とにかくパラパラ、漫画させなければ始まりません。

fgi2011s_cc2川端氏2[1].jpg
補足ですが、UV座標というのは簡単に説明すると「画像上のどの範囲をテクスチャとして使用するか」の座標です。
上の画像では画像上の黒い枠の部分を使うので、枠の四隅をUV座標として読み込みます。これをどんどん横にずらしていく事でアニメーションさせています。

画像では伝わらないですが、何とかパラパラ漫画させる事に成功しました。
ピンク色の玉が縮んだり伸びたり動きます。

これから敵のモンスターの画像をアーティストの方に描いてもらい次第どんどん動かしていこうと思います。

こういったアニメーションでも、3DCGのモデルでも、アーティストの方がいくら良い絵を描いてくださっても、動かすのはプログラマーの仕事です。アーティストの方のイメージどおりに動かせるまで試行錯誤を繰り返して良い物にしていきたいです。
プログラマーは「縁の下の力持ち」とよく言われるので、私も頑張って縁の下から支えられる仕事をしたいです。

<9日目のチームを通しての進行具合>
・ゲーム中のスコア(結果)にどのような要素を入れるか
・主人公のデザインが完成
・ゲームの世界観となるイメージボードの完成

参考書やサイトを参照しながらの作業ですので、技術的に可能・不可能の他に「できるかどうかわからないけど、できそうな事」の線引きというのが難しいです。
できるかどうかがはっきりしないとアーティストの方に無駄に素材を作らせてしまったり、進行が遅くなったりと非常に迷惑をかけてしまいます。
迷惑をかけないためにも、しっかり勉強して技術的に可能かどうかの線引きを早い段階でやる必要があります。

遅いですが、着実に進んでいるという実感はあるので、完成まで乞うご期待!




>> 【2011夏】サイバーコネクトツー/プログラマーコース 川端慧氏(1)

>> 【2011夏】サイバーコネクトツー/プログラマーコース 川端慧氏(最終)


こんにちは。サイバーコネクトツーにてプログラマーとしてインターンシップに参加しております、馬野です。今回で私のブログは2回目の掲載ですね。

過去の日記を見てない方がわかるようにもう一度簡単に自己紹介をします。
普段は情報系の大学に通いつつ、ゲーム作りは自分1人で学んできました。
そこで今回は複数人での開発経験を得たい!ということで参加しました。
詳しい経緯は8月19日のブログを見てくださいね。

さて、インターン開始から1週目がDirectXの学習を行い、2週目からいよいよゲーム作り開始!!っていき込んでもそう簡単に作ることができないのがゲームなのです。
逆にある時を過ぎるとどんどんゲームの形ができていきます。
ここで、2週目開始直後のプログラムのファイルとソースコードを見て頂きましょう。

fgi2011s_cc2馬野氏2.jpg
画像左領域:2週目時点でのプログラムのファイル
画像右領域:現在開いているプログラムのコード

画像左部分にフォルダの下にファイルがありますよね?これはゲームの基盤になるプログラムです。画像右部分が現在開かれているソースコードです。スクロールすると、ずらーっとコードが書かれています。
これを見るだけで呪文を見てるようで頭が痛くなる方もいるようですね。
私のようなプログラマーはこれを見るだけで喜び、楽しむことができます。
さて、現在は画像左部分にある1つ1つのファイルにこのようなソースコードが書かれています。そこで、これを実行すると・・・?

どんっ!!

fgi2011s_cc2馬野氏2[1].jpg
矢印キーで操作すると上の小さい箱の方が動きます。

「え?何これ、ゲームなの?」
そんな声が聞こえてきそうですが、あれだけのファイルがあってもこれだけなのです。
実は最初にお見せしたソースコードの画像はゲームを作る基盤を作っただけです。
しかし、一度"ゲームを作る環境"を作ってしまえば後はサクサク作っていけるわけです。
ゲームの制作工程の中ではこの環境作りが私は好きですね。地味な見えない部分ですが、これがしっかりしてなければゲームは作ることができません。ゲームの土台と言って良いでしょう。

話は変わりますが、私の1回目のブログでも書いたようにデザイナーさんとのやりとりがとても大変です。何といっても、デザイナーさんが描いた物はプログラマーさんが動かさない限りゲーム上では動かない訳ですから。

複数人での開発経験の無い私はどんどん自分のやりたい部分、作りたい処理だけを作っていました。当然、同じようにデザイナーさんも何かしらを制作しています。
いざ、デザイナーから成果物が上がってきたときに、
「あ、すみません。まだ動かせない状況です。」
こんな状況が何度もあります。

私達の担当の方からも「プログラマーは物(絵やアニメーション)が上がってきたら、常にすぐ動かせる状況を作っておかなければならない。」とのアドバイスを頂きました。

なるほど、確かにその方が効率がいいな、と思っても中々慣れないことはすぐにできません。しかし、プロの現場では数十人の開発なんて当たり前。今の私達はたったの4人です。
頑張らなきゃ!ここで負けては、プロにはなれないのですから。

デザイナーさんとのことばかり書いて来ましたが、もちろんプログラマー同士の間でも問題があります。私の中で感じた一番の問題は、ソースコードの共有ですね。今回は私合わせてプログラマーは2人です。

お互いが書いたプログラムのコードが汚くて分からないことがしばしば。そうすると、「これは何やってるの?」とわざわざ教わらなければなりません。作業の遅れが生じますよね。私はコードが汚いに加えて、勝手に修正などを加えてしまうものですから、さらに2人の間での進度共有が難しくなります。
どうやったら、2人での共有ができるかと考えたところ、下のような物を作ることにしました。

fgi2011s_cc2馬野氏2[2].jpg
『IEDIT』というフリーのツールです。簡単に遷移図を書くことができます。ゲームの仕様に基づき、このような図を1つ書いて置くのもありなんじゃないかなぁと思いました。

それでは、続きはまた次回。




>> 【2011夏】サイバーコネクトツー/プログラマーコース 馬野泰成氏(1)

>> 【2011夏】サイバーコネクトツー/プログラマーコース 馬野泰成氏(最終)


ポスター
第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        

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