we have a really simple shader function we can add to any objects that might block the camera, and it fades out opacity of objects based on the player's screen position.
it's a good fallback when we want trees or roofs to never really block the player's view of action
but if we turn off the screen space fade, this is the code-based fade
we do a line trace from the pawn to the camera and any blueprint/prefab the trace hits gets sent the message "in front of player"
any object can implement this interface and handle how to respond
critical additions to this code-based fade are for fading objects that are sitting on the roofs
see here, the papers on the roof are still visible when the roof fades - we need to make sure objects placed on fadeable platforms are correctly assigned to their parent
what we've done here to compensate are that when we do level design we assign objects to their parent structure
for characters and monsters, we check per frame what we're standing on and update our platform so we'll fade out with the parent structure when the player needs
so for all objects on roofs we hide them when the roof is hidden
We support any object in the game being hidden like this so it's sometimes a pop-out to just turn off visibility, but with the radial blend as well it seems less obvious a pop-out
Last note: probably the most important fact is to ensure, either through code or through your shader, that hidden items are still drawn in the shadow pass
In unreal we put shader fades behind a check for is-in-shadow-pass, and when setting to hidden we turn on bHiddenShadow
• • •
Missing some Tweet in this thread? You can try to
force a refresh
HOW I DESIGN GAME MONSTERS: a twitter thread
or, No More Zombies, a TED Talk
Work out:
👻 Desired Player Behaviour
🦇 Appearance Rule
👾 Surprise Structure
🐺 Defeat Requirements
👽 Alert Rules
👹 When to fight / to take flight
The goal of designing good monsters for me is building a cohesive experience that thrills the player and teaches them how to cope with this new threat.
We're killing off zombies because they're tired, but we love zombies (those fuckers persist) and they fit this structure
👻 Desired Player v Monster Behaviour
How should the player act?
🔫 shoot? 🏃♀️flee? 🔪 fight? sneak?
👩solo? or 👩👧 backup?
🛠️ Build a base? Tear down the environment?
Hunt and exterminate? Pretend to be one? Distrust strangers?