Tuesday, June 7, 2011

Screens of the day 06 - Floor saga

As promised, while I keep working on the larger features that prevent me from posting regularly, I'll do a few Screens of the day posts.

At the end of the post I'll talk about the first opportunity for you to mod the game.

I am making progress on updating the floor system. It is way behind with its design when compared to cells and item management. The new system is shaping up, but it is a little bit heavy on the memory consumption side. Let's look at the following screenshot:

The first thing to notice is that there are a lot of places without grass. This is of course for testing purposes only, since natural habitats will generally have an abundance of grass unless near some kind of special geographical feature. The second thing to notice is the new panel on the upper right corner dedicated to floors only. Here you can see an image with your floor tile, its name and in this case it will also inform you that it is a soil type. Then we have some small buttons that will be used to only give floor specific commands.

Bellow we have to grass percentage, informing you how much of the surface of the tile is covered with grass. Pretty high in our case. Lets see another one:

This floor has almost no grass on it. I only have two tiles right now, one for full of grass and one for none. I would like to have a lot of different tiles corresponding to different percentages, especially since I only have a handful of soils. You can't have grass on sand or rock. In a future update, the grass will continuously grow until you reach 100% on all surface areas, quickly covering cells where the grass has been removed. Right now the world is generated with random grass percentages for testing purposes.

Here you can see what information is displayed when selecting a ramp You get the floor panel, informing you that it is covered by something, so probably you won't be able to interact with the floor until you remove the blocking item. Then we get the old panel, informing us that we clicked on a ramp. This panel will be updated to match the new design of the floor panel.

This time the floor is covered by a wall. And here we have the same scenario, but the wall is stone, not soil:

Now, that I have a word list, I would like to implement random engravings. I probably need to cut down the list, since right now I have 1920 words that can be used as a possible subject of the engraved floor. But how to cover the graphical representation of a large number of engravings? Here is where modding comes in. I have added a new tab to the editor:

The editor will autodetect any images that are usable as engravings, and populate the appropriate tile field for a word used for the engravings. Right now all field are empty.

And here is where a first opportunity to mod comes in. I have not released the service and editor yet, but they are not needed. My blog and project are probably not popular enough to even get a single submission, but I would like to do the experiment even as such.

Let me clarify one thing. I am not asking you to do my job, create content for the game that I will use or anything similar. I would like to see what shape the game world takes with random submission from people around the Internet.

It is very easy to do. First you need to decide the subject of the engraving. It is based on dictionary form of singular nouns, like "cat", the noun form of an adjective, live "bravery" or the -ing form of a verb, like "eating". Then you take this word, add ".floor.png" to it to create a file name under which you store a random PNG image, 32x20 pixels dimension, with a single random background color. So you will get "cat.floor.png", "bravery.floor.png" and "eating.floor.png". I will not give you a word list, since the 1900+ common word list should have you covered.

Let me show you how the tile for turtle looks like, more precisely the file called "turtle.floor.png":

This is the most beautiful engraving of a turtle that anyone has ever seen! As you can see, the future of DwarvesH (no progress on the new name yet) is in good hands from an aesthetics point of view.

So if by some miracle someone wants to submit a sample of an engraving icon that will be applied to floors, I will use it to populate the engraving pool and feature the content in a new post. All submissions are welcome. You can create ore or more, just ZIP them or something on my mail address. Any content will do (but please nothing illegal). While some may think "My, if I invest this tile with the very essence of the beauty of my soul and marinate it in its light for three months, I will get the create the most perfect piece of ART THIS UNIVERSE HAS EVER SEEN!!!!", things thrown together in 10 seconds in Microsoft Paint (like the lovely turtle from above) are perfectly valid too. Yo can even get the name wrong and I'll fix it manually (but only this time; I don't want you forming bad habits :)).

I intentionally did not go into too much detail to test the robustness of the tile sheet creator. It should work with anything that you could possibly send me, as long it is a 32x20 PNG picture with a background color. This is why I can't try this myself, because I know what the system expects.

If this experiment is a success, I would like to extend the engravings system to allow for complex multi tile patterns, like a 6x6 tile pattern for throne rooms and other decorative patterns. But enough wishful thinking for now.


  1. what email address do we send these to?

  2. Also, does the background color matter at all? can we just use white? does it have to be tagged as a background color in the .png header, or do you just look a the color of the border tiles and then use that color as a background?


  3. The email address is dwarvesh.development@gmail.com. It should be public. Can you see it when you check out my profile?

    The color does not matter, but it uses the upper left corner color (pixel with coordinates 0 and 0).

  4. should they be in an isometric view or a face on view? kind of hard to tell from your awesome turtle.

    what about color? maybe all engravings should be black and white, so you can just tint it the color of whatever wall it is engraved into to look more like an engraving and not a painting. or the files could be in color and auto gray scaled then tinted. then you could also use them to lay over an image of a frame so you could have engravings or paintings on a wall.