
«Ну, погоди!» («Электроника ИМ-02») — электронная игра, самая известная и популярная из серии первых советских портативных электронных игр с жидкокристаллическим экраном, производимых под торговой маркой «Электроника». Производилась с 1984 года. Кроме игры, устройство обладает функцией часов и будильника. Розничная цена составляла 25 рублей (позднее — 23 рубля).
В детстве залипали в эти игры часами, играли на каждой перемене в школе, да и на уроках, без звука :)
Итак, к сути - в своей повседневной работе я использую Codex и Claude Code, как правило на флагманских моделях.
Мне пришла в голову идея сравнить два этих инструмента на на такой задаче, результаты выполнения которой я смогу оценить как технически, так и на уровне использования. И это должно быть что-то хорошо мне знакомое.
Изначально я хотел сравнить модели GPT6-Astra и Mythos 5.1, но вчера вышла Opus 5.5, к тому же разработчки из Anthropic заявили, что она правктически не уступает Mythos 5.1. Вот и проверим :)
Как будет происходить оценка
Все модели находятся в одинаковых условиях: один и тот же промпт, одна итерация, без уточнений, подсказок и последующих исправлений.
Оценивается именно тот результат, который агент смог выдать самостоятельно с первой попытки.
Максимальная оценка — 100 баллов.
Это не оценка каждого пункта от 1 до 100. У каждого критерия свой вес, а итоговый результат складывается из суммы баллов.
Критерий |
Максимум |
|---|---|
Работоспособность |
20 |
Игровая механика |
25 |
Динамика игры |
10 |
Управление на desktop |
10 |
Мобильная версия |
10 |
SVG и анимация |
10 |
Визуальное качество |
5 |
Звук и обратная связь |
5 |
Качество кода |
5 |
Итого |
100 |
Работоспособность — 20 баллов
Игра должна нормально запускаться, позволять сыграть полноценную партию, корректно завершаться и запускаться заново.
Также проверю, не ломается ли она после нескольких рестартов и не возникают ли ошибки во время обычной игры.
Игровая механика — 25 баллов
Самый весомый критерий.
Здесь проверяется основная механика «Ну, погоди!»:
четыре положения Волка;
четыре лотка;
движение яиц;
правильная обработка поимки;
промахи;
очки;
штрафы;
половинный штраф при Зайце;
Game Over;
сброс штрафов;
переход счётчика после 999.
Динамика игры — 10 баллов
Насколько нормально растёт сложность игры.
Проверю скорость движения яиц, частоту их появления, возможность появления нескольких яиц одновременно и то, насколько естественно происходит ускорение игры.
Управление на desktop — 10 баллов
Проверю управление с клавиатуры, задержку реакции и правильность переключения между четырьмя положениями Волка.
Мобильная версия — 10 баллов
Проверю touch-управление, горизонтальную ориентацию, поведение игры в portrait, отсутствие скролла и удобство расположения кнопок.
SVG и анимация — 10 баллов
Проверю, действительно ли основная игровая сцена реализована через SVG, насколько плавно двигаются яйца, меняется положение Волка и реализованы игровые анимации.
Визуальное качество — 5 баллов
Здесь всё достаточно субъективно: насколько аккуратно выглядит игра, хорошо ли читаются элементы и насколько результат в целом похож на законченную игру.
Звук и обратная связь — 5 баллов
Наличие и качество звуков движения, поимки, промаха и Game Over, а также визуальной реакции интерфейса на действия игрока.
Качество кода — 5 баллов
Структура проекта, разделение игровой логики и отображения, работа с состоянием, таймерами и обработчиками событий.
Также посмотрю на тестируемость, наличие автоматических проверок и потенциальные проблемы при дальнейшем развитии проекта.
Промпт
У обеих моделей будет один и тот же промпт, ограничивающий их, и одновременно дающий свободу архитектурных решений.
prompt
Твоя задача — за одну итерацию реализовать полностью рабочую браузерную игру по мотивам советской электронной игры «Электроника ИМ-02 — Ну, погоди!».
Это тест реализации. Не задавай уточняющих вопросов. Самостоятельно принимай все второстепенные технические и визуальные решения. Результат должен быть законченным и запускаться сразу.
Формат проекта
Создай статическое браузерное приложение без backend.
Требования:
HTML + CSS + JavaScript; без React, Vue, Phaser, PixiJS и других frontend/game-фреймворков; без внешних npm-зависимостей; без CDN; без внешних изображений, шрифтов, SVG-файлов и других ресурсов; приложение должно работать локально при открытии index.html; основная игровая графика и анимация должны быть реализованы средствами SVG; SVG должен быть настоящей игровой сценой с отдельными объектами, а не SVG-контейнером вокруг raster/canvas; Canvas использовать нельзя.
Код можешь разделить на несколько файлов, если считаешь это правильным.
Общая концепция
Нужно воспроизвести механику классической игры «Ну, погоди!».
На экране находятся:
Волк с корзиной; четыре направления, откуда катятся яйца:
верхнее левое; нижнее левое; верхнее правое; нижнее правое;
четыре дорожки/лотка; яйца; Заяц в окне; счёт; индикатор штрафов; элементы корпуса электронной игры.
Визуально это должна быть современная аккуратная SVG-реконструкция советской портативной электронной игры, а не буквальная фотографическая копия устройства.
Сохрани узнаваемость оригинальной концепции: LCD-экран, Волк, четыре лотка, яйца, Заяц, цифровой счёт.
Игровая механика
У Волка четыре дискретных положения:
верхнее левое; нижнее левое; верхнее правое; нижнее правое.
Перемещение между ними происходит мгновенно.
Каждому положению соответствует один лоток.
Яйца появляются на одном из активных лотков и последовательно проходят несколько дискретных позиций по направлению к Волку.
Несмотря на дискретную механику, визуальное перемещение яйца между позициями должно быть плавно анимировано средствами SVG.
Когда яйцо достигает конца лотка:
если корзина Волка находится в правильном положении — яйцо поймано; игрок получает 1 очко; яйцо исчезает; если Волк находится в другом положении — происходит промах.
После промаха должна быть отдельная короткая SVG-анимация падения/разбития яйца.
Обычный промах даёт 1 штрафное очко.
Если в момент промаха в окне находится Заяц, начисляется 0,5 штрафного очка.
После 3 штрафных очков игра заканчивается.
Для внутреннего состояния желательно избегать ошибок floating point: способ хранения половинных штрафов выбери самостоятельно.
При достижении 200 и 500 очков накопленные штрафы полностью сбрасываются.
Счёт трёхзначный.
После 999 очков игра продолжается с 000.
Сложность
В начале игра должна быть достаточно медленной, чтобы пользователь понял механику.
По мере роста счёта:
яйца двигаются быстрее; новые яйца появляются чаще; одновременно на экране может находиться несколько яиц; игрок должен всё быстрее переключать Волка между четырьмя позициями.
Рост сложности должен быть постепенным.
После каждой полной сотни очков сделай небольшое временное снижение темпа, после которого скорость снова начинает увеличиваться.
Игра не должна становиться физически невозможной уже на первых десятках очков.
Заяц
Заяц периодически появляется в окне.
Его появление не должно быть постоянным.
Он должен иметь собственное визуальное состояние в SVG.
Присутствие Зайца влияет только на размер штрафа при промахе.
Управление на desktop
Определи desktop по возможностям устройства, а не только по размеру окна.
Основное управление — клавиатура.
Используй логичную раскладку из четырёх клавиш:
Q — верхний левый лоток A — нижний левый лоток P — верхний правый лоток L — нижний правый лоток
Дополнительно можешь поддержать стрелки или другие клавиши, но Q/A/P/L должны работать обязательно.
На desktop экранные игровые кнопки не должны мешать интерфейсу.
Перед началом игры должна быть краткая визуальная подсказка управления.
Управление должно реагировать на keydown, без задержки до отпускания клавиши.
Управление на мобильных устройствах
На touch/mobile-устройствах управление клавиатурой не является основным.
На экране должны присутствовать четыре большие нарисованные кнопки управления:
верхняя левая; нижняя левая; верхняя правая; нижняя правая.
Кнопки должны быть удобны для управления двумя большими пальцами.
Используй Pointer Events или эквивалентный механизм, обеспечивающий мгновенную реакцию без задержки клика.
Кнопки должны иметь визуальное состояние нажатия.
При удерживании пальца не должно происходить выделение текста, zoom или browser gesture, мешающий игре.
Ориентация мобильного устройства
Мобильная версия игры предназначена исключительно для горизонтальной ориентации.
В landscape игра должна занимать доступную область экрана и быть полностью играбельной без вертикального скролла.
Если устройство находится в portrait:
игровая сцена не должна запускаться в неудобном вертикальном виде; покажи полноэкранное сообщение с понятной SVG-иллюстрацией или иконкой поворота устройства; предложи повернуть устройство горизонтально.
Если браузер поддерживает Screen Orientation API, после пользовательского действия можешь попытаться запросить landscape orientation, но приложение не должно зависеть от поддержки этого API.
Обязательно корректно обрабатывай изменение ориентации во время игры.
Responsive
Игра должна корректно работать:
на desktop; на ноутбуке; на планшете; на современном смартфоне в landscape.
SVG-сцена должна масштабироваться без нарушения пропорций.
Используй viewBox.
Не допускаются:
обрезанные игровые элементы; наложение интерфейса; вертикальный скролл во время мобильной игры; слишком маленькие touch-targets; искажение SVG при разных aspect ratio.
SVG и анимация
Игровая сцена должна быть SVG-first.
Через SVG реализуй как минимум:
Волка; корзину; четыре лотка; яйца; движение яиц; Зайца; окно; анимацию промаха; визуальный LCD-интерфейс.
Не делай игру набором статичных символов.
Волк должен визуально менять положение корзины.
Яйца должны визуально перемещаться вдоль соответствующих лотков.
Анимация должна быть плавной, но сама игровая логика может оставаться дискретной.
Избегай чрезмерных декоративных эффектов, которые ухудшают читаемость игры.
Интерфейс
Добавь:
START / новая игра; текущий счёт; лучший результат текущей browser-сессии или localStorage; отображение штрафов; состояние Game Over; возможность сразу начать новую игру.
При загрузке пользователь должен сразу понимать, что перед ним за игра и как её запустить.
Не используй alert(), prompt() или confirm() для игрового интерфейса.
Звук
Добавь простые игровые звуки:
шаг/перемещение яйца; пойманное яйцо; промах; Game Over.
Не используй внешние аудиофайлы.
Если реализуешь звук, синтезируй его через Web Audio API.
Учитывай ограничения браузеров на запуск AudioContext до пользовательского взаимодействия.
Добавь возможность выключить звук.
Качество реализации
Код должен быть структурированным.
Игровое состояние не должно зависеть от координат SVG-элементов.
Отдели игровую механику от отображения настолько, насколько это разумно для проекта такого размера.
Не допускай ситуации, когда после restart остаются старые timers, animation frames или обработчики.
Пауза вкладки или резкий frame drop не должны полностью ломать игру.
Игра должна оставаться работоспособной после нескольких последовательных рестартов.
Запрещено
Не используй:
Canvas; WebGL; изображения вместо игровой SVG-графики; iframe; внешние API; готовые реализации «Ну, погоди!»; скачанный код игры; frontend/game frameworks; внешние зависимости.
Весь результат должен быть твоей собственной реализацией в рамках текущего проекта.
Критерий завершённости
Считай задачу выполненной только если пользователь может:
открыть приложение;
запустить игру;
увидеть движущиеся яйца;
управлять четырьмя положениями Волка;
ловить яйца;
получать очки;
промахиваться и получать штрафы;
проиграть после накопления штрафов;
начать новую игру;
нормально играть как с desktop-клавиатуры, так и с touch-устройства в landscape.
После реализации самостоятельно проверь основные игровые сценарии и исправь обнаруженные ошибки.
Не задавай вопросов пользователю.
Не ограничивайся описанием решения, макетом или псевдокодом.
Результатом должна быть полностью реализованная рабочая игра.
Итак, погнали!
Результат GPT6-Astra

Попробовать онлайн:
https://games.ermolaev.tech/nu-pogodi/gpt6-astra/index.html
Мое впечатление
Игра получилась вполне пригодная, ошибок нет, все работает как должно. Общий интерфейс вполне неплох, но не непохож он на электронику, скорее похож на домофон.
Анимация и игровая механика в норме, но качество SVG, особенно реализация волка - оставляет желать лучшего. Тут мне понравились только курицы и яйца.
Оценки
Критерий |
Баллы |
|---|---|
Работоспособность |
20 / 20 |
Игровая механика |
22 / 25 |
Динамика игры |
8 / 10 |
Управление на desktop |
8 / 10 |
Мобильная версия |
8 / 10 |
SVG и анимация |
6 / 10 |
Визуальное качество |
4 / 5 |
Звук и обратная связь |
4 / 5 |
Качество кода |
4.85 / 5 |
Итого |
84.85 / 100 |
Результат Opus 5.5

Попробовать онлайн:
https://games.ermolaev.tech/nu-pogodi/opus5.5/index.html
Мое впечатление
Вот это гораздо больше похоже на “Электронику” из моего детства, особено хорошо получился диспелей игры и звуки. Анимация и SVG тут получились на порядок удачнее, чем у предыдущей модели. Не понравились мне тут яйца и курицы, но все оставльное получилось очень хорошо.
Оценки
Критерий |
Баллы |
|---|---|
Работоспособность |
20 / 20 |
Игровая механика |
25 / 25 |
Динамика игры |
10 / 10 |
Управление на desktop |
10 / 10 |
Мобильная версия |
10 / 10 |
SVG и анимация |
9 / 10 |
Визуальное качество |
5 / 5 |
Звук и обратная связь |
5 / 5 |
Качество кода |
4.55 / 5 |
Итого |
98.55 / 100 |
Отдельно по качеству кода
Критерий |
Opus 5.5 |
GPT-6 Astra |
|---|---|---|
Архитектура и разделение ответственности |
0.85 / 1 |
1.0 / 1 |
Игровое состояние и game loop |
1.0 / 1 |
0.95 / 1 |
Управление ресурсами, restart, pause |
0.95 / 1 |
0.95 / 1 |
Читаемость и поддерживаемость |
0.85 / 1 |
0.95 / 1 |
Тестируемость и автоматические проверки |
0.9 / 1 |
1.0 / 1 |
Итого |
4.55 / 5 |
4.85 / 5 |
У GPT-6 Astra архитектура проекта получилась наиболее чистой:
mechanics.js — правила игры controls.js — ввод audio.js — звук art.js — SVG-графика scene.js — построение сцены display.js — рендеринг app.js — orchestration
Сильная сторона Opus 5.5 — непосредственно игровой движок. engine.js сделан очень грамотно: состояние не зависит от DOM и SVG, update(dt) детерминирован, генератор случайных чисел можно подменить, штрафы хранятся целыми половинками, предусмотрены большие dt, паузы и повторные старты.
Заключение
Обе модели справились с первого раза, без ошибок и отправок на доработку, это очень порадовало.
С отрывом в 13.7 балов побеждает Opus 5.5 на агенте Claude Code. Игра получилась более похожей на оригинал, качество анимации и SVG заметно выше, чем у GPT-6 Astra. Да и в целом - играть удобнее и интереснее, залип на 20 минут, свело олдскулы, как говорится :)
Онлайн результат GTP6 Astra:
https://games.ermolaev.tech/nu-pogodi/gpt6-astra/index.html
Онлайн результат Opus 5.5:
https://games.ermolaev.tech/nu-pogodi/gpt6-astra/index.html
Репозиторий в GitHub:
https://github.com/dartdavros/nu-pogodi
Комментарии (5)

gionet
23.09.2026 08:02Я только позавчера примерно такое же забацал. И к моему вешликому кдивлению ни одна нейронка не смогла даже близко повторить нашу с вами игру. Я специально не давал им графический референс, полагая, что в интернете и так тонна материала наверняка, однако что-то пошло не так. Делались какие-то франкенштейны

yermolaev Автор
23.09.2026 08:02Я тоже рассчитывал на подобный результат, думал что не справятся. Но вышло вполне годно )
Melamed69
Помню, как в детстве мы все заигрывались в эту игру.