Dwarfinator - Blog

Dwarfinator

Escape indicators

The final touch in the attack mode was the mob escape indicators. The point of this feature is that in the attack mode the player has an escaped mobs limit, upon reaching which the stage is lost. A mob is considered escaped after moving a certain distance beyond the screen border, either in the direction of the tank's movement and opposite, and the escape indicator is an UI element that allows player to track the number and type of mobs beyond this border, as well as the distance to them. In addition, the closer the mob is to escaping, the more noticeable its escape indicator becomes.

Tank movement effects

The attack mode is almost ready, which means it's time to add some beauty to it. Now the tank turns slightly in the direction of vertical movement, and its wheels leave behind tracks and lumps of dirt - the more, the faster the tank moves. Of the less noticeable features - there are small adjustements as tank turns to the angle of rotation of the guns, the position of the shadow and the speed of rotation of the wheels, decreasing on the side in which the tank is moving and increasing on the opposite side.

Poison sprayer in battle

And here's how the poison sprayer will work in battle. As you can see, it differs quite a lot from the previous guns: firstly, the sprayed cloud slows down over time and does not leave a certain radius around the source; secondly, the longer it exists, the less damage it does, both direct and from lasting poisoning effect; thirdly, in attack mode, the cloud is also blown away by the oncoming air flow, which further reduces the sprayer's radius; and fourthly, the cloud is sprayed not at once, but over a certain period of time, which allows to choose between the size of the affected area and the damage caused, rotating the gun during shooting.

Game cover

It is time for the game to get a cover. This is the image that will be displayed in your Steam library after purchasing Dwarfinator, and some other versions of it will find their places somewhere else on the platform. Creating the cover was something completely new for me - I had never drawn complete art works, just separate objects, and I had almost no experience in drawing characters in any other perspective than the standard in-game side view. So the result does not claim any high artistic value, but it conveys the spirit of the game, the characters, and remains within the same graphic style.

Shagarz

Here is, most likely, the last story character for the forest location - a harsh orc hunter named Shagarz. Ordinary orcish everyday life, filled with the worship of wooden gods, carrying out the orders of the grand shaman and turning into a pile of meat under the dwarf's tank onslaught, is of little interest to him. His thing is hunting, and damn, he's good at it.

As for his gameplay purpose, Shagarz will sell the carcasses of the hunted animals on the market. Similar to Whelp's rocks and logs, these carcasses are indivisible stacks of resources. There is also another type of deals planned for him in the future - but these plans are for the second story chapter.

Poison sprayer

Another part is being prepared to take its place in goblin extermination tools - a poison sprayer. The gun will be rather specific, with high damage and a wide damage radius, but effective only at close range, decreasing even more in attack mode. A kind of broom for cleaning those evil beigns that get too close to the tank. In addition, the poison only affects living creatures - shouldn't be a problem in the forest location, but against the undead in the next story chapter it will be of little use.

Range attackers

In attack mode, the behavior of mobs will not vary as much as in defense mode. In the end, all living or otherwise creatures in this mode want only one thing - to get as far away from Wilfred and his tank as possible, and there are not so many ways to achieve this goal. But shooters, for example, will still try to destroy the death machine while there is enough distance to it. Shamans and other mobs with support functions will also cast their effects on allies. However, as soon as they get too close to the tank, the instinct of self-preservation steps forward, and they stop any activity other than running away as fast as they can. This distance, by the way, is dynamic - the faster the tank moves, the more the range attacks distance interval for each mob will shift to the right.

Running mobs over

For now I'm in process of adapting the mobs to attack mode. This adaptation includes some adjustments to assets, setting up AI and state machines, as well as adding a bunch of new animations. Animations are required mainly for interaction with the tank, and that's what I got to show today. In general, mobs colliding with tank behave in a similar way to movable objects - the tank simply drags them along until they die, forcing them to use new animations both in the process of dragging and in the process of dying. The damage dealt depends on the speed and weight of the tank; the tank itself also receives damage and slows down according to the weight of the mobs being dragged.

But there are also differences - if a mob manages to get off the tank, it continues its combat activity, whether it's simply running away or using range attacks. If the tank overtakes a fleeing mob instead of running it over, it'll turn and rush in the opposite direction, towards the almost guaranteed escape from the dwarf’s wrath.

Scaring the mobs

At first my plans about mob spawn in attack mode assumed that mobs would run away from the main character’s tank from the very first second of their appearance on the screen. But then it seemed too boring and somewhat illogical - why would they all run away from something they haven't seen yet? So the starting behavior of mobs in attack mode ended up being randomized: some of them leisurely stroll in one direction or another, some saw a tank from afar and are already running away, some stand still, immersed in their goblin or whatever thoughts. And only when those who haven't seen the tank yet finally realize it's coming for them, they freak out and run for their lives. This way the location is filled more evenly, and the player gets a chance to shoot some of those mobs that are still running faster than the tank.

Axe time

Obviously, new characters mean new cutscenes. So I provided the first with the second. And somehow they ended up connected with a story of the Slaughtro axe, showing the story of how Wilfred did aquire it and its use in practice - quite bloody, I must say. As before, the presence of new characters in the story after the first encounter is purely optional, as the dwarf, in a fit of bad mood, is quite capable of hacking to death both Porck and Whelp.

This time I almost managed to keep from traditional modification of the cutscenes and their editor, apart from adding a new command to move the camera, using curves and an anchor, similiar to command moving actors, and adding an autoselection of command names, so that the accidentally entered "dialog_wilfred_5", when the cutscene already contains both "_6", and "_7", simply turned straight into "_8", instead of throwing an error. As the cutscenes in current state can easily contain a hundred or two commands, it’s quite easy to lose count in their names.