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. :)
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 |
- 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.