Практикум разработки игр — о разделе
Разработчику Начальный уровень
О разделе
Здесь — сквозные учебные проекты: одна игра от пустого окна до играбельного прототипа. Каждый этап даёт готовые файлы целиком — скопируй блок в проект и запусти 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.
Как проходить практикум
Создай папку проекта и виртуальное окружение один раз в начале трека — дальше работай в той же папке на всех этапах.
- Подготовь окружение — отдельная папка проекта и
venv(или аналог для Java/TypeScript-треков). Установи зависимости из инструкции в первой главе трека. - Копируй полные файлы — после каждого этапа бери из статьи целые блоки кода (
main.py, вспомогательные модули). Вставляй их в проект как готовые файлы, без фрагментов с# ...и пропусками строк. - Запускай после каждого этапа — выполни
python main.py(или команду из главы) и убедись, что игра стартует до перехода к следующему шагу. - Проверяй себя — в конце этапа есть блок "Проверка" или чек-лист: пройди пункты и сверь поведение с ожидаемым.
- Читай разбор — в каждом этапе появляется секция "Разбор" с пояснением ключевых строк и связей между файлами. Разделы без разбора дополняются по мере обновления треков.
- Если застрял — перейди к разделу "Полная ревизия файлов" в конце статьи: там собраны финальные версии всех файлов проекта для сверки.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
Разработка видеоигр — Разработка игр — о разделе, Разработка игр на Python, Игровая индустрия — о разделе, Веб-игры на HTML5 и Canvas, Игроведение — о разделе, Разработка игр с использованием C++.