Пишем играбельную мини-игру с GLM

Урок 23 из 148 курса «Mistral AI Cookbook»: официальный курс Mistral AI Cookbook (Мистраль) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Используйте модель zai-glm-5-2 (GLM) через Mistral API для генерации полноценной, играбельной HTML5 игры в жанре dungeon crawler из одного prompt, затем автоматически проверьте и исправьте распространённые проблемы игровой механики. Для выполнения этого руководства вам потребуется: Python 3.10+ Учётная запись Mistral и API key Установите Mistral Python SDK и python-dotenv для загрузки вашего API key из файла .env: Для выполнения этого руководства вам понадобится Mistral API key. В Studio, перейдите в раздел API keys и создайте новый API key. Создайте файл .env в корне вашего проекта и добавьте ваш Mistral API key: Создайте файл generate_game.py в директории вашего проекта: Откройте файл и добавьте импорты и инициализацию клиента. Клиент устанавливает timeout_ms=600_000 (10 минут) и соответствующий таймаут httpx, потому что GLM генерирует большие объёмы кода (более 1000 строк), что может занимать несколько минут. Остальные шаги включают создание prompt, генерацию, цикл проверки, режим редактирования и локальный сервер. Prompt состоит из двух частей. Системное сообщение ограничивает формат вывода — один HTML-файл, без внешних зависимостей, рендеринг через Canvas. Пользовательское сообщение описывает игру и перечисляет конкретные требования, чтобы модель не упустила такие функции, как стартовый экран или логика завершения игры. Блок «Требования к игровой инженерии» является ключевым дополнением. GLM иногда генерирует игры с нарушенной механикой — враги, которых нельзя убить, отсутствие обнаружения столкновений или враги, появляющиеся внутри стен. Эти требования указывают модели, как реализовать наиболее подверженные сбоям системы. Добавьте следующее перед функцией main: Инженерные требования охватывают шесть режимов сбоя: Требование Что оно предотвращает Обнаружение столкновений Сущности, проходящие друг сквозь друга Здоровье врагов Враги, которых нельзя убить Обратная связь в бою Атаки, которые не регистрируют попадания Корректное появление Враги, застрявшие в стенах или перекрывающие игрока Целостность игрового цикла Системы, которые перестают обновляться в середине игры Обработка ввода Пропущенные нажатия клавиш или застрявшее движение Отправьте prompt в GLM и извлеките HTML из ответа.

План урока

  1. Предварительные требования
  2. Настройка окружения
  3. Установка
  4. Требуемые переменные окружения
  5. Шаг 1 — Инициализация клиента
  6. Шаг 2 — Создание prompt для игры
  7. Шаг 3 — Генерация игры
  8. Шаг 4 — Проверка и исправление игры

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды