Wednesday, February 16, 2011

27 – Story and trees? Or a story about trees?

I have encountered two little obstacles in the development that I have to deal with. While describing those, changes and new features, this post is going to be more old-school free form, not so structured like the last ones.

First obstacle is that I am severely lacking graphical assets. Even where I do have meshes, they are not textured and generally I do not have adequate meshes yet. The sheer number of the meshes makes it impossible to finish the job in a useful timeline if I don’t contract some for them. It is surprisingly difficult to find a good freelance artist but I’ll continue my search.

The second obstacle was created by people discovering my project and overreacting in typical Internet fashion before getting informed about the subject. There are plenty of patient and rational individuals out there, but a large number of people took one look at the videos and they decided that DwarvesH is just a DF clone or that I stole the code. It is hard to explain the phases of software development and why DF data is the perfect test case for my engine, but now the situation is under control and there are polite discussions going on.

So since people have no patience for my pragmatic plan that involved coding the engine technically first and then starting to create the content, I’ll change the way I am doing things around here. While I could go on the way I did, even if by the time my project got finished I had a unique take on this genre, with original content and gameplay mechanics, it would be of no use if I have alienated the entire online community. Negative views spread faster than positive ones and they can be quite contagious.

From now on I’ll pick from all the features that I have planned the original and “flashy” ones first. Bear with me, this is not as superficial as it may sound to some of you when first reading. I would argue that it is not superficial at all, since I am just reordering tasks so I implement elements that I know that are original gameplay wise first, while at the same time giving me time to write new content, which is a time consuming task. I will also pick from these features the ones that are easier to code or built upon starting from the current engine, so you don’t have to wait while I create a new foundation before I can post something about new features.

I have a lot of planes that I did not talk about before since I knew that I would not be implementing them yet and I didn’t want to do a bait and switch.

One of the big differences that require a lot of work but barely any coding is that I am going to have a story. Or more like a setting and a framing device. Generally such city simulations allow you to play from the perspective and with the invisible hand of an all-knowing god. You see the full map and are able to take decisions and influence everything. This will stay the same, but it is implied that these changes happen and these tasks are designated because your expedition leader says so. You will have a “player character” and you will be role-playing this expedition leader. There is quite a bit of back-story. The mighty nation of dwarves has been at war with a named but unseen (by the player) foe for decades. There were periods of peace following major victories, the last one being almost a decade ago, when the dwarven nation scored a crushing victory and your character was declared a war hero. Since then, major conflict has broken out again and this time the dwarves are having a hard time facing their enemies and resources have become scarce. Your character is no longer fighting. In the period of semi-peace between the two major war efforts, there was a major “falling-out” between your character and the nobility of the dwarves, getting striped of rank and possession and jailed for life. Only the fresh memory of the heroics done in the past and fear of former allies you had in your days of glory have kept you from getting executed.

But recently, a very prosperous but dangerous area has been discovered, that not only seems to be rich in adamantium, but the much coveted Tears of Tara’Zul. Two expeditions have been butchered there and there are no resources to spare for further failed attempts. This is where you chance comes in. You are offered a royal pardon from your imprisonment and offered freedom and full administrative privileges over the new region. But basically you are exiled there and are expected to defeat what foes have butchered the last couple of expeditions  there and create both a powerful fortress and a gateway into these new rich lands. And it is the secret wish of the nobility that you will die trying!

OK, not award winning writing here and this is a fairly cliché story, but here is the thing: you don’t need to. This is a sandbox game after all and too much narrative structure would get in the way of that. And it leaves just enough holes so you can role play. Your character is not given a name or skill set. Why was he a war hero? A feared warrior? A brilliant tactician? Master of creating new settlements in hostile territory? The only given is that you are supposed to be skill wise a good choice to head this new settlement, especially since everyone else who could fill your shoes is off to war. What was the cause of falling-out? Did your character try to defend someone against the wishes of the nobility? Did he get fed up with the horrors of war and desert? Did he turn against his former mentors? Did she take advantage of the chaos of war and do some terrible and cruel deeds while leading the army to victory? It is up to you.

So your character is a dwarf on mission. A personal mission of regaining lost honor or revenge against his foes. And on a royal mission. Your primary mission is to survive together with your expedition. And build a successful fortress in a tactical position. And supply the dwarven nation with resources. There is not going to be an envoy that periodically comes to trade with you peacefully. No, this a royal task force that will inspect the progress you are making and make sure you are not planning a revolution,  and while they will trade with you, they expect you to supply them and do your part in the war effort with resources and finished goods. This requirement won’t be too harsh, allowing you to expand the fortress whichever way you please as long as you can send a few uncommon goods back.

Your character will also get more skill points and be able to raise starting skill higher. This is already implemented. You can also customize his or hers inventory. This would be easy to do using the means to customize your starting expedition in a few lines of code. The only reason why I did not do it yet is that I have no items that would be worthwhile to give him. I want you to give him clothes, armor and weapons, maybe customize his look, and not give him a sack of mushrooms. On the other hand, maybe a sack of special mushrooms would make planning the fortress a lot easier.

This also means that your character will be more important to your success than the other dwarves. You will have to weigh the risk of using his advanced skills vs. exposing him to danger and losing him. If he dies, a new dwarf will be sent to the fortress and take over as expedition leader.  You, as a player, will still remain in control though. This new dwarf will have random skills and offer no perks or additional bonuses as your character did.

There is lot to still talk about this subject, but this post is getting long so let me continue with other changes. I have removed the tree regrowing code. No, when first embarking, you will still have trees, but if you cut them down they won’t grow back. Actually, I am making trees take longer to regrow as now, but for now I’ll just remove the code. When I have enough gameplay to last you years of in game time, the time it takes for trees to grow back, I will re-enable this feature. On the other hand, trees now have fruit. Not all of them, but most. Fruit can only be eaten for now. Since I did not have time to come up with clever names, all fruit is named after the tree it is from followed by fruit.

What will you do with this excess food? Well I am making food requirements a lot harsher and realistic. Dwarves will need 3 meals a day. And cutting down an elephant won’t be a frikin’ jackpot of meat that lasts you 10 years. The yield that you get from trees may not be that much, and you may only get one from a tree species every year, but it is there and is reliable. It will help you keep your dwarves well fed, while making the decision to cut down a tree or not more interesting. You may gain wood and fuel for now, but you lose a long term food source. Extra tabs for fruit have been added to all adequate windows.


  1. Don't let foolish people get you down. I am a fan of dwarf fortress and I am sure to be a fan of this as well. You can be excited about both. Keep up the hard work, I am looking forward to this. I just hope other people will begin to take your lead and decide to start making fantasy simulations more richer and up to date.

  2. You are doing well and programming exactly how you should, as a fellow programmer I know exactly where you are coming from when using other well known work for testing. Ignore the ones who bash your work, because they do not understand programming methods. I'm quite excited for this and do not do content first, it will mostly just be useless because people want progress not just "I have this stuff I want to do look at me".

  3. This sounds really great!

    As far as i can see this isn't going to be a DF clone but clearly a competitor.

    Keep up the good work!