Sunday, 23 May 2010

What follows are some thoughts on where I want videogames to evolve. At the same time it is also a sort of explanation of the core design goals for Frictional Games. It is not meant to describe how to do things, instead it as attempt to describe how we want our videogame experiences to be like.

When reading a good book, I get drawn into its world and feel part of the events that unfold. Yet the happenings are just figments of my imagination. There is a one way feed of information and I have no choice of where to focus; the writer is my guide and points out details to explore and choses what path to take. Still I feel immersed in the environments and close to the characters, evoking powerful emotions inside me. To be part of this journey through engrossing and enriching worlds is one of the major enjoyments for me when reading books. When a piece of fiction really hooks me, it is an awesome experience and I truly feel like I am inside the fictional world.

Still, I am not there, the environment does not kick back, only existing as a stream of prefabricated perception that I tap into. When making a video game, we can take a step further and create something that in a sense is truly there. Something that I can see through my own eyes, letting me decide where and how to explore. This is extremely potent stuff and something that requires attention. The opportunity to create alternative realties lie at our fingertips, yet it seems to be that the chance is not taken. Instead of focusing on world building and emotions, the realities inside videogames are wrapped in abstract rule systems where the environmental experience is secondary to the core rules and competitive elements.

Some games do touch upon this kind of creation of realities, but is almost always bogged down by game rules that destroy the "living in a world"-experience in some manner. For example, I thought that the first part of Bioshock (and some later parts) where you could just go around and explore the locations where amazing. Sometimes I truly felt part of the great underground city. Sadly, most of the game was filled competitive combat sections, spoiling much of the experience for me. Other games, like The Void, have an intriguing premise and imaginative environments, but holds me back with very punishing gameplay making it very hard for me to immerse myself in the game's world. Many adventure game also suffer from this and include, many times obscure, puzzles that halt progress and pulls me out of the game's world.

Of course videogames with very game-like rule sets are not bad, they can be very rewarding and should not cease to exist. I love solving puzzle and trying to overcome unforgiving platform sections. But sometimes, I just want to be immersed in another world, explore and be part of an engaging experience. However, almost always when I try a game where I think I will get this, I am put inside a competition with me against a the computer/designer. This does not mean that all challenge should be removed, as encountering obstacles can be helpful for immersion in the world, but it should not be the focus when making an alternative reality. It is also worth noting that I am not after being spoon fed a story, but a videogame where engaging (let it be sad, fun, disturbing, etc) experience in a fictional realm is the main goal.

Sadly, these kind of games are few, to the point of not really existing. Instead, almost all videogames have as a core goal to challenge the player, and to be something that is meant to be beaten. I would like to see more games where the main goal is to make the player live an experience, to engage the player in a world and to evoke a wide range of emotions. I would like to start a game and be taken to another world, where I can focus on being immersed in an alternate reality instead of worrying about headshots, experience points or the solution to a sliding puzzle.

To make the player become part of a fictional world has been a goal for us at Frictional Games since we started working on Penumbra and it is still our main goal when creating Amnesia: The Dark Descent. We know we still have a lot left to learn and are stuck in many traditional game conventions. But we make sure to try out new things, noticing what works and what doesn't as we go along. Hopefully this will take us increasingly closer to the goal of making an experience that is not played but lived.

Friday, 14 May 2010

It has been in our minds for quite some time and now finally it has become reality: Penumbra:Overture and the HPL1 Engine are now open source! In case that is all you need to know, then head straight to:http://GitHhub.com/FrictionalGamesto get your hands on it!

For more information just keep on reading.

Penumbra: OvertureFirst of all I would like to stress the fact that this open source release does not make Penumbra: Overture free in anyway. All assets (except a few that are part of the engine) are still under the same copyright as before. The thing that is free is the source code for the executable which is now released under the GPL version 3 licence.

The code for Penumbra: Overture is a continuation of the one 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 quite some history. This history means that the code is far from clean and as expected quite hackish in places. That said, it should have a few interesting bits, the major probably being the physicsal interaction system. This system is not the latest version in the Penumbra series and misses something like rotation. These features should be farily easily to add though.

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

HPL1 EngineFor my part, the biggest part of this release is the engine itself. This is engine that has powered all of the Penumbra games and it even includes the stuff used to create the 2D platformer Energetic. The engine code was started in December 2004 and was actively developed until early 2008. After that only smaller fixes where made to it.

The transition from 2D to 3D and the fact that it was my first stab at a full 3D engine, makes the code quite patchy (and downright horrible) in places. This is especially true for some old and low level parts like the sound and input handlers which have evolved anything but gracefully. Later parts are often cleaner and nicer, but the code is not without its share of quick-and-dirty-hacks.

When it comes to interesting features, I think the following are the most prominent:

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.

The engine contains tons of more stuff (almost 100k lines of code), but these are the most interesting stuff I could think of right now. I am sure there is more for awaiting to those brave enough to explore its dark depths!

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

OALWrapperThis library is made almost entirely by our tool programmer Luis, who actually started out doing work for us on the OpenAL sound implementation. This library is simple and easy way of accessing the OpenAL functionality and was made since there is a strange lack of free sound libraries. This is also the only part of the open source release that we will continue to update and we hope that others will find it useful and contribute themselves!

Questions and SupportAs we are a small company and already swamped with work, do not expect us to do full time support on this. We will try and help as much as possible, but we also hope that a community will form helping each other out.

This is the place to go for more technical information and please ask any lengthy / technical question there instead this blog.

CreditsI must also stress that I am not very experience managing an Open Source project and most work in making it happen is due to Edward Rudd, who is also responsible for the Linux and Mac ports of Penumbra. So big thanks to him!

End notesWe are extremely interested in seeing what people will be able to do with this! Open source releases of other games have spawned very exciting stuff and we hope this release will do that too. This means we are very interested in what people are doing with it. So whether you plan to do a full blown mod, or just check the code for learning purposes be sure to tell us about it!

Tuesday, 11 May 2010

Thanks to all of those who pre-ordered Amnesia: The Dark Descent during the discount and an extra big thanks to those who ordered it before! It now seems like we are forced to record some commentary for the release, which we hope will be enjoyable.

Also note that the 50% discount will continue until tonight (11th) 0:00 west coast USA. So all of you who have not gotten it yet, still have some time. But you need to hurry up!

Finally, for those who are wondering when this blog will have some more design/production/horror related content again, I promise that will come soon! There are stuff in the works and we just need to have some time off from normal game development to get it done.