Defining Awesome — 2011 — February
  • Status Updates

  • Posts from February 2011

    February 25th 2011

    I’ve burned for the week. There is one major network bug still to be fixed. I estimate I’ll get it done and release in the beginning of next week.
    Meanwhile the Dev Branch version has been released to the happy alpha testers.

    February 24th 2011

    Health & armor system

    Link-Dead is very detailed about the health system. Each limb has its own health parameter. This plays a bit different than most games (including Soldat). For example a weapon that requires 2 shots will require two shots at the same spot in order to kill. If you shoot at different spots you will just hurt each limb instead of killing. Fortunately I introduced wounds:
    – on legs: slow you down
    – on arms: make your aiming really hard
    – fatal wounds which make the the dude slowly die from bleeding

    The armor in the next version will be a bit different. First of all it can be placed on any limb you want. If you shoot at the armor it doesn’t decrease your health it just damages the armor. So every armor piece has its own damage parameter. If it is destroyed completely – the armor falls off (you can actually see the armor falling off). After the armor falls off flesh is exposed, if you shoot at that, it will kill the guy. This also brings new mechanics to the gameplay. For example a fully armored guy will be very resistant to explosions. Because only the armor will take the damage. So is he really tough? Yes and no. Because it is sufficient for one armor part to fall off to expose some flesh. If he has just this tiny hole, the explosion will tear that flesh and kill him. Cool eh?

    February 22nd 2011

    Bug fixing and tweaking is nearly complete. After this I still need to finish the Nuclear Plant map & draw guides for the new features. I’m thinking of releasing a test branch of the game besides the public release. I could update that frequently but it would be more confusing with all the unexplained new features.

    February 21st 2011

    Packing floats

    This is a post for coders.

    Here are 4 useful inline routines to decrease the size of a float by 50% (from 4 bytes to 2 bytes). I use them to pack every float in the game that doesn’t need big precision. Actually none of them do. So positions, velocities, cursor points are all packed (starting from the next version).

    typedef unsigned short u16
    typedef signed short s16
    typedef float f32

    // packs floats in the range of 0.f -> 32776.f/base;
    // in this case base = 100.0f so range 0.f -> 327.76f
    // when packing floats in this way you need to make sure they stay in this range
    // that is the cost of packing

    inline void packfloatu16( f32 x, u16 &y, f32 base = 100.0f)
    assert( x <= 32776.f/base ); x = min( 32776.f/base, max( 0.0f, x ) ); y = x * base; } inline void unpackfloatu16( u16 x, f32 &y, f32 base = 100.0f) { y = (f32) x / base; } // the same routine as above for signed characters // this is very good for packing velocities, since they rarely // become very large inline void packfloats16( f32 x, s16 &y, f32 base = 100.0f) { assert( x <= -0.5f*32776.f/base ); assert( x >= 0.5f*32776.f/base );
    x = min( 0.5f*32776.f/base, max( -0.5f*32776.f/base, x ) );
    y = x * base;

    inline void unpackfloats16( s16 x, f32 &y, f32 base = 100.0f)
    y = (f32) x / base;

    If assert() doesn’t work on your system, replace it with ASSERT or whatever the equivalent is. You can also remove it entirely since it is only for debug.

    February 18th 2011

    Bug fixing, bug fixing… I couldn’t resist the routine and added chat taunts and commands to the action menu. Would be cool to record these by some talent that can do mutant voices…

    February 17th 2011

    Weapons as real objects

    One of the biggest additions in the next release will be guns as real physical objects. So now when you drop a gun it actually falls on the floor instead of disappearing. I added this a couple weeks ago and it launched an avalanche of changes. Because now I had to tweak everything to meet this standard. So picking items off the floor is a bit different (you can do it from different positions, not just by standing next to it, even in air), clips fall out from the gun, shells have sounds;
    weapons can be shot at – this has 2 effects:
    1. If your fatigue is high the weapon falls out of your hands. (the gun being shot at also rises your fatigue, cause it hurts)
    2. The weapon can be actually used as a little shield; this makes more sense with melee weapons which actually have a block animation (press UP [W] to block).

    February 16th 2011

    Gun resting

    Normally when you fire an automatic weapon you have to deal all the time with big recoil. To compensate that you can use a bipod to place it in a firm position. I haven’t yet done a bipod attachment but what I did is resting the gun (is that the proper term?). You can just put the gun against a window frame, barrel or any other object at shoulder height. This pretty much eliminates recoil. Take a look at the picture:

    Just place the gun on a horizontal obstacle and the gun “locks”. The circle cursor indicates that the gun is resting. This seems pretty cool now, but we’ll see how it plays when this version is released. I’m currently wrapping everything up and I hope to have everything ready at the end of the week. I encourage anyone that hasn’t payed and downloaded the LD Alpha yet, because this is a one-time opportunity to participate actively in the development of the game (before the beta is finished). Working with a team of fans is much more fun than doing this game alone. So if you have cool ideas, c’mon!

    February 15th 2011


    This is what I meant by glass wall, its actually a window:

    February 14th 2011

    Some things I’ve added lately: GUI config file; hotkeys for backpack items; shell fall sounds; glass wall

    February 13th 2011

    Picture tutorials

    I decided that the video tutorials aren’t such a great idea. The controls in Link-Dead aren’t that complicated (especially in the next release it will be super simple). Sometimes you just need to take a look for a second to know what to do. So the best way to do this is a picture.

    Take a look at these example picture tutorials and tell me what you think. I want to make more of these for each movement/action and put them in some sort of Field Manual which would be available under F1.