About this blog
Stories about writing a game that started as a hobby and changed to consume all my free time.
Entries in this blog
The last Alpha release of Lord of Dwarves was very playable. Most of the game features are in, however there is still a lot of work to be done balancing the game and making sure the pacing feels fun and challenging.
For the last two months I’ve been working on some of these balance & pacing issues. Below I will talk about a few specific gameplay aspects that were not working and how I’m changing them to make the game feel just right.
Originally dwarves had 16 skills they could level up. This large number of skills encouraged the player specialize their dwarves in the wide variety of skills but then punished them when they wanted to focus many dwarves on a task that required only one of those skills.
As a result I reduced the number of skills to 7: Hauling, Labor, Crafting, Cooking, Smithing, Needlesmithing, and Engineering. Now the player can have their dwarves focus on collecting wood one day, mining deep the next day, and building a castle on the third. These are all jobs that laborers excel at so they can switch between them while still benefiting from their labor skill value. As a bonus, 7 skills are much more approachable than 16.
This is an issue I’m still wrestling with but I’ve come up with a system that I’m liking more and more. Previously I created a novel wound system where wounds would be applied to individual body parts in 3 severity levels: minor, severe, and grievous. There was nothing wrong with how this system worked it was just more detailed than it needed to be. From the players perspective they just needed to manage doctors and make sure they had enough bandages. The actual wounds were mostly irrelevant. The small benefit of flavor to know that Stouthammer got a leg wound from a goblin just didn’t fit the pacing of the rest of the game.
So I decided to switch to a modified health points system. Now the player can focus on the supply chain for fixing wounds without having to worry about individual wounds. Although less novel a health points system is simple, immediately understandable, and frankly, fun.
Additionally I also added “armor points” based on a dwarfs equipped armor. These armor points are lost first in combat and recover quickly after combat. This also has a rewarding side effect. Now when a player goes to all the effort of crafting a suit of armor they can immediately see the benefit of all the work as the dwarfs armor points increase.
Previously if the player wanted more dwarves to join their kingdom they needed to craft beds to accommodate the extra population. Low tier beds could only increase population so much before the player had to collect rare materials for higher tier beds. This system was novel and granted a good progression feeling. However it allowed for no diversion in gameplay as it forced the player into making a ton of beds every single game.
I have since replaced the bed system with a Renown system. The dwarven kingdom has a renown value based on the value of various things in the kingdom. The player can actively increase their renown in a number of ways. Crafting items (chairs, armor, statues, etc), building structures, and domesticating animals all increase renown, which in turn increases the population.
Now the population will increase no matter where the player focuses their attention. Focusing on combat and building arms & armor will increase renown. Likewise avoiding combat and focusing on building structures will also increase renown. As long is your kingdom is growing in some way your population will too. Now the player can try a different play style every game and still progress.
Monsters now drop loot! Well to be fair they dropped weapons & armor before, but now they also drop coins, meat, and the occasional rare item. Previously killing monsters didn’t have much of a benefit – except you know preventing civilians from being murdered.
Now the coins gathered from monsters can be used to purchase items from markets. Or they can be kept in a vault underground for the boost to renown that they provide! Additionally the player may want to attract more monsters for a chance at rare loot.
Building great structures is a very important part of the Lord of Dwarves feel. In addition to looking cool these structures are functional as they hinder and slow invaders from getting to the dwarves. But building them was always too slow.
To build a tall wall dwarves need a boost to get up to the high blocks. This boost is provided by scaffolding that the dwarves can set up. But if the wall is 10 blocks tall by 10 blocks wide that’s 100 scaffolding that needs to be crafted and individually placed next to the wall. It took forever!
I’ve recently improved scaffolding so that when a dwarf emplaces it, it creates scaffolding three blocks tall. Now only one third the scaffolding is needed. Additionally better quality scaffolding covers more blocks, up to 9 blocks tall. In this way the dwarves can quickly cover a wall in scaffolding allowing them to build a wall in a much more enjoyable time frame.
In Lord of Dwarves the player harvests resources, collects them, and then uses them in their crafts. Collecting those resources could be very time consuming. If felling a forest generated 100 logs, each of those logs would need to be fetched by a dwarf and brought to a storage area. After about a year of gameplay the player would often have 2000 or more backlogged items waiting to be gathered.
A elegant fix to this was to allow dwarves to carry multiple items at once. Now a single dwarf can go out to the forest, pick up three logs, and bring them back nearly tripling their efficiency. Additionally as dwarves get stronger they can carry more and more requiring fewer and fewer dwarves to do the same job. This change has greatly increased the players ability to maintain a clean kingdom and an efficient production chain.
Those are some of the major systems I’ve been working the last few months. There are numerous minor systems I’ve also been improving like roads, storage priority, soldier uniform efficiency, and even multi threading the path-finding code. Lord of Dwarves is a big game and I’m trying to get the feel just right before I release it. Wish me luck!
For the first time in three years of Lord of Dwarves development I sat down and played an entire scenario from beginning to end. Naturally I've been playing the game in bits and pieces as I develop it, but this time I set up a scenario and set out play it till the climax. No stopping to fix a bug here or tweak a UI there. And you know what, I'm happy to say it played really well.
I started out by creating a Sandbox game with a 'climax battle'. The goal was to prepare my dwarves for a goblin invasion in one years time. A year was a pretty quick timescale for an climax invasion but as with most fool errands I began with confidence and bluster.
Workshops & Crafts
I started by gathering wood and other resources followed by building some basic workshops. There are many workshops that allow crafting of tools, cooked food, arms, armor, and many other things my dwarves would need to prepare for an impending goblin invasion. I even had time to plant a nice grove of trees (note: I did not have time to plant a grove of trees. I should have been crafting swords. This was foolish).
Underground Living Space
Dwarves prefer to sleep underground rather than on the surface where - as every good dwarf knows - they risk falling up into the stars. As such I dug a staircase down a few layers and mined out a living space for my dwarves complete with kitchen and brewery. No dwarf should be forced into battle without a good ale in his hand.
Once the living space was dug out I had my miners dig deeper to find stone and eventually tin ore. I envisioned using the stone to build a castle wall around my village. And the tin I would use to craft armor that my warriors would need to survive the coming invasion. I was sure the acquisition of tin or would more than make up for the loss of a few miners to giant underground spiders.
Castle Wall & Farming
I started building the castle wall to protect my village. Meanwhile my farmers were hard at work setting up crops as a long term food source. Mean-meanwhile the deer were helpfully eating those crops that my dwarves probably didn't need anyway.
Abbreviated Castle Wall
I imagined a tall castle wall with a archer tower on each corner. Back in reality my one year dead line was quickly approaching and I had to "abbreviate" my castle. One or two blocks high is just as good as 7 or 8, right?
Once the goblin invasion started I quickly ordered my archers to the north tower with a reserve of arrows ready to go. Did I forget to install a front door?
That's a lot of Goblins
I didn't recall how many goblins I programmed to be involved in a climax battle. It turns out that I programmed one crap load (see picture). That's a crap load of goblins coming at my small force of dwarven defenders. I'm sure it will be alright.
That's a crap load of goblins
It was not alright. The dwarves put up a good fight but in the end there were just too many goblins. Next time I'll build a better wall. Next time I'll craft some better equipment for my soldiers. Next time I'll have fixed that bug where my archers walk all the way to the south tower to refill on arrows when there were plenty of arrows right there!
Back to Work
We all wish for features that never make it into the games we play. One of the nice things about playing your own game is that you can just go change it! Over the course of playing this scenario I took notes about things I would like to improve - balance changes, features, UI, etc. In all I wrote down 53 notes to myself from this one play through! Time to get back to work.
If you'd like to learn more about Lord of Dwarves check out lordofdwarves.com
Or see my latest screenshots on twitter
Lord of Dwarves is my hobby project turned mild obsession.
Lord of Dwarves is a resource gathering and city management game in a fully constructable/destructible 3D voxel world. It has a focus on building building custom 3D structures and defending them against hoards of invading monsters.
Lord of Dwarves started as a hobby project in 2013. I soon found myself working on it way to much to call it a hobby anymore. I've sense been greenlit on steam and have been spending all my free time on it in an effort to get a first alpha release out there.
Lord of Dwarves is a city management game where you task a band of dwarves to gather resources, craft items, and build huge structures. It is set in a fully 3D voxel world and allows for custom construction & destruction of every block in the game.
I started making Lord of Dwarves with a few key features in mind.
Easy & Epic Scale Building
In Lord of Dwarves you can easily click and drag to edit a huge selection of blocks. A few simple clicks and your dwarves will have orders to build a massive structure. Task your dwarves to build anything you imagine!
What's the point of building an epic castle if you cannot test it against hoards of rampaging orcs? Lord of Dwarves supports sieges where monsters will test your defences. They bring ladders to climb your walls, tools to breach your floors, and axes to find your dwarves. Archers to the walls!
I've already completed the first two levels of the campaign which also act as the tutorial. I'm pretty excited about some fresh game play objectives that the campaign will have. For example in the end of the second level you must build a tower out of granite blocks with the following properties:
at least 10 blocks high
uses at least 130 granite blocks
has a ladder to access the roof
manned with with at least 4 archers
Once built and maned a small party of goblins will attack test it's defensive ability!
Lord of Dwarves also has an extensively customizable Sandbox Mode which is already 80% done. Control monster levels, resource abundance, terrain topology, and much more. You can even create a 'constructive' mode where there are no monsters and you can focus entirely on building.
I'm really excited to get Lord of Dwarves out to people, I hope you're excited too!
Check out my website www.lordofdwarves.com
Check out my twitter
I've had my head down in my code for so long I almost forgot I need to show people all the work I've done!
I'm making an indie game called Lord of Dwarves. It's a dwarf management game in a completely constructible/destructible 3D block world. Gather resources, grow food, & craft hundreds of items. My focus for the game is the ability to build a custom castle and then see how it holds up against hoards of monster invaders.
I started on this game in 2013 and (pause to run my line count program) have created 291,043 lines of code. Thats over 10 million characters (yes I've changed keyboards).
One of the most amusing things about creating a program so large is that the game systems start to interact in surprising ways. When I added beds to the game, I programmed the dwarves to find and sleep on them instead of the ground. I didn't realize at the time that the animals AI still used some of the dwarf AI code.
I ended up with the situation below.
Deer confused with proper use of bed pillow
Suffice to say my dwarves were waking up with stiff backs while the animals were getting well rested bonuses.
Another time I taught the animal AI to find and eat the dwarves' crops. The idea is that the player must task their dwarves to surround their farms with a gated fence to protect them from hungry deer. Little did I realize however that the deer were using the same code as monsters for movement. This included the ability to break down doors and gates for siege play.
So I go to test the fence code and watch as a deer casually walks up to the gate and proceeds to tare it down in one kick! He proceeds to help himself to his fill of crops and then casually walks out over the splintered remains of the destroyed gate.
While not great for the final product, unexpected emergent behavior like this is can be quite funny to experience. I'll leave you with a picture of another deer flexing his (unintended) beer drinking code.
"Ye better be bastin' yerself deer!"
If you'd like to learn more about LordOfDwarves check it out at lordofdwarves.com
Or see my latest screenshots on twitter