Penumbra: Overtureまず、ゲームタイトルでもある「Penumbra: Overture」ですが、残念ながらLugaruのようにassetsを含めた全てのゲームシステムが公開された訳ではないようです。ゲームエンジンの都合上どうしても分離できなかったassetsだけ含まれているらしい? ちなみにライセンスはGPLv3。結局、何らかの形でPenumbra: Overtureを手に入れないとゲームをプレイする事は出来ないようです。音楽やキャラクターのデータといったassetsがないといけないという事ですね。
HPL1 Engine
OALWrapper
次に「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.特にサウンドはゲームのレビューを見ても結構評価が高いのでホラーゲームなんかには最適なのかもしれませんね。最後に「OALWrapper」ですが、これも名前から判るとおりOpenALの機能を補うためのライブラリーみたいです。ちなみに、このOALWrapperは、これから先も開発者自らがアップデートしていくそうです。他の2つは基本的にこれから先は開発を行う予定は無いそうです。
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.
このゲームの売りのひとつである物理エンジンなんですが少し調べてみたところ、残念ながら移植性に問題があるらしい。というのも肝心の物理エンジンが「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.Newtonの他にもTheoraやVorbis、変わったところではFLTKやangelscriptなんてのもありますね。angelscriptというのはLuaなんかと同じ組み込み用のスクリプト言語らしい。って今調べて初めて知りましたけど(笑)。
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
最後にライセンスですが、以下のような注意書きが書かれていたのでコピペしておきます。
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/