UE4 Observation SystemI 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. Data to Remember 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):
Dialogue Reasonings:
First Map IterationThe 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. The original sketch. 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?
0 Comments
Project SummaryFor my 10 week Programming 3 Personal Project, I will be creating an Among Us-like social deduction in Unreal and then create AI NPCs to play the game and face off against each other. The goal of this project is to take a deep dive into the aspects of AI being able to observe their surroundings, communicating between each other, remembering what they’ve learned, and changing their behavior based on what they know. Weekly Breakdown
Visualization of DataTo help with debugging and showing observers what is being witnessed and learned in the simulation, these elements will be implemented to provide visualization of data:
Risks
Full PowerpointWant to see the full Presentation Powerpoint? Click Here:
|
Coleman LevyWelcome to my blog! Archives
August 2021
Project |