Wall Jumps!

Did some work on the controller, which is getting feature complete more or less. It now allows for wall-runs and wall-jumping. Have a look at the new version and try to climb the two pillows.

Also, I added quite a bit of doxygen documentation to btKinematicCharacterController. For the interested I created a repository over at github (https://github.com/martinfelis/bulletphysics2) that contains the changes I made.

There are also improvements to the camera movement. There is no more jittering (thanks to the insights I gained about btKinematicCharacterController) and also the horizontal movement is no more constrained = much more fun!

Oh, and here is the new (windows) version: iftpop_0.0.2. Go Try It! NOW!

Additionally, I spilled some wine over my desktop keyboard.

3 Comments.

  1. Hi!

    Unfortunately I can’t start the programm on my netbook. Here’s the log:

    Mon Oct 31 11:54:31 2011 LogLevelDebug: Logging Init
    Mon Oct 31 11:54:31 2011 LogLevelDebug: EngineStatus Change: 'EngineStatusUndefined' -> 'EngineStatusInitializing'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Event listener eafe38 for event type 1
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Event listener eafe38 for event type 0
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Variables Init
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Loading delayed Variables
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'player_acceleration'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'player_maxspeed'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'player_rotationspeed'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'player_jumpvelocity'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'player_maxattackrate'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'player_velocitydamping'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'player_mass'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'player_radius'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'player_height'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'consoletransparency'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Variable 'variablesystemup'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Commands Init
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Initializing SDL
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Adding Command 'set' at 418a87
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Adding Command 'exec' at 41669b
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Physics Init
    Mon Oct 31 11:54:31 2011 LogLevelMessage: BulletPhysics Initialization!
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Initializing EntityFactory
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Model Init
    Mon Oct 31 11:54:31 2011 LogLevelMessage: IFTPOP Model Initialization!
    Mon Oct 31 11:54:31 2011 LogLevelMessage: player[0] inertia = 0.591420, 0.232320, 0.591420
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Entity with id '1' and type '2'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering EntityPhysicState with id '1'
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Registering Entity with 1 [mType=GameEntityTypePlayer] ptr=0x3fca10
    Mon Oct 31 11:54:31 2011 LogLevelMessage: box[0] inertia = 0.000000, 0.000000, 0.000000
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Entity with id '2' and type '3'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering EntityPhysicState with id '2'
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Registering Entity with 2 [mType=GameEntityTypeBox] ptr=0x93c1978
    Mon Oct 31 11:54:31 2011 LogLevelMessage: ent = 0x93c1978
    Mon Oct 31 11:54:31 2011 LogLevelMessage: box[0] inertia = 0.000000, 0.000000, 0.000000
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Entity with id '3' and type '3'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering EntityPhysicState with id '3'
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Registering Entity with 3 [mType=GameEntityTypeBox] ptr=0x93c20c0
    Mon Oct 31 11:54:31 2011 LogLevelMessage: ent = 0x93c20c0
    Mon Oct 31 11:54:31 2011 LogLevelMessage: box[0] inertia = 0.000000, 0.000000, 0.000000
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Entity with id '4' and type '3'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering EntityPhysicState with id '4'
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Registering Entity with 4 [mType=GameEntityTypeBox] ptr=0x93c28a0
    Mon Oct 31 11:54:31 2011 LogLevelMessage: ent = 0x93c28a0
    Mon Oct 31 11:54:31 2011 LogLevelMessage: box[0] inertia = 0.000000, 0.000000, 0.000000
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Entity with id '5' and type '3'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering EntityPhysicState with id '5'
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Registering Entity with 5 [mType=GameEntityTypeBox] ptr=0x93c3390
    Mon Oct 31 11:54:31 2011 LogLevelMessage: ent = 0x93c3390
    Mon Oct 31 11:54:31 2011 LogLevelMessage: box[0] inertia = 0.000000, 0.000000, 0.000000
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Entity with id '6' and type '3'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering EntityPhysicState with id '6'
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Registering Entity with 6 [mType=GameEntityTypeBox] ptr=0x93c3a80
    Mon Oct 31 11:54:31 2011 LogLevelMessage: ent = 0x93c3a80
    Mon Oct 31 11:54:31 2011 LogLevelMessage: box[0] inertia = 0.000000, 0.000000, 0.000000
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Entity with id '7' and type '3'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering EntityPhysicState with id '7'
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Registering Entity with 7 [mType=GameEntityTypeBox] ptr=0x93c44b8
    Mon Oct 31 11:54:31 2011 LogLevelMessage: ent = 0x93c44b8
    Mon Oct 31 11:54:31 2011 LogLevelMessage: box[0] inertia = 0.000000, 0.000000, 0.000000
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Entity with id '8' and type '3'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering EntityPhysicState with id '8'
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Registering Entity with 8 [mType=GameEntityTypeBox] ptr=0x93c4b90
    Mon Oct 31 11:54:31 2011 LogLevelMessage: ent = 0x93c4b90
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering Entity with id '9' and type '1'
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Registering EntityPhysicState with id '9'
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Registering Entity with 9 [mType=GameEntityTypeNode] ptr=0x93c1720
    Mon Oct 31 11:54:31 2011 LogLevelMessage: ent = 0x93c1720
    Mon Oct 31 11:54:31 2011 LogLevelMessage: adding action 0x3fdda8!
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Camera Init
    Mon Oct 31 11:54:31 2011 LogLevelMessage: View Init
    Mon Oct 31 11:54:31 2011 LogLevelMessage: Resolution is 800x600
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Resize to: 800 x 600
    Mon Oct 31 11:54:31 2011 LogLevelDebug: Using GLEW version 1.5.7
    

    Grüße!
    Michi

  2. Is your graphics card OpenGL 2.X compatible? The library I use does not support OpenGL 1.X.

  3. Seems like my laptop doesn’t like #iftpop either and I get the exact same error. I hope to be able to fix it soon.