Frictional Games Forum (read-only)
Thomas, 2008-06-18, "Character version 2.0" - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Frictional Games (https://www.frictionalgames.com/forum/forum-3.html)
+--- Forum: Blog (https://www.frictionalgames.com/forum/forum-23.html)
+--- Thread: Thomas, 2008-06-18, "Character version 2.0" (/thread-2141.html)

Pages: 1 2 3 4 5


Thomas, 2008-06-18, "Character version 2.0" - Thomas - 06-18-2008

I have spent the last 2 weeks working on a new character controller for HPL2 and finally the bulk of the code is complete.

The reason for making a new character controller is that the one in the old engine (which is used in Penumbra) is very bad at interacting with other physical bodies. I used a quite different approach for the new character controller and have made it a lot better at handling interactions.

At the end of this post is a video of the character controller in action. Some high lights are:
  • The character can interact both ways with physical object, ie both get and be pushed. The best example of this is the seesaw where the character can both push it down and, if enough weight is applied on the other side, get pushed up. This is something that no other games do, except for games that uses non-exact physical objects as "characters" (for example: Marble Madness clones, car games, etc).
  • The controller can walk up slopes with out sliding down and will "stick" to them when walk down.
  • The character can climb stairs and the speed at which a stair is climbed is settable (notice how the character is on ground during climbing in upper left corner).
  • When standing on objects the player will slide along even if they rotate. Also notice the support for inertial frames, when the character jumps straight up while riding the box, the character stays put according to the position of the box (except for a tiny bit caused by wind resistance).
  • The character can get attached to physical bodies which makes a good base for grabbing onto ledges, swinging in ropes, etc.

Now for the video:
http://www.youtube.com/watch?v=S26HphuXioU


RE: Thomas, 2008-06-18, "Character version 2.0" - Petike - 06-18-2008

Thomas Wrote:I have spent the last 2 weeks working on a new character controller for HPL2 and finally the bulk of the code is complete.

The reason for making a new character controller is that the one in the old engine (which is used in Penumbra) is very bad at interacting with other physical bodies. I used a quite different approach for the new character controller and have made it a lot better at handling interactions.

Wow, it looks great ! Really better interaction with the objects just by bumping into them... Good work, Thomas ! :-)


RE: Thomas, 2008-06-18, "Character version 2.0" - WindexGlow - 06-18-2008

Great work; however what happens if you're agaisnt a wall when a heavy object is coming at you?
Will it stop moving too? Will you die? Or will (what happens in hpl1) You simply jump extremely fast, sometimes even through walls?

Btw, I'm guessing you're supporting player models/third perspective?


RE: Thomas, 2008-06-18, "Character version 2.0" - eliasfrost - 06-18-2008

Nice. I see HPL 2 is using soft shadows instead of stencil ones.

And the new character interaction is really promising, I really want to see this in action (In-game). Smile


RE: Thomas, 2008-06-18, "Character version 2.0" - Thomas - 06-18-2008

WindexGlow:
As long as the object is not too heavy it will be pushed away, otherwise the charater will get squished Tongue So in normal cases the object simple stops moving.

HPL1 also supported thrid person and player models. For example all of the enemies used the same (except for some settings) character controller as the player. So HPL2 will support what ever kind of view system is used.


RE: Thomas, 2008-06-18, "Character version 2.0" - Klayman - 06-19-2008

Awsome! I hope that this will eliminate "Flying carpet" trick in Penumbra Smile
Well I have 2 questions:
So if something heavy fall on player then he will get killed or hurt?
I saw you can "ride" on objects. Will that be possible to do opposite? Like you drop a stone on your head and walk around with it on your head?
This will give us new options in making (physical) traps!


RE: Thomas, 2008-06-18, "Character version 2.0" - Thomas - 06-19-2008

Quote:So if something heavy fall on player then he will get killed or hurt?
That is very game specific as a character controller is just an engine object and does not really care bout death, life stuff like that Smile But it should be very possible to code into the game.

Quote:Will that be possible to do opposite? Like you drop a stone on your head and walk around with it on your head?
Nope, I just think it is odd if a box ends up on the players head so I have made sure that stuff should fall off if possible. This was something that could happen with the old character controller though, although the object would not "ride" with the character.


RE: Thomas, 2008-06-18, "Character version 2.0" - starstutter - 06-29-2008

Engine looks great and I like the new shadow system Smile

About penumbras lighting system, have you guys thought about using deferred shading? Or is that too hardware strenuous for your liking? I recently switched my engine to deferred and have found the speed increases are phenominal with scene complexity scaling. It works especially well in systems where you have lots of low coverage lights (aka night scenes and other things you can think of). It can also greatly speed up soft shadow rendering.

Srry, not going on a tech rant here, but I am very knowledgeable in graphics technologies and would like to help you guys out in a way. I really admire what you guys are doing with the genre (that is, breaking out of the mindless fps violence) and would like to help in any way I can.


RE: Thomas, 2008-06-18, "Character version 2.0" - Thomas - 06-30-2008

HPL2 uses deferred shading Wink


RE: Thomas, 2008-06-18, "Character version 2.0" - eliasfrost - 06-30-2008

What exactly is Deferred Shading? I have heard it quite some times now. Smile