In Impermanence, rooms change when you look away. Liam Flannery shares how he and John Salvaris built the mechanic for their Godot horror game.
Liam Flannery and John Salvaris made
Impermanence in a week for the Brackeys Game Jam. They were using game jams to try ideas for their next project.
Liam first imagined a world where you could take objects from visions and use them in reality. That idea eventually became rooms that change when you look away from their doorways.
They tested the room change with Kenney assets. Each room has three versions loaded at once. The game shows one and hides the other two, disabling their collisions and navigation as well.
The tricky part was knowing when a doorway was about to come into view. The game continually checks which parts of its opening fall within the camera's view, then sends raycasts toward that portion's center and corners to see if anything blocks them.
Liam and John also check where the camera is about to point as the player turns. If a doorway is about to come into view, the room changes before the player sees it.
Once the room change felt right, they built enemies around looking and looking away. One moves when you are not watching it. Another, a parasite with an eye for a head, pulls your view toward it and lowers your mouse sensitivity as you look at it.
They used a shader to show just the outlines of objects, helping models from different asset packs look like they belong together. Each dimension has its own color, so players can tell when a room changes.
Those dimensions became part of the puzzles and combat too. The laser gun's battery determines the color it fires, and some puzzles have you line up wires across dimensions.
Impermanence placed 49th for Innovation among more than 2,200 jam entries. Liam and John are still testing other prototypes before deciding which project to develop further.
Interested in the Technical side of Unity or Godot? Our
Shaders Bible Collection brings together six books on shaders and game development math for both engines.