Wednesday, January 12, 2011

24 – Random stone explosion

A lot has happened since last post.
I managed to get in contact with the Stonesense crew and they gave their permission for me to use the tiles. While as time goes by it is becoming more and more apparent that 3D is the way to go, until that point it is good to know that I don’t have to worry about getting sued! All joking aside, I would like to thank them and wish them the best.
Also, special thanks to Jadael, who hooked me up with a sizeable set of graphics for all kinds of stones and stone objects. Now, I can’t let these resources go to waste, even if this means that I need to change my schedule a little.
And even though I said that I shouldn’t rewrite existing systems anymore, I really needed a new item system. So, on with the show!

New item system

I have a new item system that is faster, cleaner, more elegant, general and powerful that ever. The old was quite cumbersome and the new system also has the advantage of being a fully OOP system. So is it possible that I could have a new system that has only huge advantages and no disadvantages when compared to the old one? Well, if I was an idiot the first time maybe. Unfortunately I wasn’t, and as is often the case, you need to compromise and the gains of the new system come at the price of more memory consumption. Don’t worry, it is still under control and you will be able to run on a wide range of machines.
Another side effect is that workshops are broken, but they were placeholder anyway and they’ll be back.

Stone added to the editor

The editor has a new tab for stones. I added 80 kinds of stones, all with unique graphics. I’ll take some time and finish the basic stone system before I move on with what I had scheduled.

Maps now use stones randomly

Well, if stones are present in the editor, they must be present in the world too, right? For now, they are just randomly placed, but by next version I should have some basic layering done.

Stones can be smoothed and then engraved

That’s right! Two new actions for your dwarves! They are not that useful yet, but once you get the ability to carve out furniture (next post), you will be almost at the point where you can create a real fortress, not just an empty tunnel in the ground. All smoothed and all engraved stone kinds have unique graphics.

Plants have seeds

The plant editor has some extra fields, where you can edit what plants have seeds, how they are called and if they are available for purchase by new expeditions.

Expedition supplies customization dialog extended

The new expedition supplies customization dialog has been extended with seeds, but the big new feature is that it now uses the new item system allowing for more control and it now also track and groups together identical items, giving you a better overview.

Better cell inspect feature

Again, thanks to the new item system, the little panel that shows you what is under your mouse just got a lot better. Let me show you a montage of different information it can provide:

New mining scheduling algorithm

This new algorithm is quite experimental, but the old one had one big problem. If you would designate an area with unreachable tiles, these tiles would be removed from your designation and thus ignored. Not cool. The new system determines if the tile is reachable, and if not, it ignores it only for the moment. As soon as it becomes reachable, the dwarves will carry on with their given task. If the system proves itself a success, I will apply it to all tasks, not just mining.

Things to come

For my next post, I’ll do my best to give the final polish to some existing features, add stone layering and stone carving and create a tutorial video on YouTube, which will walk you thought the beginning phase of a new game and the existing features. Existing videos are old and not quite representative anymore.

1 comment:

  1. I am very impressed, I will have to keep up with your development. I have been spending 2 months building a render engine from scratch and what you are pumping out with Irrlicht. I hope the best for you and I might have to take some of your advise and use a 3rd party rendering engine,