kwarc / kalah-framework Goto Github PK
View Code? Open in Web Editor NEWKalah framework for the AI course at FAU WS16/17
Kalah framework for the AI course at FAU WS16/17
Hi,
I have heard the complaint a few times, that the tournament "has to" programmed in Java/Scala (I know there are other JVM based languages, but it's still limiting). One idea was to implement a server, that interfaces with the existing infrastructure, where clients communicate via a network/local connection. I'm not sure if there will be enough time to implement this properly for this cycle, but I wanted to bring the point up anyway.
I've made a few sketches of how this would look like, but skimming the structure of the project, I don't think it can be trivially implemented without some restructuring.
The obvious advantage would be that nobody has to use a language they are uncomfortable with, so there are fewer advantages and disadvantages. The disadvantages would be that some languages can perform faster than others, there might delay, and monitoring the usage or resources could be harder. Also, security-wise, the clients would have to be containerised, to not manipulate the host system.
A protocol shouldn't have to be anything complicated, with some inspiration from using GTP, I could imagine something like, that should be parsable by even a programm written in C, without too much work.
# this is a comment
# lines beginning with ">" are client input, "<" are client output
# the first two charachters of a line aren't part of the protocol
> version 1
> kahla 7 5 # start Kahla(7, 5)
> assign-player south
< sow-pit 3 south
> sow-pit 4 north
...
< resign
If there is any interest, further details could be discussed. I'm neither an expert when it comes to game protocols, nor Kalah, so there are certainly things that could be improved.
Even though there are issues, and work would have to be done, code has to be implemented, I do think it would be interesting. I wouldn't have opened the issue if that wasn't the case.
I noticed that the game continues if an agent does choose an illegal move.
Further, if the move is illegal, some random position is chosen.
Is that the intended behavior?
TODO:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.