Repolode
Mugen87

Mugen87/yuka

A standalone JavaScript library for game AI, covering steering, navigation meshes, perception, fuzzy logic and state-driven agents.

Stars
1,385
Forks
106
Open issues
6
Last commit
16 days ago

What is it?

Yuka is a JavaScript library for building game AI. It gives game entities a basic structure and provides classes for state-driven and goal-driven agent design, so developers can give characters decision-making logic without writing it from scratch.

For movement, Yuka includes a vehicle model with built-in steering behaviors, and graph classes, search algorithms and a navigation mesh implementation for path finding. Entities can also have a short-term memory and a vision component for perception, trigger objects that fire actions in a game, and a fuzzy inference system for more nuanced decisions. Game state can be saved and restored through a JSON-based serialization API.

Yuka is independent of any particular 3D engine, so it can be used alongside frameworks such as Three.js or with custom rendering code.

Key features

  • 01State-driven and goal-driven agent design classes
  • 02Vehicle model with built-in steering behaviors
  • 03Graph, search algorithms and navigation mesh for path finding
  • 04Perception with short-term memory and vision component
  • 05Fuzzy inference system and JSON-based save/load

Use cases

  • Adding autonomous movement and steering to NPCs in a browser game
  • Path finding across a navigation mesh in a 3D scene
  • Building decision logic for enemies with state machines or goals
  • Saving and restoring the state of a game world

Quick start

  1. 1

    Clone the repository

  2. 2

    Install dependencies and start the local examples server

    npm install && npm start

Things to know

  • The README does not mention a dedicated install path beyond the repository and npm scripts, so usage as a package requires checking the npm package page.
  • Documentation and examples are hosted on an external website.

Topics

FAQ

What is yuka?
A standalone JavaScript library for game AI, covering steering, navigation meshes, perception, fuzzy logic and state-driven agents. Yuka is a JavaScript library for building game AI. It gives game entities a basic structure and provides classes for state-driven and goal-driven agent design, so developers can give characters decision-making logic without writing it from scratch.
Is yuka free to use? What license does it have?
yuka is open source under the MIT license. Check the license terms before using it in commercial products.
Is yuka still maintained?
Actively maintained. The last commit to yuka was on Oct 4, 2026.
What can I use yuka for?
Adding autonomous movement and steering to NPCs in a browser game Path finding across a navigation mesh in a 3D scene Building decision logic for enemies with state machines or goals Saving and restoring the state of a game world
How do I install yuka?
Clone the repository Install dependencies and start the local examples server: npm install && npm start
Where can I get yuka?
The source code and installation instructions are on GitHub: https://github.com/Mugen87/yuka

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects