Skip to content

A programming language for board games powered by the JVM. It is a data-centric programming language which enables building tiny persistent game servers which radically reduce engineering and operational costs for board games.

License

Notifications You must be signed in to change notification settings

dejenerate/adama-lang

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AdamaDB & Adama Programming Language

The mission of Adama is to simplify building online board games. With a bit of spit, polish, and some Yak shaving, it ended up as a custom database and programming language. So, let's talk about what this thing is, and this animated GIF is a good summary:

Neat, right? Adama, the language, is a way of laying out state and then defining how to manipulate that state within a closed container. Manipulation of state is done by people via messages, and the document is computed reactively similar to Excel.

Now, the entire purpose is to play an online board game, but this extends well beyond board games. However, manifesting those values will take time to communicate. For now, the key is that players connect to a shared document, and the document enforces both rules and privacy via the Adama langauge.

For more information on why, please refer to the origin story over at http://www.adama-lang.org/

OK, How do I play with this thing?

Well... you need to install java 11 and maven. I'm currently using Ubuntu within Windows Linux Subsystem, but you can check out the repo and then build the jar via

./build.py jar

Then you can run the demo

./demo.py

You see more in the tutorial series within the documentation.

License

Board games are the foothold killer use-case for Adama, but the ultimate goal of Adama is to redefine how applications get built with user-centric privacy as a first-class consideration. This ambitious goal of changing the entire landscape requires an open agenda, so the language is open source under the Apache 2 license.

About

A programming language for board games powered by the JVM. It is a data-centric programming language which enables building tiny persistent game servers which radically reduce engineering and operational costs for board games.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.7%
  • Other 0.3%