Практикум разработки игр — о разделе

Разработчику Начальный уровень


О разделе

Здесь — сквозные учебные проекты: одна игра от пустого окна до играбельного прототипа. Каждый этап даёт готовые файлы целиком — скопируй блок в проект и запусти python main.py без догадок и пропусков вроде # ....

Листинги от ~15 строк (Python, Java, TypeScript и конфиги) живут в code.spirzen.ru и встроены в статьи через ExternalCodeEmbed — копирование и подсветка синтаксиса работают так же, как на отдельном сайте. Короткие фрагменты и схемы остаются inline.

Теория движков, пайплайна и гейм-дизайна — в разделе "Разработка игр"; база Pygame и игрового цикла на Python — в Разработка игр на Python. Перед длинным треком удобно прогнать короткие мини-игры с разбором (змейка, Pong, Breakout в одном файле). Для Minecraft Java без движка — команды и datapack с разбором и теория Minecraft. Для Unity + C#курс в редакторе и готовые скрипты. Браузерные игры и Canvas — в Веб-игры на HTML5 и Canvas, типизация — в TypeScript.

Трек Проект Статус Стек
Python Bubble Shooter готов (12 этапов) Python, Pygame
Python Space Invaders готов, 8 этапов и ревизия модулей Python, Pygame
Python Battle City готов (16 этапов, эталон на GitHub) Python, Pygame
Python Match3 готов (18 этапов, эталон на GitHub) Python, Pygame
Python Ping Pong готов (полная сборка в конце) Python, Pygame
Python Racing готов (полная ревизия) Python, Pygame
Python Tetris готов (полная ревизия) Python, Pygame
Python диаблоид готов (полная ревизия) Python, Pygame
Python карточная стратегия поэтапно, полная ревизия в работе Python, Pygame
Java Java Survivors поэтапно, полная ревизия в работе Java, Swing, Java2D; перед треком — Lab — Swing (JFrame, кнопки, EDT)
TypeScript OnlineCardGame поэтапно, полная ревизия в работе TypeScript, браузер / Canvas
TypeScript TypeScript Survivors скоро TypeScript, браузер / Canvas
TypeScript диаблоид скоро TypeScript, браузер / Canvas
Smalltalk SmallShooter готов (8 этапов) Pharo, Morphic

Приключения Урала Батыра (репозиторий OnlineCardGame) уже можно сыграть в браузере; пошаговый разбор кода — в главе TypeScript — OnlineCardGame.

Как проходить практикум

Рабочий цикл на каждом этапе

Создай папку проекта и виртуальное окружение один раз в начале трека — дальше работай в той же папке на всех этапах.

  1. Подготовь окружение — отдельная папка проекта и venv (или аналог для Java/TypeScript-треков). Установи зависимости из инструкции в первой главе трека.
  2. Копируй полные файлы — после каждого этапа бери из статьи целые блоки кода (main.py, вспомогательные модули). Вставляй их в проект как готовые файлы, без фрагментов с # ... и пропусками строк.
  3. Запускай после каждого этапа — выполни python main.py (или команду из главы) и убедись, что игра стартует до перехода к следующему шагу.
  4. Проверяй себя — в конце этапа есть блок "Проверка" или чек-лист: пройди пункты и сверь поведение с ожидаемым.
  5. Читай разбор — в каждом этапе появляется секция "Разбор" с пояснением ключевых строк и связей между файлами. Разделы без разбора дополняются по мере обновления треков.
  6. Если застрял — перейди к разделу "Полная ревизия файлов" в конце статьи: там собраны финальные версии всех файлов проекта для сверки.

В подборках

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

Разработка видеоигрРазработка игр — о разделе, Разработка игр на Python, Игровая индустрия — о разделе, Веб-игры на HTML5 и Canvas, Игроведение — о разделе, Разработка игр с использованием C++.