GP2P / FarmSimulator-RL

Agent-Based Simulation powered by Reinforcement Learning in Unreal Engine, based on my management game template
https://github.com/users/GP2P/projects/5
2 stars 1 forks source link

FarmSimulator-RL

Developed for a UC Berkeley Research Project "Simulating Group Diversity for Gate-keeping Policies using Game Engine Reinforcement Learning", migrated from the G3P FarmSimulator AI system template.

Developed with Unreal Engine 5. Using art assets from the Unreal Marketplace. Styled using the Gamemakin UE5 Style Guide

Note: The Reinforcement Learning part of this project does not work on macOS. This is a limitation of the Learning Agents beta plugin in UE5.3

AI System

Features

Every NPC in the game is controlled by their own behavior tree and has an assigned home building and a workplace building. Each NPC tries to find, reserve, navigate to, and work on their own tasks from a list of available tasks around them filtered by rules defined by their workplace.

Technical Details

This system is a personal trial of implementing complex AI systems in factory management games. Although it is not as efficient in finding and operating non-random farm tasks compared to centrally controlled AI traditionally used in management games, this system offers great scalability, modularity and customizability since all action definitions are individually separated in each behavior (work/task) and available behaviors for each worker are filtered by each workplace's rules. This creates a boilerplate system that enables mod creators to extend the AI system easily.

Screen Shot 2022-06-19 at 11 16 10 PM

To run

Overall structure

Flow