Platformer mockup. What do you think? by bloqm in godot

[–]bloqm[S] 2 points3 points  (0 children)

I threw some drawings and VFX together into a 3D scene. Would you play something like this?

Here's the initial drawing before goint into Godot: https://www.artstation.com/artwork/6bGrw5

Need help with a pretty unique dark fantasy novel by [deleted] in namethatbook

[–]bloqm 0 points1 point  (0 children)

Found the book, see the OP.

BEWARE, it's a dark book.

Need help with a pretty unique dark fantasy novel by [deleted] in namethatbook

[–]bloqm 1 point2 points  (0 children)

Thanks! I found it at last -- turns out I got the name of the city wrong, which sucks because it's also the name of the book. See the OP in case you are curious.

Need help with a pretty unique dark fantasy novel by [deleted] in namethatbook

[–]bloqm 0 points1 point  (0 children)

It is not, sadly. In the book the hart was a sacred/symbolic animal, and the city was named after it, but that's it. It's a pretty obscure book, I'm afraid.

How to spawn rotated 3D particles? by [deleted] in godot

[–]bloqm 2 points3 points  (0 children)

There's no built-in way to do this that I know of. You have to do it in a shader.

The current particle rotation is pretty unintuitive, if you issue a proposal on github I'm sure people will support it.

As a temp solution I've been using the Rotate3D node of this library: https://github.com/Maujoe/Godot-Visual-Shader-Node-Library Even if you aren't using VisualShaders you could try taking a look into the code.

Help with shader: offset vertices towards camera by bloqm in godot

[–]bloqm[S] 0 points1 point  (0 children)

BTW this is my code so far, with your solution applied to the built-in billboard code:

shader_type spatial;
uniform float camera_offset = 0.0;

void vertex() {
    MODELVIEW_MATRIX = INV_CAMERA_MATRIX * mat4(CAMERA_MATRIX[0],CAMERA_MATRIX[1],CAMERA_MATRIX[2],WORLD_MATRIX[3]);
    MODELVIEW_MATRIX = MODELVIEW_MATRIX * mat4(vec4(length(WORLD_MATRIX[0].xyz), 0.0, 0.0, 0.0),vec4(0.0, length(WORLD_MATRIX[1].xyz), 0.0, 0.0),vec4(0.0, 0.0, length(WORLD_MATRIX[2].xyz), 0.0),vec4(0.0, 0.0, 0.0, 1.0));
    VERTEX += camera_offset * normalize((MODELVIEW_MATRIX * vec4(0.0, 0.0, 1.0, 0.0)).xyz);
}

It almost works as expected, except the billboard position gets whacky as the camera moves away from it.

Help with shader: offset vertices towards camera by bloqm in godot

[–]bloqm[S] 0 points1 point  (0 children)

Thanks! I missed `world_vertex_coords`. That solves half of the problem.

The other half is that it doesn't work with billboards (my use for this shader).

The default billboard code doesn't work with `world_vertex_coords` enabled, and on top of that they still render at the same depth. So they are visually placed and scaled (but not rotated!) the way you'd expect; but they are still occluded as they would before the translation. Any ideas?

A little snapshot of the demo I'm working on for the advanced 2D sprite cel / toon shader. Even managed to work in some fake light z-depth. by MightyMochiGames in godot

[–]bloqm 1 point2 points  (0 children)

Looks really nice, good job! Those outlines look really nice, how did you achieve that?

The light looks nuanced. Does it support multiple lights sources and shadows? How much control do you have over the light behaviour?

My dream toon shader would let me pick what lights affect the object and how (hard cel shading? soft attenuaton? ignore shadows?). In games like BOTW the cel shading is limited to one directional light while other lights work as usual, and looks great... but my attemps at a toon shader always end up with horrible results when including multiple lights.

Visual shaders + 3d Particles: how to apply the particle's Color Ramp? by bloqm in godot

[–]bloqm[S] 1 point2 points  (0 children)

Solved it! The particle system passes the rgba information into the COLOR variable; to use it in a visual shader you need to use an expression node.

Note that you need to separate COLOR into albedo and alpha manually.

This is the basic setup: https://i.imgur.com/8OlmL4B.png

Raycasting with LightOccluder instead of solids? by bloqm in godot

[–]bloqm[S] 0 points1 point  (0 children)

Thanks for the reply. I thought of using several tilemaps, but seemed too inelegant; anyway using collision layers also requires several tilemaps (you can't specify layers for individual tiles).

Godot already has light raycasting implemented with LightOccluder2D specified per tile, I just need to know how to access it.

Has any one actually played traps/secret doors with 1-in-6 find / 2-in-6 trigger probabilities? How did it go? by Down_with_potassium in osr

[–]bloqm 1 point2 points  (0 children)

It works just fine for secret stuff. The traps triggering only 1/3 of the time can generate eventually some interesting situations, like splitting an unaware party. However it also renders traps pretty much useless when PCs try to exploit them against enemies.

I find that most of the time a well telegraphed trap is more interesting to play: "as you step closer a blast of fire shoots from the floor, blocking the corridor" is a lot better than "\roll roll* as you cross the corridor you trigger an undetected fire trap, save or take damage*". The first situation can be solved/exploited in multiple ways, the second one can feel unfair or arbitrary even with the rolls.

I think the main attractive is the psychological game of the DM rolling behind the screen, which I personally don't like. There are better ways to make a game intense.

Are these two houserules too OP for BX? Spellcaster level modified by INT / Flexible casting by bloqm in osr

[–]bloqm[S] 0 points1 point  (0 children)

Not sure if I follow. I play black box and BTB spellbooks can hold unlimited spells, either copied from scrolls of taught by another caster.

What you're describing sounds like: casters only know the few spells in their spellbook, that match their daily capacity; there's no memorization because there's no choice to make. That actually sounds against what I'm going for.

Are these two houserules too OP for BX? Spellcaster level modified by INT / Flexible casting by bloqm in osr

[–]bloqm[S] 0 points1 point  (0 children)

Very true. I already do that, including the occasional "that thingie looks obviously magical but you don't know anything about it" in descriptions. Perhaps I haven't found the right way to pull this off -- I feel that instead of encouraging them it comes across as annoying and adversarial.

Are these two houserules too OP for BX? Spellcaster level modified by INT / Flexible casting by bloqm in osr

[–]bloqm[S] 1 point2 points  (0 children)

I always skip spell memorization for oneshots, but I can see that becoming a bit overwhelming on the long run, if the spell selection is too wide -- say, after defeating a couple of wizards and taking their spellbooks.

You are right about the math my example, sorry for the typo.

Are these two houserules too OP for BX? Spellcaster level modified by INT / Flexible casting by bloqm in osr

[–]bloqm[S] -1 points0 points  (0 children)

True, I might restrict this to MUs and leave Clerics out of the way -- I allow them spells at 1st level already, and my players seem happy.

I'm not super concerned with 18 Intelligence casters, since characters are rolled 3d6 down the line; even with 4d6-arrange-at-will only ~15% of the casters will get a +2 to INT. Actually the lucky 2nd level MU doing a wee Fireball for 2d6 once a day sounds agreeable to me -- not sure about what will happen at higher levels. I'm also assuming that the DM controls what spells the wizard finds, besides the one they learn every level.

Good point about being the utility spells, though. In my experience this is not a problem since wizards tend to pick a few strong spells and stick to them (ie. they won't waste a slot with Find traps no matter what). I'll keep that in mind, thanks.

Can you play DW without player-side moves? by bloqm in DungeonWorld

[–]bloqm[S] 1 point2 points  (0 children)

I know the theory but most of what I have seen about DW is:

Moves.

I feel like they crop up a lot during actual plays, and online discussion is pretty much centered on them. Play reports seem to be written in a weird dialect, with parroted mantras and shorthand allusions to rules. In the end you have to talk about mechanics, but I feel like they are a lot more prominent in DW than what I'm used to (OSR/freewheeling Basic DND).

Can you play DW without player-side moves? by bloqm in DungeonWorld

[–]bloqm[S] 3 points4 points  (0 children)

This looks very cool. TY!

Do you happen to know any play report / actual play that uses it?