Avatar

Late Night Owl Reporting...

@latenightowl / latenightowl.tumblr.com

perpetually tired.
Avatar
reblogged

How we created the ideal water system for Wildmender

Over the last 4 years of work, we've created a gardening survival game in a desert world that let people create massive and complex oasis where each plant is alive. At the heart of a system-driven, procedurally generated ecology is a water simulation and terraforming system, and this post is to share a bit of how we built it.



We knew early on that the game would include some level of soil and water simulation, just as an outgrowth of wanting to simulate an ecosystem. The early builds used a simple set of flags for soil, which plants could respond to or modify, and had water present only as static objects. Each tile of soil (a 1x1 “meter” square of the game world) could be rock or sand, and have a certain level of fertility or toxicity. Establishing this early put limits on how much we could scale the world, since we knew we needed to store a certain amount of data for each tile.



Since the terrain was already being procedurally generated, letting players shape it to customize their garden was a pretty natural thing to add. The water simulation was added at first in response to this - flat, static bodies of water could easily create very strange results if we let the player dig terrain out from under them. Another neat benefit of this simulation was that it made water a fixed-sum resource - anything the player took out of the ground for their own use wasn’t available for plants, and vice versa. This really resonated well with the whole concept of desert survival and water as a critical resource.



The water simulation at its core is a grid-based solution. Tiles with a higher water level spread it to adjacent tiles in discrete steps. We broke the world up into “simulation cells” (of 32 by 32 tiles each) which let us break things like the water simulation into smaller chunks that we could compute in the background without interrupting the player. The amount of water in each tile is then combined with the height of the underlying terrain to create a water mesh for each simulation cell. Later on, this same simulation cell concept helped us with various optimizations - we could turn off all the water calculations and extra data on cells that didn’t have any water, which is most of the world.



Early on, we were mostly concerned with just communicating what was happening with simple blocks of color - but once the basic simulation worked, we needed to decide how the water should look for the final game. Given the stylized look we were building for the rest of the game, we decided the water should be similarly stylized - the blue-and-white colors made this critical resource stand out to the player more than a more muted, natural, transparent appearance did. White “foam” was added to create clear edges for any body of water (through a combination of screen depth, height above the terrain, and noise.)

We tweaked the water rendering repeatedly over the rest of the project, adding features to the simulation and a custom water shader that relied on data the simulation provided. Flowing water was indicated with animated textures based on the height difference, using a texturing technique called flowmaps. Different colors would indicate clean or toxic water. Purely aesthetic touches like cleaning up the edges of bodies of water, smooth animation of the water mesh, and GPU tessellation on high-end machines got added over time, as well.

The “simulation cell” concept also came into play as we built up the idea of biome transformations. Under the hood, living plants contribute “biomass” to nearby cells, while other factors like wind erosion remove biomass - but if enough accumulates, the cell changes to a new biome, which typically makes survival easier for both plants and players. This system provided a good, organic feel, and it fulfilled one of our main goals of making the player’s home garden an inherently safe and sheltered place - but the way it worked was pretty opaque to players. Various tricks of terrain texturing helped address this, showing changes around plants that were creating a biome transition before that transition actually happened.



As we fleshed out the rest of the game, we started adding new ways to interact with the system we already had. The spade and its upgrades had existed from fairly early, but playtesting revealed a big demand for tools that would help shape the garden at a larger scale. The Earthwright’s Chisel, which allowed the players to manipulate terrain on a larger scale such as digging an entire trench at once, attempted to do this in a way that was both powerful and imprecise, so it didn’t completely overshadow the spade.

We also extended the original biome system with the concept of Mothers and distinct habitats. Mothers gave players more direct control over how their garden developed, in a way that was visibly transformative and rewarding. Giving the ability to create Mothers as a reward for each temple tied back into our basic exploration and growth loops. And while the “advanced” biomes are still generally all better than the base desert, specializing plants to prefer their specific habitats made choosing which biome to create a more meaningful choice.



Water feeds plants, which produce biomass, which changes the biome to something more habitable that loses less water. Plants create shade and block wind-borne threats, which lets other plants thrive more easily. But if those plants become unhealthy or are killed, biomass drops and the whole biome can regress back to desert - and since desert is less habitable for plants, it tends to stay that way unless the player acts to fix it somehow. The whole simulation is “sticky” in important ways - it reinforces its own state, positive or negative. This both makes the garden a source of safety to the player, and allows us to threaten it - with storms, wraiths, or other disasters - in a way that demands players take action.

Avatar
Avatar
sermna

guardian angels are born from tragedy.

This was inspired by a dream I had where a school had been cursed and was haunted by dangerous entities (and subsequently abandoned).

Would-be urban explorers were warded off by the spirit in the pool. Ignoring her warning and passing by her marked a point of no return

She was a former student killed in the aftermath of the curse, hence the title 🖤

Avatar

I don’t really Go Here but u can always rely on this man to read a right wing politician’s outfit for filth

I mean. Just devastating 😭

This man has LETHAL comebacks. Idiots keep trying to get one over on him and he has never missed

Actually no I'm double reblogging this I found the one where he *calls a guy's tailor* to confirm his suit isn't actually bespoke

You cannot win in his arena. This isn't "if you come at the king you better not miss" this is "don't fight a shark in the water"

Avatar

the Bro is tormenting me with this image again and i refuse to suffer being reminded of it alone

Avatar
jenlog

fun fact: in the magical girl ttrpg, girl by moonlight, one of the four settings has your player characters piloting mechs instead of doing magical girl transformations

Avatar
Avatar
ranpd

😳 <- this emoji but without the blush or romantic connotation. im not blushing im staring you directly in your fucking eyes

if you excuse the bad editing it would look like this

can we hit 150k before this piece of shits one year anniversary

u know before yellow emojis took over as automatic, the one we used for this exactly was O_O . which has unfortunately become the shortcut for the stupid blushy one. but we also used to emphasize the emotion by making the mouth bigger, O_________O . there was also o_O , for when you're weirded out, and o_o for small weirds or intrigue. you could use a period instead of an underscore for the mouth, o.o, O.O, which was a little more like shock.

there was also -_- for when you're annoyed. -_-* for pissed. the asterisk is a forehead vein. a very bad day or very bad joke could result in -___________-********** .

anyway that's your history lesson for the day, dont forget your roots.

let us also not forget the meekest of them all: ._.

Avatar
vrumblr

I reblogged this before but y’all can pry XD out of my cold, dead hands

Avatar

Hey btw, if you're doing worldbuilding on something, and you're scared of writing ~unrealistic~ things into it out of fear that it'll sound lazy and ripped-out-of-your-ass, but you also don't want to do all the back-breaking research on coming up with depressingly boring, but practical and ~realistic~ solutions, have a rule:

Just give the thing two layers of explanation. One to explain the specific problem, and another one explaining the explanation. Have an example:

Plot hole 1: If the vampires can't stand daylight, why couldn't they just move around underground?
Solution 1: They can't go underground, the sewer system of the city is full of giant alligators who would eat them.

Well, that's a very quick and simple explanation, which sure opens up additional questions.

Plot hole 2: How and why the fuck are there alligators in the sewers? How do they survive, what do they eat down there when there's no vampires?
Solution 2: The nuns of the Underground Monastery feed and take care of them as a part of their sacred duties.

It takes exactly two layers to create an illusion that every question has an answer - that it's just turtles all the way down. And if you're lucky, you might even find that the second question's answer loops right back into the first one, filling up the plot hole entirely:

Plot hole 3: Who the fuck are the sewer nuns and what's their point and purpose?
Solution 3: The sewer nuns live underground in order to feed the alligators, in order to make sure that the vampires don't try to move around via the sewer system.

When you're just making things up, you don't need to have an answer for everything - just two layers is enough to create the illusion of infinite depth. Answer the question that looms behind the answer of the first question, and a normal reader won't bother to dig around for a 3rd question.

Avatar
bfleuter

This is good advice on worldbuilding.

And also. 

I would really like to play a vampire-hunting sewer-nun and her pet alligator in a ttrpg.

Woops uh oh oops woops.

Avatar
reblogged
Avatar
jndzine

Info Masterpost!

Links

Schedule

  • April 27 - Mod applications open
  • May 4 - Mod apps close @ 11:59PM EST
  • May 11 - Contributor applications open
  • May 25 - Contributor apps close @ 11:59PM EST
  • June 8 - Acceptance emails sent out
  • June 22 - All artists confirmed
  • July 20 - 1st draft due
  • Aug 17 - 2nd draft due
  • Sept 14 - Final draft due
  • Oct 19 - Contributor pre-order
  • Nov 9 - Public pre-order! Happy anniversary!
  • Nov 23 - Pre-orders closed
  • Delivery by Feb 2025
  • Leftover sales & donation after initial deliveries

Mods

FAQ

Avatar
reblogged

Thinking about how when my oldest brother took Japanese classes his professor was like your pronunciation is really good 😊 but you need to watch movies that aren't about the Yakuza because you sound like a criminal

somewhere in this beautiful world there is a man who sounds like Paulie Walnuts because he learned English by watching the Sopranos

Really in love with some of the notes on this post

official linguistics post

Avatar
petermorwood

Useful writer information.

A character pretending to be from X needs more than just the X vocabulary, they'll need a convincing X accent as well.

If X has a lot of regional accents it's a rabbit-hole with snares at every turn, and then there's regional dialect, a rabbit-hole with even more snares which can vary from a few unusual words scattered through standard speech to an entire secondary language.

*****

The "Inglourious Basterds" German Accent scene is the best-known current example of how sounding wrong can raise suspicions and claiming wrong can make them worse.

In that scene Michael Fassbinder's character Hickox, a British commando, is disguised in Waffen-SS uniform and speaking German.

The first time I watched it, when Gestapo officer Hellstrom asks about his "where do YOU come from?" accent and he says...

"I was born in a village that lies in the shadow of Piz Palü. In that village we all speak like this."

...I expected Hellstrom to nail him immediately, because though his accent sounds unusual, it's not unusual enough for that.

Pretending to have the accent of some obscure German village is one thing, but Piz Palü is in Canton Graubünden of southern Switzerland.

@dduane and I went to various places there while she researched "The Wind from the South", and the accent, even the speech-rhythms, are nothing like the Hochdeutsch - High or Standard German - Hickox is speaking. And that's if 1930s Graubünden villagers spoke German at all, because then as now their first language might well be Rumantsch.

It's like a Londoner saying his accent is from Llangollen. "In Brixton we all speak like this..."

*****

There's a lot of on-line discussion about how well or badly Michael Fassbinder (Irish-German) speaks his lines compared to the German actors sharing the scene with him. Are his slight mistakes deliberate for the role? Is his Irish creeping into his German? Is THAT deliberate for the role? And so on.

But I've never seen anyone ask why - except maybe because a film about the place ("The White Hell of Piz Palü") was mentioned earlier and Hickox is an in-film movie buff - he picked that specific part of Switzerland to come from.

Nor have I seen anyone wonder why he wasn't instantly accused of sounding not just odd, but utterly wrong for his claim.

Or why so punctilious a writer-director as Quentin Tarantino put such a detail into his script then went nowhere with it.

Or maybe I was just nettled after wandering down the wrong garden path... :->

*****

Finally Hellstrom's suspicions do get confirmed, not by accent at all, but by Hickox's fake German ordering three drinks with a British hand gesture.

Oops...

Whereupon things go rapidly downhill in a characteristic Tarantino gunfight of many shots and few survivors.

*****

It's a scene worth bearing in mind when writing about characters speaking a foreign language.

Even if they're not doing it to deceive, there are many subtle details that mean "being fluent" - at least in the "indistinguishable from a native speaker" meaning usual to fiction - is a more complicated process than those two words suggest.

You are using an unsupported browser and things might not work as intended. Please make sure you're using the latest version of Chrome, Firefox, Safari, or Edge.