2010年3月31日水曜日

オープンソースのゲーム開発とGoogleの奨学金

オープンソースソフトウェアや自由(フリー)ソフトウェアは現代社会で大きな役割を持っている.その種類も多岐にわたり,プログラミング言語,開発環境,インターネット関連のソフトウェアなどで定番になったものも存在する.そしてゲームのアプリケーションやゲームエンジン,ミドルウェア,ゲーム開発スクリプト言語なども数多く含まれている.
本記事では,オープンソースソフトウェアや自由(フリー)ソフトウェアのゲーム開発の現状と,学生の参加を支援する制度について紹介する.


オープンソースゲーム開発の特徴

オープンソースのゲームといっても個人の作品から大規模ソフトウェアまでいろいろあるが,通常のゲーム開発と自由(フリー)ソフトウェアやオープンソースソフトウェア開発の最大の違いは,誰もがソースコードにアクセスでき,改造し再配布できるソフトウェアライセンスにある.
これは個人開発者にとってはいくつかのメリットがある.まず,自分の理解できる範囲のソースコードを読むことで参加者がそれぞれの得意分野やペースで学習できる.そして過去のソースコードを改造し,開発者コミュニティに認められればそれが採用されること.ソースコードの中に自分の名前が出てくるのはなかなか得がたい体験だ.また世界各地からの参加者がいる場合はグローバル企業に勤めなくても国際的な大規模分散開発を体験することができる.

オープンソースゲーム開発の現状

それでは,オープンソースのゲームソフトウェアにはどのようなものがあるのだろうか.手軽に試すには,OSからゲームまですべてフリーソフトウェアで構成されたLive CDを使うとよいだろう.くわしくはSourceForge.JP Magazineのオンライン記事にレビューが翻訳掲載されているのでそちらをご覧いただきたい.
起動すればゲーマーが集めた無数のゲームをプレイすることができる.ゲームソフトウェアからOSまですべてが改造自由,再配布自由のライセンスで構成されているので,このようにゲーマーが独自のDVDイメージを作成して配布できる。こうした伝播力の強さもオープンソースソフトウェア/フリーソフトウェアならではの特徴だろう.(オープンソースライセンスではないが企業が配布している体験版ソフトウェアを再収録している場合もある.)

Googleの「Summer of Code」とは

こうしたオープンソースソフトウェアや自由ソフトウェアのプロジェクトは,これまで新戦力の育成が手薄になっていた.ボランティアでやっている以上,エネルギーを開発以外の方向に使って,若手募集イベントを開いたり新人教育の担当者をたてることはなかなかやりにくい.
この状況に変化をもらたらしたのがGoogle社である.2005年にGoogleはオープンソース/フリーソフトウェア開発に参加する世界各地の学生を支援するイベント「Summer of Code」を開催した(SourceForge.J Magazine記事).これはGoogleがまずオープンソース/フリーソフトウェア開発プロジェクトを公募し,採択されたプロジェクトの設定した課題に取り組む世界各地の学生に奨学金が支給されるというプログラムである.
Summer of Codeは2005年以降も毎年春から夏にかけて継続して同プログラムを実施しており,2008年あたりから採択される学生も1000人を超え,ゲーム関連のプロジェクトも Summer of Code にいくつも採択されるようになった(SourceForge.JP Magazine記事).これにより,夏休みにゲーム開発に参加して奨学金を獲得するという選択肢ができたことになる.18歳以上の学生という条件さえクリアすれば,理工系の学生に限らず,美大生や短大生でも応募可能だし、専門学校や職業訓練校の生徒でも申し込むことが可能だ.

SoC2010の展望

2010年もプロジェクトによる学生公募がはじまっている.公式ウェブサイトで告知されている大まかなスケジュールは以下の通り.
  • 3月29日(日本時間 3/30 4AM) 学生申込開始
  • 4月9日 (日本時間 4/10 4AM) 学生申込〆切
  • 4月26日 採択結果発表・学習期間開始
  • 5月24日 開発開始.奨学金500ドル支給
  • 7月16日 中間評価終了.奨学金2250ドル支給
  • 8月20日 採集評価終了.奨学金2250ドル支給
Summer of Code に関する代表的な日本語情報を紹介しよう。本記事の執筆時点で、Google 公式ブログ 日本版では2010年の募集はまだ日本語記事は掲載されていない。しかし昨年度にわかりやすい募集記事が掲載されているので、まずそちらから目を通すとよいだろう。また参加プロジェクトによる情報としては,FSIJ(特定非営利活動法人フリーソフトウェアイニシアティブ)が2008年の採択時に作成したSummer of Code 紹介ページがもっとも詳しい.同ページでは、過去の参加者による報告や学年別の進行スケジュールの見本も見ることができる.また、日本語での情報交換用のMLも紹介されている.
あとは英語情報になるが、公式ページの他にも各プロジェクトによるプロモーションビデオもいくつか公開されているので、雰囲気をつかむ参考になるだろう。

SoC2010のゲーム関連プロジェクト

学生は各プロジェクトの募集内容について調べたり質問したりした後、2010年度は4月9日までに申込フォームへの入力を行う.以下では,参加プロジェクトの中から,ゲームに関連するプロジェクトを紹介しよう.

1. 開発ツール,ミドルウェア

Blender
3D-CGソフト.日本語書籍『はじめてのBlender』も出版されており,http://blender.jp/などオンラインの日本語情報も豊富.
Crystal Space
ゲームエンジン.ゲームAIやパス探索といった大学や大学院での研究テーマをそのまま使える可能性がある.
ScummVM
昔風のアドベンチャーゲームのオーサリングツール.学生向けの情報は詳細に説明されているが,これは日本のゲーマーにはあまり縁がないかも.
WorldForge
MMORPGのためのフレームワーク.こちらは時間の都合で実際に試してみることができなかった.
これらのプロジェクトは学生を指導できるだけの力量をもっているわけだが,そのツールがどれくらい使われているのかははっきりしていない.ゲームデベロッパー企業によれば,オープンソースのミドルウェアと商用ミドルウェアとを予算に応じて使い分けられているとのことだが,オープンソースのミドルウェア,ゲームエンジンはコピーも再配布も自由なので,実際にどれくらい使われているかは推定にとどまる.
ただし海外の大学では先端的なゲーム開発者を育成するためにゲームエンジンの製作を教えている授業もあり,実験的なゲームエンジンを公開する流れは今後も簡単にはなくならないだろう.この分野のゲームエンジンを調べたい人は,日本語ではO-Planning ゲーム制作のちょっといい話にてサンプル動画とともにSummer of Code不参加のオープンソースのゲームエンジンも含めた紹介を読むことができる。
次にSummer of Code 2010に参加しているゲーム開発プロジェクトを見てみよう。

2. ゲームソフトウェア

Battle for Wesnoth
ターン制戦略シミュレーションゲーム.
FreedroidRPG
SF風RPG.
Thousand Parsec
ターン制宇宙征服ゲーム.Summer of Code は過去の実績からプロジェクトごとの奨学生の数が割り当てられるが,Thousand Parsecは多くの学生を受け入れた実績を持つ.リーダーのTim Ansellはオーストラリア在住だが,Thousand ParsecのSoCの成果についてGoogle Open Source Blogに寄稿したり,Thousand Parsecの目標についてGoogle本社のTech Talkで講演したりと Summer of Code に参加するゲーム開発プロジェクトの中でも存在感を放っている.この講演およびスライド資料はフリーソフトウェア運動のモチベーションを説明する資料としても興味深い.
Tux4Kids
これは児童教育ソフトウェアのプロジェクト.ゲームの専門的なスキルよりも一般的なソフトウェア開発のスキルが要求されています.
この他にも参加プロジェクトリストを見ると,ゲームではないがLuaスクリプトを使ったプロジェクトもあるようだ.

おわりに

夏休みにアルバイトやインターンシップを計画している学生の人は,Googleの奨学金イベントも選択肢の一つに加えてみてはどうだろうか.
ただし,申込前にすべきことは多い.世界各地の学生との競争になるので「この学生に参加してもらいたい」と思わせるような申請にする必要がある.また,日本の夏休み期間は海外とは異なるため,授業を持っている学生は7月の中間審査まではなかなか開発時間を割けない.7月までは週末および空き時間を使い,そのあとで夏休みをフルに使うといった計画を示さないと学生を受け入れるプロジェクトの理解が得られないだろう.(裏技としては、過去には二人一組での申し込みをうけつけたプロジェクトもある。)
上述したようにFSIJが日本語情報も公開しているので,それらも活用しながら4月9日の〆切までに自分の興味関心と重なるものがあるか調べるとよいだろう.もしも課題がどれだけ難しいのかよくわからないという場合も,各プロジェクトの窓口に積極的に質問しよう.

3 件のコメント:

  1. 今年は採択プロジェクトが絞られて、日本人開発者のいるプロジェクトはあまり採択されていませんね...。日本語が通じる(かもしれない)プロジェクトとしては、いまのところ以下のコミュニティが日本語アナウンスを出しているようです。

    Cytoscape (バイオインフォマティクス、システム生物学)
    http://cytoscape.seesaa.net/article/144116667.html

    Haiku OS (旧称 OpenBeOS)
    http://www.jpbe.net/wiki/index.php?%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%EF%BC%9A2010%2F03%2F19%E3%80%90Haiku%20%E3%81%AF%E4%BB%8A%E5%B9%B4%E3%82%82%20GSoC%20%E3%81%AB%E5%8F%82%E5%8A%A0%E3%80%91

    返信削除
  2. Haikuプロジェクトの公式な日本語案内はこちら。
    ML: http://www.freelists.org/post/haiku-i18n-jp/Google-Summer-of-Code-2010,3
    日本語チラシ: http://www.haiku-os.org/files/2010-03-24_gsoc2010-haiku-flyer-jp.pdf

    あと、Open Bioinformatics Foundation のBioRubyプロジェクトでも日本人の指導者が参加しているとのことです。
    http://bioruby.open-bio.org/wiki/Google_Summer_of_Code#Ruby_1.9.2_support_of_BioRuby

    本文にあるFSIJの紹介ページからリンクされている日本語メーリングリストでも引き続き情報交換を行っています。

    返信削除
  3. WordPress日本語ブログで、WordPress.org 公式ブログの記事、「Summer of WordPress 2010: Act I」を訳しています。
    http://ja.wordpress.org/2010/03/24/summer-of-wordpress-2010/
    FSIJのページでも学校の先生と相談する案内がありますが、こちらはさらに課題としてSoCのプロポーザルを書く提案をしています。

    返信削除