Amazing work. Man I would love to be able to use this as a world design/level design tool and be able to export into an RPG. 100% on the jealousy meter!
I know people are building similar things for Blender using geometry nodes. I don't think anybody has yet built a full equivalent, but should be possible. I think a big part of why there is no exact equivalent in Blender is once you learn to use geometry nodes you end up making your own generator for your own style so there isn't a one size fits all thing.
I understood about 1/20th of what you said here Tomasz (I write LOB apps), but this was brilliant! Both yourself and Ana should be very proud of what you've achieved and the care you took in making sure it worked on old systems. Bravo! Also, considering that English isn't your first language, you have a masterful way with your sense of humour in English! 😂
I played the game for the first time today, and was amazed by technical perspective of procedural geometry and how you manage to render all of that... And here we go, a video explaining everything! Great job
I discovered this game thanks to the youtuber called Quaz. It was something I really craved for and the game is so worth it. I also love all the lens effects you have added to the game. It is amazing.
This is such a superb example of "constraints breed innovation" I especially love all of the comparisons to UE5's tech, because I constantly feel as though Unreal is blatantly leaving even 1-generation-old hardware behind
@@wydualiterally clicked on this comment intending to recommend those exact videos. it's nasty stuff, we really shouldn't be having to rely entirely on indie studios to do any innovation in optimization at all.
I bet nvidia/amd/intel areninvolved in ue5 development to push more high end hardware because quite frankly budget gaming is dead because of this Epic's blunder of an engine
@@draco6349 Hey, just some precision on UE5 vs custom rendering techniques : keep in mind all throughout the presentation Tomasz explains that they didn't go for the "common" rendering methods - the extremely specific scope and nature of the game. The reason why they rolled out some of these innovative solutions is because they knew exactly what was needed and what wasn't. Outdoors only, limited map size and entity count, complete control over meshes and LODs, camera POV and gameplay interactivity... UE is a generalist game engine that "works" almost out of the box in every scenario which comes with severe drawbacks. I hate Epic's marketing disregarding and even hiding those drawbacks as well, but I just wanted people to know why it's an inevitability and to avoid bashing UE's rendering without getting the bigger picture. Thank you for reading.
As a PostProcessing dev, love this! ACES is totally overused, all public DoF methods are generally full of pitfalls, but the best bit was all the fun names for systems.
Obligatory: ACES is not a tone mapper it is color space system. AgX works with ACES color space. Saying ACES is overused is like saying the MP4 video container is overused
@@benny_dryl To be even more pedantic back, ACES is an entire color system, composed of color spaces (AP0 for archival, AP1/ACEScg for mastering), and a suite of output mastering transforms (in ACES v1.0 these were the SDR/HDR ODTs, in ACES v1.1 they were replaced by the combined Output Transforms). When we talk about the tonemapping part of things, we're referring to a transformation sequence that goes from your render space to AP1, then using the ODT/OT on the other side. Usually this whole chain is replaced with a pre-parameterized LUT, like in the Sucker Punch approximation. These ODT/OT transforms are also infamous for many reasons, most famously for the controversial "sweeteners" that can embed a bit of a look. AgX (or things like Tony McMapface) are a replacement for that entire transform chain. AgX was mostly designed with sRGB primaries in mind, though you can run it in BT.2020 or AP1... though I would be careful if you use AP1, that fake D50 whitepoint is a doozy IMO. When I was investigating this about a year ago, the modes labeled "ACES" in Unreal and Unity did not agree on their color transforms, my recollection was that Unreal did proper chromatic adaption for the D50 whitepoint, and Unity did not.
Do you know if there's a quirk to the ACES -> sRGB tonemapper used in game engines that would cause the "notorious 6" color clamping? I work in animation and have never had that issue, if anything I find the transform we use to be a very good split between perceptual and a filmic response, especially when it comes to highlights.
@@dvlstx I can't say I know why it does it, but ACES-tonemapped games that use Disney GGX as their BRDF all end up looking the same. It's like if every photographer used the same camera and lens.
Like fk me !... when I saw you game I immediately knew the visuals were special, didn't realize how far you'd gone considering team size... Outstanding work...
The procedural generation tech would be amazing for a remake of the old rampart arcade where people would build procedural castles and then try to conquer each other's creations
Another indie technical masterpiece like RainWorld, huuuge respect, Its crazy to think also for some work it would be faster n more fun to do it in this game than in a 3D software
DoF gathers samples in a two-ended cone with the apex on the focal plane. He's just reordering how he processes those samples, so that he accesses screen space data in a more coherent fashion. For example, a vertical slice would be gathering all samples directly above/below the target pixel. If you process this vertical slice for all pixels within a tile (before moving onto the next angular slice) then you'll get nice data access coherency.
I hope the future of gaming has more procedural generation. I would like to see it new games for older generation consoles too, like megadrive and nes. I feel like we can explore new, never ending games for these old consoles using new programming techniques.
He mentions these 3 terms a lot when comes to ray trace performance, linear steps + bisection + secant. I roughly know about linear steps, but clueless about bisection + secant. Any idea what these words used in ray trace performance?
The trick is that you can sort of view raymarching as a kind of root finding algorithm: you're trying to find the distance t along the ray that returns an intersection through iterative search. So, step along with raymarching until you hit a rough intersection, which gives you a minimum and maximum t value that your intersection occurs within, then bisect to find better bounds, then use the secant method to find the actual intersection distance t.
Vulkan is better than DX11/12 ..as a Linux gamer and someone working on my own game, it runs faster and doesn't give games that shader stuttering and does everything including RT with ease, glad to see more devs using it.
I think it's pretty obvious that vulkan works better than dx on Linux, but I don't think it helps very much with shader compilation issues, you still manage all the shader compilation yourself. Dx11 actually didn't have this problem as hard because of how it left the problem of pipeline bloat to the drivers. The main reason people do dx12 support as far as I can tell is mainly that they're already used to dx11, so it's more familiar for them to work with, but it's also closer to the API in Xbox and also provides PIX as a debugging tool which is a lot better than render doc.
@@deprilula28 Every single time I start a DX12/11 game there is shader stutter, but not if im using Vulkan ..thats on Windows when a game has the option and on Linux, if I play the same game on Windows and play it with DX11/12 and then go to linux the Linux version has no stutter but the windows version is crap, that leads me to believe Vulkan is better, if they resolve the shader compile stutter with DX11/12 that would be great.
Can someone please tell me what's the name of the thing, you know the thing where devs put so much work into anti-games because they prefer only to release art tools rather than say a fully fleshed out RPG or RTS (at least at first). Recalling Spore and No Man's Sky as other examples. The this tech demo for a real-time Civilization clone with many extra tools is really cool and solid getting released as just the art tools and no game.. someone else commented that this could be useful to export scenes to other fully fleshed out games, and yeah that would work too. Like if this was an inspiration to Ludeon Studios for a Rimworld 2 they could have so much offer generated content to draw from when generating planets. And provide players robust tools to make them ourselves in the game.
Or Townscaper? I guess the fun part for the developer is working on the technology and art etc but turning it into a "proper game" they don't find fun or interesting so they just go all in on making a cool tech demo.
@thesenamesaretaken by all means yes it's a grind and can be thankless so on the other side of the coin it's amazing to see the uptake on this particular product.. which hopefully sets a visual quality and user experience bar for those RTS and RPGs
@@dr.angerousquoth The Big Lebowski, “That's just like, your opinion, man” Presumptuous to project from a sample size of one to the subjective view of everyone. Hate to break to you, but you are not the main character of the universe.
Amazing work. Man I would love to be able to use this as a world design/level design tool and be able to export into an RPG. 100% on the jealousy meter!
I know people are building similar things for Blender using geometry nodes. I don't think anybody has yet built a full equivalent, but should be possible. I think a big part of why there is no exact equivalent in Blender is once you learn to use geometry nodes you end up making your own generator for your own style so there isn't a one size fits all thing.
This guy speaks at 1.5x speed
He probably thinks at that same speed ! :O
It's to make up for all his stuttering.
probably nervous, happens
Me when I put yt videos on 1.5x speed
@@VoxelMusic all of his stuttering happens because he talks at 1.5x speed
I understood about 1/20th of what you said here Tomasz (I write LOB apps), but this was brilliant! Both yourself and Ana should be very proud of what you've achieved and the care you took in making sure it worked on old systems. Bravo!
Also, considering that English isn't your first language, you have a masterful way with your sense of humour in English! 😂
Geniuses created a brilliant work of art - Tiny Glade!
Amazing! Love your work, Ana&Tom. So inspiring 🥰
I played the game for the first time today, and was amazed by technical perspective of procedural geometry and how you manage to render all of that... And here we go, a video explaining everything! Great job
Awesome presentation!
I discovered this game thanks to the youtuber called Quaz. It was something I really craved for and the game is so worth it. I also love all the lens effects you have added to the game. It is amazing.
It's garbage
@dr.angerous Who's an edgy boy.
This is such a superb example of "constraints breed innovation"
I especially love all of the comparisons to UE5's tech, because I constantly feel as though Unreal is blatantly leaving even 1-generation-old hardware behind
I'd reccoment you to watch materials from Threat Interactive, talking about nanite and other UE5 tech. The situation is worse than many imagine.
@@wydualiterally clicked on this comment intending to recommend those exact videos. it's nasty stuff, we really shouldn't be having to rely entirely on indie studios to do any innovation in optimization at all.
Lumen runs on decade old hardware. Not exactly abandoning old hardware.
I bet nvidia/amd/intel areninvolved in ue5 development to push more high end hardware because quite frankly budget gaming is dead because of this Epic's blunder of an engine
@@draco6349 Hey, just some precision on UE5 vs custom rendering techniques : keep in mind all throughout the presentation Tomasz explains that they didn't go for the "common" rendering methods - the extremely specific scope and nature of the game.
The reason why they rolled out some of these innovative solutions is because they knew exactly what was needed and what wasn't. Outdoors only, limited map size and entity count, complete control over meshes and LODs, camera POV and gameplay interactivity... UE is a generalist game engine that "works" almost out of the box in every scenario which comes with severe drawbacks.
I hate Epic's marketing disregarding and even hiding those drawbacks as well, but I just wanted people to know why it's an inevitability and to avoid bashing UE's rendering without getting the bigger picture. Thank you for reading.
Lovely presentation, great detail, really good showcase, incredible results, such a silent crowd. Guys come on, show some appreciation!
As a PostProcessing dev, love this! ACES is totally overused, all public DoF methods are generally full of pitfalls, but the best bit was all the fun names for systems.
Obligatory: ACES is not a tone mapper it is color space system. AgX works with ACES color space. Saying ACES is overused is like saying the MP4 video container is overused
@@benny_dryl To be even more pedantic back, ACES is an entire color system, composed of color spaces (AP0 for archival, AP1/ACEScg for mastering), and a suite of output mastering transforms (in ACES v1.0 these were the SDR/HDR ODTs, in ACES v1.1 they were replaced by the combined Output Transforms).
When we talk about the tonemapping part of things, we're referring to a transformation sequence that goes from your render space to AP1, then using the ODT/OT on the other side. Usually this whole chain is replaced with a pre-parameterized LUT, like in the Sucker Punch approximation. These ODT/OT transforms are also infamous for many reasons, most famously for the controversial "sweeteners" that can embed a bit of a look.
AgX (or things like Tony McMapface) are a replacement for that entire transform chain. AgX was mostly designed with sRGB primaries in mind, though you can run it in BT.2020 or AP1... though I would be careful if you use AP1, that fake D50 whitepoint is a doozy IMO. When I was investigating this about a year ago, the modes labeled "ACES" in Unreal and Unity did not agree on their color transforms, my recollection was that Unreal did proper chromatic adaption for the D50 whitepoint, and Unity did not.
Do you know if there's a quirk to the ACES -> sRGB tonemapper used in game engines that would cause the "notorious 6" color clamping? I work in animation and have never had that issue, if anything I find the transform we use to be a very good split between perceptual and a filmic response, especially when it comes to highlights.
@@benny_dryl I am aware, but in games it is generally referred to as ACES tonemapping.
@@dvlstx I can't say I know why it does it, but ACES-tonemapped games that use Disney GGX as their BRDF all end up looking the same. It's like if every photographer used the same camera and lens.
43:02 OMG, using warping to accumulate different views! that's absolutely brilliant!!
I am mostly impressed by this being in Rust, first game I heard of that was made in rust that is not "just" another game engine!
Brilliant, super impressive results for such a small team.
Id love a game like the OG roller coaster tycoon games but with this sort of engine. Like a tiny theme park!
29:46 *Rcace oindition. Don't care.*
_I see what you did there!_ /s
Lots of great practical info here, thanks so much for sharing!!
yeah, these lot are talented. impressive
Like fk me !... when I saw you game I immediately knew the visuals were special, didn't realize how far you'd gone considering team size... Outstanding work...
Great talk, thanks for the good references
The procedural generation tech would be amazing for a remake of the old rampart arcade where people would build procedural castles and then try to conquer each other's creations
Another indie technical masterpiece like RainWorld, huuuge respect,
Its crazy to think also for some work it would be faster n more fun to do it in this game than in a 3D software
Awesome presentation! ❤️
This is too much for me but I am glad I found this content on TH-cam.
Well played!
Inspiring.
anyone understands what he means by "marching alone 1d radial slices of the DoF kernel". Brilliant work btw!
DoF gathers samples in a two-ended cone with the apex on the focal plane.
He's just reordering how he processes those samples, so that he accesses screen space data in a more coherent fashion.
For example, a vertical slice would be gathering all samples directly above/below the target pixel. If you process this vertical slice for all pixels within a tile (before moving onto the next angular slice) then you'll get nice data access coherency.
@@iestynne I see, I am reading the Bend Studio screen space shadow and thinking it may be where the idea comes from. Thanks!
I hope the future of gaming has more procedural generation. I would like to see it new games for older generation consoles too, like megadrive and nes. I feel like we can explore new, never ending games for these old consoles using new programming techniques.
I like your funny words magic man
The best about the video is the N² - The Nerd Nervousness!😂
He mentions these 3 terms a lot when comes to ray trace performance, linear steps + bisection + secant.
I roughly know about linear steps, but clueless about bisection + secant.
Any idea what these words used in ray trace performance?
The trick is that you can sort of view raymarching as a kind of root finding algorithm: you're trying to find the distance t along the ray that returns an intersection through iterative search. So, step along with raymarching until you hit a rough intersection, which gives you a minimum and maximum t value that your intersection occurs within, then bisect to find better bounds, then use the secant method to find the actual intersection distance t.
great work
TFW you make your own game engine and optimize the hell out of it instead of just dumping all the assets into Unreal
RESPECT.
Mac version?
another rust W
Vulkan is better than DX11/12 ..as a Linux gamer and someone working on my own game, it runs faster and doesn't give games that shader stuttering and does everything including RT with ease, glad to see more devs using it.
I think it's pretty obvious that vulkan works better than dx on Linux, but I don't think it helps very much with shader compilation issues, you still manage all the shader compilation yourself. Dx11 actually didn't have this problem as hard because of how it left the problem of pipeline bloat to the drivers. The main reason people do dx12 support as far as I can tell is mainly that they're already used to dx11, so it's more familiar for them to work with, but it's also closer to the API in Xbox and also provides PIX as a debugging tool which is a lot better than render doc.
@@deprilula28 Every single time I start a DX12/11 game there is shader stutter, but not if im using Vulkan ..thats on Windows when a game has the option and on Linux, if I play the same game on Windows and play it with DX11/12 and then go to linux the Linux version has no stutter but the windows version is crap, that leads me to believe Vulkan is better, if they resolve the shader compile stutter with DX11/12 that would be great.
let me guess your gpu: AMD
Amazing...I hope EPIC is watching
Nani!?
@@medicalwei he's referencing the increasingly common conception that UE5 is poorly optimized
Can someone please tell me what's the name of the thing, you know the thing where devs put so much work into anti-games because they prefer only to release art tools rather than say a fully fleshed out RPG or RTS (at least at first).
Recalling Spore and No Man's Sky as other examples.
The this tech demo for a real-time Civilization clone with many extra tools is really cool and solid getting released as just the art tools and no game.. someone else commented that this could be useful to export scenes to other fully fleshed out games, and yeah that would work too. Like if this was an inspiration to Ludeon Studios for a Rimworld 2 they could have so much offer generated content to draw from when generating planets. And provide players robust tools to make them ourselves in the game.
41:00
.... So it's just trying to push art for art's sake but they mentioned that from the start so ok
Or Townscaper? I guess the fun part for the developer is working on the technology and art etc but turning it into a "proper game" they don't find fun or interesting so they just go all in on making a cool tech demo.
@thesenamesaretaken by all means yes it's a grind and can be thankless so on the other side of the coin it's amazing to see the uptake on this particular product.. which hopefully sets a visual quality and user experience bar for those RTS and RPGs
Had to slow this guy down to 75% to be understandable..
That game is absolute garbage anyway why they even let tjis shit talk
cringe
Clearly havent played it or your are trolling hahaha, you must lead a boring ass life :D
@@warlorddk2070 it's easy to pirate and fun like 2 minutes. Delusional
Game is too hard to win actually, died 3 times in a row in under 10 minutes and had to uninstall.
@@dr.angerousquoth The Big Lebowski, “That's just like, your opinion, man”
Presumptuous to project from a sample size of one to the subjective view of everyone. Hate to break to you, but you are not the main character of the universe.