• Home
  • Unreal Engine
  • C++
  • Blog
  • About

Projects Blog

AI Social Deduction: Week 1

5/28/2021

0 Comments

 

UE4 Observation System

I will be using Unreal AI Pawn/Controller system to program in the movements and interactions of the NPCs. On top of this, I will be using Unreal's AI Perception component to create the "Sight" of the NPCs since this project is recording details of what they "See" and not the vision of the NPCs itself.

​The UE4 Sight Perception works by setting the vision range and peripheral angles of vision on the individual AI. I will be giving all NPCs limited 180 vision to mimic the vision range implemented in Among Us. The Sight system depends on specific actors being set as AIPerceptionStimuli sources.

I will set all of the NPCs to be Sight stimuli. Then, I plan for the NPCs to know which rooms they are currently in or are entering. When one NPC sees another, they will pass their location to the NPC seeing them to provide the information of which room they are in/entering. This can also be used to pass over information if an NPC is dead or is in the middle of killing another NPC.
Picture

Data to Remember

Picture
Over the course of the week, I studied what data I wanted my NPCs to try and keep and eye out for what info to record. The info I want for the NPCs to actually "Observe" is as follows:

Observational Reasonings (all observations will come with a timestamp):
  • Basic (easier to implement, will be doing so first)
    • Seeing a character in a room
    • Seeing a character go from one room to another
    • Seeing a character kill another character
    • Noting what room the observer enters
    • Seeing a dead body
  • Advanced (Stretch goal)
    • Seeing a character attempt a task
    • Seeing a character come from a room with a dead body, and discerning this means they are the likely killer
 
Dialogue Reasonings:
  • Basic (easier to implement, will be doing so first)
    • Describing that the observer saw a character go from one room to another or were seen in a room and when
    • Mention the last character the observer saw/saw go in the murder room and when
    • Determine who was the most recent to enter the murder room or determine there is no info on who could have been the killer
  • Advanced (Stretch goal)
    • Lying they were in a different room than they really were
    • Estimate time of death

First Map Iteration

Picture
The first iteration of the map has been completed! While a very simple implementation that lacks in any of the Level Design flair, this map will suffice for the beginning of testing NPCs. Below, you can see each room has a designated name. The level was inspired by the Among Us map, but I decided to get rid of the narrow hallways and make the map more evenly structured to allow for easier observation by a spectator.
Picture
The original sketch.
Picture
The map comes with twelve different rooms. Every room comes with a point of interest, which is where the NPC will run to to perform tasks. The cafeteria's point of interest, the table, will instead be used as the point for the emergency button.
Even though it looks very unappealing now, the map's overall looks (not the layout) can be updated piece by piece over the course of the project to make something more pleasing to look at, which is what I intend to do. The layout can be changed if it turns out there are not enough rooms to give the killers a fair chance at being alone with a victim.

Want to Download the Project?


​Click here:
Github Repository
0 Comments



Leave a Reply.

    Coleman Levy

    Welcome to my blog! 

    Archives

    August 2021
    July 2021
    June 2021
    May 2021

    Project

    All
    AI Social Deduction

    RSS Feed

  • Home
  • Unreal Engine
  • C++
  • Blog
  • About