Классическая игра «Змейка», реализованная на чистом HTML5 Canvas и портированная в нативное кроссплатформенное приложение для Windows и Android с помощью Tauri v2 и Rust.
- ⚡ Легковесность и производительность: нативное ядро на Rust обеспечивает мгновенный запуск и минимальное потребление оперативной памяти.
- 📱 Кроссплатформенность: единая кодовая база для десктопа (Windows 10/11) и мобильных устройств (Android).
- 🕹️ Удобное управление:
- ПК: Стрелки или клавиши
W/A/S/Dдля поворотов,Пробел— пауза/продолжить. - Смартфоны: управление свайпами по экрану в любую сторону.
- ПК: Стрелки или клавиши
- ⚙️ Настройка сложности: выбор скорости игры (Новичок, Обычная, Профи).
- 🏆 Таблица рекордов: сохранение лучшего счёта и локальный Топ-5 результатов.
- 🎨 Кастомный дизайн и иконки: уникальный набор векторных и растровых иконок под все плотности пикселей и системные темы (включая адаптивные иконки Android).
Свежие релизные сборки доступны на странице GitHub Releases v0.1.1 (Latest):
| Платформа | Формат | Описание | Скачать с GitHub Releases |
|---|---|---|---|
| Windows | .exe (Setup) |
Рекомендуется. Мастер установки NSIS (ярлыки, меню «Пуск») | ⬇️ Snake Game Setup (v0.1.1) |
| Windows | .msi |
Официальный установщик Windows Installer | ⬇️ Snake Game MSI (v0.1.1) |
| Windows | .exe (Portable) |
Автономный портативный исполняемый файл без установки | ⬇️ Snake Game Portable (v0.1.1) |
| Android | .apk (Signed) |
Подписанный APK для установки на телефон (ARM64) | ⬇️ Snake Game Android APK (v0.1.1) |
Локальные копии всех бинарных файлов также сохранены в каталоге
release-artifacts/.
snake-game/
├── dist/ # Изолированный веб-бандл игры
│ ├── index.html # Разметка игрового поля и UI
│ ├── css/style.css # Стили и адаптивная верстка
│ └── js/game.js # Игровая логика, свайпы и рекорды
├── src-tauri/ # Rust бэкенд и конфигурация Tauri v2
│ ├── Cargo.toml # Манифест зависимостей Rust/Tauri
│ ├── build.rs # Хук сборки Tauri
│ ├── tauri.conf.json # Параметры окна, метаданные и иконки
│ ├── capabilities/ # Политики безопасности Tauri v2
│ ├── icons/ # Набор иконок всех разрешений
│ ├── src/
│ │ ├── lib.rs # Единая точка входа для десктопа и мобайла
│ │ └── main.rs # Главный исполняемый файл десктопа
│ └── gen/android/ # Сгенерированный проект Android (Gradle + Kotlin)
├── release-artifacts/ # Готовые собранные пакеты (MSI, EXE, APK)
├── scripts/ # Скрипты генерации иконок и утилиты
├── package.json # Скрипты CLI и зависимости Node.js
└── .gitignore # Правила исключения временных файлов и сборки
- Node.js: LTS (версия >= 20.x, проверено на v24.x)
- Rust: stable toolchain (
rustc,cargo) - Для Windows: C++ Build Tools (Visual Studio Community / Build Tools с Windows SDK)
- Для Android:
- Android SDK (API 34/35/36)
- Android NDK (r27c или r28+)
- JDK (Java 17 или Java 21/25 из Android Studio JBR)
- Целевая платформа Rust:
rustup target add aarch64-linux-android
npm installnpm run tauri devnpm run tauri buildГотовые инсталляторы будут созданы в папке:
src-tauri/target/release/bundle/ (msi/ и nsis/).
npm run tauri android build -- --apkГотовый установочный файл APK появится в папке:
src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk.
Для установки на устройство подпишите его с помощью apksigner:
apksigner sign --ks keystore.jks --ks-key-alias my-alias --out snake-game-signed.apk app-universal-release-unsigned.apkПроект распространяется под лицензией MIT. Подробности в файле LICENSE.
Автор: @remageht

