Matthew M Langer
  Game and Level Designer
  • Home
  • Professional Work
    • Days Gone - Main Game
    • Days Gone - Dead Don't Ride DLC
    • UntitledArenaGame
  • Older Work
    • Solo Projects >
      • Face-Off at the Frozen Throne
      • Spaceport Defense
      • Crystal Mines: Thesis Artifact
      • Phantasmagoria: Gears of War Level
    • Team Projects >
      • From The Ashes
      • Identity
      • Skyscrappers
      • Ethereality
    • Scripting >
      • Blueprint Scripting: A.I. Instructor in From The Ashes
      • Entity Scripting: Boss Battle in Crystal Mines
      • Entity Scripting: Custom Gibs in Crystal Mines
      • Entity Scripting: Melee and Ranged Combat in Crystal Mines
      • Kismet Scripting: Contextual Interaction in Phantasmagoria
      • Kismet Scripting: Stun Gun in Phantasmagoria
      • Lua Scripting: Bat A.I. in Ethereality
  • Resume

Kismet Scripting: Contextual Interaction  

Picture
Design Goal:  Allow the player to approach objects, see if they are interactable and then choose to interact with them if they desire. 
Picture
Description:  Because "Phantasmagoria" is a psychological horror level, it needs to have an explicit narrative.  I chose early on to use newspapers, bloody messages and gravestones throughout the level to tell the story of Marcus and the ghost of his past.  Therefore, I created my own system through scripting to allow for contextual interactions with Marcus turning his head when near such objects.
Picture
For each interact-able object, a global variable is turned on when the player steps in a trigger volume near it. Text telling the player they can do something is constantly displayed while in the trigger volume. Additionally, Marcus's head turns towards the object. Once the player leaves the trigger volume, the variable is turned off.
Picture
Picture
Each time the interaction button is hit, every interact-able object's global variable is checked to determine if the player is near them. If true, then that interact-able object's logic is fired, in this case text appears on the screen.
Picture
Design Challenge:  The problem that prompted this system was that merely approaching interact-able objects immediately activated them and removed player input, creating a jarring experience.  The Gears engine doesn't handle text well to begin with, let alone non-generic interactions.  While I could have played a button-interaction trigger volume, I didn't want an out of place image appearing on-screen prompting the player to press a button when that was not the desired interaction.  So instead I created a versatile system that prompts the player with a short text line when they can read something in more detail.