Thursday, March 17, 2011

Screens of the day 04

So I was like editing away in my awesome editor, finalizing the fruit list, and I discovered a problem with usability. I found that I was changing tabs very often, going from trees to seeds to leaves to trees to fruit to leaves to... you get the idea. Unless you really had the full list memorized, there was no way around it. And I also had some problems with some kinds of plants. Cones are the ones who come to mind. Cones are technically not fruit. Yet they have a lot of similar properties. I could have skipped cones, and only go with the seeds. But I wanted to add the cones.

So I ended up redesigning the editor. since I don't want to repeat the mistake from last time (doing something and realizing mid-post that there is a better design), and since plants tend to shift around a lot until I find the perfect model, I am going to use the freedom offered by my "Screens of the day" topic to cover these changes.

So let us take a look at the new layout:

The list of trees is available at the top, but below now you can find a list with all the biological (or not) products that the currently selected tree produces. Let us see how we read this list for the acacia. First, you have the acacia leaf. It is available in all months and there is a new field that says what type it is, in our case a leaf. So acacias have leaves and it is not deciduous. All other field are gone. It has a result field. If an item has a result field, based on its type you can get somehow to that result. In the case of plants, you plant them. If the leaf would have a result that is different from -1, you could plant those leaves. As you can see, with this system I have fully done away with all fixed slots. You just have a master plant a list of things it produces or has. 

Then we see that the acacia has pods. Pods are the fruit, but you do not need to give this information in the editor. I am yet to decide if giving this information would make things more clear or not. The engine does not need it. The result is again -1, so you can't plant pods.

And finally, acacias have seeds. These are plantable and the result is an acacia. I hope it is clear how this system is as flexible as I wanted it to be. To reiterate on my old example of trees that grow diamonds and result in battle axes, all you need to do is add a new item to the list, name it diamond, give it a high value, a diamond tile, change the type to precious stone and change the result field to battleaxe. There are still a few problems, like diamonds having properties that may or may not show up in the tree produce list, but I'll find a solution for that. Another example of the non traditional tree is the money tree.

Here is another example:

Alder trees have leaves, cones and nutlets. These are not edible, like in the case of the acacia. There is no extra information to distinguish the cone from a normal fruit as it is not needed within the confines of the engine.

So what do you think? I think this system is a wast improvement on the previous one. There are still a few a few quirks to iron out. And I don't know if I should remove the old tabs that show you the leaf, seed and fruit list.

Anyway, I am very close to finding the final model and finishing the editor. I promised a video on YouTube about it, so I need to hurry.


  1. the new editor structure looks better indeed- it seems easier to use.
    How about splitting the editor window in 2 vertical sides? this would put the leafs/cones/fruit/seeds/.. on the right-hand side of the window. so in case you ever have a tree (or any other item) that has more produces you can always extend the list downwards without having to scroll so much.

    just my 2 pence today :)

  2. Hi simo!

    I think that splitting horizontally makes more sense than vertically, since almost always you will have more trees than entities that a given tree produces. But I agree that there is a need for more flexibility, so I added a splitter between the two tables. The splitter defaults at 75% horizontally, but you can adjust it with the mouse. If you need a larger surface, just drag and resize the tables.