Skip to content

A programming language for implementing turn-based games with complex rule sets. (with built in Monte Carlo Tree Search AI!)

License

Notifications You must be signed in to change notification settings

TheIttyBittyGalaxy/gambit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

♟ Gambit

Gambit is a programming language designed for implementing turn-based games with complex rule sets.

It uses an approach to creating entities and their properties meant for modelling complex game state and the effects of layered rule sets. The language combines functional and imperative features so that different games can be modelled however is most natural for the game in question.

Gambit is still in early development. It's a hobby project I'm working on in my spare time. My ultimate goal is is to have the compiler generate not only a playable executable, but one with a built in Monte-Carlo Tree Search AI player! (The project actually started as an attempt to create such an AI for Disney© Villainous, but now I'm many tangents in!)

You can get a sense of the current state of the language by looking at the example programs, or the very rough documentation. By all means feel free to contribute code and ideas - create an issue or pull request! Questions and feedback are also welcomed! If you're at all interested in the project, I'd love to hear from you. :)

Development Status

Aspect Status
Language Design 🟡 In progress
Language Documentation 🟠 Rough references
Parsing 🟡 In progress
Type Checking & Static Analysis 🟡 In progress
Playable Program Generation 🔴 Not started
MCTS AI Generation 🔴 Not started

Repository Contents

  • documentation: References and guides on the language and it's features.
  • game: Example games written in Gambit.
  • compiler: The Gambit compiler written in C++.
  • test: Sample programs for testing the compiler.
  • editor/vscode: A Visual Studio Code extension for the Language.

About

A programming language for implementing turn-based games with complex rule sets. (with built in Monte Carlo Tree Search AI!)

Topics

Resources

License

Stars

Watchers

Forks

Languages