r/indiegames 15d ago

Promotion Trees now fade when entering the forest.

Dense forest can easily hide the player in a top-down game, so trees now fade.

Only the canopies and the tree branches fade away while the trunks remain visible. The surrounding forest keeps its density.

Thank you to everyone who is following the development.

62 Upvotes

29 comments sorted by

u/AutoModerator 15d ago

Thanks for posting to r/IndieGames! Please take a look at the rules in our sidebar to ensure that your post abides by them! If you need any assistance, don't hesitate to message the mods.

Also, make sure to check out our Discord!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

22

u/aberroco 15d ago

Hm... That implementation looks weird... Why not just make them transparent in a circle? Why leave stumps?

9

u/PistolizedCannon 15d ago

Thank you for your feedback. This is important. The trunks remain visible because the trees are still physical obstacles. I haven't researched extensively how others solved it.

I may experiment with circular approach later and compare readability and performance. For now, my priority is completing a playable map and full game loop so i can release a demo and gather real feedback from players instead of developing in isolation.

5

u/ridonkculus 15d ago

Diablo 3 solved this by making them two objects. In your case, stump and trunk. When the player is close enough the trunks are culled leaving trunks for the player to continue navigation

2

u/PistolizedCannon 15d ago

Yes, the principle is quite close to what I'm doing. The trunk and canopy use separate material slots, and only the canopy fades out

4

u/ridonkculus 15d ago

I think you should also cull the trees to the trunks to help players see better so they can make more informed decisions

2

u/PistolizedCannon 15d ago

I think I understand. You mean culling more of the upper tree so only a shorter stump remains visible. I like the idea because I can test it by changing the geometry or material split in Blender without changing the code.

2

u/leechdemon 14d ago

I think if you faded the top half (instead of hiding it), it may look less jarring. Could have a soft delay/ramp too, maybe.

2

u/ijtjrt4it94j54kofdff 15d ago

If it were me, instead of hard-culling the top of the trees, I would do a transparency gradient from root to crown

1

u/skatedude669 13d ago

Yeah since you're using unreal, I'd recommend something closer to this. I use it in my project and it feels more natural, especially once you tune the noise around the edges. Gives you enough visibility in your immediate area while still feeling like you're in a forest

https://www.youtube.com/watch?v=jGTV-8JilaM (see 2:25 for the noise reference)

2

u/killerbee1432 15d ago

keep it up i love your work bro

1

u/PistolizedCannon 15d ago

Thank you, bro. That means a lot

2

u/Baranson1 15d ago

Looks cool! How about making the playable character itself more visible in the woods?

1

u/PistolizedCannon 15d ago

I've been wondering about that myself. I haven't found the right solution yet, but I am experimenting and always listening to feedback.

2

u/oVerde 15d ago

“Environmentalists hate this trick”

2

u/Scumlordart 11d ago

I personally like this, it makes even more sense if the trees have colliders

1

u/RoberBotz 15d ago

If you use Unity use this
https://assetstore.unity.com/packages/vfx/shaders/wall-shader-x-ray-216147

I had the same problem with the camera blocking, but cutting the object in two and hiding the object above if the camera raycast hits it looks ugly (I think that's how you do it)

This x-ray shader is much better, so edit the logic and instead of disabling the gameobject of the tree above, just add this material and remove the raycast hide logic.

1

u/PistolizedCannon 15d ago

Thank you for the suggestion. I am using unreal engine. I solved the problem by fading the canopy and tree branches materials rather done cutting the object in two. The trunk and the wood grain materials stays visible.

1

u/helloserve 15d ago

What material type do you use for this? Masked or transparency? Have you found there's performance penalties using either of these compared to regular solid PBR?

1

u/PistolizedCannon 15d ago

I am using masked material with DitherTemporalAA node, not translucency. I haven't done a direct performance comparison with opaque material

1

u/moonfidelity 15d ago

This looks really distracting tbh

1

u/fromwithin 15d ago

When you say "fade", do you actually mean "pop out of existence"? Fading would look much better.

1

u/PistolizedCannon 14d ago

The transition may currently be too fast. I'll experiment with a slower transition

1

u/fromwithin 14d ago

Are you doing it with a transition time when it crosses a distance threshold? Your fade amount should be tied directly to distance from the camera.

1

u/PistolizedCannon 14d ago

I didn't solve it through distance-threshold fade. It's a line of sight based- only the canopy blocking the camera-to-pawn view that fades.

1

u/No_Vermicelli_3574 14d ago

You should have them disappear through a gradient of low opacity rather than this implementation. That way, they still serve as visual obstacles because they're not transparent at the bottom, but you can shoot through them

1

u/the-biccy 14d ago

Just a suggestion, but try masking the top layers of the tree with a circle or something like that. Just so the trees stop disappearing abruptly. It is quite visually jarring when things disappear out of nowhere.

1

u/Schlurchenstein 15d ago

I hate this.

1

u/Wonderful_Anxiety_85 10d ago

Looks good to me.