https://github.com/josepedrodias/tak
tak board game logic in typescript. WIP
https://github.com/josepedrodias/tak
board-game bot tak
Last synced: 8 months ago
JSON representation
tak board game logic in typescript. WIP
- Host: GitHub
- URL: https://github.com/josepedrodias/tak
- Owner: JosePedroDias
- Created: 2025-06-02T08:11:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-02T18:29:45.000Z (about 1 year ago)
- Last Synced: 2025-06-02T19:43:08.822Z (about 1 year ago)
- Topics: board-game, bot, tak
- Language: TypeScript
- Homepage:
- Size: 33.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tak
After having rolled my own chess bot in the past, after getting to know the Tak board game
I felt the urge to code it too. WIP
ℹ️ (this game isn't using typescript tooling, just making use of node.js's ability to ignore type annotations. it's just helping drive my UX)
The core logic should be runtime agnostic (ie `tak.ts` shouldn't depend on node.js or browser-exclusive APIs)
This allows me to eventually create dedicated clients/bots/whatever.
## usage
```
nvm use
# to play human vs human:
node play.ts
# to play against bot:
node play-vs-bot.ts
# to replay a game (WIP!)
node replay.ts games/g2.ptn
```
## TODO
- fix PTN loader
- add PTN attributes:
- [Date "2025.06.03"]
- [Time "08:19:46"]
- [Result "R-0"]
- write outcome in moves (ex: F-0, R-0, etc.)
- PTS read
- basic strategy bot
- find roads should list all roads and their positions
## rules:
- https://cdn.shopify.com/s/files/1/0493/0297/files/UniversityRulesSM.pdf?182053186103430866
- https://static1.squarespace.com/static/5e1ce8815cb76d3000d347f2/t/6482447fb0ca284557e6fc04/1686258824488/TakCompanionBookPDF.pdf
## playing/analysis interface
- https://ptn.ninja/
## playing site
- https://playtak.com/
## portable tak notation (PTN)
- https://ustak.org/portable-tak-notation/
## PTS ~ FEN
- https://ustak.org/tak-positional-system-tps/
## TAK BOTS
- wrapper https://github.com/chaitu236/ShlktBot-wrapper/blob/master/wrapper.py
- takbot (perl) https://github.com/scottven/TakBot
- tak ai (lua) https://github.com/jachiam/tak-ai
- taktitian (go) https://github.com/nelhage/taktician