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

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

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

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

プログラマーコースの最近のブログ記事

こんにちは。
サイバーコネクトツーにてFUKUOKAゲームインターンシップに参加しているプログラマーの牟田勇貴です。

私は、工学系の大学を卒業し、現在は専門学校のプログラム科で、ゲーム制作の勉強をしています。
まだプログラムの勉強を始めて1年ほどですが、やる気は誰にも負けません!

今回のインターンシップでは、3Dゲーム制作のノウハウを学びたいと思い、応募しました。


さて、早速インターンシップ初日のことについてお話します。
まず、他のインターンシップ生との顔合わせを行い、その後、スタッフ全員で毎週月曜日に行われている朝礼に参加しました。

ゲームを実際に制作している現場の朝礼とあって、言葉では表現できない凄味を感じてしまいました。
自分も頑張ってゲーム業界に入り、この空気の中で仕事が出来るようになろうと決意しました。

その後、ついに制作するゲームのテーマが発表!
今回のお題は「PONG 2012」です。

「PONG」とは、ボールをバーで打ち合って得点を競い合うテニスのようなゲームであり、その登場は1972年と40年も遡ります。
このシンプルなゲームを、どれだけ2012年らしくアレンジ出来るかが鍵となります。


まずはチーム全体で、「PONG」の「面白さ」について話し合いました。
これが分からないと「プレイヤーにどういう動作をさせてゲームを楽しませるか」という部分が見えてこないためです。

2012春サイバーコネクトツー牟田さん1.jpg
私たちのチームは、「PONG」の面白さは「反射の楽しさ」と「ラリーを続ける楽しさ」にあると考えました。
お互いにボールを打ち合って、必死にボールを追いかけて、得点が入ったときに楽しさが生まれる。
実際のスポーツでも同じです。


企画を練って、ゲームデザイナーの指導担当の方に意見をもらう、そしてまた意見を元に考えて、新しい企画を練る。
この作業を繰り返すこと3回、ようやくチーム全員が「これなら面白い!」と思える企画を立ち上げることが出来ました。

2012春サイバーコネクトツー牟田さん1[1].jpg
私たちが考えた「PONG2012」は、従来の四角形のフィールドとは打って変わって「円形のフィールドのPONG」です。

また、従来の「PONG」とは得点の付け方が違い、ボールがバウンドした場所3点で形成される三角形の面積が得点となります。
ただ打ち合うだけならば、従来の四角フィールドの「PONG」でも円形フィールドの「PONG」でも可能ですが、ミス時に必ず三角形が形成されるという点は、円形フィールドならではの要素となります。

相手を左右に振って、大きい三角形を作ると、その分得点も高いわけですから、当然相手は大きい三角形を作らせまいと警戒した動きになります。
そこをあえて逆側に打つことで得点は低いけど優位に立てる、などといったかけひきも生まれてきます。

さらに、インターンシップ生の中から「3Dのゲームにしよう」という提案があり、実際に3Dのゲームで制作していくということも決定しました。
私が学びたかった3Dの勉強もできるようで、やる気が湧きます。
軌道や反射の計算も必要なので、プログラミングの基礎的な部分もしっかりと復習できそうです。


これまで、実際にプレイしてもらう人のことをここまで真剣に考えてゲームの企画をするということは、ほとんどありませんでした。

ターゲットは何歳くらいにするのか、そのターゲットにとって分かりやすいゲームになっているのか、世界観はどうするのか、それらは自分たちのスキルで表現可能なのか。
そういったことを、ゲームデザイナーに全部考えてもらうというのも悪くないと思います。

しかし、自分の意見をしっかり言って、相手の意見も汲んで、みんなでつくりあげたゲームの方がつくる側もやる側も楽しいに決まっています!


この企画が固まるまで1週間かかりましたが、話し合いだけでゲームが楽しくなる基盤作りができるということを知り、1週間かけた意味があったと感じました。
このチームならば素晴らしいゲームをつくりあげられると思います。


来週からは実際にこのゲームの制作に入ります。

一体どんなゲームに仕上がるのか、ご期待ください!


次回は、サイバーコネクトツーのインターンシップ生レポートをお送りいたします。
お楽しみに♪

こんにちは。プログラマー志望の増田 浩二です。

私は現在、専門学校でゲームプログラミングを勉強しています。
目標はもちろん、ゲームクリエイターになることです!

しかし、ゲームプログラマーに要求される技術力は年々高くなってきています。

そこで、私は「自分がゲームクリエイターになるためには何かが足りない気がする!」と思い、実際のゲーム制作の最前線を体感すべく、今回のFUKUOKAゲームインターンシップに参加しました。


インターンシップ初日には色んなことがありました。

まず、他のインターンシップ生との顔合わせです。
プログラマー3名、アーティスト3名、そしてゲームデザイナー1名と、計7名のチームでゲームを制作することになりました。

次に、毎週月曜日に行われるサイバーコネクトツーの全スタッフが参加する朝礼です。
もちろんインターンシップ生も全員参加します。
各プロジェクトの進捗報告などが行われ、いきなりのプロの現場と雰囲気に、たじたじでした。
前に出て社員のみなさんに自己紹介をした時は緊張しましたが、時に笑顔も見られる楽しい朝礼でした。


その後、指導担当の方から、制作するゲームのテーマについて発表がありました。

初めに「PONG2012!」と言う一言だけを頂き、一瞬、あっけにとられてしまいましたが、具体的にはこういうことです。
 ・ベースはPONG
 ・2012年の今ならではの要素を入れる
 ・これをしてはいけない、こういうゲームはダメだというルールはなし!


ところでみなさんはPONGをご存知ですか?
こんな感じ(下図参照)で、

PG_増田浩二_1-1.jpg
左右のバーでボールを打ち合って、相手のゴール(バーの向こう側)に入れることができれば得点ゲット!です。上下の壁はボールを反射します。
シンプルながらも、奥の深いゲームです。

名前は知らなかったけどこれはやったことあるかもという人もいるのではないでしょうか。


そして早速、チームで企画のミーティングを行いました!

PG_増田浩二_1-2_.jpg

計7名でのチームというのは、私は初めての経験でした。

当たり前のことですが、一人一人の考えも違えば意見も違います。
みんなで一つのゲームの案をまとめるというのは、大変な作業なのです。


チーム制作で最初に学んだことは「コミュニケーションの重要性」です。

チームのメンバーと上手くコミュニケーションを取ることができれば、意見の食い違いや、思い描いているゲームの形にずれがあったとしても、すぐに修正することができ、円滑な作業を行うことができます。

ミーティングの中では、アーティストからゲーム画面の見せ方についての意見が出たり、ゲームデザイナーから、プレイヤーにストレスを感じさせないためのゲームルールの考え方について発言があったりと、自分とは違う職種ならではの視点からの意見を聞くことで、自分一人では気付けないようなことに気付くこともできます。

難航して大変な期間でしたが、企画を考えている時間は充実していたと思います。


様々な案を出しては没になり、を繰り返して心が折れかけたときもありましたが、なんとか企画が決まりました!

それは「丸いフィールドで打ち合うPONGであってPONGじゃないPONG!」というものです。

企画も決まり、プログラミング作業も始まっていきます。


今回のインターンシップでの、私の目標は「自分の得意分野を発見しそれを伸ばしていく!」ということと「自分の弱点を克服する!」という二つです。

プログラム指導担当の方から、自分の書いたプログラムについて意見を頂くことができるので、短い期間ですが、多くの物を学んで吸収していきたいと思っています。

果たして目標は達成できるのでしょうか!?

実際のゲーム画面は次回のブログということで。

お楽しみに!



次回は、システムソフト・アルファーのインターンシップのレポートをお送りします!

前回のガンバリオン編、第1回ではガンバリオンのインターン生の皆さんを紹介しました。第2回はプログラマーコースの課題について、インターン生の沖大輔氏に質問に答えてもらいました。
尚、文中に専門用語が多く登場しますが、分からない方はネット等で調べてみることをおすすめします。プログラマー志望でない方でも基礎的な用語ですので、この機会にぜひ!


プログラマーインターンの様.jpg
△写真手前が今回質問に答えてもらった沖大輔氏

――:プログラムコースのインターンでは、どんなカリキュラムを受けましたか?
沖大輔氏(以下、沖と省略):以下のようなカリキュラムを受けました。
・3Dモデルデータをテキスト解析し、openGLを用いてモデルの表示。
・3Dモデルデータをscriptを用いてバイナリデータに変換しモデル表示。
・Excel上に記載したデータをVBAマクロを用いてバイナリデータに変換し、データの取得。
・自作ゲームの作成(ジャンルは3D弾幕シューティング、効率のいい当たり判定アルゴリズムを考える)


――:それぞれのカリキュラムの手応えは?苦労した点は?
沖:最初の課題では、0から構築してプログラムする点に苦労しました。これは、私がこれまで既存のライブラリや一度作ったライブラリの使い回しが多かったためです。

モデリングデータ.jpg

△画面は文字列解析で読み込んだモデリングデータです。
地味ですが3D描画について基礎をしっかり学びました。

次の課題では、scriptやバイナリをこれまで扱った経験がなかった為に苦労しました。
特に使い方を覚えるところに苦労しました。
3番目の課題では、VBAマクロを利用して課題に取り組みました。

VBAマクロ_.jpg

△画面はそのVBAマクロを利用したExcelです。

プログラムの変更がなくても、Excel上の変更だけでパラメータの変更ができるため、一人で作成するときはもちろん、チーム制作でも活用できそうだと感じました。

最後の課題、自作ゲームの作成ではゲームがわかりづらいという点の修正に苦労しました。
これは実際弾幕が立体に見えない点や、高低差がわかりづらいという点が原因だと思います。
改善するために、アングルを工夫し、高さゲージをつけるなどして対応しました。

自作ゲーム_.jpg

△作成中の自作ゲームの画面。右側のカラフルなバーが高さゲージです。

――:ゲーム会社の現場クリエイターによる指導を受けてみて、学校との違いは?
沖:デバッグ機能の大切さを実感しました。これは、私が学校ではデバッグ機能というものを軽視していて、時間をかけて解決すればいいという考えしかもっていませんでしたが、こちらでインターンシップを経験させてもらい、限られた時間の中で課題を制作し、バグが長時間直せなかった時に特に実感しました。またコードの可読性という意味で、同じインターン生や指導者の方に一時的な変数の名前がわかりづらいというアドバイスで気づきました。


いかがでしたか?この続きは5月8日掲載予定「プログラマーコース課題発表を終えての感想」をお楽しみに!

次回は、サイバーコネクトツーのインターンシップ生のレポートをお送りする予定です。

こんにちは。プログラマー志望の山田真一です。
今回のFUKUOKAゲームインターンシップでは今自分の持っている力を全部ぶつけていきたいと思っています。


インターンシップ初日は、毎週月曜日に行われているサイバーコネクトツーの全スタッフが参加する朝礼に参加して、社員の皆様の前で簡単な挨拶と自己紹介をしました。

社内の雰囲気に少々緊張するとともに身が引き締まりました。

そしてその後、今回の課題の内容を聞きました。

今回の課題は「PONG2012」です。

PONGについて簡単に説明させていただくと、バーを操作してボールを打ち合うピンポンゲームです。
ボールが相手のバーを越えると自分の得点になります。

次の図を見てもらえれば大体わかるのではないでしょうか。
そのPONGを今つくったらどうなるか?というのが今回の課題です。


2012春サイバーコネクトツープログラマー山田氏.png


まず、チームのみんなでそれぞれ1つ企画を出し合い、話し合いながらどんなゲームをつくるか決めることになったのですが、なかなかゲームの仕様が決まらず、あっという間に1週間近くも経ってしまいました。

PONGとかけ離れすぎている、ただ3Dにしただけで目新しさがない、など、3つも没案を出し、少し時間をかけすぎた気もしますが、チーム全員が納得し私自身もこれは面白くになるに違いないと思ったので結果的にはこれでよかったと思います。


私たちが作ることになったこのゲームの特徴ですが、まず「フィールドが円形であること」です。

ただ、それだけでは2012年版のPONGだとは口が裂けても言えないですし、そもそも既にそういったゲームがあるので、スコアの計算に特徴を持たせました。

それは「ボールの軌跡によって三角形を作りその三角形が得点になる」というもので、作った三角形の数と取った面積で勝敗が決まります。


2012春サイバーコネクトツープログラマー山田氏.jpg

私のイメージではより大きい面積が取れるように打ち返す、また逆に相手が先回りすると予想して小さい三角形を確実に取りに行く、といった、対人の駆け引きが面白いゲームにできたらいいなと思っています。


ようやく仕様が固まってきていよいよプログラマーの出番です。

もちろん皆で意見出しをすることなども重要ですが、やはりプログラムをしてこそプログラマーといえるのではないでしょうか。


私はゲームを制作しやすくするためのプログラムの基盤づくり、アーティストが使うエフェクト作成ツールづくり、そしてゲームで使用するステンドグラスのプログラムによる表現をすることになりました。

私の他に2人プログラマーがいるのですが、その人に私が作った基盤を見てもらったところ、評判は上々でした。
ゲームのつくりやすさに直結する部分なのでここは特に気合を入れていきたい部分です。


エフェクト作成ツールはアーティストからの要望で作ることになりました。
はじめは3ds Maxという3DCGツールで作ったエフェクトを、ゲーム内で表示させたいとのことでした。

ですが、そのデータを読み込むプログラムを作るのに少々時間がかかる、また、どれくらい時間がかかるかわからなかったので、私が簡単なツールを作り、アーティストにそのツールを使ってエフェクトを作成してもらうことで、ゲーム内でエフェクトを表示することになりました。


最後にステンドグラスの表現ですが、これは円形のフィールドに三角形を作っていくとステンドグラスのような感じになっていくということと、そのとき出ていたゲームイメージの一つが神々の遊びだったので神々しくしようという話になりました。
イメージはこんな感じです。

2012春サイバーコネクトツープログラマー山田氏[1].png

▲ステンドグラスのイメージ図



具体的に言うと、これを3Dモデルや絵を描いてそれを表示するのではなく、プログラムによって三角形を描き、光を反射しているかのように見せるなどして、ステンドグラスのような質感にしようというものです。

できるだけこのイメージ以上になるように頑張りたいです。


もうすでにインターンシップが開始して2週間程度が経ちましたが、もうこの時点ですでに、ここに来なければ学べないことがたくさんありました。

例えば、プログラムでは、ある一定のラインを超えるとほぼ独学になってしまうのですが、その結果、知識に偏りが出てきてしまい、基本的なことができていないという事実に気付かされたことなどです。

その他、チーム制作をする上での進め方、今使用している最新技術や、流行の技術などをプログラマー指導担当の方など、さまざまな人に教えていただきました。

私の今の実力で、どこまでアーティストの、そしてゲームデザイナーのやりたいことを実現できるのか。

それはまた次回お伝えします。

 

次回は、サイバーコネクトツーのインターンシップ生のレポートをアップします!

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

私の投稿はこれで3回目になります。
進展状況なのですが、やっとゲーム本体が出来上がってきて、これからが勝負っていう段階まで来ました。
ゲームの形らしい形が出来上がってきて、やっとギリギリ「動かせる」という所まで来たとも思います。

指導担当の方の「これでやっとスタートラインに立ったね」という言葉通り、やっとこれからゲーム性をどうこうしていく事が出来ます。
私はプログラムの経験が浅くて、本当に迷惑ばかりかけているのですが「ここまでこれた」という気持ちになれました。
最初は本当に完成するのかと思う事も多々ありましたが、とりあえずは良かったと思います。

タイトル画面です。まだ仮の状態なので、これから変わります。
コミカルなイメージなので敵を後ろで飛ばしたりクルクル回したりしたいと思います。
月の画像はアーティストの方にモデリングして頂いた3Dモデルを動かしています。
かなり気合を入れて作って頂いたので、こちらも気合をいれて動きを付けました。

fgi2011s_CC2川端氏3_1.jpg
タイトルは『COSMIC SHOOT』です。
なぜこのタイトルになったかと言いますと、プレイ中のフィールドは月という設定で、ゲームのコンセプトが「敵を吹き飛ばすのを楽しむ!」というものなのでSHOOTという単語を使いました。
また、COSMICには「宇宙の」という意味の他に「広大な」という意味もありましたので、「広大に敵を吹き飛ばす」という意味を込めてこのタイトルになりました。

ゲーム中の画像です。
中央の黒っぽいキャラクターが主人公です。
斬撃で敵を吹き飛ばします。

fgi2011s_CC2川端氏3_2.jpg
主人公の基本的な操作は左右の移動とジャンプ、攻撃です。
キーの配置はかなり重要で、操作感を悪くしないようにしないといけないので、かなりモメています。
社員の方にも触って頂いたりして、色々意見をお聞きしているのですが、なかなか決まらないです。

キー配置一つでも「これでいい」ではなく「これがいい」というのを目指して、議論が白熱しています。
全てに対してストイックに議論して、ベターではなくベストを目指さなければならなりません。
このゲームに対して愛着を持って、少しでも面白くなるように常に考えていくのがすごく楽しいです。

一応「主人公が移動・ジャンプして、敵を攻撃する」という一連の流れが出来ただけで、まだまだ完成ではありません。
ジャンプ一つ見ても、ジャンプにも滑らかさとか気持ち良さとか色々考えなければならない要素がたくさんあります。

完成までまだまだですが、少しでも面白くできるように全身全霊をかけて当たっていきたいです。

短い期間ですが、こちらのFGIではゲーム作りの難しさ、楽しさ、大変さ、全て経験出来たと思います。
このブログを見て、参加しようか迷っている方は絶対参加した方がいいです。
ゲームプログラマーになる上で、クリエーターなる上で、社会人になる上で、学ぶ事しかなかったです。
本当に成長できるインターンシップなので、是非参加してください。
体力的にはきついですが、「きつい」=「楽しい」にどんどんなっていきます。
私も今ではきついのが楽しい体になってしまっています。
学校の生活に戻っても、インターンで得た経験は絶対に忘れないでしょう。
ここで学んだ事を普段の生活でも生かして、今後の躍進に繋げます。

本当に成長出来たインターンシップでした。ありがとうございました!




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

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


皆さん、こんにちは。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夏】サイバーコネクトツー/プログラマーコース 馬野泰成氏(最終)


2012年5月

    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