Monday, 28 September 2009

Freelance work for Comfy Chair Games

I recently had the opportunity to work with Bob over at Comfy Chair Games. He is expanding his miniature line for W.I.L.D. fire, a 6mm mech combat game, and he needed a digital sculptor to flesh out his designs. Normally this is handled by the skilled hands of John Bear Ross (see my feed area to the right), as JBR’s plate is full at the moment he opened up a couple of accounts that were in need of some immediate work.

Here are a couple of examples of the work I completed for Bob at Comfy Chair; I cannot take credit for the designs, only the CAD execution of his vision. You can see the sketches Bob provided and the final CAD models built to his specifications. The building is one of four designs he wanted to produce; they are a clean lined and modern structure of the near future. The mech is the first flying creation in his current line. The other mech designs can be seen over at JBR’s blog page.

Wednesday, 23 September 2009

Parallax trix

Since many seemed to enjoy the parallax mapping showed off in the material editor, I just wanted to show off the more advanced way of doing it and also giving some explanations.

No Parallax
This is when no parallax effect is added, just boring and flat. What happens is that the engine simple interpolates the uv-coordinate (the position on the texture map) according to the vertices (the points) of the model.

Offset Parallax

This technique is really just a cheap trick and as seen in the picture it fails at steep angles. Despite this, as the material editor video showed, it still gives a good effect in most cases! The way it works is by adding an offset to the uv coordinate depending on the height of the height map and of the angle of the eye (compared to position of the pixel). The biggest problem with this is that a pixel can never occlude (be in front of) another.

Relief mapping
This algorithm is a lot more accurate than offset mapping, but also a lot more expensive. This is no longer a cheap trick and works by casting a ray from the position of the eye and into the height map. It is then computed where the ray first hit something and the uv coordinate of that point is used. This sort of ray casting is used in all advanced parallax techniques, but is implemented differently. In relief mapping, one first steps along the ray at certain intervals and looks for an intersection. When one is found a binary search is used between the intersection and the eye position to pin point the exact intersection point. The binary search means that the distance between eye and the first found position is halved over and over, locking in on the intersection.

Other techniques such a cone step mapping give even better results but require the height map to be set up with certain extra data that is calculated before the rendering starts. There are also techniques for letting the height map not only occlude itself but also the other objects in the scene. It can even carve the actual model to better fit the height map, see "Relief Maps with Silhouttes" here for an example. This really takes the technique to new heights (ha..ha...) and it is really cool how much can be done with what starts out as a flat surface!

Monday, 21 September 2009

I'm a Material Boy

Sorry for the long period with no tool show off. Blogging sure takes time :P

Here's the HPL Material Editor, our latest addition to the tool suite. This is what we use to create, edit and preview materials with. In a nutshell, a material is what's gonna determine how an object is going to look like in the engine. As of now, we have three basic types of materials:
- SolidDiffuse, which we use to model solid surfaces. Take a bit of a bump map, and another bit of a heightmap and you will have a more than convincing rock like material for example :)
- Translucent, to create a "glass like" look - Windows, ice... transparent stuff falls in this material type.
- Water, the most bleeding edge feature in the engine right now, used to simulate "liquid objects". Just like water in Penumbra, but now with more Reflection(tm).

Of course, it wouldn't be a HPL2 tool if it hadn't a realtime preview window, which is what really makes the tool worth it. In the good old Penumbra days, one would have to edit the material using the HPLHelper app, but then testing how the material looked meant having to start an independent viewer program, a bit of a pain if you ask me. The preview window features cubemapped and flat colored background, different preview models (ie cube, cylinder, sphere and plane), and lighting with customizable colors.

And last, but not least, here's a little video showing the Material Editor in action, in standalone mode (yeah it is also integrated in the other editors)

By the way, that "blackness" artifact at the edges of the water plane are caused by the current preview window setup. Looks like I'm gonna need to fix that... :P

Thursday, 17 September 2009

Puzzles in horror games. Part 5.

Due to illness and an unhealthy obsession in making rendered water look nice this post is a little late. Hopefully no harm has been caused :)

Figuring out a good puzzle is often a hard and tricky process. Sometimes a puzzles presents itself from story and environment naturally, but more often it is put in just to add some gameplay and/or slow the player down. This means first coming up with some kind of obstacle and then designing some sort of solution for overcoming it. During this process, and especially when "forcing" a puzzles into the game, one has to consider a couple of things. The most important of these are:

How fun a puzzle is to solve and how unique is it both determine the level of enjoyment a player gets from trying to figure and actually solving a puzzle. Solving the same kind of puzzles over and over is never fun and any appearance of a sliding puzzle is bound to bring forward feelings of unhappiness.

While a bit related to Enjoyment, a clever puzzles does not really need to be fun, it just needs to have a solution that makes the player think out of the box. A clever puzzles often includes using something in a non-obvious way and/or piecing together several fragments of information. If a game mainly relies on solving puzzles (such as Professor Layton), having clever solutions becomes extra important.

World Coherence
This means how well the puzzle fits with the story/world and is often the hardest part to accomplish. A puzzle with good world coherence adds realism and immersion to the game, while a bad one pulls the player out of the experience. In order to obtain high coherence a puzzle must fit with the story and also suite the world and not feel out-of-place.

When designing puzzles for Penumbra and our upcoming game, it is always a balance between these. Sometimes a puzzle might fit perfectly with the story but just be really dull and sometimes a fun puzzle does not fit at all with the game world. It is almost impossible to come up with a puzzle that "score" high in all the above criteria, so one has to concentrate on something.

In horror games, where immersion is key, it is probably best to always make sure that no puzzle feels out of place. For some reason many action based horror games seem to forget this and are filled with mood breaking puzzles. In Penumbra we did our best to have as high world-coherence and often had to sacrifice other criteria in order to do so. This is one of the reasons why Requiem contains so little story, we wanted for once to concentrate on the making fun and clever puzzles.

Most (at least we hope so!) puzzles in Penumbra where not dull and stupid, but often we concentrated on either making it clever or fun. In the cryo-chamber, getting the head out of the jar was not a very rewarding puzzles to solve, but the main idea there was to let the player do something fun (who does not like playing around with severed head?), instead of teasing the player's brain. Figuring out how to enter the cryo-chamber was instead an attempt at making a clever puzzles and required several pieces of information to be linked.

By trying to vary puzzles like this we hope to have made the experience more interesting. As discussed earlier, games does not need focus on creating joyful feelings all the time. By letting the player sweat over a more complicated task, more emotions can be added to the game and end up being a more rewarding experience. Adding instances of more fun and simple puzzle in between breaks things up and make the brain-teasing parts stand out more.

This brings me to the final issues one has to consider. Difficulty. I did not include it in the list above because, while an important thing to ponder, it is quite a different beast. The main problem lies in that when a solution is known it is no longer hard to solve, and thus it can be hard for designer to now the difficulty of a problem. Even so, it is a very important part of the gameplay and the time spent pondering a puzzle plays a large role in the gameplay flow. At times it might be fitting to throw a harder challenge at the player and other times the player should be able to solve it quickly. Especially when a situation is meant to be frightening, having the player scribbling on a note in the "real world" is not good for the mood.

Pretty much the only thing that can be used to test difficulty is extensive play testing, but this being time consuming and expensive (especially since the same person can not reliably test something twice) other methods are needed. I usually try to "wipe" my mind, think myself in the situation of the first time player and imagine the moves she would make. This is actually not far from the tactic used when designing scary situations, something that also greatly relies on an unknowing player. Designing puzzles is actually kind of related to creating a horror atmosphere in that one has to try mess with another person's mind and supply hints, confuse, etc in order to create a satisfying experience. This is yet another reasons why horror games and puzzles are such a good fit.

What do you think is most important criteria for a good puzzles? As always we are also eager to hear feedback on puzzles present in Penumbra with the above in mind!

Friday, 11 September 2009

Faction Infantry Armor

Some examples of one factions ground troops, in heavy, medium and light armor

Here is an easteregg :) my kickstarter project...