MCPcopy Index your code
hub / github.com/Mugen87/yuka

github.com/Mugen87/yuka @v0.7.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.7.6 ↗ · + Follow
1,507 symbols 3,824 edges 261 files 801 documented · 53%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Yuka · GitHub license NPM Package Build Status Coverage Status Language grade: JavaScript

Yuka is a JavaScript library for developing Game AI.

  • Autonomous Agent Design: Yuka provides a basic game entity concept and classes for state-driven and goal-driven agent design.
  • Steering: Use the build-in vehicle model and steering behaviors in order to develop moving game entities.
  • Navigation: Graph classes, search algorithms and a navigation mesh implementation enables advanced path finding.
  • Perception: Create game entities with a short-term memory and a vision component.
  • Trigger: Use triggers to generate dynamic actions in your game.
  • Fuzzy Logic: Make your game entities smarter with Yuka's fuzzy inference system.
  • JSON: Save and load the current state of your game by using a serialization/deserialization API based on JSON.

Yuka is a standalone library and independent of a particular 3D engine.

Documentation

You can find the Yuka documentation on the website.

Examples

We have several examples on the website. If you download the repository and execute npm install && npm start in the main directory, you can start a local server and check out the examples on your computer.

Chat

There is a Discord server if you want to chat about Yuka and game AI related topics.

Resources

We recommend the following books in order to get familiar with most of Yuka's concepts:

Programming Game AI by Example by Mat Buckland

3D Math Primer for Graphics and Game Development by Fletcher Dunn and Ian Parberry

License

Yuka is MIT licensed.

Core symbols most depended-on inside this repo

set
called by 352
src/math/Ray.js
add
called by 254
src/steering/Path.js
push
called by 220
src/navigation/navmesh/Corridor.js
get
called by 149
src/fsm/StateMachine.js
copy
called by 130
src/math/Ray.js
addNode
called by 65
src/graph/core/Graph.js
dot
called by 59
src/math/Vector3.js
multiplyScalar
called by 58
src/math/Vector3.js

Shape

Method 1,048
Class 378
Function 81

Languages

TypeScript100%

Modules by API surface

src/math/Vector3.js43 symbols
src/math/ConvexHull.js42 symbols
examples/goal/src/Goals.js29 symbols
src/math/Quaternion.js26 symbols
src/math/Matrix3.js25 symbols
src/core/GameEntity.js25 symbols
examples/playground/hideAndSeek/src/World.js25 symbols
src/math/Matrix4.js24 symbols
src/math/Ray.js22 symbols
examples/playground/shooter/src/World.js22 symbols
src/math/AABB.js21 symbols
test/unit_test/goal/Think.tests.js20 symbols

For agents

$ claude mcp add yuka \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact