ID:97037
 
Applies to:Dream Maker
Status: Open

Issue hasn't been assigned a status value.
What I would like is a randomize variant of the fill button in the map editor. Here's how it would work.

In the map maker I would be able to create "fill profiles." These profiles would basically be lists of atoms all assigned under a single name I get to choose. An example of the list would be as so:

Grass
/turf/grass
/turf/grass/flowers
/turf/grass/rocks

When filling an area with the Grass profile, rather than using just /turf/grass it would also fill the selected area with flower and rock variants of the grass turf.

This would be for people who build static maps which aren't able to pick a random icon_state under turf/New().
Perhaps you could assign a percentage to each atom to determine its probability of occuring as well.
That would absolutely work. It would have to make sure you aren't setting percentages too high so you don't go over a total of 100%.

Perhaps if you set the percentage too high on one particular atom it could give you the option to subtract an even percentage from everything else or just cancel the command outright.
This would be absolutely amazing for mapmaking! I agree with this wholly.
I too have bubbly feelings at the prospect of such a feature.
although it wouldn't cover percentages, shift clicking on the turf in the object tree, adding it to your current selection, could be used to do just this. you select multiple turfs from the object tree itself and then when you fill it automatically randomizes the placement. Some may not like that though it's a bit difficult to not realize that you just selected multiple items.
Bravo1, that seems a little more complicated and a bit less flexible than what we've already established. Shift-clicking an object from the object tree in order to quickly add it to your "fill profile" would probably work though.

Falacy, "static map" means the map never changes. The maps in Decadence for example are very small and meticulously designed, there's no room for error with randomization at runtime. It would be much better to have a randomized fill command in the map editor and then be able tweak it by hand before compiling.
SuperAntx wrote:
Shift-clicking an object from the object tree in order to quickly add it to your "fill profile" would probably work though.

I'd say it should be in a right click menu? Or maybe a drag & drop system...

Falacy, "static map" means the map never changes. The maps in Decadence for example are very small and meticulously designed, there's no room for error with randomization at runtime.

lol then why are you randomizing stuff at all?
Falacy wrote:
Isn't that what he said?
No, from what I understand he was suggesting to just select things from the object tree rather than having custom profiles you could swap between.


lol then why are you randomizing stuff at all?
Because it's quicker and easier to set down a plot of randomized tiles then fix them up before compiling. Laying down the tiles one at a time by hand could never be as efficient as using a build profile with set percentages.
SuperAntx wrote:
No, from what I understand he was suggesting to just select things from the object tree rather than having custom profiles you could swap between.

Maybe so! I edited my other post 37 times. I think I'm happy with it now =P

Because it's quicker and easier to set down a plot of randomized tiles then fix them up before compiling. Laying down the tiles one at a time by hand could never be as efficient as using a build profile with set percentages.

I don't know if I'd say that was quicker, easier, or more efficient. Especially considering the size and detail level of your maps.

ANYWAY I guess I support this (Which is all Lummox and Tom need to agree to something, right?).
This would be a great feature to implement.
is it possible to have a type of fill tool which when you replace a turf it replaces all the turfs that are similar and connected.

W=Water
G=Grass

WWWWW
WGGGW
WGGGW
WWWWW
//when used Fill tool to Fill Grass onto water

GGGGG
GGGGG
GGGGG
GGGGG
//all water that was connected togather became Grass
BUMP! WE NEED THIS!!!
Maybe there's some way this could be extended to fix several problems with the map editor

Problem 1: No built-in auto-tiling
How do we currently handle auto-tiling? With an icon filled with numbered icon_states, and then doing some math to figure out which icon_state belongs where.

Problem 2: Randomizing related materials during placement
You can make a "randomizer" object that has one look in the map editor, but does a pick(icon_states()) to decide its icon_state in New() but this will look different every time the server is started. We need a way to define a range of icon_states that can be pick()'d from while painting so that different icon_states are laid down as you draw.

Problem 3: Painting different icon_states that make up a bigger object such as cliffs or walls
Currently, you'd have to create a unique datum per wall piece or use the "Generate Instances from Icon-States" feature in the map editor. The problem with this is you can only paint with one icon_state at a time. When you're building complex map (ala rpg maker) you need to select multiple tiles from a tileset base in order to place them into a meaningful arrangement. In Dream Maker map editor, we are forced to do this ONE TILE AT A TIME or make TOO MANY static variations of the data to achieve the same effect.

I don't mean to hi-jack the thread but, if we get the ability to mess with which icon_state is being painted based on some sort of a ruleset, then auto-tiling in the editor should be possible.