Dwarfinator - Blog

Dwarfinator

Wilfred's appearance switching

The trick with changing Wilfred's appearance is ready - from now on, after a certain point in story, he gets a new look, both in cutscenes and in the cockpit of the tank. In the case of cutscenes, everything is simple so far - since they are all sequentially distributed throughout the story, starting from a specific moment I simply use another asset - although in the future there is possibility of implementing cutscenes not tied to specific moments with a dynamic choice of the main character’s model. As for the tank - I had to put some work in it. Now the engine picks dwarf's model based on unlocking of certain story flags, places it in a chair and binds it to its animator. And by excluding the hero’s model from the engine assets, I obtained the basis for the feature planned for the next story chapters - additional engines in the tank without the dwarf sitting in them.

Forest Wilfred

The idea of gradually change the appearance of the main character through the story hit my head quite some time ago, but it remained rather in the “it would be cool” section. What made me bring it to light and implement was the recently written cutscene of the victory over Bonecracker, in which Wilfred needed an axe. And if you give a dwarf an axe, he's going to ask for some armor too. So in the second half of the forest location, Wilfred will be a little more protected and dangerous even without a tank. At the same time I slightly updated his basic appearance - no drastic changes, just added a little depth. Actually such update would not hurt a number of other characters and mobs, but whether their turn will come is still unknown. But for Wilfred, as the main character, and besides, drawn 5 years ago by me, who just recently took a pen of a cheap small tablet in hand at that time, this was clearly necessary.

Whelp

I have another minor character here - meet Whelp. Son of Bonecracker, so untimely left without his dad by meeting our brave dwarf. As he couldn't find a better use for himself after this tragedy, Whelp starts to bring boulders and logs to the Casimir market, earning himself a meal. It's gameplay purpose on the market is to sell stone and wood at low prices, but in large indivisible chunks - you won't be able to buy 1 piece of wood from him, only the whole log.

Cutscene aspect ratios

And the last point regarding different aspect ratios - cutscenes. Due to the two-dimensionality of the game space (more precisely, to the fixed direction of the camera relative to it), just expanding/shrinking the frame was not enough. There was still an option to simply fix frame size with black stripes, but that would be too boring. Therefore, I added to the commands of moving and teleporting actors the ability to bind the target position to the camera by anchor, borrowing the idea from RectTransform component in Unity. Thus, I got the opportunity to send the actor, for example, "to the left top corner of the screen", "beyond the right border" or "slightly to the right and below the center", and with its help I adapted the existing cutscenes to any screen width. Here some example screenshots of defeating cyclops cutscene with a whole pack of female goblins, dead and not quite.

Aspect ratios

Following the progression screen UI the rest of UI elements and the gameplay itself were also adapted to different aspect ratios. I should probably explain more details about the last one - the original concept of the game meant fixed position of the camera, with the battle field exactly fitting the screen. And as the mobs spawn beyond its right border, their path to the player base would take much less time at 4:3 aspect ratio than at 16:9. In the first prototype I've compensated this issue with mob speed adjustments, to keep the base reaching time the same at any aspect ratio.

However, with the real graphics it turned out that at the squarest aspect ratio the base take almost half of the screen, and the difference in the distance between base border and screen edge to the widest one reaches 4 times! Simple speed adjustments don't work well at such rates. So now the battle field has fixed size for 21:9 aspect ratio, and at the aspect ratios more narrow only part of it displays at the time, enabling moving the camera to its borders. I've developed three with a half different ways to control that movement, which one is better only time and players will tell, for now there is a switch for it in the settings window.

Updated tabs

After recent changes in progress screen UI, I had to put some work into existing tabs adjustments. At the same time I've finally added adaptability to them, so now they are adjust to any aspect ratio from 5:4 to 21:9. Also I've fixed a couple issues here, added a small feature there - for instance, the tank preview in equipment screen now can be zoomed and moved, and the skills and blueprint trees show their centers instead of top left corner on opening.

Map screen

Absence of the map in initial game design played a cruel joke on me - there was no place for it in existing UI. I spend some time in fruitless attempts to add an extra screen alongside to progression screen, but in the end I've submit to need of revision initial design. So all the tabs, including a few new ones and the map itself among them, now are switching from the bottom part of the screen, resources shown on top of it, and current stage info was enriched by selected game mode and moved to the stage start button. Thus, the map tab is finished - that's where stage and game mode selection now happens. It also shows current progress - as you move through story mode and unlock new stages, the paper and ink version of the map blooms with bright colors.

Attack skills

The next branch of skills - the attack branch - contains skills that are responsible for increasing the damage dealt in various ways, from direct damage multipliers for weapons and spikes to active attacking skills. For example, there is a skill that increases the damage from each subsequent hit on the same enemy, or a skill that increases the accuracy of guns. Among the active skills there is a buff for a percentage bonus to projectile impact damage, and something new - the Salvo skill. For a certain amount of energy, it causes all the tank's guns to fire at a certain area for a short period of time, with highly increased fire rate. The guns that were switched off at the time of activation also participate in the salvo, and the base energy consumption of guns is absent during it, which allows this skill to become an alternative way to use guns that are too expensive in terms of energy usage.

Map

Actually, at first I didn't plan to visualize the progress of the game completion at all, and the only thing that supposed to change during it was the number of the current stage. However, when I designed additional game modes, besides simple story progression, the map turned out to be the most convenient way to access them. So I had to draw one - and here it is. Unlike most of the rest content of the game, the map is already complete and includes all the planned story chapters. So far, it is just a picture, but I'm already working on implementing it into the interface and adding the functionality required.

Captions

The next feature was planned a long time ago, but I found some time to work on it only now. Behold the floating captions! Made specifically for those who want to know exactly how much and what types of damage that orc received with the stone hitting his head, how much and what valuables dropped from the goblin scavenger, how much health the cyclops restored by devouring the goblin slave, and what kind of strange movements does the goblin with the stone sword. Almost everything is accompanied by captions now - the damage dealt and received, dropped loot and experience, restored health, critical hits and some mob abilities, such as dodging. To prevent the screen from becoming total mess - all of these are configurable, you can switch showing damage by types to just its total value and each type of captions can be turned off - the settings window now have tabs for this. In addition, damage of various types and healing done sequentially, instead of creating a new captions are grouped into one.