Friday, October 29, 2010

Zotero and Bibliographies


The Thursday before last I was introduced to the E-resources section of the UCS Wolsey portal via a lecture. the lecture also covered using Zotero to create bibliographies. As on any academic degree course, referencing the work of previous academics is a must to lend work credibility. Zotero allows a user to save pages into categories, the benefit being that Zotero automatically extracts information such as, author name, item type, publisher, date of publication etc, surrounding the book/article or film.

To underline this point, we were tasked to write a bibliography using the Harvard Formula which covers books, book contributions and journals. I've never written a Bibliography using the Harvard formula for referencing before, so it's likely I will make some mistakes. Please bear with me since this will be a learning experience.

Books

Harvard Formula for books: Author or Editor Surname, Initial., [Subsequent author(s) or editors] Year of publication. The full title of the book: italicised or underlined to indicate it is the title. Publisher: city of publication.

Gunter, B. 1998. The effects of video games on children : the myth unmasked. Sheffield Academic Press: Sheffield.

Poole, S. 2000. Trigger happy : the inner life of videogames. Fourth Estate: London.

Articles

Harvard Formula for journal articles: Author Surname, Initial., (subsequent author(s)), year of publication. The full title of the article without inverted commas. The Full title of the journal: italicised to indicate it is the title (volume and part if given and or Month, or season, or volume part number.

Texas Intellectual Property Law Journal Mar 1, Vol. 16, Issue 3, p453.

V, D, G. 2009. Usefulness of Video Game Experience for Students Learning and Creating Digital 3-D. Visual Arts Research Jan 1, Vol. 35, Issue 2, p109-21, -87p.

Contributions

Harvard Formula for contributions: Author Surname, Initial., [Subsequent author(s)], year of publication. The full title of the article, without inverted commas. In Editor Surname, Initial., [Subsequent editor(s),] The full title of the containing work: italicised to indicate it is the title. City of publication: Publisher. page span of the work cited.

Pereira, J, 5/21 2004. Atari, Sega and Pac-Man Are Back in Retro Splendor. Wall Street Journal - Eastern Edition Volume 243 Issue 100.

Mckelvey, D, R. Palfrey, R, T. 1992. An Experimental Study of the Centipede Game. Econometrica Jul 1, Vol. 60, Issue 4.

I experienced quite a lot of difficulty trying to find contributions to books and articles using One Search. Maybe I didn't use the correct search terms. This concludes my attempt at creating a bibliography using Zotero. Feedback would be amazingly helpful since I think I did bits of it wrong.

Halloween Tips. Sale and more!

Now that northern hemisphere people move into darker times what can be better than to indulge in some horror! Read along to get some tips on games, books and movies to check out this Halloween!


What to Play?
First of all we have to recommend our own creations that are now available at a very low rate! Amnesia and Penumbra can both be gotten for as low as 50% the price on several online stores. Right now discounts are available at Our Own Store, Steam, GamersGate, ImpulseDriven and the voices tell me Direct2Drive will have discount very soon too.

I would also like to put special attention on our newly launched Mobile Store. It is an ordinary internet store where you can buy the game by simply sending an SMS. It does not get much easier than that and is especially nice for anyone missing a credit card! All our games are on sale there too and if you are lucky they might cost you less than half the normal price! So do not hesitate and check it out now:
http://mobile.frictionalgames.com/

In case you have already played both Amnesia and Penumbra, here are some more more recommendations:

Anchorhead
A lovecraftian Interactive Fiction game with story similar to "Shadow of Innsmouth" and "The Case of Charles Dexter Ward". It is quite long and very well written and implemented. If you can manage playing without graphics this is a great choice.

Call of Cthulhu: Dark Corners of the Earth
Another lovecraft-game, but this time in glorious realtime 3D. Especially the first third of the game is deliciously creepy with a nice foreboding atmosphere. If you can stand a few bugs and cheap deaths, this game is well worth getting.

I have no mouth and I must scream
This is a game that is not that scary, but instead features some extremely disturbing themes. The story takes place in a post apocalyptic future, where the last five people on earth are being tortured by a not-so-friendly AI named AM. It plays like a usual point-and-click but with some fun twists. Unfortunately the game suffers from some annoying puzzle design, but is still worth trying out. And oh, the game works with ScummVM, and should thus run on just about any platform.


What to watch?
At Halloween all kinds of crappy horror movies are released, so to save you from that here are some films that you might have missed:

Fermat's Room
Five people are called to a puzzle evening which takes on a diabolical twist. If you enjoyed limited location based movies like Cube and (first) Saw, this is one is highly recommended!

Eden Lake
A story about a couple taking a trip to a lake is not all that original, but Eden Lake has a nice twist to it. Beware of some disturbing scenes.

Hard Candy
Cranking up the disturb-o-meter, this movie is unsettling to say the least. It starts out with a creepy meeting between a man and a young girl, and then gets progressively worse.

Day of the Beast
To lighten up after Hard candy, you should consider this movie. It is about a priest that in order to stop the anti-christ decides to become evil. He teams up with a mentally unstable death-metal fan to do so. Hilarity ensues.

Lost Highway
This is probably my favorite a Lynch movie, if only for an excellent scene involving a telephone at a party. It is not that scary, but keeps a brooding atmosphere throughout. Beware of weird lynchian plot!

Audition
Since we want to go out with a bang I am rounding up the list with this disturbing masterpiece. The movie is quite slow, but this only helps building to moments of true horror that it has. The end scene is unforgettable.


What to read?
Nothing can tingle the imagination as a good book. So here are some tips on how to invoke those nightmares I bet you long for.

Anything Lovecraft
A novel by the master of horror is a must! For people new to the man, I would recommend "The Whisperer in the Darkness", "The Shadow over Innsmouth" or "The Dunwhich horror", all very typical lovecraftian tales. All of his works is available online, but they are of course best enjoyed in front of the fireplace.

The Terror
A retelling of the doomed Franklin expedition with the addition of a stalking monster. Most of the book is based on true events, and the supernatural spice increase scariness in an already horrific story. This is probably one of the best horror books I have read. It takes a while to get into, but when you do the book will not let you go.

Perdido Street Station
I consider the books author, China Mieville, but be a kind of modern day Lovecraft. He has the same dense, but yet enthralling, prose and an incredible ability of making monsters. The books takes place in a fantasy world, but even though it is very weird, it feels in real in a way. Prepare for some really disturbing imagery.

Stiff: The Curious Lives of Human Cadavers
Ever wondered what happens to human bodies after they die? This book contains all you want to know and then some. It opens up with describing rows of heads lying in bowls (to be used in educational purpose) and then gets worse. For anybody interested for anybody interested in the macabre this is a must.


Your tips?
Please leave any nice Halloween tips you might have in the comments!

Wednesday, October 27, 2010

Cameron Thompson: Angel’s Den

Cameron Thompson works at Angel’s Den, an online agency website that helps entrepreneurs meet up with business investors. His lecture was mainly about setting up your own business, advice on dealing with investors, getting your product/business pitch taken seriously and how to get set up financially. He also gave useful advice on talking with investors, and why you should expect ‘unusual’ questions from them.

While I don’t think I’ll ever start up my own business, Cameron gave us an interesting insight into that side of the industry.

Monday, October 25, 2010

Formula 1 Sportswheel Re-design/Re-skin


In the Design Methods module we have been tasked to re-design the look and layout of Playtecs Sportswheel game. I have chosen to use a Formula 1 racing theme for my re-design. I chose the F1 theme since it has a massive audience, several million people watch F1 around the world. I hope this will result with a large potential player base for the game itself.

I plan to replace the wheel in the game with a racetrack, possibly a real F1 track if I can re-create it to my satisfaction. I plan to enclose buttons in objects you'd see on an F1 track, a traffic light for instance. I quite like the idea of making the different coloured betting chips into F1 wheels, with different coloured tires to tell them apart.



This is a quick sketch I drew to help visualize what my re-designed game would look like. The art is very bad, but drawing this helped me to create the computerised sketch below.

 This is a computerised version of the sketch, which I created using PowerPoint. I believe this picture shows a rough outline of what my game may end up looking like. In the picture you can see I have contained the 'Go', 'Reset', and 'Exit' buttons in the green, yellow and red lights on the traffic light respectively. You can also see a representation of the grand stand complete with circles to symbolize the crowd. I plan to make the crowd hold up a banner via an animation when the player wins. The banner will say something like; "Congratulations! You've won £15!"

This concludes my brief summary of my re-design. As I continue the re-design process I will periodically update my blog with images of my re-designed game as it is being developed.

Friday, October 22, 2010

Pre-pass lighting redux

Introduction
After writing the previous post on pre-pass lighting I started doing some tests, to see how it compares to the old deferred renderer. The results that I got where pretty interesting, so thought I might as well share them. Also note that this post might be a bit more technical than the previous.

The good thing with these renderers is that they both share the basic material data. So I can use the same data for both HPl2 and HPl3. HPL3 comes with the few more features for decals but for tests, it is easy to just skip them. When setting up the test I went with a very simple scene, it just the same box model rendered several times, a floor and lights. Some times it is best to test with proper game scenes, but I wanted to something that could be easily tweaked and gave simpler output. This means that the tests are not 100% accurate of in-game performance, but even testing a level in game is not that, as framerate varies a lot depending on where in a level one looks. So usually benchmarking has some kind of fly-through, but that is of the scope from what I intended to do.

Note that HPl2 test was built in Visual Studio 2003, while HPL3 uses the 2010 version. I do not think this should matter much though, even if the optimization routines differ, simply because pretty much all of the work is done on the GPU. The graphics card I did all my testing on is a Radeon 5850 HD (and others where tried for some tests). And as a final note, all of the data is given as average frame time (in milliseconds!) and not as frames per second. As Emil Persson points out, FPS is not a very good way to compare performance.

Test #1
Now with my setup details out of the way, let's get down to the details. I first started out with a scene like this:
1 x box, xz-plane floor, 1x spot light + shadow
which game me the following results:
HPL2: 0.78ms
HPL3: 0.84ms
Difference: +7.7%
This means, that given a simple scene like this the old renderer is actually faster! This is not that strange though since the scene does not have many lit screen pixels, most of the image being sky. Thus, the extra pass extra made with the pre-pass renderer matters more than an lighting speed-ups. Also, the decrease in draw buffer (3 to 2) in the g-buffer does not make up for the extra pass.

Test #2
4000 x boxes, 1 x point light, x-z plane floor
HPL2: 14.9
HPL3: 18.5
Difference: +24%
As expected when there is a lot of things to render, the pre-pass lighting is even slower. That extra pass shows on the performance. Remember though that 4000 objects is quite much and an important thing for good performance on GPUs is to have as few draw calls as possible.


Test #3
1 x boxes, 1000 x point light, x-z plane floor
HPL2: 30.0
HPL3: 29.2
Difference: -2.7%
As noticed, once the scene is filled with lights, pre-pass lighting is faster, but only so by a slight amount. Especially considering the large amount of lights. (I later realised that the actual lit screen pixels where quite few, something fixed later on in test #5).


Test #4
4000 x boxes, 1000 x point light, x-z plane floor
HPL2: 47.5
HPL3: 52.0
Difference: +10%
Doing a really stressful test (the number of lights and objects are really large) it seems like the old deferred renderer wins out. This was actually a bit unexpected and dissappointing to me as I thought that the pre-pass lighting should not be this far behind. But taking the little difference in test 3 into account, it is not that suprising. Still, after these tests it is clearly shown that pre-pass lighting is far from a giant speed up compared to deferred shading and it actually seems slower in most cases.

I also tried to skip the early-z pass for pre-pass lighting (I use early-z in both renderers on all other tests). This is basically a pass where the z-buffer is set up, and makes sure later passes only draws visible pixels. From reading Crytech papers, it does not seem like the the Crysis 2 engine has this though (and same seems true for other engines), so I tried to do a quick and dirty test of not using it and got this data: 48.7 (+2.5%)
This means that even without the early z test, the pre-pass was still slower. However, I did not attempts to reduce overdraw (like sorting front to back) and it might be possible for optimizations here. However, when rendering front to back, there will be a lot more state switching as you cannot sort according to texture, etc as efficiently, so I wonder if the data might not even be worse in a more realistic scenario.

I also tried this test out on a few other other cards (again with full early-z testing):
Geforce 240gt: 125, 137 (+9.6%)
Geforce 320M: 240, 240 (+/- 0%)
This gave the indication that on some cards pre-pass might actually be better, and that it might not be as clear-cut as the first tests seemed to show.

As a final variation on this test, I added illumination maps to all textures, a feature that requires an extra pass in the old engine. I also removed the height map rendering. This gave me: 50.6, 50.0 (-1.2%)
This is a very tiny speed up considering that the methods now have the same amount of passes and that pre-pass lighting has faster light rendering and a smaller g-buffer.

Test #5
488 x boxes, 30 x point light, x-z plane floor
Radeon 5850 HD: 7.4, 7.8 (+5.4%)
Geforce 240gt: 18, 19 (+5.5%)
Geforce 320M: 50.0, 45.5 (-9%)
Geforce 9800gtx: 9.5, 9.5 (0%)

In this test I change to a more realistic number of lights and draw calls. I also aligned the lights so the lit pixels covered the entire screen, which I did not do above. As can be seen, on my computer (the 5850) deferred shading still wins, but on a less powerful card the pre-pass lighting is much faster. This difference might be a bandwidth issue and some cards might have problems pushing the data amounts required for deferred shading.

I also did a tweak to this test and turned down the number of draw calls a bit:
316x boxes, 30 x point light, x-z plane floor
Giving: 6.4, 6.6 (+3%)
This further reduced the difference and if I did the hackish removal of early z, pre-pass lighting plunged down to: 5,2 (-18%)
Even though this removal of early z is not very realistic, the results show that I need to investigate it. Something I will do once I get a more proper scene up and running.

Finally, I also tried to give all the boxes illumination (and turning back on early z test):
6.8, 6.6 (-2.9%)
This clearly shows how you get the illumination almost for free in pre-pass, and that it costs a bit more with the deferred shader. This is not surprising though, given that it requires an extra pass, but hints that further effects can be more efficiently implemented when using pre-pass lighting.


Conclusions
The tests clearly show that my previous assumption that light rendering in pre-pass lighting would be much faster was incorrect. It is a bit faster, but only noticeable so when really stretching the limit and then only by a small fraction. This makes me conclude that one should not use pre-pass lighting to have faster light rendering. However, as can be seen on the test with the Geforce 320M, the pre-pass lighting technique matters a lot more on older hardware, and it might actually be of greater use there.

There is not any vast differences in the techniques though and instead the choice should be based on other merits. Given that pre-pass lighting allows for so much more variety in materials, I will keep it for HPL3, but I will not be expecting any rises in framerate anymore.

I hope this post will prove useful for those who are thinking of using either rendering method, and for the rest it might be an interesting insight on how testing is done (at least how I do it). Again, sorry for the lack of pretty picture, which I promise to make up for!

Thursday, October 21, 2010

Inspirations and cut scenes

When developing this project I think of where I am drawing inspirations from for it, in this case it’s from things such as wipe-out and other racing games, a fast pace gamed environment!
I think a very important thing in all types of games is music, but maybe even more so in this type of game, keeping the pace, keeping the player on their toes ready to react to anything the level can throw at them. To get the feeling of our theme everything needs to be right the environment, the music, and how the game presents itself to the player.

Wipe out is a fast pace racing game.

All of this moves me and the group in the direction of having a cut scene at the start of each level to slowly bring the camera down to the ball ready for launch, my idea for this is inspired by the start of games like Gran Turismo 4 where the players car is sitting on the grid as the camera pans in, with loud sounds player on each number of the countdown making the game feel epic and making the player ready to go. 

Locking Camera to the ball Kactor

Now that i had the camera facings the ball using a offsets, after reading in the coordinates of the ball the x y and z axis where subtracted or added to using kismet to create an offset for the camera to follow at.
The cameras angle became a problem using the rotation input on the “set actor location” i managed to get a good angle for the camera to look at the ball from a better angle making it easier for the player to see the ball and upcoming obstacle.
The ball rolling down the tunnel with the camera locked to it (Its very addictive, watching it roll down there!)

Phidgets control

The phidget is now working, the reason i had been having problems was to do with the config witch i had made copies of using visual studio insted of adding them as a link in and letting them stay in their default folder.
The other problem was the UC file was looking for the DLL but had the wrong file name, it had been looking for “UDKPhidget” when the file name was “UDKPhidgets” just missing an s and the whole system fell apart!

Tech Feature: Pre-pass lighting

Progress on the new engine, HPL3, is coming along nicely and recently I changed the core rendering system into something called Pre-pass lighting. This switch has been made for a number of reasons, but before I got into that and what pre-pass lighting exactly is, I need to explain how we did it back in the "old days".

Forward Rendering
The engine powering Penumbra (HPL1) uses something called forward rendering. This type of rendering works by rendering the entire scene on an object basis. So when rendering a chair, wall, or any geometry in the world, this was done by drawing it one time for every light that touches it. So an object that is lit by three lights has to be drawn three times, and so on. This technique can be quite limiting when setting up scenes as you need to be very careful when adding lights. It might not actually be clear exactly how much impact on performance a single light will have and levels usually require quite some tweaking to get right. The complexity of a scene can be expressed as:

Draw calls = Objects * Lights


This means that the number of draw calls can easily get very large and only adding a single light, even if it has little effect on the scene visually, can have very negative effects on performance.

Deferred Shading
When starting work on HPL2 (which was used for Amnesia) I wanted to get away from this annoying light limitations. Since HPL1 had been created a new technique called "Deferred shading" had emerged and when work on HPl2 was started, the average PC system was up for the the task.

What makes deferred shading special is that it separates rendering objects and rendering the lighting. This works by first rendering to a special G-buffer that contains information such as normals, depth and color of all on screen objects. The final output looks like this:


From left to right: Color, normals and depth. Note that these texture have 4 channels each and not visible are also saved specular intensity and power. These three texture then represent the properties of all visible data. It is then used by the lights to render the final image. This makes the complexity of the rendering:

Draw calls = Objects + Lights

This is a lot nicer and as lights and objects are separated, it is a lot easier to add lights to a scene without worrying about performance hits. It is also much simpler to intuitively understand how performance will be affected. By using this technique we where able to use a lot more light sources in Amnesia and considering all of the dynamic lights needed for the mechanics, the game would have been a lot harder to make using forward rendering.

Deferred rendering is not without problems though. First of all, rendering the G-buffer means rendering to three textures at one time which is quite performance heavy, meaning a scene with few lights runs faster on a forward renderer. Secondly, there is no support for fullscreen anti-aliasing either, and one has to do some hackish tricks to remove jagged edges (the "edge smooth" feature in Amnesia). Finally, there is much less material variety possible as every property needed to generate the final image needs to be in the G-buffer. Since we could mange without fancy skin shaders in Amnesia, it was turned out to not be too much of a problem though.

Scenes like the test of Agrippa above would not be possible in our old Renderer. In this test shot around 30 lights help light Agrippa in a nice fashion, and since the geometry and lighting is decoupled it is possible to run this with a high framerate.


Pre-pass lighting
I heard about this technique (first saw it here) during the development of Amnesia and was a bit interested in trying it out. I was interested in the tech back then since it made light rendering go faster, something that had proved a bit of a bottle neck in Amnesia. However, I did not have time back then and decided against it.

As I started to update the engine to HPL3 I again looked at this technology. This time more had been written on the subject and it had actually been tested. For example a similar algorithm was used in Insomniac's Reistance 2 and Crytech goes over it in a paper about CryEngine 2. This also meant that the method was practical, and was well worth trying (I usually try and use tech I have been able to try in other games, as tech dead-ends can prove quite expensive).

Pre-pass lighting (or deferred lighting as it is called sometimes) is very similar to deferred shading and I could use much of the code from HPl2 when implementing it. Only a few changes in materials and light rendering was really needed. The rendering works by also first rendering to a G-buffer, but one only containing normal, depth and specular power. After that lights are rendered, but they render only part of the light equation; basically color and specular intensity. Then in a final pass all objects are rendered again and the light data from the previous pass is used to render the final image. The sequence is like this:

Render Normals+Depth -> Render Lights -> Render final image


The first good thing is that this technique is able to render lights faster, since each lights has to do less equations and access less textures. The algorithm also includes an extra step at the end, but this does not matter that much, as the added the final render takes is regained by the one less buffer needed to be rendered to in the first g-buffer pass (only 2 textures needed instead of the 3 deferred shading uses).

This speed up was not the main reason why I used it though. Since each object rendered again during the final pass, it is possible to have a much larger variety of material types. Instead of being confined to using what can be fitted into a g-buffer, a material can do specific calculations the final image pass. This allows for specialized skin shaders and other tricks. For example, it is now possible to have more features packed into the decal materials:

Above is a decal with both color, normalmap and height map, something not possible in the previous engine. (Note that color and normal have separate alpha and that the height map make the tiles seem carved out of the ground).


End notes
Now I have given a little rundown of how the new renderer works and how it differs from the old one. I have skipped a lot of the details and more technical stuff, to make the post a bit shorter. So if you have any questions, comment and I might have some kind of answer!

Also, sorry for the lack of new and exciting images in this post. Next tech feature should be more fun on that part, as I am now moving on to Terrain...

EDIT:
I eventually did some tests on the algorithm and compared it to the old renderer. Results are:
http://frictionalgames.blogspot.com/2010/10/pre-pass-lighting-redux.html

Wednesday, October 20, 2010

Arthur Parsons: Traveller's Tales

Position: Experienced Games Designer
Worked on: Crash Bandicoot: Wrath of Cortex, Muppet Race Mania & LEGO Harry Potter

Arthur’s lecture was mostly about getting the first job in the industry, which was of course very helpful for us final year students. He covered the jobs and requirements for Designers, Artists, Programmers and Audio Engineers. As well as this, he gave a detailed discussion on what to include in portfolios, and some helpful tips on what to expect during interviews. He especially focused on what you shouldn’t say, and to research the company before you apply.

He made it very clear that it’s very unlikely we’ll be working on our dream game right from the off. He was very encouraging, giving good examples on where to start (especially in Q&A) and dispelling the worries of the “cut throat” industry; I got the impression that working in the industry is, while intense, fun and rewarding.

Friday, October 15, 2010

Board Game and Iterative Prototyping


Intro

This Tuesday our class were given the chance to continue work on the board games which we started on the first week of the course.

What is Iterative Prototyping?

We were introduced to the concept of 'iterative prototyping' and were shown how it was used in game design. Iterative prototyping is made up of 4 different processes; design, implementation, play-testing and evaluation.

Design: The first process is to choose an idea that I wished to incorporate into my board game. In this example I will talk about adding 'trap card' squares onto the game-board.

Implementation: The second process is to physically create the basic assets needed to put the idea into the game. If I was implementing the idea of 'trap cards', picked up by landing on trap card squares for example, then implementing the idea would require me to make the 'trap cards' out of card, write descriptions on them, and then write out the' trap card square' spaces onto the game board.

Play-testing: The third process is to actually test the idea. The ideal way of doing this is to get a group of 3-4 people together and play through the game with the new idea or rule being used. After these play sessions it should be fairly easy to get opinions and thoughts on the change which brings us to...

Evaluation: The fourth process is to think about the idea, decide which aspects, if any, worked and come to a decision as to whether you should keep or scrap the new idea. Once this decision is reached then a single cycle of the iterative method has been completed and a new one can begin anew from the first process, design, thinking of a new idea for the game.

It is important to remember that only one change to the game can be made at any one time using the iterative process. If multiple changes are implemented and tested at the same time, then the evaluation process becomes impossible, since the player cannot see what effect any single change would have had on the game, only the effect that all three changes had at the same time.

I shall now explain the two iterative changes I made to my board game.

Iterative Change 1: Re-drew game board.

My original board design had all three players in the game starting at different positions on the board, and treading different paths that didn't overlap much. I couldn't recall this approach being used in many board games I've played, so I decided to try it as an experiment. I discovered that the multiple starting positions, and lack of entwining paths caused a very low level of interactivity in my game, since the player was hardly ever in a position to land on the same square as another player.
With this in mind, the first iterative change I decided to make to my board game was a large one. As I said above, I wasn't happy with the board design I drew out in week one of the course, so I decided to start again and completely redraw the game board.

This time I made sure that all the players started on the same square, and that multiple paths were kept to a minimum. When I play-tested and evaluated the change, I found that it worked slightly better, but that my game still noticeably lacked interactivity between the players.

Iterative Change 2: Added 'trap card' squares to game board.

This realisation gave me an idea for the second iterative change I made to my game, adding 'trap card squares' to the game board. If a player landed on an 'trap card square' they would receive a 'trap card'. Each 'trap card' has different statistics such as; throw distance, number of uses, effect on enemy player etc.

The basic idea was that the player could use the 'trap cards' to slow players down which would allow players that are behind to catch up. When it came to testing the new idea, I realised that the player that who was winning could further slow down the losing player by using a 'trap card' against them, since some 'trap cards' like the Quicksand, could be used up to a distance of 6 game squares away.

My overall evaluation of the idea was that it added interactivity between the players, the caveat being that it had too much of a deciding factor on the outcome of the game. A single 'trap card' used on a player on the opening turns was enough to make them lose the game.

If I get another chance to change my board game, I'm going to have to re-think how the trap cards work.

This concludes my blog entry on my Board Game and the Iterative Method. Thanks for reading. :)

Thursday, October 14, 2010

Getting back on schedule and some test levels

After being held back by problems with Visual studio works to get the accelerometer working have fallen behind. The error was saying that visual studio didn’t have the required registry access to create a new project, after trying multiple fixes with no success I decided it was down to the other scripting programs I had installed such as visual basic interfering. I then decided to format my laptop (it was long needed anyway) this has now fixed the problem and i am back on track to getting the accelerometer working in game!

During class time we looked at some possible level designs for this game and begun to look at attaching the game camera to the phidget ball actor will little success, but its early days with that and I don’t expect it to be easy.

As for the level design we talked about having the difficulty of the level be changed by how steep the tunnel the ball is falling down is, the steeper it is the fast the game play will go and therefore harder it will become.

I will post some level shots here soon.

Wednesday, October 13, 2010

Tech feature: Sunlight with Shadows

Now I am pretty much done with the first major feature for HPl3, the engine that will power our upcoming (and so far super secret) game. This feature is global sunlight along with shadows, a feature not implemented previously. And since it is now implemented you can bet it will an important feature for the secret game ;)

First up was making the Ambient light nicer. Below is screenshot of how it looks in HPL2:

This is just a uniform color blend that has been added and does not look very. It is quite hard to see any details when there is a uniform texture such as in the screenshot above. To get nice ambient lighting what you need to do is to somehow simulate global illumination. Light does not just hit an object and then stop, but bounces around and scatters color from nearby on each other. There is a lot of research into this and most of it require one to pre-calculate the result in one way or another.

I settled with something really simple called hemispherical lighting, which basically mean to have separate up and down (sky and ground) colors and then blend them depending on the normal of the surface. My first idea was to use cubemaps to do something similar, but since the cubemap needs to be very blurred, using hemispherical lighting gave pretty much the same result and is a lot faster. Here is the result:
Now it is a lot easier to see details and looks a lot better.

Next up was the direct lighting from the sun and this was quite simple. I could just add some tweak to the existing shaders and make it work. Basically sunlight is just like normal light but without any position or attenuation. This means every pixel is lit from the same direction and strength is independent of distance to the source (as it does not have a position).

Here is how the scene looks when we add that too:

Much nicer, even though the texture is a bit boring. Note that there now is specular because of the direct light from the sun.

Finally, lets move on to the shadows! The engine already feature the basic shadow rendering though a technique called shadow maps. What is the big problem now is to make it look good over long distances. Since shadow mapping works by rendering from the light's point of view, doing shadows from an omnipresent light source gets a bit complicated. The simple solution is to use a really large shadow map, but then you would get very bad resolution near the camera.

What you do instead is to use the fact that objects take up smaller space of the screen the farther away they are. So the idea is to use the shadow map in such a way that you give more room for pixel nearby and less to those far away. This is something that has been researched quite a bit and there are various techniques to achieve this. One solution is to warp the projection when rendering to the shadow map. This comes with a lot of issues though and is very rarely used in games.

Instead most games use a technique called Cascaded Shadow Maps or Parallel Split Shadow Maps. The way this works is that the view frustum (a geometrical shape encompassing all the camera sees) is split into several parts and a shadow map is given to each split. This means that the first split, which is right in front of the camera, gets a much larger shadow-per-pixel ratio than the last split, which is much larger, but further away (and hence has small on-screen pixels).

The algorithm itself is pretty easy, especially since there is quite a few papers on it. The big problem is that you can get some flickering results because the shadow map can change a lot. There are published techniques that solve this fairly easy though. Most of my time was instead spent on making it work with the rest of the engine. This is something that might not be that known to non-programmers, but most of the work is often not in the algorithm itself but fitting it into the engine design. I think I spend a 3-4 days on getting it inside the engine, before I had everything set up as it should. The actually algorithm took 2 days or so.

Here is how it looks:
Note how shadows are detailed up front, yet they are cast all the way into the distance.

Here is how the shadow maps look (I combine all into a single one):
Probably want to enlarge this by clicking!

These are the four shadow maps that all render shadows for different slices of the frustum. The white stuff is the objects, the red lines outlines the frustum slice and the sphere is part of an anti-flicker algorithm (that determines size of shadow maps).

Now lets add this to the image I started with:
And lets add some nicer texture while at it:
There! Sunlight with shadows is in!

My next job will be to update the very core of the renderer with something called a Light Pre-Pass Renderer. More on that in a later post!

Monday, October 11, 2010

Story: What is it really about?

Introduction
Upon hearing the word story, most people probably think of a chain of connected events. For example: "A princess is kidnapped; a brave knight rides to save her; the knight faces a dragon, the knight slays dragon and saves the princess; finally the knight gets half the kingdom and marries the princess". Most likely, one also thinks of even smaller details as integrated parts of the story; the way in which the princess is kidnapped, how the knight struggles against the dragon, and so on.

This is not the right way to think of stories. The chain of events is just the plot, and it is a device used in order to get the story across to an audience. What really lies at the core of the story are themes, locations, emotions, and so on. Pretty much all stories we have heard in our lives have been plot-based, but this is because this has been pretty much the only way of telling them. Now that we have videogames as a widespread medium this is no longer true. Still, the idea that story equals plot remain strong. It is a common belief that when a game becomes less linear, it is less about the story. I do not think this is true and if we want to advance the storytelling of the medium, this view needs to go.


By the Campfire
Humans have been telling stories for a long, long time, well before the dawn of civilization. These stories were not written down, but spread by being told over and over, never repeated exactly the same way. These kind of "camp fire stories" still remain, traveling from person to person, constantly evolving and changing. Yet, while the way the stories are told change, in a way they still remain the same. Anyone who has ever told a story like this knows that you often never know the exact words. Instead, you know of certain important things the story is supposed to "say".

It is very common that you change a story like this depending on your audience. If the people listening do not seem impressed by the hero's strength, you add more details, more events, descriptions and dialog. Your goal when telling the story is not be give an exact replication of how the story was told to you. What you are trying to do is to copy the impact the story had on you and any change you can do in order to accomplish this is a valid one.

The moment you do something like this, you have realized, although perhaps unconsciously, that the essence of the story its not the words that make it up. Instead, the story is about something on a higher level.


Peeling an Onion
When a section of a story is trying to convince the audience how strong a hero is, it is something that exists above the words that make it up. Still, this "strong hero" theme, might not be at the highest level either and simply be a vessel for a yet greater goal. Perhaps it sets up an overarching theme of how even the strong will eventually fall. The levels might not stop even there and eventually the essence of the story might be boiled down to a few essentials. These essentials is what the story is really about. Remove any of these and the structure collapse and the original story is no more.

It is also important to have in mind that some levels might be connected. Something that is at a higher level might not manage to stand on its own. A certain part of the story might be about the hero overcoming overwhelming odds and is meant to provoke sympathy. At the same time it is about the hero being subjected to torture and treated very badly by some people. If you remove the torture part, then what you have left is only two very fuzzy themes and not something that alone can build the story. Thus it is not always so that the important pieces of a story are all on the highest level, but they might spread out in a hierarchy. And while this might actually continue down to the very lowest level, it can only do so if removing the part destroys the story. It is not a way to justify that every single detail is essential.

I think most people already have these layers in their mind when thinking up a story, but then along the way give great weight to the details on the lowest level. This is especially harmful when making games, something I will address shortly. First I must go over what I mean by the essence of a story.


What is the Essence?
One might argue that a certain story is not possible to distill into a few high level concepts. It could be argued that a certain scene must be in a very specific way; that one cannot simply describe it as some flimsy themes. I think this happens if one thinks that the themes must be deep, thought provoking, artsy, or whatnot. This is not what I mean with the essence though and it can be any number of things.

For example take the "attack on the village"-scene in the movie Predator, something I am sure few people would call deep, thought-provoking or similar. What are the high level concepts here? Is it just be boiled down to "mindless violence", "how the civilized world rapes nature" or anything similarly pretentious? Not so. Instead its essence is things like the environment, the oppressing jungle; to have a team of sweaty super-humans storm a village, showing off destruction and gunfighting. At a higher level it is also meant to be fun watching and must keep a certain distance to reality and stay away from certain things (like murdering of innocents) in order to keep the audience entertained.

What I want to show here is that a story does not need to be have some kind of moral lesson, ask an existential question, or whatever deep meaning, at its core. It can be shallow and just for fun. Even so, there is an essence and it is what really matters in the story.

Consider any good book/movie you have ever read/seen. Is it really the lowest level of events and details that made you like it? Was it not the locations it took you to? Was it not the interesting relationship between character? Or the way slowly uncovering a mystery made you feel? I argue that no story, no matter what sort, is not about the exact way in things happen, but about the essence of these events. This is something that is crucial to have in mind in video games, as simply nailing down a few details that satisfy the essence is not enough. A video game is a living, breathing world and the essence needs to be portrayed through the right use of the mechanics (such as gameplay, art, sound, etc).


Stories in Videogames
Actually videogames already use this kind of story telling! For example, first person shooters have not set the exact sequence how people get shot or houses blown up. The thing that matters is that people do get shot and houses do get blown up. Exactly how this happens is not important for the story, only that the essence of the action stays the same.

The same is true for portrayal of environments in most games. It does not matter how the protagonist traverse or interact with it, the designer simply constructs a world and the rest is up to the player. By setting up the mechanics of the game a certain way, the designer then pretty much guarantees that the player will have a specific kind of experience and that the essence is kept intact.

However, this how far it goes in most the games today. Once a videogame gets to trickier parts of the story, lower level details are given more and more importance. When it comes to concepts like love, betrayal and grief, pretty much all current games rely on a specific set of events, a plot, to convey them. No longer does it consider the essence of the story. Instead, it becomes focused on the low-level details. Take God of War as an example. There is no need to have cut-scenes showing how angry and prone to violence Kratos is - the gameplay does this for us. But when it is time to bring up other emotions, like showing the reasons behind his rage, the game resorts to plot-based cut scenes.

This does not have to be the case. I think that just about any essence can be expressed by a virtual world guiding the player using various mechanics. This can be conveyed just as good, or perhaps even better, than what a carefully planned plot is able to. I believe we are already seeing this with deeper themes such as a fear. As has been proved by games like Silent Hill*, over ten years ago, video games can be used to provoke fear in a way that is impossible to do in any other medium. While certain kinds of horror lends itself extremely well to the video game medium, I see no reason why other emotions and themes can not work just as well. There are of course also games like Fallout and Shadow of the Colossus that touch upon other themes without using a plot, giving a glimpse of what could be achieved. However, this is just the tip of an iceberg and videogames as a story telling medium is still far from where it could be.


End thoughts
Abandoning plot and a linear progression does not mean that one is creating a sandbox game. It simply means that one picks out the essence of the story and design a virtual world that delivers just that. I believe that sticking to old fashion cut-scenes is a dead end if we want video game story telling to progress. Instead we need to look at a higher level, figure out the essence of our stories and focus on that. When this way of creating a story reaches into areas previously reserved to films and books, storytelling in game will be a force to truly reckon with.


* A major inspiration for Silent Hill was the movie Jacob's ladder, and this serves as an excellent example of how to take the essence of a story and putting it in a different medium. Compare the movie's hospital scene to the otherworld found in Silent Hill and you will find there is a remarkable keeping of its essence. The feeling of being trapped, the environment, the sound design, the uncertainty of what is real and even the style of music. Silent Hill shares very little in terms of low-level plot details with the movie, and yet they manage to be remarkably similar.

Friday, October 8, 2010

Game Elements: Agon, Alea, Ilinx and Mimicry

The below 4 elements have been adapted from Huizinga by Caillois. I will use them to describe two of my favourite games, Unreal Tournament 2004 and Super Smash Bros Brawl. I will also point out where each element is used.

Agon: competition

Alea: chance/randomness

Ilinx: movement

Mimicry: simulation, make believe, role-play

Unreal Tournament 2004 (Agon and Ilinx)


Intro

Unreal Tournament 2004 (UT2004) is a fast paced FPS that comes packaged with a variety of maps (too many to name), game modes (deathmatch, team deathmatch capture the flag, assault, bombing run and domination), and of course, weapons; Shield Gun, Link Gun, Mini-gun, Rocket Launcher and Flak Cannon to name a few.

Ilinx

The Unreal series is unusual compared to many FPS' since it gives players the ability to dodge incoming projectiles via several different types of jump. The player has both the standard jump (space) and double jump (space once in mid-air) but they can also execute a fast dodging manoeuvre by double tapping any of the 4 directional keys. These jump types can be chained together to create the 'dodge-jump', which is a useful technique that allows the player to move around the map quickly and easily.

When these jumps are applied to a combat situation it becomes apparent that the simple movement tools the game gives the player are versatile enough to make combat interesting and engaging. A typical 1v1 fight in UT2004 goes something like this; Player A has ambushed player B and fired a volley of rockets along a narrow corridor. Player B reacts by jumping over and around the rockets whilst aiming the long range Lightning Gun at player A. Player B fires the Lightning Gun and scores a direct hit to the torso causing major damage to player A, who then retreats along the corridor and around a corner. Player B realises the fight is going his way so he switches to the Mini-gun and dodge jumps along the corridor after player A... Directly into player A's direct Flak Cannon blast. Victory for player A. This example shows both that; there is quite a lot of depth to the combat and movement systems within the game, and that ilinx (movement) is a big part of how UT2004 plays.

Agon

The agon in the game is provided by both the AI opponents within the game and human players when the game is played online. The AI in UT games is traditionally accurate and uncompromising and UT2004 is no exception. Thankfully UT2004 comes with 8 different difficulty setting ranging from 'Novice' for players new to FPS games all the way up to the incredibly challenging 'Godlike setting, which can effortless dodge the majority of player projectiles, whilst somehow managing to be incredibly accurate with any weapon at the same time.

The online mode is a welcome change of pace from the offline battles against computer bots. In the online section of the game a player can play against thousands of players all of whom have varying skill levels. Sometimes the player will join a server when everyone playing is very experienced at the game, whereas other times they will join a server full of people who have never played the game online before.

Technically this is an element of randomness, of alea, but this doesn't effect how the game mechanics work, only the skill of those you'll play against.

Super Smash Bros Brawl (agon, alea and ilinx)


Intro

Super Smash Bros Brawl (SSBB) is a 4 player 2D beat-em-up game where the player can control a large variety of Nintendo characters. The character list ranges from the obvious inclusions of Mario, Donkey Kong, Link, Samus, Pikachu, Kirby and Fox, to third party characters like Sonic (Sonic the Hedgehog) and Snake (Metal Gear Solid) series'. In total the character list comes to a staggering 35 playable characters.

In SSBB players have two attacks buttons, A and B, one jump button Y, L&R buttons to shield, plus directions on the control stick to move. On paper this set up sounds extremely limiting but in-game this movement set opens up a lot of strategy for each character. Each character has 4 ground moves, 4 mid-air moves, 4 smash attacks, and 4 special moves.

The aim of SSBB is to knock your opponent or opponents off of the stage (KO) whilst staying on yourself. Each time your knock a player to their doom you'll receive a point (Time Mode), or the player will lose a life (Stock Mode). Every time you attack a player a number representing his or her 'damage count' will rise below the screen. The more damage a character has accumulated the lighter they are when attacked, and thus the easier they are to KO.

Agon

The agon (competition) in SSBB comes in two forms; the AI within the game, and human players. The AI has 9 different settings ranging from, 'weak' the easiest to 'tough'; the most difficult. This allows the player to learn the controls and mechanics by playing against the easier settings, and then ramping up the difficulty when they want a challenge. The 'tough' AI for example will attack you when your vulnerable and defend themselves effectively when you try to attack them. The player must gain a good grasp of their chosen characters move-set in order to defeat a 'tough' computer especially in a 1v1 stock battle.

The challenge when playing against a human or group of people depends entirely on how much the person has played the game. Someone new to the series is unlikely to stand a chance in a stock match against a veteran, since the new player will not know the move-set of their opponents chosen character and thus not understand how to counter and effectively dodge the moves.

Alea

The Super Smash series has a noticeable element of alea (randomness) if items are enabled in the game options. When items are enabled, crates, barrels, swords, poke-balls, Ray Gun, the SuperScope and the Smash Ball to name a few, will spawn onto to the map at random locations. The way these items change the fight depends on the item, some items such as the Ray Gun give one player a slight advantage, since they can keep a player back using the ranged lasers it fires. Other items such as the Smash Ball can completely change the flow of a fight, since once broken open, it will allow the player that destroyed it to use their ultimate 'Final Smash' attack, which varies from character to character. This attack when used correctly will often instant KO whoever it hits.

Ilinx

Unlike many fighting games mastering the movement options in SSBB is absolutely fundamental should you hope to achieve victory. Every character in the game can jump and double jump, but many characters can also use their 'up' special move ('up+B') to recover longer distances. Some characters such as Kirby can execute multiple jumps in mid-air while others like Charizard and Pit have the ability to glide.

Recovering (getting back to the stage after being knocked off) is a huge part of the game. If a player doesn't understand how to recover then fights in SSBB can be over in seconds. Ilinx (movement) also takes the form of different types of dodges that can be executed by holding down either of the two shield buttons (L or R), in conjunction with a direction. If left or right is pressed, the player will roll in that direction, passing through any opponents as if they were not there. The speed and nature of the roll will vary from character to character. If down is pressed the player will temporarily step out of the foreground and into the background of the stage for a second, just long enough to dodge an enemy attack when timed correctly. As you can see, learning to dodge and move correctly in brawl is a essential skill the player must learn in order to stand a chance vs. the game's challenging AI.

I enjoyed writing this blog entry about two of my favourite games.

Thanks for reading. :)

Game Study Principles: Paidea and Ludus

As a gamer I have played many different types of game. In this blog entry I am going to describe two games I have recently played. One game fits under the ‘Paidea’ category the other, ‘Ludus’.

Paidea: effectively play for pleasure.

Ludus: more constrained by rules, with a clear outcome.

Paidea Game: Just Cause 2


Just Cause 2, the sequel to Just Cause, is a sandbox game set in a truly massive open world, made up of a collection of large and small islands. The player controls the protagonist an FBI agent named Rico Rodriguez, and travels around the environment, completing missions for 3 rival gangs. The ultimate aim of the game is to destabilise and eliminate the evil dictator, one "Baby Panay", by causing chaos throughout the game-world.

Rico can cause chaos in a large number of ways; by attacking military bases, destroying pipelines, wind turbines, oil rigs etc or by completing a variety of missions for 3 rival factions. Each faction has an 'area of influence' which encompasses a segment of the game's map. Each time the player completes a set number of missions for a faction, the 'area of influence' will grow and the player will receive a substantial boost to their chaos count.

As you can see the game does contain ludic elements, but the appeal of the game is the tremendous freedom it lends the player. Rico is armed with a deadly combination of an all purpose grappling hook device; which can attach itself to any surface, be it metal, human flesh, or a mountain, and a quick deploying parachute, perfect for sky diving off of mountains and buildings in the game world.

When these tools are used together the player can perform a technique called the 'slingshot', firstly the player must grapple towards a solid surface, secondly the player must engage the parachute in mid-air whilst Rico is being pulled towards the surface. If executed correctly the player will 'slingshot' into the air, maintaining the momentum gained from the grappling hook, the player will now be free to glide around using the parachute, and can speed up their flight by grappling onto the terrain as they fly past. This method of transport is both thrilling and fast and is one of the best ways to move around the gigantic world the game contains. Alternatively the player can drive several different types of vehicles ranging from cars, to motorbikes, to helicopters and finally planes, both military fighter jets, and commercial airliners.

Ultimately I believe that Just Cause 2 is a Paidea game because it gives players all the tools they'll need to explore and destroy the game world, yes they can complete the missions, but the real appeal of the game lies within the sandbox setting and the tools the player is given to interact with it.

Ludus Game: Portal


Portal is a puzzle/platform game created by valve to be packaged with the Orange Box. (The Orange Box contains; Half Life 2, Team Fortress 2, Portal, Half Life 2 Episode 1 and lastly Half Life 2 Episode 2). The player controls the protagonist Chell and guides her through a series of progressively difficult rooms in the aperture science underground laboratory. The player accomplishes this by using the 'Portal Gun' the games namesake, to create portals, one blue and one orange. The player can only create two portals at any one time.

The portals act like doorways and exits, so if the player enters the blue portal they will exit from the orange portal and vice versa. Here is a simple example from within the game; the player needs to get past a high wall that is in their path. The wall doesn't extend to the ceiling allowing the player to see over the wall. One way to get past this obstacle is for the player to first create a blue portal on the ceiling of the far room, next the player creates an orange portal on the wall next to them. If they look through this orange portal they will see the room on the other side of the wall, from a birds eye view. The final step simply requires the player to walk through the orange portal, whereupon they will exit the blue portal in mid-air and land in the room. This sounds complicated but in practise it is easy to grasp.

As the player moves throughout each room, they will receive information from GLADOS the AI entity that runs the aperture science facility.

The ultimate aim of the game is to complete each room and end the testing process. In this way I believe the game is ultimately ludic in nature.

I found it interesting to look at games using the 'paidea' and 'ludus' terms.

Thanks for reading. :)

Bibliography

Just Cause 2 (Xbox 360) Avalanche Studios, Eidos Studios

Portal (PC) Valve

One Month after Amnesia's release

Introduction
It has now been pretty much exactly a month since we launched Amnesia: The Dark Descent. And since the post on a week after release was quite popular, we have decided to do a new overview on where we stand now. This time we will mainly focus on the sales and give some more accurate figures on how things have turned out for us.


The big picture
So, with one month of data to analyze, how did things go? I think it can be summed up with: Better than expected on all accounts! As of today we have sold a total of 36, 000 units (including pre-orders, but excluding boxed sales in Russia), and our goal, which would determine if we would continue or not, were 24,000. Having met and exceeded that goal already feels quite nice. Frictional Games will live to create another game!

15,000 (41.7%) of all sales were in the form of pre-orders, which is quite significant. Part of the explanation for this is that there was a 20% discount during pre-orders and we also believe that people are more inclined to buy a pre-order. With perks such as Steam pre-loading, people seem to think it is worth putting up money before release. And since there is no pirate alternative to a pre-order, it is more likely that people will go through with the purchase (more on pirating later). In any case, pre-orders is probably something we will focus on more for our next title.


Platform specifics
Gathering an exact percentage of sales for Linux turned out to be a bit complicated. Purchases made in our store gets all three platforms, which is the only place to get the Linux version. The total amount of sold units in our own store is about 5000. Since we can connect some of these sales with steam activations and similar, we can make a conservative estimate of 2500 Windows users, leaving 2500 left for Mac and Linux. And since this this is the only store for Linux users, we assume 70% of these are Linux. This means 1750 sold Linux units, or 5% of the total sales.

Mac sales are a bit simpler to estimate, and given the estimates from above plus some other data, comes to about 8% of the total sales. The interesting bit here is that just taking the last week into account the amount of mac sales lie at about 12%. This probably means that the Mac market takes longer to penetrate and that Mac owners might be more likely to buy an "old" game. Unfortunately we do not have data regarding this for Linux, but assume something similar happens there.


Media and user response
As we said in the last post, the response from the media and users have been overwhelming to say the least. Right now, we have 86% at Metacritic, 90% from users on Gamespot, and so on. Considering it is a niche and story based game this feels extra nice (which, as Kieron Gillen points out on RPS, usually get lower meta-scores). We could not be any happier than we are with this response.

So how has this affected the sales? Well it is obviously impossible to say what we would have sold with worse grades, but what we can do is to see what correlations there are between positive reviews and spikes in sales. It turns out there is pretty much none. The only correlation we managed to find was with combined release of the Zero punctuation and Gamespot reviews. These were out very close in time and almost quadrupled sales compared to the previous days before (about 150/day to 600/day). It even seems like this boost still remains.

Apart from this example, it has not been possible to find any other correlations. Part of this is probably due to the noisy nature of the data; many reviews come out at the same time they overlap and it is not possible to discern individual contributions. However, when articles have been alone in time, there still have not been any noticeable spikes. One explanation is that it might be hard for people to find out where the game is bought, as our website is seldom mentioned in previews/reviews. This is especially true for the time before the pre-order became available at the major online retailers. Another explanation is that most reviews have more of a long term effect, instead of an instant sales boost. What this means is that reviews convince players that already know about the game to purchase it, instead of acting as a PR catalyst.

What reviews does do is to make other publications find out about you. Getting a review in a high-status outlet have meant mails from many other publications and convinced other media folk that the game is worth writing about. Thus, as mentioned previously, good review help sales in a long term perspective.


Pirating
Now it is time to discuss pirating and how this has affected us. First of all, it is quite easy to see that there are tons of torrents/shared files of Amnesia available. When we search the web to see if any news on Amnesia has popped up, almost 50% of the results go to a pirated version of the game. This is of course makes us sad, but it is also something one has to deal with when living in today's world. We are well aware that the same technology that allows pirating of our game, is the same that enabled us create the game in the first place. Without a fast Internet and a connected world we would never be able to work together or distribute our games. But this does not mean that we should just ignore piracy and it is important to figure out what kind of impact it has on us.

As I have said, the sales have been above what we had expected, but compared to the response we have gotten it still feels kind of low. For example, the very hyped Minecraft has gotten more than ten times the sales compared us. While being a vastly different game compared to Amnesia, there are some differences that are worth discussing. In terms of the amount of PR received, I would say that Minecraft is more well known, but Amnesia is not far behind. Google gives us two times the hits compared to them and a popular pirate site gives Minecraft double the distributors compared to us. We have gotten more reviews from popular outlets, Minecraft has gotten more viral-like PR. As I said, I think Minecraft has the upper hand here, but not by that much. Still, Minecraft has a over ten times the sales compared to Amnesia, which is a huge difference.

Our conclusion is that a large part of this is due to the lack of pirating in Minecraft compared to us. As I mentioned above, Minecraft has 10x the sales, but only 2x the torrent distributors. A Google search on the subject also turns up twice the hits for Amnesia. It seems like more people are pirating Amnesia and we think there are two main reasons for this. Both of them are related to the single-player nature of the experience.

First of all, once you have played Amnesia there is little meaning to play again. A person pirating the game and finishing it has no real reason to go back. So even if a player likes it and determines that it is well worth paying for, there is no incentive to do so. It is quite common to read on forums that people have downloaded a pirated version and say that they will probably buy it later. The question here is how many actually does this? Even if you really liked the game and want to support the developers, it basically feels like money down the drain since you get nothing extra after paying. This is not the case for a game like Minecraft where more content is released all the time and the game is designed to be highly replayable (and darn it for that, damn time consumer!).

The second reason is the lack of any proper protection. Not only does Amnesia not have any real protection from the start, there is almost no way for us to force people into buying ad-hoc. What we can do is to release patches, but this only affect people that have not been able to start the game, a small part of the user base. So once the game is out we are basically screwed and we can not do much to make people chose a legal over a pirated one. Minecraft requires a server connection and is constantly updated, effectively pushing people towards buying the legit version.

So what to do about this? One way is to create different kinds of games, where we can implement these sort of things. But that just feels wrong. A developer should not design a game based on how it can be protected and doing so can only lead to bad things for our games (to avoid feeding potential flames; this is based on what we want to do with our games, not what we think of others who might do this). What we want to continue doing is to create single player games that try to evolve the way in which videogames tell stories and evoke emotions. Another option is to expand our horizons and try other platforms. This is what we are currently looking into. We do not know what this will mean as of yet, but hopefully we can continue to expand platforms and not limit them.


Our situation
So what does all this money talk mean for Frictional Games as a company? The most positive news is that we have recouped all expenses from creating Amnesia. This is of course awesome, but it needs to be taken into account that we worked long days at a very low salary, using minimal expenses. Our next game will not be possible to do on a budget like that.

For the team, it is now finally back to more normal salaries. This still means that we are paid below, or just at, minimum wage (there is not an actual minimum specified by law, we just mean according to standards) here in Sweden though. We have made some calculations and if we were to increase salaries to normal levels, our current earnings would only last for a year and a half at most. We estimate that it will take at least two years to complete our upcoming game and there are more expenses involved than salaries for the five team members (check the credits for Amnesia!). So right now, we have to stick to having low salaries and see how sales pan out.

At the time of writing our daily sales are at around 350 units, but it fluctuates quite a bit and it is hard to see how it will be in the long term. I said in the previous post that the sales were dropping drastically, but this actually stopped a day or so after posting. Our hope is that it will end up at around 70 per day, as this means that the day-to-day sales would cover monthly salary costs. The money earned at launch could then be used for other expenses and perhaps help us reach more common wages. Very hard to say when a steady level will been reached though. For the Penumbra games it happened two weeks or so after release, but PR for Amnesia is still pouring in, so we assume at least another month.


Final thoughts
Hopefully this post has give some kind of insight into sales for a PC game and where Frictional Games stand now. We are really happy how Amnesia have turned out in all ways. While sales could have been better, people are still buying it and will hopefully continue to. If it stabilizes at a good level, things are looking very bright indeed.

We also feel that we finally can leave Amnesia behind us and start focusing on our next project instead. As this will be our first project where we know from the start that we can finance it ourselves, it will be very interesting to see what can be done. In all our previous games, we have mostly rushed through the production. This is will be the first time we can take our time and make sure that all is the way we want it to.

Exciting times lie ahead and we hope you all will follow us into the future as well!