Solstice Cipher: оптическая головоломка на Godot, собранная агентом Antigravity

К June Solstice Game Jam автор @fanioz выпустил Solstice Cipher — puzzle-игру, где нужно провести луч через зеркала, призмы и порталы, чтобы расшифровать скрытое слово. демо в браузере открывается без установки; за кулисами — другой эксперимент: по заявлению разработчика, ни одной строки GDScript он не писал вручную, а роль lead programmer и Godot-специалиста взял на себя Google Antigravity — автономный coding-агент на базе Gemini.
Промпт вместо клавиатуры: как Antigravity вёл разработку
@fanioz позиционирует себя как Game Director: архитектурные ограничения и механики формулируются на plain English, агент генерирует реализацию, человек ревьюит код и корректирует дизайн. Antigravity здесь не встроенная фича внутри игры, а внешний партнёр на весь цикл — от архитектуры до тестов.
Агент соавторил ключевые подсистемы проекта:
- multi-pass 2D raycasting engine на
PhysicsDirectSpaceState2Dс очередью propagation и циклом разрешения combiner'ов; - все семь optical tools с полиморфным
process_beam(); - BackwardsSolver — BFS pathfinding для валидации процедурных layout'ов с tier-based budget;
- contextual tutorial system с tween-driven анимациями;
- CipherUI, связывающий illumination glyphs с win condition checker;
- autoloads SaveManager, AudioManager (SFX pooling), TransitionManager;
- GUT test suite — детерминизм scaffolder и корректность solver.
Для категории джема Best Google AI Usage автор аргументирует именно этот спектр: AI как full-spectrum game development partner, а не декоративный runtime-слой.
Семь инструментов света и raycasting, который Antigravity собрал с нуля
Техническая основа Solstice Cipher — кастомный multi-pass raycasting, который вместе с Game Director выстроил Antigravity поверх PhysicsDirectSpaceState2D. При каждом move или rotate инструмента весь light path пересчитывается с нуля. Propagation queue гоняет лучи до 10 passes (pass_count < 10), чтобы разрешить combiner'ы, накапливающие inputs от разных веток. Каждый tool вызывает единый process_beam() и возвращает 0, 1 или 2 новых луча.
| Инструмент | Поведение |
|---|---|
| Mirror | Отражение (Vector2.bounce()) |
| Prism | Прямой проход + split под прямым углом |
| Filter | Pass-through с tint red/green/blue |
| Combiner | Два цветных луча → additive RGB blend → один выход |
| Portal | Телепорт к связанному порталу, инверсия направления в local space |
| Bender | Фиксированный поворот 45° относительно normal |
| Shade | Блокирует луч |
На уровне игрок видит sun emitter, cipher glyphs (буквы секретного слова) и briefcase с optical tools. Задача — провести луч через correct sequence of glyphs, чтобы illuminate every letter и reveal cipher. Инструменты snap к 15-degree increments; у glyph есть required_color — луч другого цвета не засчитывается, поэтому поздние уровни требуют split, filter и recombine.
BackwardsSolver работает как страховка дизайна: BFS по сетке ищет маршруты source→glyphs, анализирует turns и intersections, выводит required tools и placements. Если tools.size() > get_piece_budget(tier), layout отбрасывается и генерируется заново. Tutorial реактивный, не prescriptive: подсказка появляется после успешного действия — например, rotation hint над drop position после первого зеркала.
Пятнадцать уровней, дедлайн джема и заявка на Best Google AI Usage
Jam-submission Solstice Cipher претендует на Best Google AI Usage — полный цикл Godot-проекта под дедлайн через prompt-driven агента, а не разовую генерацию сниппета. Игра насчитывает 15 hand-crafted levels с прогрессией «по дуге solstice day» — от одного зеркала к комбинации prism, filter, combiner, portal и bender. Пост сдан в June Solstice Game Jam: старт 3 июня 2026, дедлайн сдачи 21 июня, победители объявляются 9 июля; у челленджа пять призовых мест по $200 USD плюс DEV++ Membership и badge.
Вторую заявку автор оформляет как Best Ode to Alan Turing: параллель Bombe/Enigma и optical tools с cipher glyphs — «programmable optical computer» в миниатюре. Стек: Godot 4.6, GL Compatibility renderer (WebGL 2); целевые платформы — web и Android App Bundle. Исходники на GitHub под MIT License (Copyright (c) 2026 Donchitos), локально проект открывается в Godot 4.6.3+.
Итог для разработчика, который смотрит на vibe coding в геймдеве: jam-головоломка с глубокой оптикой и процедурной валидацией уровней, где человек задаёт направление, а Gemini-powered агент закрывает объём кода и тестов. Видеодемо встроено в пост на Dev.to; играть в браузере можно без установки.
Источники
- Dev.to — @fanioz, «Solstice Cipher: Routing Light to Crack Codes — A Puzzle Game for the June Solstice Game Jam»: Dev.to
- GitHub — репозиторий fanioz/solstice-cipher (README, лицензия MIT): https://github.com/fanioz/solstice-cipher
- Dev.to — June Solstice Game Jam (даты, призы): https://dev.to/challenges/june-game-jam-2026-06-03
- Демо в браузере: https://solstice-cipher-game.vercel.app/
- Видеодемо (YouTube): https://www.youtube.com/watch?v=9bnl6GyHAv0