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

Поделиться
HTML-код
  • Опубликовано: 23 янв 2025

Комментарии • 271

  • @GameDevBuddies
    @GameDevBuddies  16 дней назад +44

    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 дней назад +181

    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 дней назад +10

      Thank you so much!
      Well, I'm glad you like it because there will be more videos like this :)

    • @TankorSmash
      @TankorSmash 15 дней назад +2

      @@GameDevBuddies Awesome, looking forward to it too

  • @TylerCathey
    @TylerCathey 15 дней назад +154

    PEAK reccomendation pull

  • @eduardomoraesrigo4782
    @eduardomoraesrigo4782 15 дней назад +149

    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_ 15 дней назад +1

      Amo assistir essas coisas também

    • @GameDevBuddies
      @GameDevBuddies  15 дней назад +6

      Thank you so much! I'm glad you like this kind of videos because there will be more of them 😃

  • @vincere13
    @vincere13 9 дней назад +1

    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 дней назад +1

      Thank you! Looking forward to seeing some cool stuff you'll make in the future :)

  • @crutlefish6592
    @crutlefish6592 14 дней назад +2

    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  13 дней назад

      Thank you!
      Yeah, the game is a masterpiece, the attention to details is unbelievable

  • @MinuteXP
    @MinuteXP 13 дней назад +1

    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

  • @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.

  • @funx24X7
    @funx24X7 14 дней назад +9

    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 RUclips if I had.

  • @kermt6648
    @kermt6648 15 дней назад +7

    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!!

  • @eccodreams
    @eccodreams 13 дней назад +2

    A perfect example of the incredible work that goes into technical art. Amazing stuff mate!

  • @Bodom1978
    @Bodom1978 14 дней назад +4

    Finally, a recommended video on game dev thats actually interesting and informative. Well done brother!

  • @RedPanda654
    @RedPanda654 11 дней назад +1

    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!

  • @taylorgriffin6269
    @taylorgriffin6269 15 дней назад +10

    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 15:13) and also there is a green arrow indicator as well shown at 13:07 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_ 4 дня назад +1

    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 дней назад +4

    I'm getting Sebastian Lague vibes. Great work!

  • @NBGGames
    @NBGGames 15 дней назад +26

    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

  • @HaywirePhoenix
    @HaywirePhoenix 16 дней назад +8

    I was so happy to see part 2 of this in my feed. It's perfect. Hats off to you for finishing this.

  • @reyariass
    @reyariass 10 дней назад

    Amazing job! Really enjoyed watching the progress!

  • @darktip
    @darktip 9 дней назад +1

    Keep up the good work! You got yourself +1 subscriber

  • @staa6589
    @staa6589 15 дней назад +3

    it's a piece of really great work man, very nice job and great video!

  • @slantedglasses7242
    @slantedglasses7242 16 дней назад +6

    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.

  • @SparkyTM
    @SparkyTM 13 дней назад +1

    crazy how much work came into ONE single mechanic

    • @GameDevBuddies
      @GameDevBuddies  13 дней назад +1

      Yeah, I completely underestimated the amount of work hidden beneath it

  • @nocoreal
    @nocoreal 12 дней назад

    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!

  • @askhento
    @askhento 15 дней назад +2

    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  14 дней назад

      Thank you!
      I agree on all three points, really nice observation 👍

  • @akstis4183
    @akstis4183 14 дней назад

    What a beautiful programmer you are. Very satisfying video.

  • @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 дней назад +8

    The flicekering is only on buildings and those force fields that surround the cities i think

  • @Shifticek
    @Shifticek 15 дней назад +8

    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 дней назад +1

      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

  • @pchris
    @pchris 15 дней назад +4

    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 дней назад +3

      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 дней назад +1

      @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.

  • @PureEz
    @PureEz 15 дней назад

    Well done, looks awesome!

  • @schouffy
    @schouffy День назад

    Amazing work!

  • @Afaik777
    @Afaik777 13 дней назад +1

    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 😅

  • @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  5 дней назад

      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  13 дней назад +1

      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 13 дней назад

      @@GameDevBuddies Thank you for clarifying that!!

  • @timeTegus
    @timeTegus 14 дней назад

    thanks for making part 2

  • @THETV1RUS
    @THETV1RUS 15 дней назад

    Keep making content like this. More recreations of video game technical art plz.

  • @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!

  • @jonathanpabon4477
    @jonathanpabon4477 12 дней назад +7

    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 дней назад +2

      It's more fun this way! Also, I learned a lot more during the creation. But the suffering is real 😅

    • @SqualidsargeStudios
      @SqualidsargeStudios 9 дней назад +1

      As if porting a thing is that easy not to mention legal

    • @shibworth
      @shibworth 9 дней назад

      has death stranding been decompiled?

  • @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.

  • @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. 18:58 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. 16:56 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  14 дней назад

      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 14 дней назад

      @@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!

  • @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 😅

  • @millerbyte
    @millerbyte 15 дней назад

    9:40 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 дней назад +1

      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!

  • @TheOwlOfLife
    @TheOwlOfLife 15 дней назад +2

    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 17:10 , (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 дней назад +1

      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 :)

  • @LuizMoratelli
    @LuizMoratelli 15 дней назад +1

    Great video! Do you mind to share a bit about the process of creating parts like these at 2:00 where you kinda show what you mean in the engine (looks like at least)?

    • @GameDevBuddies
      @GameDevBuddies  15 дней назад +1

      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 дней назад +1

      @@LuizMoratelli Thank you so much!
      I will keep that in mind 👍

  • @doll9576
    @doll9576 14 дней назад

    We are moving directly to the Kojima Productions with this one 🗣️🗣️🔥🦅

  • @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)

  • @jeffbulljr
    @jeffbulljr 15 дней назад

    This was awesome!

  • @beanieteamie7435
    @beanieteamie7435 15 дней назад

    Yippie! I can't wait to watch this.

  • @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! 25:05

    • @GameDevBuddies
      @GameDevBuddies  13 дней назад +1

      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 12 дней назад

    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 дней назад +1

      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.

  • @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

  • @rampage_sl
    @rampage_sl 15 дней назад +3

    How did you stop the effect from moving with the player (camera)?

    • @GameDevBuddies
      @GameDevBuddies  15 дней назад +2

      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 дней назад +1

      @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 дней назад +1

      @@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 дней назад +1

      @@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 👍

  • @faessle4067
    @faessle4067 14 дней назад +1

    I recognize the Adam robot when I see it 😮❤

  • @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 дней назад +1

      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 дней назад +1

    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 (1:58), 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 1:50; 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 дней назад +1

      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 дней назад +1

      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 дней назад +1

      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 :)

  • @potatoking5602
    @potatoking5602 15 дней назад

    Just amazing

  • @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!

  • @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!

  • @zsigmondforianszabo4698
    @zsigmondforianszabo4698 12 дней назад

    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 дней назад +1

      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 дней назад +1

      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

  • @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. 17:38).

    • @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 дней назад +1

      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.

  • @DerSolinski
    @DerSolinski 14 дней назад

    Good job.

  • @oh2hilarious
    @oh2hilarious 15 дней назад

    Perhaps the sound effect is next?

    • @GameDevBuddies
      @GameDevBuddies  14 дней назад +1

      Unfortunately I'm clueless when it comes to creating sound..

  • @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

  • @vibaj16
    @vibaj16 14 дней назад

    Between 15:00 and 16:35, 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  13 дней назад +1

      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 дней назад +2

    guys find all the flaws, i really want part 3

  • @dav1dparker
    @dav1dparker 16 дней назад

    Wow, another one. Cool.

  • @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 15 дней назад

    Beautiful ❤

  • @thomasjack3043
    @thomasjack3043 16 дней назад

    lesgoooo another video :D. love ya channel dude, can't wait for another tutorial !!

  • @Will_Forge
    @Will_Forge 14 дней назад +1

    2:02 (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 дней назад +1

      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 дней назад +1

      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 дней назад +1

      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 13 дней назад +1

      @@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 13 дней назад +1

      @@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 15 дней назад

    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 дней назад +1

      Thank you!
      I will take a look at it :)

  • @petsiskonstantinos1347
    @petsiskonstantinos1347 15 дней назад

    where can i find this robot model?????

    • @GameDevBuddies
      @GameDevBuddies  14 дней назад

      You can find the link to it at the bottom of the description (Adam Character link)

  • @raeffey
    @raeffey 12 дней назад

    I would make some of the colors brighter and make the red flares not clip through mesh.

  • @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 дней назад

    بالعربي انه لعمل رائع وإبداعي بمعنى الكلمة
    جميل جداً 🌹🌹

  • @funy0n583
    @funy0n583 14 дней назад

    I bet acerola would have an interesting approach to this

  • @super_normaI
    @super_normaI 15 дней назад +1

    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