ページ

2010年6月11日金曜日

The Humble Indie Bundle のその後 -Penumbra:Overture-

The Humble Indie Bundleのその後を追うシリーズ。第二回は「Penumbra:Overture」です。このゲーム、一見するとFPSみたいですが実はアドベンチャーです。ちょっと語弊があるかもしれませんけど。見た目がFPSで内容は初期バイオハザードみたいなもんですかね。ってバイオハザードやったことないけど。とにかくバリバリと戦闘するゲームじゃなくて襲い来るモンスターからいかに身を隠してやり過ごすかという感じのゲーム内容みたいです。ベースにクトゥルフが入ってそう。肝心のオープンソース化されたゲーム内容ですが、大別すると3つの内容物に分かれているようです。
Penumbra: Overture
HPL1 Engine
OALWrapper
まず、ゲームタイトルでもある「Penumbra: Overture」ですが、残念ながらLugaruのようにassetsを含めた全てのゲームシステムが公開された訳ではないようです。ゲームエンジンの都合上どうしても分離できなかったassetsだけ含まれているらしい? ちなみにライセンスはGPLv3。結局、何らかの形でPenumbra: Overtureを手に入れないとゲームをプレイする事は出来ないようです。音楽やキャラクターのデータといったassetsがないといけないという事ですね。

次に「HPL1 Engine」ですが、これは名前からも想像出来るようにPenumbra: Overtureのゲームエンジンだけを取り出した部分ですね。QuakeでいうところのQuake Engine (IDTech)と同じ位置づけのものだと思います。ゲーム制作者のコメントを読んでみると、このエンジン部分が一番流用できる部分になるのではないかとの事。使い方によっては3Dだけではなく2Dアクションのようなゲームも作ることが可能らしい。作りやすいかどうかは別問題でしょうけど。ソースコード自体は制作者が手探りで始めた3Dエンジンなので少々汚いところもあるそうですが、以下のような特徴をもったおもしろいエンジンなのではないかとの事。
Physics sound system. This is all the code that is used to play and tweak the sounds heard during physics interactions (bumping, sliding, etc). A lot of work has gone into the system and is the result of a combined effort between me and Jens (who does all sounds) for several years.

Stencil shadow volumes. The shadow system in the engine is quite robust and can work on pretty much any mesh, something that shadow volumes usually don't. It is far from state of the art these days (when shadow maps rules), but should provide nice info for the curious.

Serialize Class system. This is code used to easily save and load classes to disk. It is very useful when creating a save system for games.
特にサウンドはゲームのレビューを見ても結構評価が高いのでホラーゲームなんかには最適なのかもしれませんね。最後に「OALWrapper」ですが、これも名前から判るとおりOpenALの機能を補うためのライブラリーみたいです。ちなみに、このOALWrapperは、これから先も開発者自らがアップデートしていくそうです。他の2つは基本的にこれから先は開発を行う予定は無いそうです。

このゲームの売りのひとつである物理エンジンなんですが少し調べてみたところ、残念ながら移植性に問題があるらしい。というのも肝心の物理エンジンが「Newton Physics Engine」というエンジンで、このエンジンのライセンスがフリーではあっても、オープンではないらしく、一部の環境では使用不可能らしいのです。OSSではないので他人ではどうしようもない問題らしい。

解決策としてはNewton Physics Engineの開発元に掛け合って、現在使用不能な環境向けにバグフィクスしてもらうか、物理エンジン自体を他のエンジン、例えばBullet Physicsに変更するという選択肢しかないのかもしれません。個人的にはMMDでも使われているBullet Physicsに変更してほしいなとは思いますけど。制作者もNewtonにするかBulletにするか迷ったらしいのですが、当時はNewtonの方が使える機能が多かったし、まさかゲーム自体をOSS化するとは思わなかったので深く考えてはいなかったらしい。とはいえ話によるとこの2つのエンジンの変更はそう難しい訳ではないそうなので、必要に迫られれば、いつかは変更されると思います。そこまで需要があればですけどね。他にも、いくつかビルド時に必要なものがあるみたいなので、以下にコピペしておきます。
This is a generic zip of most of the dependencies to build the engine and Overture Game.

Included Contents are..

* OpenAL v1.1 headers
* OpenAL-Soft (Linux libraries)
* ALUT 1.1
* Nvidia CG 2.2
* FLTK (1.1.8)
* libogg 1.0
* libvorbis 1.1 (1.2.3 for Mac OS X)
* libtheora 1.0
* Newton 1.53
* SDL 1.2.14
* SDL_image v1.2.5
* SDL_ttf v2.0.8
* GLee Headers
* angelscript 2.7.1b
Newtonの他にもTheoraやVorbis、変わったところではFLTKやangelscriptなんてのもありますね。angelscriptというのはLuaなんかと同じ組み込み用のスクリプト言語らしい。って今調べて初めて知りましたけど(笑)。

最後にライセンスですが、以下のような注意書きが書かれていたのでコピペしておきます。
NOTE All patches submitted must be licensed under the same license as the rest of the code.. Most code is under the GPL, but the tests, OALWrapper and shaders under the zlib license.. All of the sample textures and maps are covered under the CC SA license.
基本的にはGPLv3だけどOALWrapperやtests、shaderなんかはzlibライセンス、サンプルのテクスチャやマップなんかはLugaruでも一部のアセットで採用されたCC-BY-SA 3.0という事みたいですね。妥当なライセンスですね。

#YouTube
HPL1 Engineを使用したアクションゲームのデモ
Energetic Trailer - YouTube
http://youtu.be/FOtASqo_uJo



#ニコニコ動画
頭痛が痛いPenumbra:Overture -part1- ‐ ニコニコ動画(原宿)
http://www.nicovideo.jp/watch/sm424533



戦闘の様子。Quake 3系と比べてもかなり厳しい感じです。まぁ仕方ないですけどね。
頭痛が痛いPenumbra:Overture 物理学者vs犬(?) ‐ ニコニコ動画(原宿)
http://www.nicovideo.jp/watch/sm530506



#外部リンク
Penumbra goes open-source - Wolfire Games Blog
http://blog.wolfire.com/2010/05/Penumbra-goes-open-source

FrictionalGames's Profile - GitHub
http://github.com/FrictionalGames/

In The Games Of Madness: Penumbra: Overture goes Open Source!
http://frictionalgames.blogspot.com/2010/05/penumbra-overture-goes-open-source.html

Frictional Games Forum - Open Source Collaboration
http://frictionalgames.com/forum/forum-27.html

Frictional Game's Wiki Home [Frictional Game Wiki]
http://wiki.frictionalgames.com/

Penumbra: Overture - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Penumbra:_Overture

Newton Game Dynamics • About Newton
http://newtondynamics.com/forum/newton.php

AngelCode.com - game development and more...
http://www.angelcode.com/

0 件のコメント:

コメントを投稿