Increased Move Speed

There were some complaints before that the game moves too slow. I thought that I might address that now. I’m using a single speed multiplier variable so that I could increase move speed of every unit with just a single update. The speed stat of each unit is expressed as an integer.

    // I change this variable to affect all units
    private static readonly float SPEED_PER_POINT = 0.08f;
    
    /**
     * Returns the speed of the unit in world coordinates.
     */
    public float GetSpeed() {
        int finalSpeed = LevelData.Speed;

        // apply status effects
        for(int i = 0; i < effectList.Count; ++i) {
            finalSpeed = effectList[i].ResolveSpeed(finalSpeed);
        }
        
        return finalSpeed * SPEED_PER_POINT;
    }

Here’s a sample configuration of an enemy unit:

    <Unit name="Runner" type="Crawler" dealDamage="OnAttack" notificationOnAttack="CrawlerAttacked" value="2">
        <Level life="1350" damage="300" speed="7" attackRate="0.5" visionRange="1" reward="8" />
    </Unit>

I had to update the timing of levels as well because of this. The gap between enemy units has increased and this made the game easier to beat. The game is now a bit more intense due to the level design changes. I hope the players like it.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s