Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: World Gen Editor [IDEA]  (Read 4250 times)

timmeh

  • Bay Watcher
    • View Profile
    • My Portfolio
World Gen Editor [IDEA]
« on: August 19, 2009, 08:18:24 am »

Seeing all the amazing addons for Dwarf Fortress (Dwarf Therapist, Dwarf Visualizer, etc) inspired me to make one myself.  I have very little programming experience though, so I knew from the start it would likely have to be something simple, something related to the text-file parts of DF rather than memory editing. 

My basic idea was this, at the moment the interface for editing world gen parameters is less than ideal, scrolling through a big list with the keyboard, and the file format is simple enough.  I figured that designing a decent World Gen Parameter Editor (that's a mouthful huh) would make a decent project.  Even if it doesn't turn out useful enough for the community to use, it would be a good way to expand on what little I do know. 

Unfortunately, if you were to compare what little I know about programming to what I know about interface design then I'd look like I could program as well as Toady...  so any help with the UI design would be great.

tl;dr - I want to make a World Gen Parameter Editor (jeez that's irritating to type...), but if I designed the UI it would be completely un-usable, so I'd like ideas from the community.  Is it even worth my time?

If I can get this small project off the ground, I may try adding a world-painter style tool to it... maybe add some of the tools/options I think would have been helpful in the real one (I.E. smoothing, raise/lower terrain, etc.)... any ideas for this would be great too.

Thanks
Logged
On the Wall is a Masterfully engraved carving of Urist McHardcastle and Goblins. Urist McHardcastle is surrounded by the Goblins. The Golbins are stamping on Urist McHardcastle. Urist McHardcaste is laughing at the Goblins. The carving related to the prolonged and bloody death of Urist McHardcastle in the Fall of 1659, the Winter of 1659, and the Spring of 1660. On the engraving is an image of Cheese.

Dae

  • Bay Watcher
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #1 on: August 19, 2009, 08:23:25 am »

I think there is already a painter-style tool in the game. Haven't quite messed with it, so I don't know if a more advanced one would be welcome.
Logged

timmeh

  • Bay Watcher
    • View Profile
    • My Portfolio
Re: World Gen Editor [IDEA]
« Reply #2 on: August 19, 2009, 08:25:17 am »

I think there is already a painter-style tool in the game. Haven't quite messed with it, so I don't know if a more advanced one would be welcome.

There is.  Personally I find it rather difficult to use, especially on large maps, but maybe it's just me...
Logged
On the Wall is a Masterfully engraved carving of Urist McHardcastle and Goblins. Urist McHardcastle is surrounded by the Goblins. The Golbins are stamping on Urist McHardcastle. Urist McHardcaste is laughing at the Goblins. The carving related to the prolonged and bloody death of Urist McHardcastle in the Fall of 1659, the Winter of 1659, and the Spring of 1660. On the engraving is an image of Cheese.

DeathOfRats

  • Bay Watcher
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #3 on: August 19, 2009, 10:05:34 am »

Y'know, I think it's a pretty neat idea, myself, particularly if you can launch worldgen from the app itself (via the command line worldgen launcher for DF), and/or it's able to do some search for features (is it possible to do so via the exported images? Do they include all the local information, or is it just region tiles?). Just having a better interface for the painter would be a major win in and of itself, I'd say.

EDIT: Apparently, the exported images only show region tiles. Pity, that, since it would have greatly simplified making a starting location finder :(
« Last Edit: August 19, 2009, 11:12:58 am by DeathOfRats »
Logged

timmeh

  • Bay Watcher
    • View Profile
    • My Portfolio
Re: World Gen Editor [IDEA]
« Reply #4 on: August 19, 2009, 11:41:57 am »

Y'know, I think it's a pretty neat idea, myself, particularly if you can launch worldgen from the app itself (via the command line worldgen launcher for DF), and/or it's able to do some search for features (is it possible to do so via the exported images? Do they include all the local information, or is it just region tiles?). Just having a better interface for the painter would be a major win in and of itself, I'd say.

EDIT: Apparently, the exported images only show region tiles. Pity, that, since it would have greatly simplified making a starting location finder :(

Thanks!  It may only show region tiles, but I may be able to find a way to look for the features that can be shown from that map (like magma pipes, rivers, etc).

Any ideas for the interface?  I'm stuck on how to set up an editor for the World Gen Parameters... I'm considering a tree-view list with the items sorted into categories like so:

Code: [Select]
+ Basic Settings
|
-------Title
-------Dimensions
|
- Advanced Settings
|
+ Rejection Settings
|
-------Good Sq. Count
-------Evil Sq. Count

Opinions?
Logged
On the Wall is a Masterfully engraved carving of Urist McHardcastle and Goblins. Urist McHardcastle is surrounded by the Goblins. The Golbins are stamping on Urist McHardcastle. Urist McHardcaste is laughing at the Goblins. The carving related to the prolonged and bloody death of Urist McHardcastle in the Fall of 1659, the Winter of 1659, and the Spring of 1660. On the engraving is an image of Cheese.

DeathOfRats

  • Bay Watcher
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #5 on: August 19, 2009, 02:14:23 pm »

That could work, and it'd certainly make both the original creation and adding more options (if and when Toady implements them) easy, though it might not be the most user-friendly idea. Have you considered using tabs instead for the grouping? Of course, that'd make sub-groupings more difficult, but it might be worth thinking about.

Also, random ramblings:

I think the first step ought to be to draw up the different divisions you want to make in the settings, and think of how you as a user would like to interact with them. What would you find most comfortable? Don't think about what would be easiest to code yet, that can come later.

I'm more of a programmer than an UI designer, myself (and I'm not that good of a programmer, if I have to be honest, the years since college have taken their toll >_>). I'd offer to help like that, but all my serious "work-on-stuff" time is taken until the beginning of April. I might be able to help with punctual things, but that's all.

If you're still working on this in a couple weeks and haven't gotten past that point, I might have something I can tweak into parsing DFs config file style (I have something similar coded, but it does need some tweaking - and I won't be able to do it until the first week of September). If you're interested, that is. I don't know if you'd prefer to make this thing from the ground up yourself.
Logged

Winterbrass

  • Bay Watcher
  • [HOMEOTHERM:10032]
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #6 on: August 19, 2009, 05:46:23 pm »

I think it would be interesting to have a program display the worldgen parameters visually and be able to edit them the same way.

Basically, you'd have a hexagon divided into wedges, each wedge/side labelled and representing a meshable quality: elevation, rain, drainage, savagery, temperature, and volcanism.

Each wedge would be divided into the mesh divisions (0-20, 20-40, &c), and would represent the difference between the divisions by differences in the closeness to the center of the hexagon. For example, if the 0-20 weight was five times the weight of the 20-40 weight, the 0-20 point in that particular side's line would be five times closer to the outside of the hexagon than the 20-40 weight. If you wanted to change that, you'd be able to click on a point and drag them either towards the outside (indicating a higher importance / higher weight) or towards the center (indicating a lower importance / lower weight).

All non-meshed qualities could be done with a simple slider bar.
Logged
[PANTS:ITEM_PANTS_PANTS:RARE]
[CAN_CIV][CAN_SPEAK]
[ETHIC:USE_MIND_ALTERING_SUBSTANCES:ACCEPTABLE]
[ETHIC:CAUSE_UNFUNNY_DRAMA:SHUN]
[ETHIC:PLAY_DF_AS_ELVES:UNTHINKABLE]

timmeh

  • Bay Watcher
    • View Profile
    • My Portfolio
Re: World Gen Editor [IDEA]
« Reply #7 on: August 19, 2009, 08:24:42 pm »

That could work, and it'd certainly make both the original creation and adding more options (if and when Toady implements them) easy, though it might not be the most user-friendly idea. Have you considered using tabs instead for the grouping? Of course, that'd make sub-groupings more difficult, but it might be worth thinking about.

Also, random ramblings:

I think the first step ought to be to draw up the different divisions you want to make in the settings, and think of how you as a user would like to interact with them. What would you find most comfortable? Don't think about what would be easiest to code yet, that can come later.

I'm more of a programmer than an UI designer, myself (and I'm not that good of a programmer, if I have to be honest, the years since college have taken their toll >_>). I'd offer to help like that, but all my serious "work-on-stuff" time is taken until the beginning of April. I might be able to help with punctual things, but that's all.

If you're still working on this in a couple weeks and haven't gotten past that point, I might have something I can tweak into parsing DFs config file style (I have something similar coded, but it does need some tweaking - and I won't be able to do it until the first week of September). If you're interested, that is. I don't know if you'd prefer to make this thing from the ground up yourself.
Actually tabs shouldn't be too hard, I've never used them before, but now wouldn't be a bad time to learn...

Coming up with the setting divisions should definitely be the first task, and I'll try to come up with a couple ideas and post the best of them to see which ones seem the most natural to everyone else.

I think it would be interesting to have a program display the worldgen parameters visually and be able to edit them the same way.

Basically, you'd have a hexagon divided into wedges, each wedge/side labelled and representing a meshable quality: elevation, rain, drainage, savagery, temperature, and volcanism.

Each wedge would be divided into the mesh divisions (0-20, 20-40, &c), and would represent the difference between the divisions by differences in the closeness to the center of the hexagon. For example, if the 0-20 weight was five times the weight of the 20-40 weight, the 0-20 point in that particular side's line would be five times closer to the outside of the hexagon than the 20-40 weight. If you wanted to change that, you'd be able to click on a point and drag them either towards the outside (indicating a higher importance / higher weight) or towards the center (indicating a lower importance / lower weight).

All non-meshed qualities could be done with a simple slider bar.
Sorry, buy I'm having trouble picturing the hexagon concept (although using sliders is a good idea).  Something like this?

(Obviously just one wedge, but you get the idea)
Logged
On the Wall is a Masterfully engraved carving of Urist McHardcastle and Goblins. Urist McHardcastle is surrounded by the Goblins. The Golbins are stamping on Urist McHardcastle. Urist McHardcaste is laughing at the Goblins. The carving related to the prolonged and bloody death of Urist McHardcastle in the Fall of 1659, the Winter of 1659, and the Spring of 1660. On the engraving is an image of Cheese.

Scarpa

  • Bay Watcher
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #8 on: August 19, 2009, 10:42:23 pm »

I think it would be interesting to have a program display the worldgen parameters visually and be able to edit them the same way.

Basically, you'd have a hexagon divided into wedges, each wedge/side labelled and representing a meshable quality: elevation, rain, drainage, savagery, temperature, and volcanism.

Ah I know what you mean, I've seen it on the DS game Big Brain Academy. That is a great way to visualize and edit that.
Spoiler (click to show/hide)
« Last Edit: August 19, 2009, 10:59:24 pm by Scarpa »
Logged

Winterbrass

  • Bay Watcher
  • [HOMEOTHERM:10032]
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #9 on: August 20, 2009, 05:47:45 am »

Sorry, buy I'm having trouble picturing the hexagon concept (although using sliders is a good idea).  Something like this?
image here
(Obviously just one wedge, but you get the idea)


Precisely that, but all of the coloured bits would be identical in width, and there would be six of those triangles.

Imagine a bar graph for each of the six meshed parameters. Now imagine that the bar graphs have their X-axis squished into a point (as the X-axis isn't really relevant in this case). Now take the six resulting triangles and position them together in such a manner that the image that you've completed is the one on the bottom of the hexagon.



That sort of thing. Each wedge would represent a particular metric and would most likely be coloured appropriately. For example, volcanism would probably go from either green, brown or grey to a bright red when going from 0-20 to 80-100. Simply by looking at the wedge would tell you how volcanic the resulting world will be - less red, less volcanic; less green/brown/grey, less stable. Rainfall would most likely go from yellow through green - 0-20, yellow to represent the state of being 'dry', and green to represent healthy plants.

One would be able to tell with just a look at the hexagon how their world will appear.

When I'm genning a world, I generally tell the game that I don't require any particular number of any particular type of land, so that would be particularly useful for me.
Logged
[PANTS:ITEM_PANTS_PANTS:RARE]
[CAN_CIV][CAN_SPEAK]
[ETHIC:USE_MIND_ALTERING_SUBSTANCES:ACCEPTABLE]
[ETHIC:CAUSE_UNFUNNY_DRAMA:SHUN]
[ETHIC:PLAY_DF_AS_ELVES:UNTHINKABLE]

Areyar

  • Bay Watcher
  • Ecstatic about recieving his own E:4 mug recently
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #10 on: August 20, 2009, 06:03:51 am »

(That last picture does not load, scarpa.)

Hex takes 3 or 6 sliders and puts either their minima together in the centre of a hex (latter) or has the average of the sliders in the middle (former).
Personally I prefer the 3slider hex/circle because it has intuitional significance, while the 6 hex is just a pretty interface without any additional value.

Another good concept is the colourselection gadget used in most modern pic editors:
2 gradients at 90deg in a square.
(Could also be displayed as a circle of all colours, with brightness 1 at the edge and 0 in the centre. The proposed 'hex' though would have seperate selectors for R,G,B and brightness)

An intuitional worldpainter would have brushes for 'typical'biomes and features and also for tweaking individual parameters.
I'm thinking of the worldpainter here though...

IMHO it the most usefull feature in a worldcreator-interface would be easy settings: a wet world, arid world, evil world etc, for beginners. Seeing the effect on an example world as you make changes would also be a nice feature for understanding the parameters.
...maybe not default worlds, but an interface that allows the creation of an evil, dessicated, glacier and volcano ridden hellhole by adjusting a few sliders or checking several boxes without intimate knowledge of the inderlying meshes and settings.

edit: I don't think that hex you are drawing would give me any idea on how the world would be.
« Last Edit: August 20, 2009, 06:07:26 am by Areyar »
Logged
My images bucket for WIPs and such: link

Winterbrass

  • Bay Watcher
  • [HOMEOTHERM:10032]
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #11 on: August 20, 2009, 07:16:40 am »

edit: I don't think that hex you are drawing would give me any idea on how the world would be.
Okay, lets say that there was a lot of reds and yellows in the hex and not so much blue and green. If the world was genned solely by the hex, would you expect there to be large seas and plenty of plants, or would you expect more deserts, rock, and volcanoes?  :-\ Really, now.

I simply copy-pasted the image from timmeh's post into a hexagon. I suppose I could make one more detailed, but I'm going to get some sleep first.
Logged
[PANTS:ITEM_PANTS_PANTS:RARE]
[CAN_CIV][CAN_SPEAK]
[ETHIC:USE_MIND_ALTERING_SUBSTANCES:ACCEPTABLE]
[ETHIC:CAUSE_UNFUNNY_DRAMA:SHUN]
[ETHIC:PLAY_DF_AS_ELVES:UNTHINKABLE]

Scarpa

  • Bay Watcher
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #12 on: August 20, 2009, 09:52:35 am »

Too bad the picture I posted didn't load, but I kind of expected it. I think I'm understanding what Winterbrass is saying but that diagram doesn't really match up.

Here is a *very* crude mockup of what I think Winterbrass is talking about.

The black circles are 'handles' that could be dragged inwards or outwards to indicate weighting of that particular property. I didn't label the image but you can kind of imagine the visual feedback you get with this kind of control.

Even better would be to have each wedge be a gradient that is somewhat representative of the property. So the volcanism wedge would grade black in the center to red at the edge. Drainage green (swampy) at the center to yellow at the edge (desert). Temperature white in the center, orange/red at the edge.



« Last Edit: August 20, 2009, 01:40:50 pm by Scarpa »
Logged

Winterbrass

  • Bay Watcher
  • [HOMEOTHERM:10032]
    • View Profile
Re: World Gen Editor [IDEA]
« Reply #13 on: August 21, 2009, 02:53:58 am »

Too bad the picture I posted didn't load, but I kind of expected it. I think I'm understanding what Winterbrass is saying but that diagram doesn't really match up.

Here is a *very* crude mockup of what I think Winterbrass is talking about.

The black circles are 'handles' that could be dragged inwards or outwards to indicate weighting of that particular property. I didn't label the image but you can kind of imagine the visual feedback you get with this kind of control.

Even better would be to have each wedge be a gradient that is somewhat representative of the property. So the volcanism wedge would grade black in the center to red at the edge. Drainage green (swampy) at the center to yellow at the edge (desert). Temperature white in the center, orange/red at the edge.




Yeah, similar to that, except that there are five divisions in each meshed property (or colour, in this case), each representing a range of 20%. Basically, as one of the ranges is increased, the others decrease because it's weighted. For example, if your 0-20% for Rain is five times what the rest of them are, the world is going to be drier because the world is weighted to be drier.
Logged
[PANTS:ITEM_PANTS_PANTS:RARE]
[CAN_CIV][CAN_SPEAK]
[ETHIC:USE_MIND_ALTERING_SUBSTANCES:ACCEPTABLE]
[ETHIC:CAUSE_UNFUNNY_DRAMA:SHUN]
[ETHIC:PLAY_DF_AS_ELVES:UNTHINKABLE]