Skip to content

ethantilley/AgeOfGatherers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Age Of Gatherers

A collective of AI agents that explore a procedurally generated environment, collect and store resources based on their dictated role by the AI manager.

Built With

  • C# - Programming language used
  • A* - Pathfinding algorithim used
  • GOAP - Behaviour system used
  • Unity - Game Engine
  • HackN'Plan - Task Management Softwear
  • SourceTree - Repository softwear paired with github
  • VisualStudio - For all coding purposes

Authors

Use

Clone repo and build it in unity or check out its itchio and download it there (maybe an old version)

Why

This project was at first a simple university assignment, but I fell in love with AI and continued it's development as a side-project.

Features

The Features I've currently implemented into the project include:

  • Goal Oriented Action Planning (GOAP) for AI Behaviours for different roles (Gatherers (Berry & Wood) & Builders).
  • A* (A Star) Path Searching Algorithm with my own little twist for different behaviours. (Agents don't like going up slops if it isn't necessary).
  • Manager AI that decides for them when to switch to and from roles based on the corresponding storage capacity.
  • Procedural terrain generation + generation of path data.
  • Death Via: Old age (Age of death base on how well they take care of themselves) & Hunger
  • Gravestones with a generated epitaph of agents: name, birth to death date and cause of death.

Goals With This Program

  • Improve Camera movement so its more freeform
  • Death system, with gravestones that have an epitaph
  • Agents are uninformed of the environment and its contents until it discovers it (Incomplete information)
  • Builder agents place torches that the gatherers prefer to follow during the night
  • Predator that attacks villagers at night, although, avoids light (torches)
  • Biome regions (Desert, Woodlands, Grasslands, etc...)
  • Seed system - Generate a unique seed that can reload a level through typing the seed in
  • Improve 3D models
  • Builder can build houses that increase the chance of a population increase
  • Pathfinding cache - short term storage of paths. (Agents reuse calculated paths)
  • Hierarchical pathfinding
  • Pathing request system (Simply queues pathing calculations)
  • Detailed display - ie, hovering mouse over an agent will display: village role, age, hunger, goal and name
  • Smarter reproduction system (currently spawns an agent when a death occurs)

Acknowledgments

  • Hat tip to my lecture Iain McManus who facilitated me through this project (back when is was just an assignment) and exposed me to the beauty of AI. <3

About

A collective of AI agents that explore a procedurally generated environment, collect and store resources based on their dictated role by the AI manager.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published