Танковая дуэль на Canvas. Ретро-пиксель. Один выстрел решает всё.
Два танка. Песчаные дюны. Ветер путает карты, а Терминатор никогда не промахивается дважды.
Аркадная артиллерийская дуэль в духе классических Scorched Earth / Worms: выставляешь угол, накачиваешь мощность, делаешь поправку на ветер — и сносишь противника вместе с куском ландшафта. Против тебя — бот Terminator с симуляцией прицеливания и скверным характером.
Родилась как дипломный проект команды Atlanta Team (Яндекс.Практикум, 2021). Сейчас переживает второе рождение: полный rewrite на современный стек — причём код фаз пишет автономный агент (Ralph Loop на Claude), а люди занимаются геймдизайном и ревью.
| Ввод | Действие |
|---|---|
| 🖱️ Мышь | угол прицела |
| 🖱️ Колесо | мощность выстрела |
🖱️ Клик / Enter / Space |
ОГОНЬ |
← → ↑ ↓ |
точная настройка |
Ctrl + стрелки |
смена оружия · перемещение танка |
| 📱 Тач | «оттяни и отпусти» — как рогатка |
git clone https://github.com/AtlantaTeam/pixel-tanks.git
cd pixel-tanks
npm install
cp .env.example .env.local # заполнить PAYLOAD_SECRET
npm run dev # → http://localhost:3050Полезное: npm run test · npm run lint · npm run lint:fsd · npm run typecheck
Живая игра — pixeltanks.ru. Деплой автоматический: каждый push в main запускает deploy.yml, который собирает и катит на VDS. Прод-БД (SQLite) бэкапится по systemd-таймеру.
Витрина дизайн-системы — наш живой мини-сторибук: pixeltanks.ru/design-system. Все переиспользуемые компоненты shared/ui со всеми состояниями; он же — мишень визуальной регрессии.
Детали инфраструктуры, отката и восстановления — в docs/deploy/.
Игра в активном переносе со старого стека: часть возможностей ещё в работе, см. роадмап ниже.
- Next.js 16 + React 19 — App Router, серверные компоненты, React Compiler
- Canvas-движок — детерминированная физика (seed → одинаковый бой),
requestAnimationFrameс delta time, offscreen-слои террейна - FSD 2.1 — слои
app → views → widgets → features → entities → shared, валидируется Steiger - Payload CMS 3 + SQLite/Postgres — юзеры, очки, лидерборд, Drizzle под капотом
- Своя UI-тема — DotGothic16 + JetBrains Mono (+ Montserrat, Press Start 2P), NES-рамки, кастомная dark-палитра с faction-темами (витрина
/design-system) - Vitest + Playwright — unit-тесты физики и e2e игровой петли
Идём по PRD game-next — 9 фаз на доске проекта:
сид-физика → мобильный layout → тач-рогатка → клавиатура → оригинальный саунд 🎵 → juice (частицы, shake, slow-mo) → реплики Терминатора 🤖 → бой дня → реплеи-ссылки
Дальше: auth + профиль → лидерборд → Яндекс ID → i18n.
Atlanta Team — дипломный проект 2021 → next-gen rewrite 2026. Разработка: автономные агентные циклы + человеческое ревью. Issues и milestones — в бэклоге.
Сделано с 💛 и небольшим количеством Math.random() — теперь уже инжектируемого.