Saturday, November 2, 2013

Penumbra: Overture goes Open Source!

It has been in our minds for really some time and now lastly it has turn out to be reality: Penumbra:Overture and the HPL1 Engine are now open supply! In case that is all you need to have to know, then head straight to:
http://GitHhub.com/FrictionalGames
to get your hands on it!

For more details just hold on reading.


Penumbra: Overture
First of all I would like to stress the truth that this open supply release does not make Penumbra: Overture cost-free in anyway. All assets (except a handful of that are component of the engine) are nonetheless beneath the very same copyright as prior to. The factor that is free is the source code for the executable which is now released below the GPL version 3 licence.

The code for Penumbra: Overture is a continuation of the one particular used for the tech demo + some addition for the not so long lived Robo Hatch project. It also contains some code from Unbirth, giving it really some history. This history implies that the code is far from clean and as anticipated fairly hackish in places. That stated, it must have a handful of intriguing bits, the major most likely getting the physicsal interaction program. This system is not the newest version in the Penumbra series and misses something like rotation. These features ought to be farily effortlessly to add although.

It is also essential to note that Penumbra: Oveture source will not run Black Plague or Requiem. AI for the infected, GUI elements, and so on are all missing, but all required to implement them is present in the engine code (in case anyone is up for the challenge).


HPL1 Engine
For my element, the greatest portion of this release is the engine itself. This is engine that has powered all of the Penumbra games and it even includes the stuff utilized to create the 2D platformer Energetic. The engine code was began in December 2004 and was actively developed till early 2008. Soon after that only smaller sized fixes where created to it.

The transition from 2D to 3D and the reality that it was my 1st stab at a complete 3D engine, makes the code really patchy (and downright horrible) in locations. This is specially true for some old and low level components like the sound and input handlers which have evolved something but gracefully. Later components are often cleaner and nicer, but the code is not without having its share of rapid-and-dirty-hacks.

When it comes to interesting attributes, I believe the following are the most prominent:
  • Physics sound technique. This is all the code that is employed to play and tweak the sounds heard for the duration of physics interactions (bumping, sliding, etc). A lot of function has gone into the method and is the result of a combined work between me and Jens (who does all sounds) for a number of years.
  • Stencil shadow volumes. The shadow technique in the engine is fairly robust and can function on fairly significantly any mesh, something that shadow volumes usually never. It is far from state of the art these days (when shadow maps guidelines), but ought to offer nice information for the curious.
  • Serialize Class method. This is code utilized to very easily save and load classes to disk. It is quite beneficial when producing a save program for games.
The engine consists of tons of a lot more stuff (nearly 100k lines of code), but these are the most fascinating stuff I could feel of appropriate now. I am sure there is much more for awaiting to those brave enough to explore its dark depths!

Lastly, it is also worth noting that this is the most recent and final version of the HPL1 engine. It is the beast that powers all games of the Penumbra series.


OALWrapper
This library is created almost entirely by our tool programmer Luis, who actually began out carrying out work for us on the OpenAL sound implementation. This library is basic and straightforward way of accessing the OpenAL functionality and was made given that there is a strange lack of free of charge sound libraries. This is also the only component of the open source release that we will continue to update and we hope that other individuals will locate it beneficial and contribute themselves!


Inquiries and Help
As we are a little organization and already swamped with function, do not anticipate us to do full time assistance on this. We will attempt and aid as significantly as achievable, but we also hope that a community will kind helping every other out.

For much more discussion on the supply code please go right here:
http://frictionalgames.com/forum/forum-27.html

This is the location to go for more technical data and please ask any lengthy / technical query there alternatively this blog.


Credits
I have to also stress that I am not extremely knowledge managing an Open Source project and most function in making it occur is due to Edward Rudd, who is also responsible for the Linux and Mac ports of Penumbra. So massive thanks to him!


End notes
We are incredibly interested in seeing what folks will be capable to do with this! Open source releases of other games have spawned very thrilling stuff and we hope this release will do that as well. This signifies we are extremely interested in what individuals are undertaking with it. So regardless of whether you plan to do a complete blown mod, or just check the code for understanding purposes be confident to inform us about it!

No comments:

Post a Comment