Skip to content
/ ax Public

A functional game engine meant to simplify experimentation with AI for "simple" games.

Notifications You must be signed in to change notification settings

Zaba505/ax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ax

Ax is a functional game engine meant to simplify experimentation with AI for "simple" games.

By borrowing ideas from parser combinator libraries, like nom, a very expressive API can be provided for developing games with some added Rustic benefits like zero copy. For example, the classic game "I'm thinking of a number from..." can be implemented in just a handful of lines:

let state = numberguesser::State::new(low, high, rng);

let mut run = repeat_until_terminal(map_action(
    take_turn(numberguesser::Human),
    map_err(render(io::stdout()), |_| ()),
));

run.apply(state).expect("should have succeeded");

About

A functional game engine meant to simplify experimentation with AI for "simple" games.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages