48時間でゲームは作れる! Global Game Jam 2015参加レポート

制限時間は48時間で、ゲームを1本制作!

Global Game Jamというイベントをご存じですか?

Global Game Jam(GGJ)とは、世界中のゲーム開発者がイベントで出されるテーマをもとに世界同時にゲームを開発するハッカソンです。開発に与えられる時間はわずか48時間。この短い時間の中で、プログラミング、グラフィック、音楽、そしてリリースまでをこなさなければいけません。また、開発は一般的に、その場で組んだ、もしくは直前に発表されたチームで行います。

参加者はアマチュアの学生やプロで主に構成され、中には高校生や業界20年以上の大ベテランまでいたりします。この集まった参加者から即席のチームを編成し、3日間でゲームを開発します。アマチュアはプロの仕事に触れることができ、プロは仕事では挑戦できないゲームを自由に開発できるのがGGJの醍醐味です。

GGJは2009年から始まり、今年で7年目。今回の2015年大会は1月23~25日の3日間にわたって開催され、世界78ヶ国に設置された計518の会場に28,837人の⁠Jammer⁠が集い、5,438本のゲームが開発されました。 GGJは、世界最大のゲーム開発イベントとしてギネス記録に登録されていますが、今年もGGJの参加者は増えています。

本稿ではそんなゲーム開発者の祭典であるGGJの国内会場の一つ、札幌会場の模様をレポートします。

GGJの会場の一つ、札幌会場
札幌会場

札幌会場は、札幌ゲーム製作者コミュニティKawazのメンバーが中心となって運営されており、札幌で行うGGJとしては今年で5年目です。今年の参加者は約80名15チーム。これは国内19会場の中でも最大規模です。また、札幌会場の参加者は

  • プログラムを組むプログラマー
  • キャラクターやUIを制作するイラストレーター
  • BGMや効果音を制作するコンポーザー
  • 企画やバランス調整をするプランナー(バランス調整はレベルデザイナーとも呼ばれています)

など、幅広い技術を持った人たちが集まるのが特徴です。

Game Jamの様子

オープニング、テーマ発表

イベント初日である1月23日、18時頃に参加者が集まり、オープニングが行われました。

GGJでは毎年、参加者に1つの「テーマ」が与えられ、参加者はそのテーマに沿ってゲームを開発します。

直近3年のテーマを振り返ると、次のように抽象的なテーマが与えられていました。

  • 2012年:ウロボロスの蛇(の絵)
  • 2013年:心拍音
  • 2014年:⁠We don't see things as they are, we see things as we are.⁠(フランス人作家、アナイス・ニンの言葉)
GGJ 2012のテーマ
GGJ 2012のテーマ“ウロボロスの蛇の画像”

そして今回、GGJ 2015で与えられたテーマは⁠WHAT DO WE DO NOW?⁠という質問文でした。

GGJ 2015のテーマ
GGJ 2015のテーマ“WHAT DO WE DO NOW”

画像や音、有名人の一節と抽象的なテーマが続いていたGGJですが、今回質問文となったことにより、さらに難解なテーマとなりました。 しかし、テーマ発表用の動画では、テーマに続いて次のように言及されていました。

どういうこと?とか、そんなものからどうやってゲームを作るんだ?なんて聞かないでください。なぜなら、あなた次第だからです!

テーマに縛られずにゲームを作るのがGGJなのです。できたゲームを見せ合って、いろんな視点に気づかされるのもGGJの楽しみです。

このテーマのもと、48時間の長いようで短い戦いが幕を開けました。

製作風景

製作開始とともに、参加者は自分の得意な分野の能力を発揮します。

プログラマー
プログラマー
コンポーザー
コンポーザー
イラストレーター
イラストレーター

今年も札幌会場では多種多様な技術やデバイスを利用したゲームが開発され、中には複数のフレームワークを組み合わせてゲームを制作するグループもありました。 各班の使用状況をまとめると次のようになります。

各チームで使われた、言語・フレームワーク・ツール環境
班番号 使用された言語・フレームワーク・ツール
2, 8, 9, 12 Unity(C#, UnityScript)
1, 13 cocos2d-x(C++)
3 Paradox3D(C#)
4 Leap Motion + Node.js + CreateJS
5 UIKit(Objective-C)
6 Unreal Engine 4 + Oculus Rift
7 DirectX 9/11 native(C++)
10 dxlib(C++)
11 SpriteKit(Objective-C)
14 Unity + Oculus Rift + Leap Motion + Node.js
15 Wolf RPGエディター

その中でも特に注目を浴びたのが、Oculus RiftやLeap Motionなど最近話題となっているゲーミングデバイスを組み合わせてゲームを制作していたチームです。彼らの不思議な動作がどんなゲームになるのだろう、と大いに話題を集めました。

Oculus RiftやLeap Motionを使ってゲームを開発しているチーム。一体何が出てくるのか謎です。
Oculus Riftをかぶって謎の動作をしている Oculus Riftをかぶって謎の動作をしている

また会場は、全部屋にソーシャルストリームが設置され、他の部屋で開発している人の様子が伝わるようになっていました。それにより会場独特の一体感が生まれていました。

さらに今年は、日本の他の会場とのビデオ通話による進捗報告会も行われていました。

進捗報告会の様子(Thetaで撮影)
Thetaで撮影された会場連携イベント中の写真

ちなみにこの画像はThetaという全天球カメラを用いて撮影されています。 このカメラで撮ったイベント時の写真はすべて閲覧できます。

筆者のゲーム製作記

ここで、著者のチーム開発の模様を紹介します。

僕たちのチームでは、iOS向けのゲームI'm Homeを開発しました。僕は今回がGGJ初参加で、主にコンポーザーとして関わりました。

I'm Homeのゲーム画面

画像

このゲームは「キャラクターを家に連れて行けばクリアだが、ルールはリスタート方法(画面上部をタップ)以外、何も教えられていない。自分で操作方法を含めたすべてを見つけ、クリアせよ」という超難解なものです。

それでは、このゲームをどのように作ったのでしょうか。

企画

僕たちのチームはテーマ⁠WHAT DO WE DO NOW?⁠「さあ、どうしよう?」とか、⁠これからどうしたら良いのだろう?」と主に解釈しました。基本的にはこの考えを元にアイディアを出し合います。

ただし、これに縛られる必要はありません。別の視点からテーマを解釈してみると興味深い結果を生むことが多く、例えば「テーマが書かれていた紙の背景の色が暗い」ことから、ミステリアスな雰囲気というアイディアが出ました。アイディアの形自体も、言葉という形だけではなく、実際のゲームの操作という形のアイディアが出たりと様々です。

企画していた時の様子
企画の様子

また、このチームはプログラマー、コンポーザー、イラストレーター、プランナーがそれぞれ1人ずつという文字通り最低限のメンバー構成であったことも考慮しました。そこで、最終的には次のことを決め、開発に取りかかりました。

  • (テーマの背景が暗かったので)⁠夜⁠⁠、そこから「帰り道」
  • (テーマそのものから)ルールはわかるが、操作方法含め何をすればいいかがわからない、プレーヤーに「さあどうしよう」と言わせるゲーム
  • (チームの人数を考え)デザインはなるべく簡素に

ここまでが初日22時までに決まり、比較的順調に進められました。

常に時間を考えた製作

GGJでは時間が限られていますので、それをどう製作に使うかが重要になります。実装面では、オープンソースのスマートフォンゲーム開発フレームワークcocos2d-x v3.3を使って開発しました。さらに、次のツール・ミドルウェアも合わせて活用しました。

Tiled Map Editor

Tiled Map Editorは、制作に関わる全員が実際にゲーム中に見える形でマップを組むことができるレベルエディターです。このツールを使うことで、プランナーやイラストレーターはTiled Map Editorの仕様でステージデータを作り、プログラマーはステージデータを扱う処理を作るといった分業が可能となります。また、出力されたデータを解釈して読み込むための処理はcocos2d-xに初めから内蔵されているため書く必要がありません。限られた時間でプログラマーでない人がプログラムを理解するにはコストが高いため、このようなツールを使うことで工数を削減できます。

Tiled Map Editor
Tiled Map Editor

ADX2 LE

ADX2 LEは、コンポーザーが自分の思うようにBGMや効果音の鳴らし方を設定できるミドルウェアです。プログラマーが行うのは指定した場所で再生をする処理を書くだけです。あとはコンポーザーが設定したパラメーター通りに再生されます。もしADX2 LEを使わずにサウンド周りを作ろうとすると、プログラマーとコンポーザー間での演出調整のために次のようなことが延々と続いてしまいます。

  1. コンポーザーがある部分の調整をプログラマーに頼む
  2. プログラマーが該当部分を直す
  3. コンポーザーがそれを気に入らずまた調整を依頼する

例えるならば、⁠フェードアウトの時間を0.5秒にしたい」と依頼を受けて修正した後に、⁠やっぱり0.7秒にしたい」というような依頼をプログラマーが随時対応するようなものです。

プログラマーは疲れてしまうし、コンポーザーは演出をチェックしている間、制作を中断することになるため時間がかかってしまいます。

ADX2 LE
ADX2 LE

こうしたツールを使い、開発速度の向上に努めながら作業します。

また、作業がだらけるのを防ぐため、先に進捗確認をする時間を決めて製作しました。

僕たちのチームでは黒板にタスクを書き、完了したものに線を引くことで完了とみなす運用をしていました。実際に進捗が目に見えるので、モチベーションを保つことができます。

進捗報告の際に黒板に書かれていた実装進捗
進捗報告の際に書かれていた実装進捗

ついに完成!

リソースは、上記のツールを使うことにより、とくに問題なく進みました。しかし、cocos2d-xそのものの構造についての理解不足により、実際存在しているはずの処理が見つからないと言って焦ったり、許されていない実装をしてしまいゲームがそもそも起動しなかったり(これに関しては原因を特定した後に様々な箇所を書き換える必要が出てしまいました⁠⁠、またギミック以外にも、想定した動きとなるような処理(例えば、ギミックがきちんと動くようにタッチ位置の計算が正しくできているか、など)すべてを書き切ったかどうかのチェックがもれていたりしたため、ゲームそのものの動きの搭載がかなり難航し、制限時間ギリギリになってやっと完成しました。

ゲームの完成!
完成

GGJ公式サイトに、ゲームの紹介とソースコード(Repository)へのリンクを掲載しています。なお、このゲームはiOSシミュレータ上でもプレーできます。また、iPhone向けに制作したことから、近日正式リリースもする予定です。

GGJ初参加で

僕自身ゲーム製作は前から1人で行っていましたが、このような制限時間を切られて、ほぼ開催直前までわからないチームでゲームを製作するという経験はほとんどありませんでした。しかし、なんとか完成まで持ち込むことができました。今回チームで開発する際に生じる問題とその対策を考え、問題を乗り越えた先にある「ゲーム完成」の喜びを感じることのできた3日間となりました。

48時間の成果が結集する作品発表会

最終日の1月25日18時に、全15チームそれぞれがこの2日間で制作したゲームを携え、発表会に臨みました。

発表会
発表会 発表会 発表会

発表会はトップバッターから話題沸騰でした。このゲームは、テーマを「我々は今何をする(している)のか?」と解釈し、それに「ゲームを作っている」と答えた結果、できたそうで、なんとGGJで多忙を極めている様子そのものをゲームにしてしまったというのです。前半のパートで各役職を育成し、それぞれの育成度合に応じてゲーム内のキャラクターが作るゲームの質がダイナミックに変わるというものです。実演時には、全キャラが絶望的な進捗になるよう育成してできあがったゲームに、会場は爆笑の渦に包まれました。

全員炎上のなれの果ては当然クソゲー。条件によってはゲーム自体クラッシュしてしまうらしい
全員炎上 炎上した成れの果て

また、前述していたOculus RiftとLeap Motionを組み合わせるという大技をやったチームの発表もありました。このチームもテーマを「何をしている?」と解釈し、それに「お互いを感じている」と答えて作ったゲームです。このチームでは「Oculus Riftを使ったゲームには『触覚』が欠けている」とし、ゲーム内でプレーヤーがした体験が自分の感覚にそのまま伝わってくるゲームを目指したそうです。Oculus RiftとLeap Motionをつけた2人がゲーム内にでてくる手に触れると、現実世界でもその2人はふれあいます。

ゲーム内で触ったことになると、プレーヤーにも触った感覚が伝わって来る
プレーの様子

そのほかのチームも含め、今回は全チームが完成まで持ち込むことができました。発表されたゲームは全15本にもなります。これらのゲームは次のGGJ公式サイトから実行ファイルもしくはリポジトリがダウンロード可能となっています。ぜひ見てみてください。

また発表会の様子は、UStreamで視聴できます。

まとめ -GGJでは何を得られる?

いかがでしたか。本稿を通して、GGJがいかに素晴らしいイベントであるかを少しでも伝えることができたなら幸いです。

著者は、GGJでは次のことができると考えます。

ゲームを作る楽しさや作ることによって直面する壁や苦悩の体験

3日間、ゲームを作ることに集中できるということは非常にいい機会です。ゲームを作りたいという人が集まって作業をするため、非常に密度の濃い3日間をすごせます。その中で、様々な問題に直面します。それらをどうしたら乗り越えられるのかを考えたり、ゲームを作るとはいったいなんなのかを学んだりできます。

自分の腕試しをする機会
自分がいかにチームの役に立てるかを考える訓練

GGJは、時間がない分、その時間内で自分が自分の得意なことを本気でやったらどこまでできるのか、という腕試しをする絶好の機会です。また、もし「あまりやることが見当たらない」となった時に、いかに自分がチームの役に立てるかを考える訓練もできます。

新しい視点の獲得

GGJでは1つのテーマが与えられますが、その解釈はJammer1人1人個性的であるはずです。チーム内での企画や発表会において、他のJammerたちの解釈に対して「そうきたか」と思い、そしてその解釈に基づいてできたゲームに対してなんらかの反応を示したとき、あなたは新しいものの見方を知るのです。たとえその解釈がいかに突拍子もないものであったとしても、です。

あなたもGGJに参加して、こんな体験をしてみませんか?

Global Game Jamは、日本では札幌以外でも多くの会場(今年は19会場)で開催されています。興味を持った方は、お近くの会場について調べてみてください。

おすすめ記事

記事・ニュース一覧