Коротко: проста гра з керуванням і рахунком виходить на третьому-четвертому місяці курсу Python. До цього — консольні програми й боти: у них швидше видно результат.
Pygame — шостий із дванадцяти модулів курсу «Python: Ігри та боти» (156 занять, 18 місяців). При рівномірному темпі два заняття на тиждень це означає, що дитина відкриває Pygame орієнтовно на 6-7-му місяці навчання — приблизно на середині курсу, а не в перші тижні.
Що дитина проходить до Pygame
Перші пʼять модулів — це не підготовка заради підготовки, а інструменти, без яких гра просто не збереться. Модуль 1 — синтаксис і середовище VS Code. Модуль 2 — списки, словники, кортежі: саме ними пізніше зберігають рахунок, інвентар, позиції ворогів. Модуль 3 — функції та модулі. Модуль 4 — файли й обробка помилок. Модуль 5 — робота з API через бібліотеку requests, де дитина вперше отримує реальні дані ззовні, наприклад курс валют чи погоду.
Три кроки всередині самого Pygame
Pygame у програмі курсу — це не один модуль, а три поспіль:
- Модуль 6, «Pygame: основи» — вікно, обробка подій, малювання фігур, контроль FPS;
- Модуль 7, «Pygame: спрайти та анімація» — завантаження зображень, спрайт-листи, плавний рух;
- Модуль 8, «Pygame: повноцінна гра» — колізії, рахунок очок, рівні, звук, стартове меню і меню завершення.
Тобто повноцінна гра з інтерфейсом, а не рухома крапка на чорному фоні, зʼявляється лише наприкінці третього з трьох ігрових модулів.
Чи можна прискорити цей шлях, якщо дитина вже впевнено пише код?
Так, у межах групи до 6 дітей викладач підлаштовує темп: хтось проходить модулі 1-5 швидше й раніше доходить до Pygame, хтось довше затримується на структурах даних. Порядок модулів при цьому не змінюється — Pygame завжди йде після основ, тому що спрайти й колізії без списків і функцій довелося б пояснювати з нуля прямо всередині коду гри, а це ускладнює, а не спрощує.
Чи скучно без гри перші пʼять модулів
Ні, тому що кожен із перших пʼяти модулів завершується власним міні-проєктом на своєму матеріалі: калькулятор і генератор псевдонімів на модулі змінних і типів, текстова гра «вгадай число» на умовах і циклах, невеликий парсер даних на модулі роботи з API. Це не Pygame, але це вже робочий код із видимим результатом на екрані, а не абстрактні вправи без застосування.
Чим цей курс відрізняється від «Python Старт» для 6-10 років?
«Python Старт» — це перший текстовий код одразу після блокового Scratch, без Pygame у програмі: акцент на довірі до клавіатури й синтаксису. «Python: Ігри та боти» для 10-14 років — наступний рівень, де ця довіра вже є і курс одразу веде до Pygame й Telegram-ботів. Для 14-18 років є «Python Pro» — там після Pygame й ботів курс іде далі, у бібліотеки та роботу з даними для портфоліо.
Чи можна дописувати гру вдома
Можна й потрібно — саме так виходять найкращі роботи. Між заняттями дитина додає рівень, міняє картинку, вигадує нову механіку, і на наступний урок приносить питання, яких у програмі не було.
Це не домашнє завдання й не оцінюється. Але за нашим досвідом підлітки, які дописують удома, доходять до фінального проєкту з готовою грою, а не починають його з нуля в останній місяць.
Скільки часу займає сама гра
Три теми програми, і всередині кожної кілька занять. Перша дає вікно, події й рух. Друга — спрайти, анімацію, звук. Третя збирає це в закінчену гру з рахунком, рівнями й меню.
Робоча версія, у яку вже можна грати, з'являється наприкінці другої теми. Те, що виходить після третьої, від неї відрізняється не механікою, а завершеністю: є початок, кінець і причина запустити ще раз.
Від чого залежить, чи вийде раніше
Головний множник — не здібності, а кількість занять на тиждень. У подвійній групі тем проходять удвічі більше, і Pygame настає приблизно вдвічі раніше за календарем. Одинарна група йде тим самим шляхом, просто довше.
Другий чинник — з чим дитина прийшла. Той, хто вже писав щось у Scratch чи в школі, перші теми проходить швидше, і викладач дає йому ускладнені варіанти замість того, щоб чекати групу.
Що майже не впливає: вік усередині діапазону групи й «математичні здібності». Різниця між дванадцятирічним і чотирнадцятирічним на цих темах помітна менше, ніж різниця між тим, хто робить необов'язкові завдання, і тим, хто не робить.
Що йде після Pygame
Модулі 9-10 — Telegram-бот на бібліотеці aiogram, зі станами діалогу (FSM) і збереженням даних користувача. Модуль 11 — підключення до OpenAI API для генерації тексту й зображень прямо зі скрипту. Модуль 12 — Git та GitHub: дитина вперше публікує власний репозиторій. Фінальний проєкт — на вибір гра на Pygame, бот зі штучним інтелектом або автоматизований скрипт, і саме він публікується на GitHub.
Що показати дитині, яка хоче гру просто зараз
Питання виникає в кожного другого, і відповідь у нас є до того, як почнеться Pygame. Turtle-графіка з першого ступеня — уже візуальний результат, а на середньому рівні є вправи, де програма реагує на введення з клавіатури й змінює картинку.
Це не гра в повному сенсі, але достатньо, щоб перечекати перші теми без відчуття, що все навчання — про чорне вікно з текстом. Викладач зазвичай сам підкидає таке завдання тому, хто питає про ігри найгучніше.
Чи можна прийти одразу на Pygame
Прийти — так, на середній ступінь беруть із досвідом. Почати з самої теми ігор — ні, і це не формальність.
Pygame спирається на все, що стоїть у програмі до нього: функції, списки, словники, обробку помилок. Дитина, яка сяде за гру без цього, буде переписувати чужий код і зупиниться на першій же власній ідеї — бо додати щось своє не зможе. Ми це бачили достатньо разів, щоб не пробувати знову.
Чому Pygame не на самому початку курсу
Спокуса почати одразу з гри зрозуміла, але у грі на Pygame персонаж рухається завдяки координатам, які зберігаються у змінних, зіткнення перевіряються через умови, а вороги зʼявляються в циклі — усе це з модулів 1-5. Без них дитина або копіює код, не розуміючи, що він робить, або застрягає на першому ж рядку. Порядок модулів побудований так, щоб до Pygame дитина підійшла з інструментами, а не з порожніми руками.
Що робити, якщо дитина хоче побачити гру раніше, ще на перших заняттях?
Для найменших і для тих, хто хоче побачити результат негайно, у мережі є курс на блоках, без текстового синтаксису. Про різницю між Scratch, Python і Roblox для конкретного віку ми писали на хабі: «Scratch, Python чи Roblox — який курс підійде вашій дитині?». Python: Ігри та боти розрахований на дітей, готових писати справжній синтаксис і почекати на результат довше заради глибшого проєкту.
Повну програму курсу з усіма 12 модулями і фінальним проєктом дивіться на сторінці Python: Ігри та боти.
Як влаштована сама тема ігор — від ігрового циклу до зіткнень — описано тут: перша гра на Pygame. Наступний великий проєкт ступеня розібрано в статті про Telegram-бота.