Вы когда-нибудь пытались заставить нейросеть написать целую игровую консоль? Не просто игру, а консоль — с меню, выбором игр, настройками и сохранениями. Я попробовал. И вот что из этого вышло.
Qwen3.6 27B — свежая модель от Qwen (выпущена в апреле 2026). 27 миллиардов параметров, контекст 128k, поддержка инструментов, улучшенный кодер. Я решил проверить её на живом проекте: HTML5 Game Console — веб-приложение, которое эмулирует классическую портативную консоль с играми. Никаких фреймворков — чистый HTML, CSS, JavaScript + Canvas API.
Это не очередной теоретический бенчмарк. Это история одной попытки, где половина кода написана моделью, половина — правками после её ошибок. Честно и без прикрас.
Почему консоль, а не очередной кликер?
Любая LLM умеет генерировать простые игры: змейка, тетрис, арканоид. Но консоль — это архитектурный челлендж. Тут вам и рендеринг нескольких экранов (меню, игра, пауза), и состояние приложения (какая игра выбрана, уровень, очки), и сохранения в localStorage, и обработка ввода с клавиатуры/геймпада. Плюс визуальный дизайн: пиксельная графика, звуки, анимации.
В прошлом я уже гонял Qwen3.6 на генерацию Canvas анимаций — тогда модель показала классные результаты, но сейчас задача на порядок сложнее. Мне нужна была целая экосистема.
Инструментарий и промпт-стратегия
Я решил писать пошагово, используя Qwen3.6 27B локально (через Ollama) и через API (Replicate). Каждый шаг — новый промпт с контекстом предыдущего кода. Так модель видит всю картину и не сходит с ума.
1Промпт для ядра консоли
Первым делом я попросил модель написать базовый движок: игровой цикл, управление сценами, загрузка ресурсов. Вот как выглядел промпт (без излишеств):
Создай класс ConsoleEngine на JavaScript. Он должен управлять сценами (menu, game, pause, settings). Каждая сцена — это объект с методами init, update, render. Engine запускает requestAnimationFrame, передаёт delta time. Добавь поддержку клавиатуры: стрелки, Enter, Escape. Сохраняй последнюю сцену в sessionStorage.Qwen3.6 27B выдала чистый, рабочий код с первого раза. Проверка — запустил в браузере, циклится без ошибок. Хороший старт.
2Первая игра — «Змейка»
Теперь самое интересное. Я дал контекст движка и попросил реализовать классическую змейку. Обратите внимание: модель уже видела структуру сцен, поэтому код игры должен интегрироваться в движок.
Теперь создай сцену GameSnake. Она наследует интерфейс ConsoleScene. Используй Canvas 2D для рисования: зелёное поле 20x20, яблоки красные, змейка с головой и телом. Управление стрелками. При столкновении с собой — сцена GameOver. Сохраняй рекорд в localStorage.Результат: сразу рабочий прототип. Но были баги. Во-первых, змейка двигалась только после каждого второго нажатия. Во-вторых, при рестарте не сбрасывалось положение. Qwen3.6 не учла, что нужно переинициализировать состояние при повторном входе в сцену.
Типичная ошибка: модель предполагает, что сцена создаётся один раз, а не пересоздаётся. Пришлось явно указать: «при старте сцены всегда вызывай init». Исправил руками за 2 минуты.
3Вторая игра — «Тетрис»
Тетрис сложнее: нужно управлять вращением фигур, коллизиями, удалением линий. Я подготовил промпт с чёткими спецификациями.
Сцена GameTetris. Сетка 10x20. Фигуры: I, O, T, S, Z, J, L. Цвета стандартные. Управление: стрелка влево/вправо — движение, вверх — поворот, вниз — ускорение. Новая фигура появляется сверху каждую секунду. При заполнении ряда — удаление и счёт. GameOver, если фигура не может войти.Тут Qwen3.6 27B показала чудеса: выдала полностью рабочий тетрис с корректной системой поворота (SRS — Super Rotation System). Даже визуальный эффект мерцания при удалении линий. Я был впечатлён. Забегая вперёд: только одна правка — интервал падения не ускорялся со временем. Я дописал сам.
| Игра | Код из модели | Правки |
|---|---|---|
| Змейка | ~90 строк | 2 (рестарт, скорость) |
| Тетрис | ~150 строк | 1 (ускорение) |
| Арканоид | ~120 строк | 0 (работает сразу) |
Главные проблемы и как я их решал
Даже у лучших LLM есть слепые зоны. Qwen3.6 27B — не исключение. Три вещи, которые выбесили больше всего:
- Забывание контекста — после 5-6 итераций модель начинала «терять нить», дублировала функции или игнорировала предыдущие договорённости. Решение: каждые 3 шага я рефакторил и просил переписать весь файл заново с учётом всех изменений. Это помогало.
- Генерация мёртвого кода — модель писала функции, которые нигде не вызывались. Особенно в области звуков и анимаций. Пришлось вручную удалять килограммы мусора.
- Отсутствие обработки ошибок — ни одной проверки на undefined или null. Если игра не загрузилась, консоль падала молча. Я добавил try/catch и логирование сам.
Но если правильно направить промпт, модель выдаёт качественный код. Например, когда я попросил реализовать систему сохранений с шифрованием в localStorage, Qwen3.6 27B предложила использовать XOR-шифрование и base64 — без лишних библиотек. Работает.
Сравнение с предыдущими версиями
Ранее я тестировал Qwen3.5-35B-A3B на FlappyBird — тогда модель справилась с одной игрой, но контекст не держала. Qwen3.6 27B явно умнее: она понимает архитектуру лучше, меньше галлюцинирует, но всё ещё не идеальна в многокомпонентных проектах.
Интересный момент: gWorld — модель, генерирующая HTML-код, показывает себя лучше на GUI, но проигрывает в логике игры. Qwen3.6 27B — золотая середина: и вёрстку нормальную делает, и механику не проваливает.
Итоговый продукт и неожиданный совет
Через 4 часа (3 — промпты, 1 — правка) я получил полноценную консоль с тремя играми, меню, настройками, таблицей рекордов и звуковыми эффектами (звуки — генерация с помощью Web Audio API, модель написала и это). Всё работает в браузере, без сервера.
Можно ли было быстрее? Если бы я писал сам — неделя. Qwen3.6 27B ускорила разработку в 10 раз для прототипа, но для production-качества всё равно требуются руки.
Мой неочевидный совет: используйте Qwen3.6 27B не как «волшебную кнопку», а как сверхскоростного джуниора. Вы даёте задачу, она генерирует, вы код-ревьюите. И да, всегда просите её комментировать код — она пишет объяснения, которые потом можно использовать в документации.
Что дальше? Я выложил консоль на Replicate — можете запустить сами и поиграть. Модель будет эволюционировать, и уже скоро мы увидим AI, способный написать полноценный коммерческий продукт с нуля. Но пока — доверяй, но проверяй.
Хотите глубже погрузиться в промпт-инжиниринг для кода? Читайте мой туториал по Qwen 3.5 — принципы те же, а версия новее дала больше контекста.