/litak

Litak is an open source tak server forked from lichess.

Primary LanguageScalaGNU Affero General Public License v3.0AGPL-3.0

Litak (Lichess for tak)

Lichess homepage

Tak is a two-player game seen in the book: The Wise Man's Fear from the Kingkiller Chronicle. The game's objective is to create a path from one side of the board to the other following the: Rules, or Video

Adaptation to 2d play:

Using lichess crazyhouse tools, we have the stones to place according to the 8x8 tak rules.

To select how many stones to move I'm using the scroll wheel rendering the stones to be moved a bit higher (open to debate), this is way heavier than lichess' redering method.

Specs:

Litak (lichess for tak) is a free online tak game server.

Litak is written in Scala 2.13, and relies on the Play 2.8 framework. scalatags is used for templating. The tak logic is contained in the module tak (when stable will be taken apart from litak). The server is fully asynchronous, making heavy use of Scala Futures and Akka streams. WebSocket connections are handled by a separate server that communicates using redis. It uses MongoDB to store more than 1.7 billion games, which are indexed by elasticsearch. HTTP requests and WebSocket connections can be proxied by nginx. The web client is written in TypeScript and snabbdom, using Sass to generate CSS. The blog uses a free open content plan from prismic.io. Browser testing done with Browserstack. Proxy detection done with IP2Proxy database.

See lichess.org/source for a list of repositories.

TODO:

  • Move several squares in one move
  • Flatten wallstones with capstones
  • First move with opposite color
  • Learn page, to explain how to move stacks and flatten stones

Installation

./lila # thin wrapper around sbt
run

The Wiki describes how to setup a development environment. <-- Litak runs like Lila

Credits

Most of the code comes from Lila and it's contributors, so thanks to them. And thanks to lishogi, lidroughts for setting the precedent.

See the contributors on this repository and lichess.org/thanks.

Supported browsers

Name Version Notes
Chromium / Chrome last 10 Full support
Firefox 61+ Full support (fastest local analysis since FF 79)
Opera 55+ Reasonable support
Safari 11.1+ Reasonable support
Edge 17+ Reasonable support

Older browsers (including any version of Internet Explorer) will not work. For your own sake, please upgrade. Security and performance, think about it!

License

Lila is licensed under the GNU Affero General Public License 3 or any later version at your choice with an exception for Highcharts. See COPYING for details.

So litak the same.