All Projects → Grimy → ChoregraphAI

Grimy / ChoregraphAI

Licence: MIT License
An AI for Crypt of the NecroDancer

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
perl
6916 projects
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to ChoregraphAI

MaRLEnE
Machine- and Reinforcement Learning ExtensioN for (game) Engines
Stars: ✭ 47 (+123.81%)
Mutual labels:  game-ai
pokeai
Develop ultimate AI Pokémon trainer
Stars: ✭ 18 (-14.29%)
Mutual labels:  game-ai
dive
Shooter AI showcase with Yuka.
Stars: ✭ 48 (+128.57%)
Mutual labels:  game-ai
nier
The hacking game from NieR: Automata.
Stars: ✭ 43 (+104.76%)
Mutual labels:  game-ai
Rampant
Factorio Mod - Basic AI augmentation using potential fields
Stars: ✭ 39 (+85.71%)
Mutual labels:  game-ai
a star on grids
Best practices for implementing A* with a focus on four- and eight-connected grid worlds.
Stars: ✭ 23 (+9.52%)
Mutual labels:  game-ai
LuaCSP
Communicating Sequential Processes in Lua
Stars: ✭ 40 (+90.48%)
Mutual labels:  game-ai
Behaviac
behaviac is a framework of the game AI development, and it also can be used as a rapid game prototype design tool. behaviac supports the behavior tree, finite state machine and hierarchical task network(BT, FSM, HTN)
Stars: ✭ 2,294 (+10823.81%)
Mutual labels:  game-ai
BrainAI
BrainAI is a set of helper classes to add AI to your game.
Stars: ✭ 18 (-14.29%)
Mutual labels:  game-ai

ChoregraphAI — an AI for Crypt of the NecroDancer

About

ChoregraphAI’s purpose is to automically determine the optimal “route” (sequence of inputs) to complete a NecroDancer level. It takes as input a custom dungeon file, and outputs several suggested routes, along with some stats about them.

ChoregraphAI essentially performs a brute-force search over all possible routes for the level. It prunes out routes which kill the character, or which don’t get close enough to the stairs after some time. This still leaves millions of routes to examine, which could not be done in a reasonable time with an input/output layer on top of NecroDancer.

This is why ChoregraphAI uses its own heavily optimized, pure C re-implementation of (the relevant parts of) NecroDancer. It can simulate millions of beats per second, with bug-for-bug accuracy.

Since NecroDancer isn’t open-source, this was achieved by black-box reverse-engineering: set up edge-case scenarios in the game, see what happens, then find patterns. This extensive testing led to the discovery and report of several bugs in NecroDancer; some of them were later fixed.

The simulation can also be run interactively, in full ASCII-art glory, for debugging or entertainment purposes.

History

  • 2017-02-11 The awesome -7 developped a tool to read NecroDancer’s memory and generate dungeon files in the format accepted by ChoregraphAI.

  • 2017-02-05 Finished updating ChoregraphAI to handle DLC enemies.

  • 2017-01-24 The Amplified DLC for NecroDancer was released, adding many new enemies and game mechanics to simulate.

  • 2016-07-18 I did an entire run using ChoregraphAI strats, improving on my previous World Record by more than a second.

  • 2016-07-10 ChoregraphAI found a surreal route. It moves back and forth for a while, perfectly manipulating several unseen enemies in position so that there’s an easy way to the exit. This is two beats faster than any human-found route for this level.

  • 2016-06-20 ChoregraphAI found its first route.

  • 2016-06-16 ChoregraphAI went open source, with the permission of NecroDancer’s creators. At this point it was only able to solve short levels, and didn’t know how to use any items.

  • 2016-05-09 Initial (unusable) version of ChoregraphAI.

License

This work is licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].