Адаптация классической игры «Морской бой» под Android с атмосферой школьной тетради, умным ботом и чистой архитектурой.
👨💻 Роль: Full-cycle Developer (Architecture, UI/UX, Logic, QA, Release)
🛠 Стек: Kotlin, Jetpack Compose, MVVM, Clean Architecture
⚙️ Технологии: Coroutines, StateFlow, JUnit 4, Canvas API, SoundPool
🚀 Результат: Google Play Ready APK (Signed & ProGuard Optimized)
💡 Задача
Цель проекта — пройти полный цикл разработки мобильного приложения: от идеи в голове до готового APK файла. Я хотел создать не просто очередную «настолку», а продукт с душой.
Ключевые требования:
- 🎨 Визуал: Полная имитация рисования ручкой в тетради. Никаких растровых картинок, всё рисуется кодом.
- 🧠 AI: Бот не должен стрелять рандомно. Он должен «думать» и быть опасным.
- 📱 Адаптивность: Игра должна идеально выглядеть и на телефоне, и на планшете, в вертикальном и горизонтальном режиме.
🛠 Решение
1. UI/UX: Jetpack Compose & Canvas
Я отказался от тяжелых картинок. Всё поле, сетка, корабли и анимации («Х» при попадании, круги при промахе) рисуются программно через Canvas API.
- ✅ Это дало идеальную четкость линий на любых экранах.
- ✅ Приложение весит экстремально мало.
- ✅ Smart UX: Реализована удобная система расстановки кораблей. Если корабль не влезает при повороте, алгоритм сам «поддвигает» его (Smart Pivot Rotation).
2. Архитектура: Clean Arch + MVVM
Проект построен на принципах чистой архитектуры. Логика игры (Domain Layer) полностью отделена от Android-компонентов.
- Model: Хранит состояние поля и кораблей.
- ViewModel: Управляет потоками данных (StateFlow) и обрабатывает действия игрока.
- UI: Реактивный интерфейс на Compose, который просто «рисует» текущее состояние.
3. «Охота и Цель» (AI Logic)
Реализован бот с двумя уровнями сложности. На уровне Hard он использует алгоритм Hunt & Target:
- Стреляет по карте вероятностей.
- При попадании переходит в режим «Охоты»: вычисляет направление корабля.
- Добивает корабль до уничтожения, прежде чем искать новый.
⚡ AI-Augmented Workflow
В разработке я использовал современные ИИ-инструменты (AI-IDE) как «второго пилота».
- 🚀 Скорость: Генерация Unit-тестов и бойлерплейт-кода ускорилась в 3 раза.
- 🛡️ Качество: ИИ помогал находить граничные случаи (edge cases) в логике поворота кораблей.
- 🎨 Ресурсы: Иконка приложения и концепты дизайна сгенерированы нейросетями.
📸 Галерея
📥 Попробовать
Приложение полностью готово, подписано релизными ключами и оптимизировано.




