[A16] Rainbeau's Fertile Fields

Started by dburgdorf, January 12, 2017, 05:24:55 PM

Previous topic - Next topic

SpaceDorf

Then I have another wish.

Why can't I terraform when other buildings or blueprints allready exist ?
Normal Floor can do that ..

And because you asked for it :

The transformation List with more than one possible base:


Rocky Dirt <- ( Rough or Smooth ) Stone

Rocky Dirt <- Gravel or Marshy Soil

Rocky Dirt <- Fertile Soil ( allready means Soil, Lichen Covered and Rich Soil )
Gravel, Sand .. are the same.

The only difficult one I see is Marsh <- from Fertile Soil, Mud or Shallow Water
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

dburgdorf

I'm reviewing the terrain transformations currently possible.

==========

List #1: If you have the terrain on the left, you can turn it into any of the terrains on the right:

Deep Water -> Impassable Water, Shallow Water

Fertilized Topsoil -> Smooth Stone (via "remove floor")

Gravel -> Rocky Dirt, Soil

Impassable Water -> Deep Water

Lichen-Covered Dirt -> Gravel, Marsh, Rich Soil, Rocky Dirt, Sand

Marsh -> Marshy Soil, Shallow Water

Marshy Soil -> Rocky Dirt, Soil

Mud -> Marsh, Marshy Soil

Plowed Soil -> Rich Soil (via "remove floor")

Rich Soil -> Gravel, Marsh, Plowed Soil, Rocky Dirt, Sand

Rocky Dirt -> Gravel, Rough Stone

Rough Stone -> Rocky Dirt, Smooth Stone (via "smooth floor")

Sand -> Gravel

Shallow Water -> Deep Water, Marsh

Smooth Stone -> Rocky Dirt, Topsoil

Soil -> Gravel, Marsh, Rich Soil, Rocky Dirt, Sand

Topsoil -> Fertilized Topsoil, Smooth Stone (via "remove floor")

==========

List #2: If you want the terrain on the left, you can create it from any of the terrains on the right:

Deep Water <- Impassable Water, Shallow Water

Fertilized Topsoil <- Topsoil

Gravel <- Lichen-Covered Dirt, Rich Soil, Rocky Dirt, Sand, Soil

Impassable Water <- Deep Water

Marsh <- Lichen-Covered Dirt, Mud, Rich Soil, Shallow Water, Soil

Marshy Soil <- Marsh, Mud

Plowed Soil <- Rich Soil

Rich Soil <- Lichen-Covered Dirt, Plowed Soil (via "remove floor") Soil

Rocky Dirt <- Gravel, Lichen-Covered Dirt, Marshy Soil, Rich Soil, Rough Stone, Smooth Stone, Soil

Rough Stone <- Rocky Dirt

Sand <- Lichen-Covered Dirt, Rich Soil, Soil

Shallow Water<- Deep Water, Marsh

Smooth Stone <- Fertilized Topsoil (via "remove floor"), Topsoil (via "remove floor"), Rough Stone (via "smooth floor")

Soil <- Gravel, Marshy Soil

Topsoil <- Smooth Stone

==========

A few things have sort of called themselves to my attention.

First, it's impossible to create either lichen-covered dirt or mud. I don't really think either of those are big deals, though. Lichen-covered dirt is functionally identical to regular soil, and mud.... Well, I can't really see any advantage to being able to create mud tiles.

Many of the transformations aren't directly reciprocal, and that's by design. But a few that aren't, probably should be. Marsh can be converted to marshy soil, but marshy soil can't be made into marsh. Similarly, sand can be made into gravel, but gravel can't be converted to sand. Those are both options I probably ought to add.

On another note, I recently noticed that since I'd only really thought of sand in the context of deserts, I never added a way to convert sand directly to shallow water, or vice versa, which would be really handy if you want to modify beaches. So I may add those conversions, though I might limit the sand to water conversion so that it's only possible if the sand tile is already adjacent to water tiles.

Any thoughts regarding these or other terraforming options that you'd like to see added?
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

SpaceDorf

#122
Water to wine and flying Pigs or Monkeys come to mind :)

But that is not Terraforming per se .. I am pondering the list and think I will build a tree from it ..

And I just wondered .. how do you decide which rough rock is placed on rocky dirt ?

====== EDIT ======

Yeah .. the Tree grew into some kind of weird mutant monster bush ..
But I found no transformation that made sense anymore.

I was thinking that removing Topsoil should leave behind Rough Stone instead of Smooth Stone again but I am not really convinced of that thought.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

dburgdorf

Quote from: SpaceDorf on April 19, 2017, 02:19:02 PMAnd I just wondered .. how do you decide which rough rock is placed on rocky dirt ?

I've been wondering if/when someone would get around to asking that.  :D

I was hoping to be able to just reference the tile's base stone type from the original map grid, but unfortunately, it seems that that info's not stored after map generation is complete. (And to be fair, within the context of the vanilla game, there's no reason why it *should* be stored.)

What I ended up doing is pretty simple. When you convert a rocky dirt tile to rough stone, the code checks to see if there's already stone nearby (within a 3-tile radius). If there's stone of only one type in close proximity, that stone type is used. If multiple stone types are equally close, one of those types is chosen randomly. If *no* stone tiles are close, a stone type is randomly selected from the full list of stone types used on the map.

So the end result is that while what you end up with won't necessarily match the originally-generated map grid, it'll still be something reasonable.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

SpaceDorf

Sounds good to me :)
And more work than I would have expected.

So if I don't get the stone I want .. rinse and repeat :)

And more Reasonable than having different types of crushed rock.
and the map grid is changed anyway beyond recognition by what your mod does
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

dburgdorf

Quote from: SpaceDorf on April 19, 2017, 03:28:36 PMSo if I don't get the stone I want .. rinse and repeat :)

Yeah, technically, the system could be exploited to generate chunks of "rare" stone types. But I can't really see how it'd be worth the effort.

Quote from: SpaceDorf on April 19, 2017, 03:28:36 PMAnd more Reasonable than having different types of crushed rock.

Crushed rocks were actually tossed into the update toward the very end. I'd realized that I'd inadvertently set up an "infinite supply" of stone chunks, since turning rough stone to rocky dirt could yield chunks, but turning rocky dirt into rough stone as I originally coded it, had no cost. But stone chunks can't be used as building components, and in any event, I didn't want to deal with the nightmare that would have resulted had I tried to figure out a way to require the "right" type of stone chunk to convert a tile to rough stone. But then I remembered that I had talked about adding a way to convert stone chunks to dirt, anyway, and using an intermediate step in that process as a "roundabout" way of requiring stone chunks to make rough stone just seemed like an easy solution.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

dburgdorf

UPDATE:

- The mod now uses the Harmony library instead of detouring core methods. Partly. I haven't yet figured out how to handle rotting items without an actual code detour. And map generation methods are still replaced, though technically it's not via detours, since XML files were just changed to point to different methods.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

SpaceDorf

I noticed that there is no way in your mod to create the "marsh" soil type.
Which blocks the creation of more water tiles.

Is this on purpose to nerf the impassable water ?
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

dburgdorf

#128
Quote from: SpaceDorf on April 25, 2017, 05:07:00 PMI noticed that there is no way in your mod to create the "marsh" soil type.

Marsh tiles can be created on lichen-covered dirt, mud, rich soil, shallow water, or soil tiles.

Are you sure you don't have anything in your mod list after "Fertile Fields" that's rewriting the marsh definition?
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

SpaceDorf

My fault .. I take everything back I have said ..

you are right, I looked at the mock-up picture I created .. marsh is right next to marshy soil ..

It seems the terraforming of the "bridges"- mod I only installed recently is not playing nice with yours.

Haven't Researched all of those options yet so maybe it will come back
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

dburgdorf

Quote from: SpaceDorf on April 25, 2017, 06:52:19 PMIt seems the terraforming of the "bridges"- mod I only installed recently is not playing nice with yours.

If you're referring to "[sd] Bridges," then I'd suggest you also install "FishIndustry" as well as my patch mod that's specifically designed to allow the two of them to work together nicely with "Fertile Fields."  :D
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

SpaceDorf

Thats the one .. I forgot about your patch.
I installed it right away. I also had the bridges and prepare for fishing patch in the wrong order ..

To make it easier for n00bs like me, why don't you add the link to the patch to your Main Post of Fertile Fields .. the compability section is allready there  :P

Now I have all your mods installed, except fewer ruins .. because why would I remove signs of live from the map .. and free ressources  ::)
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

dburgdorf

Quote from: SpaceDorf on April 26, 2017, 07:03:27 AMThats the one .. I forgot about your patch. I installed it right away. I also had the bridges and prepare for fishing patch in the wrong order ..

If you're using my patch for the three mods, then you don't need "Prepare for Fishing."  ;)

Quote from: SpaceDorf on April 26, 2017, 07:03:27 AMTo make it easier for n00bs like me, why don't you add the link to the patch to your Main Post of Fertile Fields .. the compability section is allready there  :P

If you're a n00b, I'm... um... something I'm definitely not.  :)

Fair point, though.

Quote from: SpaceDorf on April 26, 2017, 07:03:27 AMNow I have all your mods installed, except fewer ruins .. because why would I remove signs of live from the map .. and free ressources  ::)

I just find it odd that a rimworld that's supposed to be barely populated has abandoned buildings literally *everywhere*.  :P

- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

SpaceDorf

Yeah .. thats why n00b is an insult and newbie is not :)

And I prefer the backstory part of Rimworld where there once was a civilisation that may or may not have tried out nuclear warfare. So lots of weird and ruins around.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

dburgdorf

I'm toying with an idea for changing the menu structure, but... I'm not sure if it's a good idea or a bad one. So I'd like feedback.

The current terrain-based menu structure is intuitive, in that it's easy to see, "if you want terrain X, hit the appropriate button." But there are a lot of buttons, including in most cases multiple buttons for each terrain type depending upon what terrain you're starting with, so the menu just seems crowded and overwhelming.

(Adopting SpaceDorf's "before & after" menu icons idea, which I will definitely do if I keep the current menu structure, will help some, but the menu still remains, in my view, too large and not entirely aesthetically pleasing.)

I'm contemplating switching to an action-based menu. This would be a menu with buttons to "add dirt," "remove dirt," "add fertilizer," and the like. On the plus side, it'd be a much less overwhelming set of buttons, making the menu smaller and neater. On the minus side, while it presumably wouldn't be hard to figure out what would happen in most cases (adding fertilizer to soil would produce rich soil, adding dirt to gravel would produce soil, etc.), it wouldn't be as obviously intuitive as the current system.

So.... Thoughts? Is it an idea worth pursuing, or would it be an unwelcome change that I'd be better off forgetting about?
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?