Windows / Linux / macOS builds and releases: latest release
Cupboards is a puzzle game about moving pieces across a graph to their target positions. Each piece can only step to an adjacent node, and other pieces block the way, so the order you move them in actually matters.
Started as something like sokoban on a graph instead of a grid, and the graph structure ended up changing how the puzzles play out more than I expected.
- Grab the latest release for your OS
- Unzip and run
cupboards-game - Click a piece to select it
- Click a highlighted node to move it there
- Get all pieces to their targets to complete the level
| Action | Input |
|---|---|
| Select a piece | Left-click |
| Move a piece | Left-click highlighted node |
| Undo | Ctrl+Z |
| Debug info | F1 |
| Back to menu | Menu button |
- 9 levels
- Undo support (Ctrl+Z)
- Background music and sound effects, adjustable in settings
- Russian and English UI
- Dark and light themes
- BFS pathfinding for piece movement (also used during development to validate level solvability)
Windows:
cmake -B build .
cmake --build build --config Release --parallel
.\build\game\Release\cupboards-game.exeUbuntu / WSL:
sudo apt-get install libsfml-dev build-essential cmake libfreetype-dev
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/game/cupboards-gamemacOS:
brew install cmake freetype
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(sysctl -n hw.logicalcpu)
./build/game/cupboards-gameDependencies are fetched automatically via CMake FetchContent. You only need CMake and a C++17 compiler.
Cupboards: головоломка про то, как расставить фишки по целевым позициям на графе. Фишка ходит только на соседний узел, а другие фишки перекрывают путь, так что порядок ходов реально имеет значение, не только конечная расстановка.
Начиналось как «сокобан, только на графе вместо сетки», но структура графа в итоге меняет логику решения сильнее, чем я изначально рассчитывал.
- Скачайте последний релиз для вашей ОС
- Распакуйте и запустите
cupboards-game - Кликните на фишку, чтобы выбрать её
- Кликните на подсвеченный узел, чтобы переместить фишку
- Расставьте все фишки по целям, чтобы пройти уровень
| Действие | Управление |
|---|---|
| Выбрать фишку | ЛКМ |
| Переместить фишку | ЛКМ на подсвеченный узел |
| Отменить ход | Ctrl+Z |
| Отладка | F1 |
| Вернуться в меню | Кнопка «Menu» |
- 9 уровней
- Отмена ходов (Ctrl+Z)
- Музыка и звуки, настраиваются в меню
- Русский и английский интерфейс
- Тёмная и светлая темы
- BFS-поиск пути для перемещения фишек (также использовался при разработке для проверки проходимости уровней)
Windows:
cmake -B build .
cmake --build build --config Release --parallel
.\build\game\Release\cupboards-game.exeUbuntu / WSL:
sudo apt-get install libsfml-dev build-essential cmake libfreetype-dev
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/game/cupboards-gamemacOS:
brew install cmake freetype
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(sysctl -n hw.logicalcpu)
./build/game/cupboards-gameЗависимости скачиваются через CMake FetchContent. Нужны только CMake и компилятор с поддержкой C++17.