explaingit

serdolli/culaska

Analysis updated 2026-05-18

0PythonAudience · generalComplexity · 2/5LicenseSetup · easy

TLDR

A fan made digital version of the board game Kulami with a strong AI opponent and chess style move analysis.

Mindmap

mindmap
  root((Culaska))
    What it does
      Digital Kulami board game
      AI opponent with search engine
      Move by move analysis
    Tech stack
      Python
      Pygame
      Pygbag WebAssembly
    Use cases
      Play Kulami against a friend
      Practice against strong AI
      Study analysis of past games
    Audience
      Board game fans
      Strategy game players
    Access
      Play in browser on itch.io
      Run desktop with Python
      Custom board codes

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Play the board game Kulami against a friend on the same device or against a built in AI.

USE CASE 2

Review a chess engine style analysis screen showing the best candidate moves after each game.

USE CASE 3

Create and share custom board layouts using a short text based board code.

USE CASE 4

Play instantly in a browser through itch.io without installing anything.

What is it built with?

PythonPygamePygbag

How does it compare?

serdolli/culaska0xallam/my-recipe0xhassaan/nn-from-scratch
Stars00
LanguagePythonPythonPython
Last pushed2022-11-22
MaintenanceDormant
Setup difficultyeasymoderatemoderate
Complexity2/52/54/5
Audiencegeneralgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Playable instantly in the browser on itch.io, or run locally with pip install pygame.

All rights reserved for now, meaning the code cannot be freely reused, though the author may open it up later.

In plain English

Culaska is a fan made digital version of Kulami, a board game where players compete for control of territory on a grid. It is not officially connected to or endorsed by the company that makes the original physical game. You can play it right in a browser through itch.io, or run it as a desktop app on your own computer. The game lets you play against a friend on the same device, or against a built in AI opponent with three difficulty levels. The strongest setting uses a search based engine similar in spirit to chess engines, and according to the README no human has beaten it yet. After a game, there is a full move by move analysis screen, again modeled after chess tools like Stockfish or Lichess, that shows the best candidate moves at each point in the match. The game also includes an interactive tutorial, a board editor that lets you create and share custom boards using a short text code, and support for English, Turkish, and German. Under the hood, the AI uses a search technique called minimax with alpha beta pruning, plus a transposition table to avoid repeating work and a time budget system that spends more thinking time in the middle and end of a game than at the start. Both the AI's move search and the post game analysis are written using Python generators, which lets the calculations pause and resume in small pieces every frame instead of running on a background thread, since browsers running the WebAssembly build of the game cannot use real threads. The project is written in Python, uses the pygame library for the desktop version, and is compiled to run in browsers using a tool called pygbag. Sound effects are credited to freesound.org. The source code license is currently all rights reserved, though the author notes this may change later.

Copy-paste prompts

Prompt 1
Explain how the minimax alpha beta search AI in Culaska works.
Prompt 2
Walk me through running Culaska as a desktop app with pygame.
Prompt 3
Show me how the base-32 board code system encodes and decodes boards.
Prompt 4
Help me understand why the game uses Python generators instead of threads for the AI search.

Frequently asked questions

What is culaska?

A fan made digital version of the board game Kulami with a strong AI opponent and chess style move analysis.

What language is culaska written in?

Mainly Python. The stack also includes Python, Pygame, Pygbag.

What license does culaska use?

All rights reserved for now, meaning the code cannot be freely reused, though the author may open it up later.

How hard is culaska to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is culaska for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.