Mugen87/yuka

JavaScript library for developing Game AI.

What it solves

Yuka is a JavaScript library designed to simplify the development of Game AI, providing a set of tools for creating autonomous agents that can move, perceive their environment, and make decisions without being tied to a specific 3D engine.

How it works

The library implements several core AI concepts for games:

  • Agent Design: It uses state-driven and goal-driven architectures to define how agents behave.
  • Movement: A built-in vehicle model and steering behaviors manage how entities move through a game world.
  • Navigation: Pathfinding is handled via graph classes, search algorithms, and a navigation mesh implementation.
  • Sensing: Agents can be equipped with vision components and short-term memory to interact with their surroundings.
  • Decision Making: A fuzzy inference system allows for more nuanced, "fuzzy" logic in agent behavior.
  • State Management: A JSON-based API allows developers to save and load the game state.

Who it’s for

Game developers using JavaScript who want to implement complex AI behaviors for non-player characters (NPCs) and autonomous entities.

Highlights

  • Engine Agnostic: Works independently of any particular 3D engine.
  • Comprehensive Toolset: Includes steering, navigation meshes, and fuzzy logic.
  • Perception Systems: Built-in support for vision and memory.
  • Serialization: Easy state saving and loading via JSON.

Related

  • Project
  • Project
  • Project
  • Project
  • Project