I Tried Re-creating Death Stranding Terrain Scan (Part 2)

  Рет қаралды 77,866

Game Dev Buddies

Game Dev Buddies

Күн бұрын

Пікірлер: 271
@GameDevBuddies
@GameDevBuddies 16 күн бұрын
All the code and shaders are publicly available on the GitHub link in the description. However, if you're interested in accessing the original project repository or an in-depth technical breakdown of the solution, you can access them via our Patreon account: www.patreon.com/GameDevBuddies If you just want to support us, you can do that here: www.ko-fi.com/gamedevbuddies
@yojan69
@yojan69 15 күн бұрын
I watched this video all the way through without ever realizing it was 30 minutes long. It's so fascinating to see how this kind of technical art works, I would love to see more of this
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you so much! Well, I'm glad you like it because there will be more videos like this :)
@TankorSmash
@TankorSmash 15 күн бұрын
@@GameDevBuddies Awesome, looking forward to it too
@TylerCathey
@TylerCathey 15 күн бұрын
PEAK reccomendation pull
@SparkyTM
@SparkyTM 13 күн бұрын
fr
@eduardomoraesrigo4782
@eduardomoraesrigo4782 16 күн бұрын
I would spend hours watching this, as a developer (frontend, not games), I love seeing this step-by-step development of a function that a lot of people should just see and not care about. I love this curiosity and attention to detail that you provided in this video. Thank you very much! Kudos from Brazil 🇧🇷
@Eletroz_
@Eletroz_ 16 күн бұрын
Amo assistir essas coisas também
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you so much! I'm glad you like this kind of videos because there will be more of them 😃
@vincere13
@vincere13 10 күн бұрын
This is some awesome stuff. I'm slowly falling in love with Graphics Programming and Tech Art, and projects like this are really inspiring.
@GameDevBuddies
@GameDevBuddies 9 күн бұрын
Thank you! Looking forward to seeing some cool stuff you'll make in the future :)
@MinuteXP
@MinuteXP 13 күн бұрын
First time I've ever sat through a dev video without getting bored. I love the stuff you put out, it's very intriguing seeing how much effort really goes into creating replicas of existing features. You're doing fantastic, keep it up!
@GameDevBuddies
@GameDevBuddies 13 күн бұрын
Omg thank you so much! This means a lot
@crutlefish6592
@crutlefish6592 14 күн бұрын
Really good video. Since the first video I went and completed DS Directors Cut. The first video really inspired me to look closely at DS and the attention to detail they have going on which is insane. The reimplementation of the scanning showing that. Great job on this, and hat tip to the DS devs for coming up with it. Amazing.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you! Yeah, the game is a masterpiece, the attention to details is unbelievable
@funx24X7
@funx24X7 14 күн бұрын
Excellent follow up, great attention to detail. Also good job to you and maaz for catching/diagnosing the weird aliasing. I didn’t even notice and would have likely blamed KZbin if I had.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you!
@moggioz7165
@moggioz7165 3 күн бұрын
This is so cool!!! Seeing you recreate this gave me so much more respect for devs in general. Something that you spam so often in the game and kind of take for granted has so many small little working parts put into it. Pretty awesome.
@GameDevBuddies
@GameDevBuddies 3 күн бұрын
Thank you! Glad you enjoyed it
@kermt6648
@kermt6648 15 күн бұрын
dude this is insane, your job is amazing I'm not a game developer but I am a developer and I feel amazed by this, please keep with this awesome work! you'll get the recognition deserved!! I bet!!
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you so much! ❤
@eccodreams
@eccodreams 13 күн бұрын
A perfect example of the incredible work that goes into technical art. Amazing stuff mate!
@GameDevBuddies
@GameDevBuddies 13 күн бұрын
Thank you!
@Bodom1978
@Bodom1978 14 күн бұрын
Finally, a recommended video on game dev thats actually interesting and informative. Well done brother!
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you so much!
@RedPanda654
@RedPanda654 11 күн бұрын
i wanna make games in unity so bad right now, this was a great motivator and verry inspiring, look forward to seeing what more you do!
@GameDevBuddies
@GameDevBuddies 11 күн бұрын
Thank you so much!
@taylorgriffin6269
@taylorgriffin6269 15 күн бұрын
The work you have done on this is incredible. I can't imagine how difficult it mustve been to figure all of this out. The only differences I can spot are that the yellow squares should be larger than the blue ones, there is also a yellow triangle that appears as well (I can't tell when they should show but it might be showing flat but rough terrain like small stones like at <a href="#" class="seekto" data-time="913">15:13</a>) and also there is a green arrow indicator as well shown at <a href="#" class="seekto" data-time="787">13:07</a> I think it is showing that there is tall grass but im not sure. Great job!!
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you so much! Damn I haven't noticed that the yellow ones are larger, but it totally makes sense from the gameplay point when you point it out! In regards to yellow triangle and the tall grass indicators, I referred to them briefly a the 14:45 mark - is that what you meant or is there something else I've missed?
@taylorgriffin6269
@taylorgriffin6269 13 күн бұрын
@@GameDevBuddiesoh yeah you are totally right I missed that 😅
@_ALLEGORY_
@_ALLEGORY_ 5 күн бұрын
Hey, just wanted to say that the thumbnails for part 1 and part 2 are very similar and I almost missed this! Other than that, great job!!
@GameDevBuddies
@GameDevBuddies 4 күн бұрын
Yeah, I was afraid that could happen. Sorry about that 😅 Thank you!
@ntee100
@ntee100 3 күн бұрын
​@@GameDevBuddies sounds like "I Tried Re-creating Death Stranding" series, with complete game at the end lol
@ChrizSee
@ChrizSee 14 күн бұрын
I'm getting Sebastian Lague vibes. Great work!
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you!
@NBGGames
@NBGGames 15 күн бұрын
The funniest thing about this is your effect somehow looks a lot nicer than the actual games ones, I specifically like that when things fade out they fade out and not just get deleted, if you notice with the bugs in the game if it ends while its bright it just instantly disappears but yours stops on the fade out which is a nice touch and is better at keeping people emersed
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you so much!
@HaywirePhoenix
@HaywirePhoenix 16 күн бұрын
I was so happy to see part 2 of this in my feed. It's perfect. Hats off to you for finishing this.
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you so much!
@reyariass
@reyariass 10 күн бұрын
Amazing job! Really enjoyed watching the progress!
@GameDevBuddies
@GameDevBuddies 10 күн бұрын
Thank you!
@darktip
@darktip 9 күн бұрын
Keep up the good work! You got yourself +1 subscriber
@GameDevBuddies
@GameDevBuddies 8 күн бұрын
Thank you so much!
@staa6589
@staa6589 15 күн бұрын
it's a piece of really great work man, very nice job and great video!
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you so much!
@slantedglasses7242
@slantedglasses7242 16 күн бұрын
So satisfying!!! Love it. And the scan now run through the surface of water. This cure my OCD in the previous video lol
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
I'm really glad you like it. Thank you so much for the support!
@TheLordOfWolves
@TheLordOfWolves 11 күн бұрын
nice skills bro, keep it up, i for one am very impressed at the detail attention.
@GameDevBuddies
@GameDevBuddies 11 күн бұрын
Thank you!
@SparkyTM
@SparkyTM 13 күн бұрын
crazy how much work came into ONE single mechanic
@GameDevBuddies
@GameDevBuddies 13 күн бұрын
Yeah, I completely underestimated the amount of work hidden beneath it
@nocoreal
@nocoreal 13 күн бұрын
ngl i felt a lot of relief when i saw the solution you came up with for the terrain texture
@GameDevBuddies
@GameDevBuddies 12 күн бұрын
I had to try and burn down my PC first, it's a part of the process 😄
@AddlerMartin
@AddlerMartin 15 күн бұрын
I'm not a dev at all (aside from a small game with only one level at Gdevelop - yes, Gdevelop. Dont laugh!) but I find this video and the previous one so good. I can somewhat understand what you're saying because I work with video and photoshop, and some blender here and there, so "depth level" and so on I can understand. Not only that, but your 2 videos show the love and care from the team at Death Stranding to putting so much attention to detail at the effect, from it's slow bounce to the red X glowing before everything. Amazing work, bro! Got +1 sub!
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you so much! We don't discriminate here, GDevelop is fine as along as it makes your life a bit easier and enables you to finish the game😃 Wanna share the name of the game you made?
@SrIgort
@SrIgort 10 күн бұрын
Very good, entertaining and informative video!
@GameDevBuddies
@GameDevBuddies 10 күн бұрын
Thank you!
@askhento
@askhento 15 күн бұрын
Great joB! Things to improve 1) zTest for red glow (probably disable it ? 2) red glow rotation 3) colors seems wrong (maybe gamma)
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you! I agree on all three points, really nice observation 👍
@akstis4183
@akstis4183 14 күн бұрын
What a beautiful programmer you are. Very satisfying video.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you so much!
@miachristensen5444
@miachristensen5444 15 күн бұрын
I loooove your videos so much, also i definitely think *some* of the red x flickering is intentional, it just kinda seems like a stylistic choice
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you so much! True! Also, when I think about it more, the flickering definitely grabs more player attention which could be the reason to intentionally implement it.
@Thijs.
@Thijs. 15 күн бұрын
The flicekering is only on buildings and those force fields that surround the cities i think
@Shifticek
@Shifticek 15 күн бұрын
great work, although you didn't show the most important part: the meetings about estimating the complexity of the development of the new features
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you! If there were any meetings I would have shown them - and probably thought a bit harder about should I re-create this effect or not, since it took me 4 weeks to complete 😅
@NotoriousBlake
@NotoriousBlake 14 күн бұрын
I can't wait for part 3!
@catmium7974
@catmium7974 9 күн бұрын
Getting terrain texture using a seperate orthographic camera is very clever I think
@GameDevBuddies
@GameDevBuddies 9 күн бұрын
Thank you!
@pchris
@pchris 15 күн бұрын
Unity lets you add animation events even to imported animations. I would recommend going into your walking animation and adding an event for each footstep instead of using physics colliders. From there you can do your raycasts as normal.
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
That's a good tip! Unity's third person controller package I used also use this technique to play the footsteps sound. I personally don't like this technique since animation events aren't visible from the code. For example, for this "PlayFootstepSound" method, it appears as if there are no references to it and I would 100% delete it during refactoring phase in larger projects which would cause the system to break.
@pchris
@pchris 15 күн бұрын
@GameDevBuddies worth a code comment I'd say then.
@Znko99
@Znko99 14 күн бұрын
I'm not even interested in gaming production but this video is so good that it made me want to learn more about it.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you so much!
@PureEz
@PureEz 15 күн бұрын
Well done, looks awesome!
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you!
@Afaik777
@Afaik777 13 күн бұрын
I’m curious about edge cases now: do steps show underwater? And how does the original handle water above sea level? I remember there were rivers in it
@GameDevBuddies
@GameDevBuddies 13 күн бұрын
This smells like the third part of the video 😅
@schouffy
@schouffy Күн бұрын
Amazing work!
@GameDevBuddies
@GameDevBuddies 9 сағат бұрын
Thank you!
@JinnRemona
@JinnRemona 6 күн бұрын
It would be cool to take your recreation a bit further. The scanner has additional features you could try to recreate, like pinging and giving greater highlight effects to objects in the environment for the player to notice and giving descriptors to said objects, like vehicles and lost packages. The scanner also later gains the ability to scan ahead, picking up any possible enemies in range, and highlighting their position to you through walls and terrain. The last unique feature I can think of that the scanner does is create pathing assistance in conjunction with the map. You would mark two spots on the map, say the Player and his Objective, and a line would generate between the two, showing you constant feedback on direction and elevation changes. I think all of these add more weight to just how good the scanner is in Death Stranding, and I'm really curious to see how they are gonna change or improve the scanner in the sequel.
@GameDevBuddies
@GameDevBuddies 6 күн бұрын
Thank you so much for this detailed descriptions of additional features, I definitely plan on continuing exploration of this effect at some later point in the future so this is golden!
@henriqueam
@henriqueam 14 күн бұрын
Hello! The result is awesome... congratz. Do you mind sharing how do you achieve a so good looking scene on Unity? Are you using any special assets or anything? Your grass, shaders, looks,... are all amazing.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you! The environment and the robot model are from Unity packages that are free and publicly available on the asset store. I've added the links at the bottom of the description. The only thing I did for this video was to alter the post-processing a bit to match the Death Stranding's vibe a bit more.
@henriqueam
@henriqueam 14 күн бұрын
@@GameDevBuddies Thank you for clarifying that!!
@THETV1RUS
@THETV1RUS 15 күн бұрын
Keep making content like this. More recreations of video game technical art plz.
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Oh, no worries, they're coming!
@timeTegus
@timeTegus 15 күн бұрын
thanks for making part 2
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
You're welcome! Thanks for watching
@jonathanpabon4477
@jonathanpabon4477 12 күн бұрын
Bro suffered sooooo much to create an effect from scratch instead of copying the files and porting them over😭😭😭😭. But props to you man!
@GameDevBuddies
@GameDevBuddies 12 күн бұрын
It's more fun this way! Also, I learned a lot more during the creation. But the suffering is real 😅
@SqualidsargeStudios
@SqualidsargeStudios 9 күн бұрын
As if porting a thing is that easy not to mention legal
@shibworth
@shibworth 9 күн бұрын
has death stranding been decompiled?
@millerbyte
@millerbyte 15 күн бұрын
Beautifully done!
@millerbyte
@millerbyte 15 күн бұрын
Thank you for documenting your mistakes and showing how you fixed them!
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
​ @millerbyte Thank you!
@Memeieli
@Memeieli 11 күн бұрын
The effect looks incredible, I think the only small issue is that it doesn't seem as bright. Possibly cause its missing emissive or hdr values that can be picked up by post processing like bloom. But wow is it spot on.
@GameDevBuddies
@GameDevBuddies 11 күн бұрын
Thank you! You're right, the indicators don't pop out from environment like in the original. Nice find!
@leomechnikov6790
@leomechnikov6790 13 күн бұрын
Great job! Thank you for the video.
@GameDevBuddies
@GameDevBuddies 13 күн бұрын
Thank you so much!
@Aisaaax
@Aisaaax 13 күн бұрын
My first thought without watching the video: do it all in the fragment shader. You can calculate specific world positions at which the markers are, and color a square of pixels offset from that position by a certain number. When calculating world position care only about x and ymeaning the grid will be uniformrly spaced.😮
@GameDevBuddies
@GameDevBuddies 13 күн бұрын
That's an interesting approach! But you would have to do it somehow in reverse, since in the fragment shader you have to determine if a specific pixel is a part of an indicator or not, you can't output a color for a different pixel located at a specific offset (at least of my knowledge). How would you tackle that challenge? Maybe writing to a separate random access texture?
@Aisaaax
@Aisaaax 12 күн бұрын
@@GameDevBuddies You can, I did it before when I had to draw antialiased grid on the ground. You can basically calculate current pixel's world position, and then if you know the location of your marker - you can compare the distance (x, y or both) to the marker world location. You can google stackoverflow for "simple antialiased grid shader" - I believe with some modifications you could use that approach. But there could be artifacts on the geometry creases, I imagine. Hard to envision how it would work without trying. I'm not writing shaders anymore and I was pretty inexperienced when I wrote that one, so no promises it's good. But that's how I would try to solve this.
@Aisaaax
@Aisaaax 12 күн бұрын
@@GameDevBuddies Although now that I think about it, the squares will likely be stretched due to view perspective. I.e. the squares will not be drawn in screen space. Not orthoganal to the screen but will also lie "flat" on the ground. Unless you take that into account somehow.
@GameDevBuddies
@GameDevBuddies 12 күн бұрын
@@Aisaaax Yeah it's hard to imagine all obstacles up front like this, but maybe it could be possible. Although there could be several indicators affecting one pixel so that would have to be accounted for. But very interesting idea!
@Aisaaax
@Aisaaax 11 күн бұрын
@@GameDevBuddies I wouldn't be worried about several indicators. Pixel shader is called only once for that pixel, and you can arrange your checks according to the priority you decide on. You can check all the nearby markers and decide which color you want to use for that fragment.
@furukura
@furukura 15 күн бұрын
This was great! I would like to criticize the red x flash effect, which looks great. I think all red x flashes should complete in the first "beat" of the scan. <a href="#" class="seekto" data-time="1138">18:58</a> When there is uncrossable terrain further away, there seems to be a delay when they appear - not till a second beat - and that creates 2 beats if there is uncrossable terrain near and far. This drags my attention to the terrain cluster in the second beat instead of the more important terrain that would be near the player and flash in the first beat. <a href="#" class="seekto" data-time="1016">16:56</a> I interpret the original scan effect in 3 beats: the first beat dumps all the terrain topology information onto the player, the second beat allows the player to digest that information, and the third beat supplements less immediate navigation data. The pulsing allows players to see through the clutter at the actual terrain. Thank you for the video
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you! I got a feeling they were showing based on the distance from the origin of the effect and the current spread range of the scan, but you have a really interesting observation (even though I'm not sure I understand what you mean by "beat" 😅)
@furukura
@furukura 15 күн бұрын
@@GameDevBuddies I think you are right about how they show based on the distance from the scan origin. What I mean by "beat" is the rhythm or pacing that the 3 stages I interpreted are presented to the player. Like a heart beat or story beat. I am trying to describe a subjective thing about how I experience the scan. It has an "animation" feel to it where you press the scan, your equipment flips up, it winks once, there is a pause (feels like animation impact frames or perhaps readying a shotgun), then the scan starts as the flashes reveal the Xes and the terrain is tagged immediately after, there is a pause (feels like post impact silence), then other elements fade in and out like smoke clearing and shifting. So pressing the button feels like 3 beats before the scan goes out, and the scan feels like it has 3 beats and the last one...echoes... Please excuse my insufficient analogies. I just like the pacing of it.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
@@furukura Thanks for that explanation, I understand it now much better! It's really refreshing to hear a different perspective of the effect since I always look at it from the technical point of view
@The14Some1
@The14Some1 14 күн бұрын
@@GameDevBuddies I'm with @furukura about the "beat" perception. This is how I interpreter the scanning sequence myself.
@orestes_io
@orestes_io 11 күн бұрын
awesome debugging. thanks for sharing!
@GameDevBuddies
@GameDevBuddies 11 күн бұрын
Thanks :)
@millerbyte
@millerbyte 15 күн бұрын
<a href="#" class="seekto" data-time="580">9:40</a> Do you need the Normal Vector of the terrain to determine now steep? You already have the depth texture from the top ortho camera -- can you calculate the value deltas of the individual pixels under the indicator?
@TechArtAlex
@TechArtAlex 15 күн бұрын
You can, but this would require sampling the depth texture 4 additional times. Whether or not it would be cheaper than outputting the normal texture, idk.
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Yeah, you're right. Like TechArtAlex said, you could manually calculate it from additional texture samples. However, the precision depends on the texture resolution and additional sampling could be more expensive than outputting the normals into another texture. I haven't tested this though, so I can't tell for sure. Since I've tried to keep the resolution of these additional textures quite low (512x256) I'm afraid the manual calculation could be very unprecise.
@millerbyte
@millerbyte 14 күн бұрын
Got it, thanks for the replies! Poking /prodding like this helps me learn, so thanks again!
@madpelican9242
@madpelican9242 15 күн бұрын
Now that is quality content) Awesome. Maybe using animation event instead of collision check will squeeze tiny bit of optimisation out of footsteps system. Not sure it needed tho)
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you! You're right, the animation event could remove the need for terrain collision checks. However, I personally don't like this technique since animation events aren't visible from the code. It appears as if there are no references to the method that is called by an animation event and I would 100% delete it during refactoring phase in larger projects which would cause the system to break 😅
@doll9576
@doll9576 15 күн бұрын
We are moving directly to the Kojima Productions with this one 🗣️🗣️🔥🦅
@LuizMoratelli
@LuizMoratelli 15 күн бұрын
Great video! Do you mind to share a bit about the process of creating parts like these at <a href="#" class="seekto" data-time="120">2:00</a> where you kinda show what you mean in the engine (looks like at least)?
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you! This particular visualization was actually created as one long coroutine, since it was pretty simple. I specified durations and easing curves for every part of the animation and then manually animated them one by one inside a coroutine. The animation itself is just an interpolation between two positions or material properties. Finally, I recorded the game view screen with OBS. However, for a more complex visualizations (like the ones in the Tri-Planar Mapping video) I often use the Timeline and the Recorder Unity packages. This enables more control over animations and makes inspecting them so much easier, but requires a bit of overhead to make it controllable through the Timeline.
@LuizMoratelli
@LuizMoratelli 15 күн бұрын
@@GameDevBuddies Thank you for answering it! I would love a video in that more complex timeline way to do, if fits with your plans. Anyway, your content is peak quality! Keep the great work :D
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
@@LuizMoratelli Thank you so much! I will keep that in mind 👍
@TheOwlOfLife
@TheOwlOfLife 15 күн бұрын
great job on the effect! However If there's one thing that I can complain about, then it would be this lens flare effect when red indicator appears. this sort of anamorphic lens flare is supposed to be at the front and shouldn't be occluded (since it acts as a camera lens flare). The best example of this is on <a href="#" class="seekto" data-time="1030">17:10</a> , (you can also see how this lens flare appears behind the rock) also the fact that Sam himself catches part of the lens flare
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you! You're right, my implementation of red indicators is using depth tests and can be occluded by other geometry. This is due to the fact that I didn't want to issue a separate draw call just for the glowing shape. I decided to draw them in the same draw call by enlarging the shape and interpolating towards the glow texture. I was debating internally about this and if I should execute an additional instancing render command just for the glow so that I could avoid this issue, but ultimately I've decided to merge them all into one render command. I was telling myself I decided this because it's more performant but it could've been just me being a bit lazy to implement additional logic for this 😅 You have a sharp eye :)
@Thijs.
@Thijs. 15 күн бұрын
i would also love to see the arrows over the terrain when you put down a waymarker, i think the normal maps you used could be used as well for this effect (if you do a sequel ofcourse)
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
I will keep that in mind, thanks!
@jeffbulljr
@jeffbulljr 15 күн бұрын
This was awesome!
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you!
@beanieteamie7435
@beanieteamie7435 16 күн бұрын
Yippie! I can't wait to watch this.
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Enjoy :)
@JaniWasTaken
@JaniWasTaken 14 күн бұрын
Great work, and you explained everything really well! Just nitpicking here, but as a little side note: Is it correct that on steep areas, the red and yellow indicators create a somewhat scattered pattern, almost like a patchwork? Wouldn't it be more intuitive or visually appealing if steep areas formed larger, more cohesive patches of red indicators? After all, on an unclimbable slope, you wouldn't expect to stand safely on a single pixel in the middle of it. Just a thought-keep up the amazing work! <a href="#" class="seekto" data-time="1505">25:05</a>
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you! Yeah, I bet that team at Kojima productions put a lot more effort to prevent cases like this from happening. I imagine they probably had a tool that would visualize these indicators in the engine so that they could test how they would look while creating the environment.
@makarandrane8996
@makarandrane8996 13 күн бұрын
what if we use 2 different texture packs for same landscape one where it is normal and 2nd where normal + those terrain indicators. before scanning it will be first terrain and after scanning it will just replace those texture for scanned part
@GameDevBuddies
@GameDevBuddies 12 күн бұрын
Interesting idea! I think this could probably work as well, but the 2nd terrain render of the terrain indicators would have to be elevated a bit and depth write/test would have to be from an elevated perspective as well, otherwise we would loose some information on a hilly terrain due to elevated terrain hills blocking the view of other parts of terrain.
@rampage_sl
@rampage_sl 16 күн бұрын
How did you stop the effect from moving with the player (camera)?
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Oh yeah, I haven't really explained what is going on here and how I transitioned to a static effect. If you remember the helper, orthographic camera that is placed above the indicators and renders terrain depth and normals into helper textures - if it renders this terrain information only once at the start of the effect, the indicators will appear static (this is the intended behavior). However, if this camera renders every frame, the indicators will move with the player. I implemented this behavior only for the demonstration purpose in the video. Hope this makes it a bit clearer :)
@rampage_sl
@rampage_sl 15 күн бұрын
@GameDevBuddies thanks! your explanation definitely cleared it up. It was kinda bothering me seeing it move around with the player 😆
@rampage_sl
@rampage_sl 15 күн бұрын
@@GameDevBuddies also, is there a better way to blend the red flare effect with the rest of the image so that it will not look kind of dull?
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
@@rampage_sl Yeah, you're right, they look a bit dull. The final look of the indicators depends on post-processing effects and the intensity of the indicator's color. I should've tweaked them a bit more to make them more visible and pop out more, nice find 👍
@themaazmaaz
@themaazmaaz 15 күн бұрын
The flickering is intentional, the reason it appears more clearly in some scenes than others is due to exposure. The human eye is more sensitive to very bright flicker than very dark flicker, so in bright scenes the absolute brightness of the markers is increased (along with a decreased exposure) they artificially increase the visibility of the flicker to better match how the human eye sees things.
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Yeah, when I think about it more, from the gameplay aspect it makes so much sense to be intentional since it grabs the players attention even more if the indicator is flickering. And thanks for the clarification on why in some areas the flickering appears stronger
@faessle4067
@faessle4067 15 күн бұрын
I recognize the Adam robot when I see it 😮❤
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Can't do it without him!
@Akkaren79
@Akkaren79 15 күн бұрын
That's really cool! But I'm wondering how it would handle overhangs, as it seems you create the hightmap from a fixed position? Also, how do lakes and rivers work, as they are not at a fixed height?
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thanks! I can't confirm the overhangs, since I couldn't find them in the game to test, but I've actually tested casting terrain scan from a certain height and the indicators wouldn't show on areas that are too high or too deep in relation to the origin of the scan, while there were indicators showing even in further areas. This kind of confirmed my heightmap idea, but I can't be 100% sure. Another way to handle rivers and lakes (when they are not on the same height) is to include them in the depth and normals render textures. They could additionally output a special ID to the alpha channel of the normals texture (like the tall grass or slippery rocks do) that informs the shader that this terrain type is water surface. Or they could even be rendered in a separate water surface texture, which could then be compared with the depth of the terrain to get the depth of the water.
@olvicola
@olvicola 14 күн бұрын
Super interesting video and impressive how you made the effect dynamic, but i cant help but think that death stranding just has an invisible layer pre-generated from the terrain that is revealed when you scan. Im no game dev but that would make sense to me lol
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you! That's a cool idea, even though I can't imagine how something like that would be made :) Maybe some day I finally manage to debug the frames and find out the answer!
@Dremth
@Dremth 15 күн бұрын
Instead of a second camera, I wonder if this is a shader feature on their models, similar to how you did the footsteps and interactables. With that, you'd have all the normals already, and you'd also be able to support the uniform grid on vertical surfaces (<a href="#" class="seekto" data-time="118">1:58</a>), overhangs, and non-uniform water. You also wouldn't have to manually place volumes to indicate special objects. By the way, as others have pointed out, the initial flares on the X's shouldn't be occluded, because they're supposed to be like "lens flares." Also, I don't remember if these only show up during the scans, but another feature is the dashed zone boundary lines that can be seen at <a href="#" class="seekto" data-time="110">1:50</a>; seems nitpicky, but honestly I would've considered the interactables outline to be nitpicky, but you still did that one, so I figured I might as well mention it 😉
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thanks for such a detailed overview, I really appreciate it! You may be right, I can't confirm it unfortunately since I haven't manage to open the game with RenderDoc and inspect the frames. Regarding the "lens flares", I've added a detailed reply to that comment so please check it out if it interests you. But, in short, I decided to render red glow in the same render pass as other indicators which resulted in them using a depth test. I guess a was a bit lazy with them 😅 Nice find, I overlook the zones boundaries completely!
@turbet5
@turbet5 13 күн бұрын
Wow it is incredible! It pretty like in the game! The only noticeable difference is how engine is tonemaps the effect maximum brightness, a little washed out colors compared to original
@GameDevBuddies
@GameDevBuddies 13 күн бұрын
Thank you so much! I agree, I should've balanced colors a bit more so that they would pop out more. Nice find!
@wukerplank
@wukerplank 15 күн бұрын
Once again, impressive work! Don't let them troll you into third part. Or maybe do? 😅
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you! I think two parts are enough, but we will see :)
@LeviSchuck
@LeviSchuck 15 күн бұрын
Loved the video, though you skipped over how you fixed the points to stay in the same place when the camera moves. This happened around where you did foot step highlighting
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Oh yeah, I haven't really explained what is going on here and how I transitioned to a static effect. If you remember the helper, orthographic camera that is placed above the indicators and renders terrain depth and normals into helper textures - if it renders this terrain information only once at the start of the effect, the indicators will appear static (this is the intended behavior). However, if this camera renders every frame, the indicators will move with the player. I implemented this behavior only for the demonstration purpose in the video. Hope this makes it a bit clearer :)
@htcbelyaev
@htcbelyaev 11 күн бұрын
attention to details is amazing! but tbh, something wrong with red-shine texture, that appears before red cross. i think that's low-res and need to have "screen blend mode" or some other to become more bright and closer to original look
@GameDevBuddies
@GameDevBuddies 10 күн бұрын
Thank you! Yeah, you're right, I should've adjusted the red colors to pop out more and make them in a separate render pass without depth test/write. Nice find!
@potatoking5602
@potatoking5602 15 күн бұрын
Just amazing
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you!
@mirfalltnixein.1
@mirfalltnixein.1 13 күн бұрын
I'm sorry to do this but there is something still missing: in the original, the markers also appear on some assets, not just terrain. Meaning big rocks, trees, overhangs on caves, etc.
@GameDevBuddies
@GameDevBuddies 12 күн бұрын
True! The implemented system already supports it, but I haven't showed it in the video.
@zeryanbek
@zeryanbek 13 күн бұрын
i think watch dogs 2 has a similar effect where you enter this dark blue hacker mode where you can see all the hackable entities in the world
@GameDevBuddies
@GameDevBuddies 13 күн бұрын
You're right! This would be an interesting effect to investigate, thanks for pointing it out
@putputlawch6770
@putputlawch6770 14 күн бұрын
I think you missed a deta... jk, fantastic achievement. Thanks for sharing the journey!
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thank you!
@zsigmondforianszabo4698
@zsigmondforianszabo4698 13 күн бұрын
PLEEEASE Try replicating the cyberpunk engram malfunction matrix effect, the braindance point cloud effect, or the blackwall effect (where Silverhand meets Alt Cunningham). It wont be easy that's for sure. They're sooo cooool
@GameDevBuddies
@GameDevBuddies 12 күн бұрын
Thanks for the suggestions! I will definitely check them out
@The14Some1
@The14Some1 14 күн бұрын
I'd love to see an opinion from the actual makers of the effect. I wonder, what they could have said about your implementation and imagine they shed more light over intended mechanics and decisions they made.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Damn, that would be a dream coming true!
@Decodatain
@Decodatain 15 күн бұрын
I wonder if death stranding is using the navigation mesh to determine different types of terrain. And if they are showing you the nodes that the enemy AI uses to path to different places.
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
This would be a really interesting approach! I've only used navigation meshes that either specify a walking surface or not, I haven't seen an implementation yet that adds additional information into the baked navigation mesh like terrain types or difficulty of traversing. Really clever!
@ThatPawikBoy
@ThatPawikBoy 14 күн бұрын
I thought it's a transparent texture below the map and it turns out to be a navmesh generator
@jonathaningram8157
@jonathaningram8157 15 күн бұрын
now that's perfect ! at least to my eyes
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you!
@Tyler.8046
@Tyler.8046 14 күн бұрын
I'd lean towards the flicker being partially unintentional given how inconsistent it is and honestly how unappealing to the eye it is in some cases. I think it might be partially intentional to give a "digital" feel to the HUD, but the renderer seem break in some cases and almost end up blinding (i.e. <a href="#" class="seekto" data-time="1058">17:38</a>).
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Yeah, that inconsistency was really confusing me. Although, the more I think about it, I have a stronger feeling it's intentional since the flickering really grabs the player intention. So, from the gameplay aspect of the effect it really makes sense. However, inconsistencies in the flickering must be unintentional, so it's a mix of both I guess 😄
@hexlart8481
@hexlart8481 13 күн бұрын
My only critique is the red markers are difficult to see on brightly lit terrain. That's generally excusable for the blue markers, and somewhat excusable for the yellow markers, since they are less critical. But The red markers in particular have all this effort put into making them distinct and extra visible at all times, that it seems counter to the intent of the design to have them so hard to see.
@GameDevBuddies
@GameDevBuddies 13 күн бұрын
You're right, they need to be clearly visible in all conditions, I should've made them brighter and more distinct from the environment. Nice find!
@EversonBernardes
@EversonBernardes 14 күн бұрын
Building up on this, you could do Horizon Forbidden West's procedural edge highlights on pings.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Damn that effect looks awesome! I'll definitely look it up, thanks for the suggestion
@DesTroy878
@DesTroy878 15 күн бұрын
absolutly insane.
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you!
@SilentStrum
@SilentStrum 15 күн бұрын
and now i have to choose. to doubt myself or be inspired. if this is what i want to be able to do with my life, i need to make a choice
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Be inspired!
@oh2hilarious
@oh2hilarious 15 күн бұрын
Perhaps the sound effect is next?
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Unfortunately I'm clueless when it comes to creating sound..
@DerSolinski
@DerSolinski 14 күн бұрын
Good job.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Thanks
@vibaj16
@vibaj16 14 күн бұрын
Between <a href="#" class="seekto" data-time="900">15:00</a> and <a href="#" class="seekto" data-time="995">16:35</a>, you fixed the indicators moving with the camera, but never mentioned it. It was probably pretty easy for you to implement, but I was waiting the whole video for you to talk about that. Did you forget to mention it, or did you decide that it was too trivial to explain?
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Sorry about that, I forgot to mention this. If you remember the helper, orthographic camera that is placed above the indicators and renders terrain depth and normals into helper textures - if it renders this terrain information only once at the start of the effect, the indicators will appear static (this is the intended behavior). However, if this camera renders every frame, the indicators will move with the player. I implemented this behavior only for the demonstration purpose in the video. Hope this makes it a bit clearer :)
@nullx2368
@nullx2368 15 күн бұрын
guys find all the flaws, i really want part 3
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Noooo, please don't 😂
@dav1dparker
@dav1dparker 16 күн бұрын
Wow, another one. Cool.
@GameDevBuddies
@GameDevBuddies 16 күн бұрын
Damn, you're really fast! Enjoy :)
@timmygilbert4102
@timmygilbert4102 10 күн бұрын
Okay, but now you have to be the first to reimplement the walking and balacing mechamics with baggage 😂 ❤
@GameDevBuddies
@GameDevBuddies 10 күн бұрын
Stay tuned for part 11 😂
@timmygilbert4102
@timmygilbert4102 10 күн бұрын
@GameDevBuddies OMG! I was joking but now I'm subscribed!
@ravi12880
@ravi12880 16 күн бұрын
Beautiful ❤
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you! ❤
@thomasjack3043
@thomasjack3043 16 күн бұрын
lesgoooo another video :D. love ya channel dude, can't wait for another tutorial !!
@GameDevBuddies
@GameDevBuddies 16 күн бұрын
Thank you so much!
@Will_Forge
@Will_Forge 14 күн бұрын
<a href="#" class="seekto" data-time="122">2:02</a> (In initial Idea part) I haven't seen your later solution, but my initial idea is to use black and white image with dots at the grid intersection as a sort of alpha to draw the indicators under each black dot at the ground level. The image would be small and invisible, and the indicators would be the part the players see. I am an amateur, though, and this to me is much easier said than done. I'd be doing a ton of research to make this actually work and then I may find it has the same frame rate issues you faced. Looking forward to your solution later on, especially looking forward to seeing if your solution is independent of your initial idea in a modular sort of add-on kind of way so it could be applied to mine to make both of our ideas work. I think you're implying your solution is about drawing each indicator, and not about the way you distributed them, so I predict your solution could also be applied to mine. But I have no idea yet.
@Will_Forge
@Will_Forge 14 күн бұрын
Oh you made a normals map out of a camera for the depth! That's not what I was describing since mine was for the grid placement, but it's similar and to solve the height! I guess I was close.
@Will_Forge
@Will_Forge 14 күн бұрын
Okay, 21:00 I would once again use a sort of alpha map. If you have an alpha map that draws to the terrain at all times, you could modify that map based on your character location. With this toggling it off and on as well as modifying it over time for a "fade" visual effect should be extremely simple. This time use a black map and place a colored dot at the point of impact of each foot during the animation. The dot is not black, but instead uses R/G/B to indicate the direction it's facing like an X/Y/Z value. In other words set the value from black to color to create a custom dynamic normals map during runtime, one pixel at a time with each character's foot fall animation including animals and other NPCs as well. The black/white value is the intensity of the foot print so that darker means more faded, and lighter means "fresh". The moment the character's foot hits the ground, add a pixel to the image of the appropriate color for the exact X/Y/Z color angle of the foot print based on the normals of the terrain and angle the player is facing. This has max whiteness, and then each second you slowly reduce the whiteness of the entire image like adding layers of black vails to it to slowly fade it away. All of this is applied over time before rendering, then at each frame simply render the foot prints at the locations of each pixel on the alpha map at the appropriate angle and fadedness value as one action. To create a more cartoony style you can scale the alpha map lo a lower resolution as desired so each pixel counts for a larger area in the game world to limit footprint overlap and override the value to replace older ones. For a more realistic game you could scale it to a larger resolution to allow footprints to appear next to one another and only override black pixels, meanwhile choosing an adjacent black pixel when the initial desired pixel is already set to a color so the new one appears next to the old one by 1 pixel offset on the footprint map. You could also make the foot prints appear to float a bit off the ground based on the black/white value, the lower that value is the closer to the ground it gets so overlap is cleaner to reduce clipping on rough terrain as well as z-fighting. What this does is makes all of the data for the footprints store inside the image, using the image as an independent spreadsheet, and editing the image is like editing a cell on that spreadsheet. You could even save this image off in the save game data so that footprints laid last year in real time will show up the next time you boot the game this year. This massively compresses the process, and lets you play with the scaling and values to optimize the effect to your game. Increasing the player's "tracking" stat, for example, could slow down the fading process to allow footprints to remain for longer, etc. For multiplayer where each player needs a unique "tracking" stat, make an image for each player and adjust them independently.
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
Very interesting ideas, thanks for such a detailed comment and overview! I would be really interested in seeing the implementation of your idea (if I understood you correctly that you'll be implementing it)
@Will_Forge
@Will_Forge 14 күн бұрын
@@GameDevBuddies I may be in a very different capacity. Right now I'm dedicated to working on a high fantasy action RPG akin to Zelda, so not in this game, but in a FPS I temporarily shelved I may pull this idea out as part of it. It's a very strategic and tactical FPS design.
@Will_Forge
@Will_Forge 14 күн бұрын
@@GameDevBuddies but again, I understand enough to make design plans like the above, but not enough to implement them without a ton of research. I'll have to do that even with how detailed these comments are because I don't even know how to pull them off in code. I just know that images are basically spreadsheets that can be used in these ways and so you can kind of use them like disk ISOs to store way more data in a smaller capacity and faster, so to speak. Like if you want a procedural world or a world the players can change, you can use a terrain image where each pixel represents a single square on the grid for you to either draw 2D terrain sprites or draw 3D voxels or simple cubes like Minecraft on image maps like this in layers. Like layered images that resemble Dwarf Fortress in a way. But coding it? That's beyond my skill right now. I'm saving your video to a playlist to learn more from it later on actually.
@griffithe2438
@griffithe2438 16 күн бұрын
This is so awesome. Do you think, you could make an upgrade for Unity 6 and export it as unity project? For some reasons I was not able to get it running last time I've tried it out..
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Thank you! I will take a look at it :)
@petsiskonstantinos1347
@petsiskonstantinos1347 15 күн бұрын
where can i find this robot model?????
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
You can find the link to it at the bottom of the description (Adam Character link)
@raeffey
@raeffey 13 күн бұрын
I would make some of the colors brighter and make the red flares not clip through mesh.
@GameDevBuddies
@GameDevBuddies 12 күн бұрын
I agree, nice observation
@JMPDev
@JMPDev 15 күн бұрын
Flickering is definitely intentional. If you carefully note the objects that have flickering markers you will notice a pattern.
@bluewolfofl7424
@bluewolfofl7424 15 күн бұрын
That's what I was gonna say. Maybe not the objects, but light exposure. The concrete tower was flickering a lot cuz it's really bright, to help you see it. But the tree log was dark so it didn't flicker as much since it's really visible.
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Yeah, the more I think about it, the more it makes sense to be intentional from the gameplay perspective. It attracts so much more attention from the player if it flickers.
@studiobushra
@studiobushra 10 күн бұрын
بالعربي انه لعمل رائع وإبداعي بمعنى الكلمة جميل جداً 🌹🌹
@GameDevBuddies
@GameDevBuddies 9 күн бұрын
Thank you!
@funy0n583
@funy0n583 14 күн бұрын
I bet acerola would have an interesting approach to this
@GameDevBuddies
@GameDevBuddies 14 күн бұрын
I bet he would, love that guy!
@super_normaI
@super_normaI 16 күн бұрын
I really thought the X red shaped symbols appeared less often than the normal ones
@GameDevBuddies
@GameDevBuddies 15 күн бұрын
Well, it depends on the steepness of the terrain and the angle threshold you specify for them
I Tried Re-creating Death Stranding Terrain Scan
18:46
Game Dev Buddies
Рет қаралды 161 М.
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 120 МЛН
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
My game is 262,000 times faster than Minecraft. I'll show you how.
12:20
IGoByLotsOfNames
Рет қаралды 1,4 МЛН
Hacking Sony's Terrible DRM
15:20
Nathan Baggs
Рет қаралды 101 М.
How I Make Pocket Sized 3D Printed Maps
7:11
Benjamin Conklin
Рет қаралды 12 М.
Better Mountain Generators That Aren't Perlin Noise or Erosion
18:09
Josh's Channel
Рет қаралды 451 М.
How I Won The GMTK Game Jam
25:09
JimmyGameDev
Рет қаралды 275 М.
How do Major Video Games Render Grass?
9:33
SimonDev
Рет қаралды 423 М.
САМЫЕ ДЫРЯВЫЕ СЮЖЕТЫ ИГР / БУЛДЖАТЬ
22:20
БУЛДЖАТь
Рет қаралды 1,7 МЛН
you're not alone in here...
12:21
JameskiiLive
Рет қаралды 323 М.
Evolving AIs - More Complex Environment
22:24
Pezzza's Work
Рет қаралды 341 М.
Why is Blender in Financial Trouble?
8:03
Film Stop
Рет қаралды 434 М.
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 120 МЛН