GFF

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

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

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

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

【2018夏】サイバーコネクトツーでインターンシップ!(4)

|

■氏名:叶 江(ヨウ コウ)

■職種:プログラマー

■期間:8/6(月)~8/31(金)

はじめに

みなさん、こんにちは!

北海道大学・大学院情報科学研究科・博士二年の叶江です。

中国人の留学生です。

今回はサイバーコネクトツーさんにて8/6(月)~8/31(金)の間、

インターンシップ生としてゲーム開発を勉強させていただきました。

職種はプログラマーでした。

中国では、サイバーコネクトツーさんのゲームがかなり有名なので、

インターンシップに参加できてとても嬉しかったです。

このブログでは、プログラマーの視点から、今回のインターンシップで学んだことを、できるだけみなさんにお伝えします。よろしくお願いします!

▲チムチム(左)と叶江(右)

8/6(月)~8/10(金) ゲーム企画

一日目の朝はチームメンバーの顔合わせと会社の朝礼でした。

プログラマーの岩崎さんは学校の事情でまだ来ていなかったので、

4人で簡単な自己紹介と挨拶をしました。

▲岩崎さんと合流し撮った集合写真です。

左から岩崎さん(PG)、上岡さん(PG)、

尾方さん(アーティストAT)、叶江(PG)、塩路さん(ゲームデザイナーGD)

その後、早速ゲームの企画案について話し合っていました。

インターンシップの前に、

『コントラスト、飛び越える、貫く』三つのキーワードをもらい、

それぞれ企画を考えました。

話し合った結果、『貫く』を軸にするパズルアクションゲームに決定しました!

最初の一週間は主に企画案の検討でした。

激しい議論は何回もあって、ボツ案もいくつかありました。

しかし、ゲームの世界観やキャラクターデザイン、

キャラクターモーション、ギミックの種類など、

少しずつ定着していきました。

▲ボツ案のひとつ


今回の開発環境はUnity 2018.2でした。

インターンシップ中、毎日の16時から、メンターの方々に進捗報告をして、

個別指導をいただくことになっていました。

メンターの方々からは、改善すべき点や注意すべき点、

よくできた点、足りなかった点について、詳しく教えていただきました。

▲進捗報告と個別指導の様子


特に印象的なのが、

①スケジュールに合わせて、ゲーム要素を追加したり、削減したりすること。

要素の追加と削減は必ず全員でコミュニケーションを取って、

スケジュールを考えてすべきことです。

無暗に追加したら、ゲームが完成できなくなるかもしれません。

②ゲームの軸を見失わないこと。

例えば、今回の軸は『貫く』でした。

最初は様々な要素を考えましたが、

『貫く』の特徴のない要素は全部捨てました。

おかげで、ゲームの完成が間に合いました。

③ゲームの分かりやすさを常に意識すること。

キャラクターのコントロールは簡単ですか?

カメラのアングルは適切ですか?

開発者にとって当たり前の設定と要素は、

はじめてこのゲームをするプレイヤーからみればどうですか?

などを常に意識すれば、面白いゲームが作れます。

④普段、ゲームをするとき、ゲームの面白さを分析すること。

例えば、プログラマなら、

そのゲームの技術的に面白いところを分析して学べば、

今度は自分のゲームの面白さに応用できるかもしれません。

以上の四つでした。

8/13()8/22() ベータ版の開発

一週間目にも開発の作業がありましたが、本格的な開発は二週間目からでした。

ちなみに、8/14()プログラマーの岩崎さんと合流しました。

これでチーム全員が集まりました!

実は8/21()がベータ版発表の予定日でしたが、様々な不具合が起きたせいで、

一日延ばしていただきました。

最も大変な不具合は二つありました。


不具合その一:SVNでのConflict

今回使っていたのはTortoiseSVNでした。

全員でTortoiseSVNの基本的な使い方を勉強しました。

今まで、複数人でバージョン管理ツールを使った経験がないせいで、

様々な試行錯誤を重ねてきました。

一番多かったのがConflictでした。

複数人が同じファイルを編集する場合は、必ずConflictが起きます。

そのとき、Conflictのところを丁寧に確認しないと、せっかく書いたコードがなくなって、

努力が台無しになる恐れがあります。

特にUnitySceneファイルにConflictがあったら、Sceneがメチャクチャになる可能性があるので、

できればそれぞれ違う名前のSceneファイルを用意したほうがいいと思います。

(例えばMain_xxx)

今回は実際にSceneConflictがあって、せっかく作ったステージマップがメチャクチャになって、Revertを使ってもダメでした。そして、マップを作り直すのに時間かかりました。


不具合その二:UnityEmpty GameObjectTransform

Unityでステージマップを作った際、マップ管理をきれいにするため、

たくさんのEmpty GameObjectを作りました。

例えば、

Map

|---Area1

|---GroundBlock1

|---GroundBlock2

...

|---Area2

...


のような構造を使っていました。

MapArea1Area2Empty GameObjectで、

GroundBlockXCubeでした。

この場合、

MapArea1Area2のようなEmpty GameObjectTransform

つまりPositionRotateScaleを、

それぞれ(0, 0, 0), (0, 0, 0), (1, 1, 1)に固定しないと、

GameObjectの座標変換の処理が不便になります。

例えば、SetParentがバグります。

今回は親Empty GameObjectScale(1, 1, 1)に固定しなかったせいで、

GameObjectSetParentをコール度に、

GameObjectScaleがどんどん増えて、

謎の巨大化バグが発生しました。

それを修正するのに結構時間かかりました。

みなさんは必ず気をつけてください!


事情により、尾方さん(アーティスト)は8/21(火)を以てインターンシップを終了しました。

送別会のつもりで、5人で食事にいきました。


▲食事後の集合写真


8/23()8/31() 完成版の開発

8/22()にゲームのベータ版が発表されて、

8/23()8/24()で社内レビューをいただいていました。

その後、私たちは社内レビューを踏まえて、完成版の発表までのスケジュールを組みました。

インターンシップもいよいよ最後の週に入り、ゲームの完成も近いと感じました。

この時期はデバッグが主な作業でした。

デバッグは地味で退屈でしたが、バグを直したときはやはり達成感を感じました。

「ゲームの完成度がまた上がった!」と心から嬉しく思っていました。

そして、私たちのゲームが完成できました!


ようこそ、にゃうピアの世界へ!

ゲームの開始画面



余談

インターンシップ中に、

社員の方々とコミュニケーションする機会をたくさんいただきました。

一緒に食事したり、ボードゲームしたり、

ウルトラマンの映画を観たり、

ナルティメットシリーズをプレイしたりしていました。

ゲーム開発に関する話や、個人的な面白いエピソード、

ゲームクリエイターとして学ぶべきことなど、

様々な話が聞けて、本当に楽しかったです!

とある日の食事の様子

そして、とある日の昼休みに、

エレベーターの前で松山社長と会いました。

ごく短い間なので、写真を撮ることを忘れました。

今から思えば、ちょっと残念でしたね。


おわりに

今回のインターンシップでは、

様々なことが勉強できました!

特に、コミュニケーションの大切さを分かりました。

企画について議論するときも、

開発中に困るときも、

メンターの方々の指導を受けるときも、

仕事以外でチームメンバーといるときも、

積極的にコミュニケーションを取るのが大事と思います。

この経験を活かして、

これからの人生も頑張ります!

みなさん、今後もし機会があれば、

ぜひサイバーコネクトツーさんのインターンシップに参加してみてください。

人生にとってきっと良い経験になるでしょう。

ポスター
第27回応募要項

2024年4月

  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