Евгений Бартенев, техлид и автор курса «Python-разработчик» в Практикуме, написал на Хабре текст о возвращении к простому программированию. Вместо готового движка или просьбы к ИИ набросать проект он предлагает автомобильные гонки примерно в 50 строк кода на Python.
Графика в этом эксперименте — обычные символы терминала. По дороге автор обещает разобрать ANSI-последовательности, неблокирующий ввод и то, как вообще устроен терминал. Это важная оговорка: статья не про геймдизайн и не про коммерческий прототип, а про то, что происходит между клавишей и экраном, когда нет ни движка, ни браузера.
Зачем такой формат сейчас, когда простую игру и правда можно собрать за несколько минут. Потому что скорость сборки из библиотек плохо учит. Если всё уже спрятано за сценой, спрайтами и циклом кадров, студент не видит, что терминал — это тоже устройство вывода со своими ограничениями. ANSI здесь не ностальгия, а способ управлять курсором и цветом без графической библиотеки.
Неблокирующий ввод нужен, чтобы машинка не «замирала», пока программа ждёт нажатия. В обычном input поток стоит. В игре цикл должен идти сам, а клавиша — лишь менять направление. Именно эта развилка часто становится первым настоящим событием в обучении: программа перестаёт быть сценарием вопросов и ответов.
В лиде нет репозитория, нет списка библиотек и нет обещания, что 50 строк покроют физику, звук и таблицу рекордов. Поэтому мы не дописываем стек за автора. Если вам нужна именно гонка как продукт, открывайте полный текст и смотрите, где он останавливается. Если нужна педагогическая рамка — материал как раз про радость минимума средств.
Сводка отмечает публикацию как пример того, как учебный блог компании может быть полезен вне воронки курса. Источник — статья на Хабре в разделе Практикума.
Отдельно полезна сама постановка «минимум средств». Когда нет спрайтов, остаётся ритм цикла, обработка клавиши и вывод кадра. Это три петли, которые потом узнаются в любом движке. Если после статьи захочется усложнить гонку, лучше сначала повторить авторский каркас, а уже потом добавлять препятствия. Так проще понять, какая сложность ваша, а какая была спрятана в библиотеке.