Instead of using invisible wall from blocking player into going off path, let them walk into the growth a little bit, and show the animation about how he cannot push through the bush or something, idk, spikes on it.
Yep. This feels like more of a grove. Make the trees tall and you have the woods. Make the tree trunks thicker, VERY tall, and so thickly packed that the tree tops completely shadow the ground, then you have a forest.
I completely agree with the invisible wall thing. I truly despise invisible boundaries. It has always bothered me to hit an invisible wall preventing me from going somewhere. Give a reason why you can't go to an area. Use the environment to block it, not an invisible barrier.
What about increasing the Exponential Height fog, could benefit your framerate, because less of the environment will be visible. Also creates more of a creepy vibe. Enemies suddenly appear out of the fog.
I think it would be cool if the guts (or maybe a different creature idk) ambushes you from the trees and bushes, like they jump out and maybe you have to do some QuickTime event to not instantly die
5.2's Metahumans featured the improved facial bits for Metahuman Animator. You should give it a try! Really easy to use and give great results (plus John can have your face!)
Hey Boro! I'm insanely impressed with how quickly you pick things up. You definitely have what it takes to be a software engineer. I don't know anything about UE but I agree with a lot of comments saying that this is probably due to dynamic lighting which is very expensive and baking lights should make quite the difference. But also if there will be no sun light in the final version of the game and a flash light + muzzle flashes well be the only light sources then there's probably no point in optimizing that at all ( or at this stage in the development). Wish you all the best with the game!
This is looking really cool! Some thoughts on the procedural forest: Why not use the spline circles to create empty spaces for towns/buildings/whatever environment you're looking to make. You could also create splines in between each one of them so the paths are different on every playthrough! Also I see a lot of comments regarding baking the lighting, which is defo going to help with opti, but I'm not sure if this works in your case (procedural generated environment). Cheers, great video as always!
The performance problem comes from the movement of the foliage causing the shadow map to be recalculated each frame. There's some good videos on UA-cam if you search that show you how to disable the movement based on distance from the camera so you still get movement close up but they become static meshes beyond a certain distance significantly improving framerate.
hmmm....you really should not have this rough performance this early on in a project. Its a bit hard to tell what exactly is going wrong without having the scene myself, but most likely its everything adding up. There are tons of resources on optimizations out there, I suggest looking through as much as possible. If your having issues this early on, it will only get worse as the projects grows, making the development process really slow as well.
You're probably right. This is super-interesting to figure out, but the main question is this whole Nanite + Lumen + Virtual Shadows business. These guys don't seem to scale much. I feel like if the level would be 10 times more complicated, it would have literally the same fps. It's still bad though
Polygon count, deleting polygons not seen by the camera, maybe having some LOD in place (someone mentioned fog as a trick, to not render farther away), number of objects, that's usually a beast, (I don't know if in Unreal you can use instancing, and if that's any advantage...), number of textures (ie, if not many are put into a same map, which tends to be optimal, fewer calls, like with fewer objects) and texture sizes (humongous texture files even in far away objects)... yep, that's how I'd optimize, maybe doing all that makes things change drastically. But if there's something, some library (I am not a coder, only the art part, and I don't know Unreal) or thing in the code that is hogging everything, then that'd be the issue, from what I have seen many times in other engines. I am an old timer in games (I used to optimize for mobile games in 2006, it was crazy back then, some games at quake 2 polygon count...) and we used to bake lights whenever we could (light maps). But no idea which is the trend now, if everyone and their dog is just doing dynamic lighting (probably). One thing hasn't changed, it seems, lol... 'dynamic' raytraced shadows kill everything. :D
Lol, disregard my entire comment :D :D . That advice is surely not applicable or most of it. I hadn't watched the part about geometry and how you are generating it.... My style of watching videos, by parts, so stuupid (me, I mean).
That said, if all is auto generated... Are still a lot or some of the "traditional" optimizations possible (ie, like those I mentioned)? It would be a pity, if not, as usually one can get immense improvements in FPS, so.
You can also get hugely better performance by tweaking the falloff of the world position offset for animations. Not sure if you did that yet, but it should be a much bigger performance gain than shadows since foliage will animate even far in the distance. Making it only animate when it is in the foreground will net you dozens of frames or more. Its something you usually have to tweak in the material itself but i believe there is actually a setting for it in the PCG.
because of how dense the forest is I believe you could make the trees that are deeper in the forest extremely low poly to the point of probably just being flat places without the player noticing especially in the darker overcast weather
Well yeah, that's how things usually go in games - but not in UE5. Nanite technology makes all those low-poly efforts completely meaningless. There are some other things I need to try though, like replacing trees with the ones without transparency textures. Will keep you guys updated!
@@BoroCG The transparency textures may be the issues for the polycount, I haven't kept updated on the latest versions documentation but originally at least mesh's that had textures with transparency channels active would not be supported by nanite, so while the trees and every other solid texture may be optimized all of the leaves very well may not be using nanite!
You should also check performance in a build, in editor performance is always different. Also I assume you have the quality settings of everything on max by default, which might not be necessary. I'd try turning down settings wherever you can and see if the difference is worth the performance impact or not. And you can always use the profiler and see exactly what is taking up which resources.
@@BoroCG This is probably something you want to solve early on, are you able to pack a new project? and then are you able to migrate your content and still pack it? The error I ran into when I started unreal was the filepath lengths, if you're not already try putting it in a top level directory (C:\yourgame) and packing it.
@@BoroCG You really need to solve packing first on. Later in, you may have hundreds of files and error message will not give you any useful hints. Imagine going through every file and trying to test what is breaking the build...
Disabling tree sway in the materials will fix the performance while using lumen. You could sparsely add trees along paths that do have the swaying material. The problem is that moving leaves stops automatic shadow caching.
@@BoroCG I think the shadows are the issue, when I disable the shadows on the megascan trees the performance doubles. It could just be that hundreds of shadows are overlapping onto complex meshes. As a last resort you could disable shadows on the mass of trees and then put an invisible plane over the forest to shade it. Leaving space over the paths so light could shine on trees with shadows and wind enabled.
ive ben watching this horror game devoloment sens 2021 just got a new acount so thats why am new, i think its so cool that you are making a horror game. good luck.
I remember someone saying that today it's better to have leaves and grass and such as cut out polygons with a texture rather than a card/plane with a transparent texture since polycounts don't eat as much performance as transparency on foliage and such. I never tested it though but with that procedural system like this it might be simple to do a test like this?
Hey I was wondering, I personally find trees acting as walls a tad annoying as in real life you can go through a forest. I was wondering is there a way to make it so that if john entered the forest if he keeps walking inside he would walk out where he entered? Make it so that the forest itself is keeping him inside somehow?
From the start I was really curious how the optimization would go. This is something even huge developers seem to struggle with lately. Especially in Unreal Engine. That's why a lot of automated techniques cannot compete with well optimized meshes done by hand. Maybe with a 5090 in the future you can brute force your way around bad optimization 😅
Actually UE5.2 has texture and mesh streaming as checkboxes in settings. Mesh streaming is labeled experimental, but yeah, all streaming is on. I'm not using world partition yet though, having issues trying to enable it for some reason
Sorry if already suggested or irrelevant, but I wonder if you made the outer bounds of the forest a little tighter to the paths, would that save on processing power?
watch out for anything with WPO and nanite (basically anything that's swaying in the wind), the performance seems to tank with those nodes compared to non nanite
If you want to improve performance without changing your shadow settings too much, you're going to have to avoid using masked materials with your foliage. As noted by Epic's documentation, your performance will likely be significantly better if you use actual geometry for each leaf on your trees. You can also disable specific settings in VSM using console commands that disallow invalidated VSM pages. These invalidated pages have a heavy impact on performance. Using the GPU profiler will also help you gauge what's costing you the most.
Watch out for VRAM usage. If there are more assets, FPS could be the same, but VRAM usage would be higher. And on lower-end GPUs, when there isn't enough VRAM, the game will start lagging heavily. So maybe keep it under 6 or 8 GB for a 1080p screen.
Looking at the procedural forest points, it looks like you can probably cut out all the smaller brush in the dense patches. This also tends to follow reality, the areas where trees take over tend to suck out resources from medium sized brush and it just seems like only trees are present. At the edges, that's where all the smaller/ medium brush will grow, and anywhere next to rivers (if you ever add those). So I think you can get a huge performance boost by only placing smaller brush right at the edges of your splines, and only having trees in the "dense" places.
It strikes me as a little strange you're hitting performance issues at this point in the level design. I'd suggest culling volumes but there isn't really much to actually cull. I haven't played around with PCG but after a quick google it looks like some other people are seeing performance issues in engine while using it, and it is experimental so essentially a public beta. Definitely see how it runs in game though. I think try and do the same thing with the actual foliage system in a new level and see how performance compares so you can at least rule it out. trying to switch assets seems to be a red herring. That said, also take a look at the nanite fallback meshes for the foliage, i think that's what gets used for all the shadows and everything. I don't think it being a forest should be any harder on the raytracing than anything else, it should still only be a bounce or 2 before stopping calculations. Now that you are on to environment though it'll be cool to see where this goes.
Seeing monster corpse on the floor harms atmosphere. Player should not have ability to study monsters in detail. I suggest making corpses disappear quickly.
Yeah I was thinking something like that, but I also don't want the gamey disappearance. I think there can be a strong distortion of a corpse, like a really fast decay, leaving a dark black-brown resemblance
@@ViktorsJournal I think he means that nothing is cohesive. They all look different design wise, the forest, the tree in the middle the monsters and the main character all look store bought and has no cohesive design like they belong in the same world. I would have to agree even if it's early in development it does not look particularly good.
@@ViktorsJournal He is done a lot of great work to reach this far. It is impressive but he also trying to nail the look of the game at a stage where in my opinion should have been fleshed out in concept art. I know from experience, assets and layout takes time and designing in 3d is not optimal, design should already be set before trying to get a look in the game engine. But it is early and he probably did it this way to validate the game in his head which is very important. But right now the game looks like every other asset flip horror game on steam.
I think you guys get this feeling because neither the monsters nor the big tree have textures on them at all. While the forest is of course fully textured
Do not forget that you can bake shadows. At least you could do that earlier. It will significantly increase performance.
Was going to say, bake the lights.. but your comment was already here ;)
That option doesn't play nice with nanite meshes
really?@@maslue90
Instead of using invisible wall from blocking player into going off path, let them walk into the growth a little bit, and show the animation about how he cannot push through the bush or something, idk, spikes on it.
i feel like the tall trees need to be taller, right now it doesnt realy feel like we're in a forrest
Yep. This feels like more of a grove. Make the trees tall and you have the woods. Make the tree trunks thicker, VERY tall, and so thickly packed that the tree tops completely shadow the ground, then you have a forest.
I completely agree with the invisible wall thing. I truly despise invisible boundaries. It has always bothered me to hit an invisible wall preventing me from going somewhere. Give a reason why you can't go to an area. Use the environment to block it, not an invisible barrier.
What about increasing the Exponential Height fog, could benefit your framerate, because less of the environment will be visible.
Also creates more of a creepy vibe. Enemies suddenly appear out of the fog.
Another alternative is a depth mask fog through a post process material, this gives a pretty good look too
Imagine moving path during gameplay and secretly modifying the map and confusing the player.
Try to use baked lighting instead of lumen, lumen is real time so great for iterations but its super heavy on GPU.
I think it would be cool if the guts (or maybe a different creature idk) ambushes you from the trees and bushes, like they jump out and maybe you have to do some QuickTime event to not instantly die
Probably because every single leaf has a transparency.
5.2's Metahumans featured the improved facial bits for Metahuman Animator. You should give it a try! Really easy to use and give great results (plus John can have your face!)
Cool! I remember that demo with the actress from hellblade 2
Hey Boro! I'm insanely impressed with how quickly you pick things up. You definitely have what it takes to be a software engineer.
I don't know anything about UE but I agree with a lot of comments saying that this is probably due to dynamic lighting which is very expensive and baking lights should make quite the difference. But also if there will be no sun light in the final version of the game and a flash light + muzzle flashes well be the only light sources then there's probably no point in optimizing that at all ( or at this stage in the development).
Wish you all the best with the game!
This is looking really cool! Some thoughts on the procedural forest:
Why not use the spline circles to create empty spaces for towns/buildings/whatever environment you're looking to make. You could also create splines in between each one of them so the paths are different on every playthrough!
Also I see a lot of comments regarding baking the lighting, which is defo going to help with opti, but I'm not sure if this works in your case (procedural generated environment).
Cheers, great video as always!
The performance problem comes from the movement of the foliage causing the shadow map to be recalculated each frame. There's some good videos on UA-cam if you search that show you how to disable the movement based on distance from the camera so you still get movement close up but they become static meshes beyond a certain distance significantly improving framerate.
hmmm....you really should not have this rough performance this early on in a project. Its a bit hard to tell what exactly is going wrong without having the scene myself, but most likely its everything adding up. There are tons of resources on optimizations out there, I suggest looking through as much as possible. If your having issues this early on, it will only get worse as the projects grows, making the development process really slow as well.
You're probably right. This is super-interesting to figure out, but the main question is this whole Nanite + Lumen + Virtual Shadows business. These guys don't seem to scale much. I feel like if the level would be 10 times more complicated, it would have literally the same fps. It's still bad though
Polygon count, deleting polygons not seen by the camera, maybe having some LOD in place (someone mentioned fog as a trick, to not render farther away), number of objects, that's usually a beast, (I don't know if in Unreal you can use instancing, and if that's any advantage...), number of textures (ie, if not many are put into a same map, which tends to be optimal, fewer calls, like with fewer objects) and texture sizes (humongous texture files even in far away objects)... yep, that's how I'd optimize, maybe doing all that makes things change drastically. But if there's something, some library (I am not a coder, only the art part, and I don't know Unreal) or thing in the code that is hogging everything, then that'd be the issue, from what I have seen many times in other engines. I am an old timer in games (I used to optimize for mobile games in 2006, it was crazy back then, some games at quake 2 polygon count...) and we used to bake lights whenever we could (light maps). But no idea which is the trend now, if everyone and their dog is just doing dynamic lighting (probably). One thing hasn't changed, it seems, lol... 'dynamic' raytraced shadows kill everything. :D
Lol, disregard my entire comment :D :D . That advice is surely not applicable or most of it.
I hadn't watched the part about geometry and how you are generating it.... My style of watching videos, by parts, so stuupid (me, I mean).
That said, if all is auto generated... Are still a lot or some of the "traditional" optimizations possible (ie, like those I mentioned)? It would be a pity, if not, as usually one can get immense improvements in FPS, so.
Running stuff in a editor kills performance too. Also nvidia drivers still have bugs with gsync and a lot of common engine editors
For forest, is really lacking grass.
You can also get hugely better performance by tweaking the falloff of the world position offset for animations. Not sure if you did that yet, but it should be a much bigger performance gain than shadows since foliage will animate even far in the distance. Making it only animate when it is in the foreground will net you dozens of frames or more. Its something you usually have to tweak in the material itself but i believe there is actually a setting for it in the PCG.
because of how dense the forest is I believe you could make the trees that are deeper in the forest extremely low poly to the point of probably just being flat places without the player noticing especially in the darker overcast weather
Well yeah, that's how things usually go in games - but not in UE5. Nanite technology makes all those low-poly efforts completely meaningless. There are some other things I need to try though, like replacing trees with the ones without transparency textures. Will keep you guys updated!
@@BoroCG The transparency textures may be the issues for the polycount, I haven't kept updated on the latest versions documentation but originally at least mesh's that had textures with transparency channels active would not be supported by nanite, so while the trees and every other solid texture may be optimized all of the leaves very well may not be using nanite!
Imagine the monster at the end is still called jhon 😂
You should also check performance in a build, in editor performance is always different. Also I assume you have the quality settings of everything on max by default, which might not be necessary. I'd try turning down settings wherever you can and see if the difference is worth the performance impact or not. And you can always use the profiler and see exactly what is taking up which resources.
Yeah you’re right! Problem is though - I can’t pack the project :D keeps showing some very vague error messages. Gotta figure it out someday
@@BoroCG This is probably something you want to solve early on, are you able to pack a new project? and then are you able to migrate your content and still pack it? The error I ran into when I started unreal was the filepath lengths, if you're not already try putting it in a top level directory (C:\yourgame) and packing it.
Ooh thanks, will work on that soon
@@BoroCG You really need to solve packing first on. Later in, you may have hundreds of files and error message will not give you any useful hints. Imagine going through every file and trying to test what is breaking the build...
Disabling tree sway in the materials will fix the performance while using lumen. You could sparsely add trees along paths that do have the swaying material. The problem is that moving leaves stops automatic shadow caching.
I disabled the sway on most big trees, not sure if there was any improvement
@@BoroCG I think the shadows are the issue, when I disable the shadows on the megascan trees the performance doubles. It could just be that hundreds of shadows are overlapping onto complex meshes. As a last resort you could disable shadows on the mass of trees and then put an invisible plane over the forest to shade it. Leaving space over the paths so light could shine on trees with shadows and wind enabled.
ive ben watching this horror game devoloment sens 2021
just got a new acount so thats why am new,
i think its so cool that you are making a horror game.
good luck.
LEZZ GOO I love ur game making vids
yay
Unreal Engine 5 is just incredible... I can't believe we can just use this for free.
I remember someone saying that today it's better to have leaves and grass and such as cut out polygons with a texture rather than a card/plane with a transparent texture since polycounts don't eat as much performance as transparency on foliage and such. I never tested it though but with that procedural system like this it might be simple to do a test like this?
That's one things I really wanted to try. Will do!
Hey I was wondering, I personally find trees acting as walls a tad annoying as in real life you can go through a forest. I was wondering is there a way to make it so that if john entered the forest if he keeps walking inside he would walk out where he entered? Make it so that the forest itself is keeping him inside somehow?
Insane feature
From the start I was really curious how the optimization would go. This is something even huge developers seem to struggle with lately. Especially in Unreal Engine. That's why a lot of automated techniques cannot compete with well optimized meshes done by hand. Maybe with a 5090 in the future you can brute force your way around bad optimization 😅
Hi! you might want to look into Sublevels and Streaming, to help with performance (loading and hiding not visible parts of the map)
Actually UE5.2 has texture and mesh streaming as checkboxes in settings. Mesh streaming is labeled experimental, but yeah, all streaming is on. I'm not using world partition yet though, having issues trying to enable it for some reason
Sorry if already suggested or irrelevant, but I wonder if you made the outer bounds of the forest a little tighter to the paths, would that save on processing power?
watch out for anything with WPO and nanite (basically anything that's swaying in the wind), the performance seems to tank with those nodes compared to non nanite
If you want to improve performance without changing your shadow settings too much, you're going to have to avoid using masked materials with your foliage. As noted by Epic's documentation, your performance will likely be significantly better if you use actual geometry for each leaf on your trees. You can also disable specific settings in VSM using console commands that disallow invalidated VSM pages. These invalidated pages have a heavy impact on performance. Using the GPU profiler will also help you gauge what's costing you the most.
Thanks, I already tried the no-masks foliage, and editing a video about it!
Watch out for VRAM usage. If there are more assets, FPS could be the same, but VRAM usage would be higher. And on lower-end GPUs, when there isn't enough VRAM, the game will start lagging heavily. So maybe keep it under 6 or 8 GB for a 1080p screen.
Смешно бегает ))
Don't forget to add details like trash and random flowers, twigs and stones on the ground.
i just code everything myself.
you were always the monster of the forest, boro
edit: booshes
Looking at the procedural forest points, it looks like you can probably cut out all the smaller brush in the dense patches. This also tends to follow reality, the areas where trees take over tend to suck out resources from medium sized brush and it just seems like only trees are present. At the edges, that's where all the smaller/ medium brush will grow, and anywhere next to rivers (if you ever add those). So I think you can get a huge performance boost by only placing smaller brush right at the edges of your splines, and only having trees in the "dense" places.
It strikes me as a little strange you're hitting performance issues at this point in the level design. I'd suggest culling volumes but there isn't really much to actually cull. I haven't played around with PCG but after a quick google it looks like some other people are seeing performance issues in engine while using it, and it is experimental so essentially a public beta. Definitely see how it runs in game though.
I think try and do the same thing with the actual foliage system in a new level and see how performance compares so you can at least rule it out. trying to switch assets seems to be a red herring.
That said, also take a look at the nanite fallback meshes for the foliage, i think that's what gets used for all the shadows and everything.
I don't think it being a forest should be any harder on the raytracing than anything else, it should still only be a bounce or 2 before stopping calculations.
Now that you are on to environment though it'll be cool to see where this goes.
Sir plz upload video how to animate wrinkles in blender
You need to change gunshot sounds.
It's lagging far worse than i thought for this simple level. Nanite is great, but optimizing the game is a must.
Is your game speed tied to the frame rate if so you should change that
Have him be killed if he goes too deep into the forest
That's one way to do it, so many possibilities outside of simple collision walls
Why does your face look CG?
Not the first time I hear this, not the last
He's a MetaHuman.
@@SB-jx6ox we could actually have unreal engine meta human Vtubers, I'm actually surprised I haven't seen it yet.
Seeing monster corpse on the floor harms atmosphere. Player should not have ability to study monsters in detail.
I suggest making corpses disappear quickly.
Yeah I was thinking something like that, but I also don't want the gamey disappearance. I think there can be a strong distortion of a corpse, like a really fast decay, leaving a dark black-brown resemblance
@@BoroCG Exactly my thoughts.
Ayyye I’m the 100th like :)
first
looks like an asset flip with invisible walls
I have to ask, what does this even mean?
@@ViktorsJournal I think he means that nothing is cohesive. They all look different design wise, the forest, the tree in the middle the monsters and the main character all look store bought and has no cohesive design like they belong in the same world. I would have to agree even if it's early in development it does not look particularly good.
@@lennyjoseph7382 Isn't that normal considering that previously it was all just boxes?
@@ViktorsJournal He is done a lot of great work to reach this far. It is impressive but he also trying to nail the look of the game at a stage where in my opinion should have been fleshed out in concept art. I know from experience, assets and layout takes time and designing in 3d is not optimal, design should already be set before trying to get a look in the game engine. But it is early and he probably did it this way to validate the game in his head which is very important. But right now the game looks like every other asset flip horror game on steam.
I think you guys get this feeling because neither the monsters nor the big tree have textures on them at all. While the forest is of course fully textured