Raymond Weilacher
  • Blog
  • UX Portfolio
  • Blog
  • UX Portfolio

Sneak 'Em Up Devlog #2: Visual Acquisition

6/25/2020

0 Comments

 
The core system in any stealth game is the guard AI, specifically visual acquisition and detection of the player.
Picture
The states a guard passes through.
In Sneak 'Em Up (working title), the guards start in a patrol or standing state, while constantly scanning objects that enter a circular trigger around them.
Picture
The guard script monitors items that exist within the green circle.
Once an item enters the green circle, it goes through a gauntlet of questions to filter out only the items the guard should respond to:
  • Is the object a character, item, or the player?
  • Is it within the field of view in front of where the guard is facing?
  • Is the object large enough to be seen from its distance from the guard?
  • Are there any objects blocking the visibility of the object from the guard's position?
  • Is the object tagged as either "suspicious" or "alerting"?
  • If the object is on a team, is it a different team from the guard's?
If the object passes these requirements, a variable called "Awareness" starts to fill. The rate at which Awareness fills is based on the object's size multiplied by the distance to the object and the object's speed.
Picture
"Awareness" is defined as object size times target speed (exponential) times target distance.
In this way, fast-moving objects that are close to the guard fill his Awareness exponentially faster than stationary targets that are far away.

The visual acquisition system is designed to not be specific to just the player, to allow guards to react appropriately to characters from different factions or wild animals, as well as objects like distractions or dead bodies. Systems like these will provide more chances for the player to use the world itself as a tool of chaos and destruction.
Picture
Suspicious and Alerted states.
As awareness builds, the guard moves into first the Suspicious state, then the Alerted state. Taking--ahem--inspiration from the Metal Gear Solid series, the player receives visual feedback as to which state the guard is in. The Awareness system will be covered in more detail in the next Devlog.
0 Comments

Sneak 'Em Up (working title) Devlog #1

6/22/2020

0 Comments

 
This post will introduce my latest game project - a top-down third person stealth action game tentatively titled Sneak 'Em Up. Currently it's a one-man-project, with me trying to tackle all aspects of game design and development.

2D stealth games are rare, and top-down stealth games even more so, and those that are top down are likely to be squad combat or turn-based. Sneak 'Em Up, on the other hand, is a top-down action game with strong stealth mechanics. The most well known games of the same style, and the major inspiration for Sneak 'Em Up, are the original 2D Metal Gear games of the late 80s and early-mid 90s. In the early Metal Gear games, you control your character from above, distracting guards and finding hiding places. Since the advent of the 3D stealth genre in 1998, 2D top-down stealth action games have been rare.
Picture
Metal Gear, 1987

Technical Details

Picture
Sneak 'Em Up is built in Unity utilizing the Bolt visual scripting plugin. Bolt offers me several advantages:
  • I don't have to worry about getting C# syntax right. I can spend more time designing and less time chasing missing semicolons.
  • Bolt makes it easy for visual or systems thinkers to organize their work. As someone who is not a developer by trade, basic dev protocols like assigning all variables at the beginning of the script are non-intuitive and make it confusing to figure out complex code. In Bolt, I can visually organize related variables, functions, and systems to more intuitively find and understand my work.
  • Bolt provides real time feedback by animating the various functions "shooting" out data like integers, vectors, and strings. This makes it incredibly easy to troubleshoot and tweak variables in real time to see the results.
Picture
Bolt functions "shooting" out data to one another

Design Strategy

Throughout design and development, I'll be using the "find the fun" strategy of game design--that is, iterate on the basics of gameplay to find what mechanics "work" and are enjoyable for the player, then worry about the overall game story, theme, pacing, as well as details like art style, animations, lighting, etc.

My plan is to use very basic assets to prototype mechanics and interactions and iterate/tweak those to find what type of gameplay is satisfying. Once the core gameplay loop is established, I'll then design the rest of the game around that loop, providing the player with a story arch, a possible leveling system, varied tools and weapons, and special sections that twist and vary the core gameplay loop.

High fidelity art will also wait until after the core gameplay loop has been discovered. I will be creating some sprites in the meantime to practice my pixel art skills. I'm particularly proud of this guard, my second pixel art character ever!
Picture
0 Comments

    Raymond Weilacher

    Writing about UX, game development, and hobbies!

    Archives

    June 2020

    Categories

    All
    AI
    GameDev

    RSS Feed

© 2020 Raymond Weilacher