(May 2017) Monthly WIP screenshot thread

“especially the stuff done by pspeed”

xD. You can find those shaders under SimArboreal and IsoSurface assets.

3 Likes

Oh wow I just took a link at the link, I’m mesmerized by the tree generator, he did an amazing job. My game’s called “The Afflicted Forests” and the setings supposed to be in a plagued rain forest, except I haven’t manged to get any decent low poly trees in yet hahaha, so this is a game changer :grinning:

3 Likes

Hey! This have a very nice looks.

1 Like

The beginnings of a full weather system. Probably only going to add snow-fall and the obligatory “fog” before moving on to something else. I’ve enjoyed toying with shaders and don’t really want to stop - but there’s so much to do!

I’ve fallen in love with Noise again. I knew how useful it was already but it’s nice to put it into practice and see some cool results. I’d highly recommend bookmarking this page on GLSL noise functions for future reference. You can do so many things. If only I could quit my job :confused:

15 Likes

Cool, but where’s the coastline?

1 Like

In the never-ending list of stuff to do. The video doesnt show everything iv done. I isolate things into modules which helps me write clean isolated code, so i can enable and disable modules in just a line or two. For debugging its easy to see what’s hogging resources like that. Gradle is a mini-revelation.

1 Like

Looks very cool.

It seems the snow border could use some noise if you haven’t done that already. Either noisy dithering or noisy alpha or something. Maybe a combination.

I may have to dig up the moss shader I wrote for the sidelined Dragonfly odyssey. It even add a bit of normal mapping to the edges to make it look raised. I can’t remember how much GLSL code it was to do that and whether it would be still nice performing over a whole mess of land.

1 Like

Yeah I trialled a few different ways, using a noise texture is by far the quickest obviously, but I’m at about 97 textures peak right now and it started to irk me a little, so I went about sorting that out and writing some GLSL libraries for noise to do some more testing. I’ll be using noise all over the place, so it makes sense to be able to just swap over easily with a proper implementation.

The snow itself is pretty inexpensive. It’s the details like noise that start to push your knowledge if you want to keep those frames rolling in. I’m not overly happy with the first mix (converting a boolean to a float) but it’s better than branching.

#define SNOWDIR vec3(0.0, 1.0, 0.0)
uniform float m_SnowLevel;
uniform sampler2D m_Snow;

vec4 snowAdditive(in vec3 normal, in vec4 diffuse) {
    float val = dot(normalize(normal), SNOWDIR);
    val = mix(val, 0.0, float((val < 1.0 - m_SnowLevel)));
    vec4 snow = texture2D(m_Snow, texCoord.xz);
    return mix(diffuse, snow, val);
}
2 Likes

I see this and it make me want to programm a whole naval simulation game x)

Gj!

1 Like

I made some smooth noise textures in photoshop that have a completely different noise for the red, green, blue, alpha channels. That way from one texture I can get multiple noise… sometimes with even one sample if I don’t care about the correlation.

1 Like


A little step for this monkey but a big step for monkeyanity :smiley:
Looks like the regular start project, but the monkeys from our inofficial community discord already know the secret :wink:

4 Likes

That’s what I’m using, but you have to be careful with clearly visible repeating. Anyway, I finished off the noise stuff, and it’s a nice visual improvement - goes to show what a line or two of code can do :slight_smile:

The first picture shows no noise, the second with noise.

7 Likes

Woot!
Good job. Do you have a devkit at hand to test the next step?

1 Like

You just need a regular device and 19 USD Fee (15? Euro) to boot into developer mode.
Unfortunately the next step seems to be a major problem, though:
On PC the application runs nicely, but some API is unsupported elsewhere (user32.dll, advapi.dll) without the IDE complaining though. So I have to find out what API calls are used where.

This lead to the fun task to remove “large page allocation” from the VM’s Heap (The LPA should improve the performance by reducing API calls and provides contigious memory). Things like MessageBoxes fall out as well, obviously. but they at least didn’t break on the Computer (probably doing nothing).

Yet another fun: We need timeBeginPeriod to run the timer at 1ms resolution instead of ~15ms. Reason they removed it: “isn’t available to UWP is because it’s a global setting that lowers battery life & performance for the whole machine”. Great, like it would matter. Or they couldn’t implement something clever

2 Likes

Whats this secret?

1 Like

I had the idea of porting jme3 to the Xbox One. This seemed easy since the Universal Windows Platform is essentially like Windows with some limitations (like no environment variables etc).

Now the fun part: I had it working on my computer but it failed on the XBox. The Reason is that your Computer doesn’t block UWP-illegal APIs it seems (the environment variables are considered empty), however on the Xbox those are simply not there.

I then tried to change the libs (linking against the store libs), which however leads to linking errors in Microsofts Implementation of the C-Runtime. I posted on their forums and the project will sleep for that time (or maybe a savy monkey has an idea/the motivation to try it out). It’s actually really tricky right now especially since UWP doesn’t seem to be so popular/public…

7 Likes

Skin effects for teleport/die has been upgraded.

13 Likes


Working on something here…

3 Likes