8000 GitHub - TheCheapestPixels/pychology
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

TheCheapestPixels/pychology

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo: A brain in a jar together with a blackboard with scribbles on it; The jar is connected by wires to an eye and a robotic arm.

pychology

Simple Python implementations of popular game AI techniques.

Overview

There are several paradigms for modeling AIs that have become popular in game development. Some of these are complementary, as they work on different problem domains, while some model the same domain in different ways. pychology aims to make AI development modular and reusable, so that for each problem you can choose freely among the sensible options while retaining already developed functionality.

The paradigms (intended to be) implemented in pychology are:

  • Blackboards: Storage and coordination
  • Hierarchical Finite State Machines (HFSM): Switching between states based on current conditions.
  • Behavior Trees (BT): Decision trees with sequences, prioritization, failure, and waiting for things to finish.
  • Utility AI: Choosing the best action for the current circumstances.
  • Search: Searching and valuing paths through graphs.
  • Goal-Oriented Action Planning (GOAP): Leveraging Search to find a sequence of actions that make a goal be fulfilled.
  • Hierarchical Task Network (HTN): GOAP on BTs.
  • Hierarchical Goal Network (HGN): A goal can be decomposed into smaller, more specific goals.
  • Goal-Driven Autonomy (GDA): HGN with monitoring the execution of the current plan, and re-strategizing if a failure occurs.
  • Introspective Multistrategy Learning (IML): GDA where a failure is analyzed, and hypothetical explanations are generated.

As a keystone to these building blocks, pychology offers BrainJar, a class that uses a blackboard as the AIs memory, its connection to the wider game environment, and storage for the individual parts of its thought process. The BrainJar also provides a top-level entry point to trigger the AI's thought process.

Current State

Module Implementation De-/Serialization Debugging Documentation GUI Integration
Blackboards Alpha --- --- --- ---
Hierarchical Finite State Machine Pre-alpha --- --- Overview ---
Behavior Trees RC Pre-alpha --- Overview ---
Utility AI Beta --- --- Overview ---
Search Alpha --- --- Chaos ---
Goal-Oriented Action Planning --- --- --- --- ---
Hierarchical Task Network --- --- --- --- ---
Hierarchical Goal Network --- --- --- --- ---
Goal-Driven Autonomy --- --- --- --- ---
Introspective Multistrategy Learning --- --- --- --- ---
BrainJar Beta --- --- --- ---

TODO

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0