Введение.
С рождением компьютерной эры человечество получило не только мощные вычислительные инструменты, но и новый вид досуга — компьютерные игры. За считанные десятилетия они превратились в глобальный культурный феномен, охвативший все возрастные и социальные группы.
Всех игроков объединяет стремление к новому опыту: переживанию эмоций, недоступных в реальности; испытанию себя в экстремальных сценариях; ощущению удовлетворения от преодоления искусственно созданных барьеров.
Актуальность работы– каждому геймеру на определённом этапе игра становится обыденной и интерес вызывает не сама игра, а процесс самостоятельного создания игры.
Этот процесс затрагивает множество дисциплин, таких как математика, физика и информатика, что делает его не только увлекательным, но и чрезвычайно полезным и значимым.
Цель проекта: разработать простую компьютерную игру на языке Python, чтобы наглядно продемонстрировать, как базовые знания программирования могут быть использованы для создания компьютерной игры.
Задачи проекта:
1. Ознакомится с теоретическим материалом по теме.
2. Изучить процесс создания компьютерной игры.
3. Разработать компьютерную игру с использованием языка программирования Python.
4. Подготовить презентацию разработанной игры.
Объект исследования: язык программирования Python.
Предмет исследования: возможности языка программирования Python для разработки игры.
Проблема исследования: разработка компьютерных игр сложный и требующий от создателя знаний многих областей программирования: знания графического дизайна, анимации и звукового дизайна. Многие школьники испытывают трудности при создании компьютерных игр. Это происходит из-за недостаточных знаний в области программирования, отсутствие мотивации при изучении теоретического материала, трудность заставить себя попробовать учится новому, трудностях при переходе от теории к практике и отсутствие знаний в применении работы с инновационными разработками IT технологий, что может затруднить реализацию проекта по создании компьютерной игры.
Гипотеза проекта - предполагаю, что язык программирования Python и его среды разработки подходят для создания компьютерной игры, благодаря простоте использования процесс становится увлекательным, и познавательным для школьника.
Для решения поставленных задач использовались следующие ресурсы: литература по теме проекта, электронные ресурсы, фотографии.
Этапы проекта:
1. Подготовительный (сентябрь 2025 г.)
2. Основной (сентябрь-декабрь, 2025г)
2. Заключительный (январь, 2026)
1.Основная часть
1.1. История компьютерных игр
История компьютерных игр охватывает более полувека и включает в себя множество этапов, технологий и культурных изменений. Сегодня видеоигры сопровождают человека с ранних лет, формируя особый тип мышления и модели поведения. Компьютерные игры все чаще используют в образовательных целях и для решения социальных проблем. Их влияние носит двойственный характер: с одной стороны, вызывают обеспокоенность педагогов и психологов из‑за риска цифровой зависимости; с другой — стимулируют развитие навыков принимать информацию: от пространственного воображения до стратегического планирования.
Компьютерные игры могут выступать и тренажёром: игрок учится оперативно анализировать нестандартные ситуации; прогнозировать последствия действий; корректировать стратегию в динамически меняющейся среде. Посредством создания игр программист переходит на новый уровень, его игры совершенствуются и становятся востребованными.
Компьютерная игра — это компьютерная программа, которая служит для организации игрового процесса (геймплея), связи с партнёрами по игре, или сама выступает в качестве партнёра.
В России развивается индустрия компьютерных игр, при этом есть проекты разных жанров — от инди-игр до крупных RPG и стратегий. Также в стране развивается киберспорт, связанный с играми. Популярным становится развитие адаптации к уходу от зарубежных издателей и платформ — российские компании ищут собственные, государство выделяет гранты, налоговые льготы и поддерживает инфраструктурные инициативы. Для распространения российских компьютерных игр в России используются:
VK Play — площадка с каталогом российских видеоигровых проектов, включая синглплеерные и многопользовательские игры.
RuStore — магазин мобильных приложений, где представлены игры российских разработчиков.
В России имеются студии, выпускающие игры в разных жанрах, например,
Indi-разработчики — создают проекты, исследующие постсоветскую идентичность, славянскую мифологию или альтернативные версии российской истории.
Крупные студии — например, Nival, которая перешла от PC к мобильным играм с проектами «Блицкриг: Пылающий горизонт» и «Битва за Трон».
1.2. Процесс создания компьютерных игр
Разработкой компьютерных игр может заниматься как один человек, так и фирма (коллектив разработчиков). Игровой программист — это инженер-программист, который в основном разрабатывает компьютерные игры или относящееся к ним программное обеспечение (такое как инструменты разработки игр).
Основная задача геймдизайна — разработка дизайн-документа, в котором простым языком описываются правила и особенности игры. Геймдизайн (игровой дизайн) — процесс создания формы и содержания игрового процесса (геймплея) разрабатываемой игры. Задачи геймдизайнера при создании концепции игры — определение жанра, целевой аудитории и уникальных особенностей. Графический дизайн охватывает создание персонажей, окружения, интерфейса и других элементов игры.
Текстурирование — модели придают цвет, детали и реалистичность. Освещение — позволяет выделить определённые элементы, создать тени и добавить глубины сценам. Оформление пользовательского интерфейса (UI) — UI-дизайнеры создают меню, кнопки, индикаторы здоровья, очков и многое другое.
Выделяют три вида компьютерной графики: растровую, векторную и фрактальную. Они отличаются принципами формирования изображения при отображении на экране монитора или при печати на бумаге.
Сюжет разрабатывается для крупных проектов и инди-игр. Сценарий описывает события, которые происходят во время прохождения игры. Некоторые аспекты разработки сценария:
Определение темы и жанра — решение, будет ли это фэнтези, научная фантастика, ужасы или сочетание нескольких жанров.
Создание мира и сеттинга — описание географии, климата, флоры и фауны, указание, есть ли в мире магия или высокие технологии и как они влияют на общество и культуру.
Разработка персонажей — обдумывание их бэкграунда, мотивации и развития в течение игры.
Структурирование сюжета — разбиение истории на начало, развитие сюжета и конец, создание интриги, конфликтов и климакса, через которые героям предстоит пройти.
Для создания компьютерных игр используют разные виды звуков, которые включают озвучку, атмосферные звуки (эмбиэнс), звуковые эффекты (SFX) и музыку. Обязательная работа проводится над озвучкой игры. Озвученные диалоги — основной источник информации для игрока. Важно подобрать актёров с подходящим тембром, чтобы их голос соответствовал характеру персонажа. Озвучка действий героя — вскрик при получении урона или прыжке, дыхание при беге — позволяет усилить связь с персонажем и лучше описать его состояние. Фразы, которые вознаграждают игрока (например, «Double kill») или предсказывают какие-либо действия («Round one — Fight»). Включается в игру эмбиэнс - это звуковое сопровождение, которое играет на фоне и задаёт атмосферу. Используют длинные звуковые дорожки, которые создают атмосферу и формируют аудиоландшафт окружения. Такие фоновые дорожки должны начинаться и заканчиваться незаметно — конец должен плавно переходить в начало, чтобы создать ощущение непрерывности. Звуки природы — ветер, дождь, гром, ручьи, широкий выбор окружений и вокализаций дикой природы. Звуки интерфейса — например, звуки одной фактуры (стекло, камень, дерево), что придаёт единство звучанию.Спецэффекты (SFX) играют важную роль в компьютерных играх, именно они создают впечатление реалистичности и динамичности игрового окружения, помогают создать атмосферу игры и придают ей уникальность и привлекательность для игроков. Музыка дополняет создание атмосферы, влияние на геймплей и характеристику персонажей, навивает определённые темы или сюжетные элементы в игре, погружая игроков в виртуальный мир.
При создании игр, обязательным становится этап тестирования игр — процесс проверки функциональности, стабильности и качества видеоигр с целью обнаружения ошибок и дефектов. Процесс тестирования зависит от методологии разработки (Agile, Waterfall и др.), но чаще всего включает следующие стадии:
Пре-альфа тестирование (Pre-alpha) На этом этапе продукт еще не готов для демонстрации. Разработчики проверяют базовые функции и исправляют очевидные ошибки:
Тестирование отдельных модулей программы.
Проверка работы алгоритмов.
Устранение критических ошибок, мешающих запуску.
2. Альфа-тестирование (Alpha testing). На данном этапе происходит: проверка всех функций приложения, тестирование на разных устройствах и ОС, исправление ошибок и оптимизация производительности.
3. Бета-тестирование (Beta testing) - почти готовый продукт, который выпускают для широкой аудитории. Цели бета-тестирования:
Выявить ошибки, которые не заметила команда разработки.
Проверить работу программы под реальной нагрузкой.
Собрать обратную связь от пользователей.
Игры разрабатываются для разных платформ, включая ПК, консоли и мобильные устройства. Тестирование помогает создать игру, в которую интересно играть, независимо от опыта игрока.
Важным при создании компьютерной игры становится выбор языка или среды разработки (движки). При выборе языка учитывают его производительность. Например, для игр с высоким требованием графики и физики подойдут языки низкого уровня. Рассматривается возможность запуска на различных устройствах: ПК, консолях или мобильных платформах.
IDE – интегрированная среда разработки основана совмещении основных инструментов разработчика и собрано в удобный единый интерфейс, что позволяет тестировать, писать запускать коды не переключаясь между разными направлениями. Выбор движка зависит от особенностей создаваемой игры. Очень важно, чтобы движок поддерживал взаимосвязь с внешними библиотеками, поскольку это облегчит расширение функциональности проекта создаваемой игры. Основными движками используемыми современными программистами являются:Unity отличное сочетание с C#; Unreal Engine 5 – это усовершенствованные графические возможности при создании сложных 3 D проектов; Godot Engine данная среда разработки уникальна своей доступностью открытого кода,поддерживает собственный язык GDScript, а также сочетается с другими C#, C++. Для игр с минимальными требованиями 2D возможно использование GameMaker Studio 2 у данного движка имеется свой язык GML и движок нового поколения CryEngine средство с впечатляющей графикой и физикой, отлично подойдет для разработки сложных 3D проектов используется с языком программирования C++. Pygame набор модулей (библиотек) для создания игр и написания мультимедийных приложений, является самым распространённым, и надёжным, имеет бесплатный доступ. Благодаря данному движку возможно выполнить простое создание анимированной графики и звуковых эффектов, прост в использовании и отлично подходит для новичков. Выбор языка программирования, зависит от цели создания игры, её функционала, графики и физики.
C++ — используется для создания игр с качественной и более требовательной графикой и сложными механиками, для таких игр необходимы большие вычислительные ресурсы. Что обеспечивает высокий уровень требовательности к объёму контроля над памятью и производительностью.
C# — используется для написания небольших игр, «лайтовых» для ПК, мобильных устройствах. Отлично сочетается в работе с движком Unity.
Python — очень удобен и прост для работы и написания проектов начинающими программистами, при этом сочетает применение множество библиотек, возможно сочетать с применением искусственного интеллекта.
Java — чаще всего используется при разработке мобильных игр и веб-игр, отлично устанавливается на Android и другие мобильные устройства.
JavaScript — отличен от Java тем, что данный язык наиболее сочетается и показывает высокие результаты работы при работе в браузере с 2D- и 3D-играми.
Зачастую при создании своих игр программисты отдают предпочтение движку Pygame (произносится как Пайгейм) базируется на библиотеке SDL и языку программирования Python (Питон или Пайтон).
Создание компьютерных игр (геймдев) играет важную роль в создании интерактивного программного обеспечения
2. Практическая часть
2.1. Разработка компьютерной игры с использованием языка программирования Python
Я увлекаюсь программированием, как и любой школьник люблю играть в компьютерные игры. Каждый раз запуская игру я стал задумываться, можно ли самому создать интересную компьютерную игру, меня стал интересовать сам процесс создания компьютерной игры. При изучении процесса создания компьютерных необходимо было выбрать язык программирования, который будет удобен для меня. Поскольку я имею только базовый уровень знаний программирования, я выбрал язык Python. Python считается универсальным языком программирования, удобен в прочтении, поскольку читается практически как английский язык, но легче в понимании, что поможет мне в создании компьютерной игры. При использовании Python считаю необходимым отметить, что данный язык позволяет не использовать специальные дополнительные символы для записи кода, такие как «;», «{», «}», что позволяет затрачивать меньше времени, и не допускать лишних ошибок — это особенно важно для новичков, кто забывает использовать символы или не знает, где и как их необходимо ставить. При выборе движков я выбрал один из самых старейших, но широко используемых программистами. Pygame-приложения могут работать под Android на телефонах и планшетах с использованием подмножества Pygame для Android. На этой платформе поддерживаются звук, вибрация, клавиатура. Главная особенность этого движка в его доступности, в простом и понятном наборе инструментов при выполнении анимированной графики и звуковых эффектов, не требует материальных затрат, что особенно важно для меня как для школьника. Язык выбран, движок с набором модулей и библиотек определен, следующим этапом необходимо определить жанр и вид игры. Существует множество разных жанров игр – стратегии, квесты, экшн, симуляторы, ролевые и т.д. Поскольку набор знаний в программировании у меня базовый, считаю приемлемым выбрать простую игру 2D формата.
Чтобы начать работу над созданием игры необходимо установить 3 программы: Python, PyCharm и Pygame. (Приложение 1 Рис.1) Когда установка завершена, открываем PyCharm и создаём новый скрипт (алгоритм инструкций по соблюдению последовательности команд, который необходимо выполнять для получения результата). Каждое действие в скрипте прописывается с помощью команд и кодов в специальном поле. Первым этапом для корректной работы скрипта устанавливаем библиотеку Pygame. После успешной установки определяемся с названием новой игры. Я назвал свою игру «Паркул». Фиксируем название его в всплывающем окне. Далее определяемся с иконкой игры, скачиваем интересный вариант, сохраняем в формате png. переносим в PyCharm, предварительно создав папку «images» для хранения всех картинок, которые нам потребуются в игре.
Начинаю работу над созданием фона в игре. В нашем случае берём понравившуюся картинку на просторах интернета, сохраняем её в формате png. на своем компьютере и переносим в папку «images». Проверяем запускается ли фон с помощью соответствующих кнопок, которые предусмотрены выбранным нами движком pygame.event.get (). (Приложение 1 Рис.2)
Следующим этапом приступаем к созданию главного игрока. Игрока можно нарисовать самостоятельно или выбрать намаркетплейсе Google Play или App Store, все зависит от вашего желания, используемого языка, выбранного для создания вашей игры. Я выбрал на Google Play язык программирования Python.Чтобы герой двигался вправо и влево нам нужно 3-4 картинки в каждую сторону, которые будут последовательно переключаться с помощью соответствующих команд, предусмотренных нашим интерфейсом, прописанным в скрипте. Создаём отдельно папки для картинок вправо и влево соответственно, эти папки переносим в нашу папку «images» и с помощью команд в скрипте анимируем нашего игрока. Приведу пример использования команд, которые проверяют движение для каждого кадра в игре, данная команда сначала определяет начальную скорость как нулевую speedx, затем, если одна из кнопок нажимается,то скорость игрока меняется def update(self): self.speedx = 0 keystate = pygame.key.get_pressed() if keystate[pygame.K_LEFT]: self.speedx = -8 if keystate[pygame.K_RIGHT]: self.speedx = 8 self.rect.x += self.speedx Чтобы игра смотрелась интереснее прописываем специальную команду (выбираем из предложенных интерфейсом) для того, чтобы задний фон двигался по кругу, создавая при этом эффект дополнительного движения игрока. На этом этапе добавляем фоновую музыку. Для этого скачиваем понравившийся трек в формате mp3, в дереве скрипта создаём дополнительную папку «sounds» по аналогии с папкой для картинок, переносим туда трек и с помощью кода запускаем фоновую музыку. Проверяем правильность работы команд. (Приложение 1 Рис.3)
Если все работает корректно, приступаем к следующему этапу, а именно созданию врагов.
Первым делом выбираем картинку, которая будет отображать врага, сохраняем в формате png. переносим в нашу папку «images» в скрипте. С помощью кода отображаем его в игровом поле и прописываем команду для движения. Далее с помощью команд устанавливаем таймер для появления нашего недруга и отслеживаем их соприкосновение с игроком. При соприкосновении игрока с врагом устанавливаем экран проигрыша с надписью: «Вы проиграли!» и кнопкой для перезапуска игры.
Так же добавляем снаряды в игру. По аналогии с предыдущими картинками загружаем картинку самого снаряда в скрипт. Задаём клавишу, при нажатии на которую снаряд будет появляться в игре. Отслеживаем нажатия клавиши, отображение патронов и их передвижение затем программируем удаление снаряда с поля и уничтожение врагов. Чтобы игра была не бесконечной и не беспроигрышной, прописываем ограничение по снарядам.
На данном этапе альфа версия игры «Паркул» (название игры) готова, осталось создать файл в формате exe, который даст возможность для его самостоятельного использования и для демонстрации на любом ПК. Обращаемся к Terminal и прописываем команду для выгрузки игры в exe файл. Наш файл готов. Игру можно загрузить по ссылке https://cloud.mail.ru/public/sTVK/ZHT1S3oK5 описание игры дано в приложении. (Приложение 5)
2.2. Тестирование и релиз
Поскольку данная игра является Альфа версией компьютерной игры, а я продолжаю свои исследования, мне стал интересен процесс тестирования, который проводится программистами на каждом этапе создания компьютерных игр.
Чтобы ребята разобрались в игре я рассказал тему проекта и поделился созданной игрой с одноклассниками, для выявления багов (ошибки в работе) и фич (для решения задач и улучшения пользовательского опыта) для последующего их устранения. (Приложение 2 Рис. 4 Рис 5)
Для тестирования я использовал метод анкетирования (Приложение 3) проведенный среди обучающихся 4 класса МКОУ «Марковская школа 1». В анкетировании принимало участие 30 человек. Целью анкетирования было проверить какие жанры игр предпочитают, понравится ли созданная мной игра и какие советы и рекомендации ребята напишут для меня как для разработчика игры.
Первый вопрос помогает определить, понравилась ли ребятам растровая графика, которую я применял в игре. 25 ребят ответили, что графика понравилась и для альфы версии очень хорошая, не совсем понравилась ответили 3 человека и двум не понравилось. Данные отрицательные ответы для меня тоже важны, они помогут мне разобраться в недоработках и скорректировать «пробелы» в игре. Вторым вопросом я хотел узнать о звуках в игре. Я спрашивал моих будущих пользователей, что бы они хотели добавить в саунд-дизайне игры. Про звук, который я использовал в альфа версии ребята мне не написали, а вот советы и рекомендации я получил, чему очень рад, ведь ребята постарались прочувствовать игру уже на первом этапе. В своих предложениях ребята просят добавить звуки урона (падения), диалога, добавить звук в меню, звук атак, фоновую музыку, историю от первых игроков, звуки стихий, полета. Одному пользователю все понравилось, и он просил ничего не менять. Анализируя данные ответы, я уже начал работу по доработке игры с учетом предложений моих первых пользователей. В третьем и четвертом вопросе я просил оценить сложность игры и пояснить понятны ли действия персонажа в игре, по данным вопросам 27 ребят указали в ответах, что действия персонажа понятны, и все указали на то, что игра простая, что доказывает мое использование при создании компьютерной игры 2 D формата.
Из данного анкетирования следует вывод, что не все сверстники имеют представления о таком, как создаются компьютерные игры, знают жанры игр. Так я узнал, что 11 ребят из класса предпочитают жанр игр хоррор, 7 любят приключения, 4 человека экшн, 6 стратегии и 2 гонки, что вновь дает мне возможность продумывать направления в создании востребованной игры для сверстников. При проведении анкетирования было много обсуждений и советов как улучшить игру, что находит мое подтверждение в необходимости и важности проведения этапа тестирования при создании компьютерных игр для выявления и устранения ошибок, улучшения игрового процесса.
Заключение
Многие думают, что компьютерная игра — это выполнение единичного этапа, не вдумываясь как происходит процесс создания проекта, сколько сил и времени затрачивает программист, сколько творчества и идейного мастерства он вложил только в одну игру, а ведь каждый момент, который проживает пользователь в игре, характер и музыкальное сопровождение — это работа человека. При самостоятельном участии в процессе создания игры программа Python позволила раскрыть возможности в новом для меня направлении программирования, я доказал, что, имея базовые знания данный язык программирования позволяет создать компьютерную игру. Работа над проектом, показала, что процесс создания игры намного увлекательнее, чем игра.Мой интерес к проекту и самостоятельное создание компьютерной игры поддержали родители и с декабря 2025 года я начал посещать международную школу цифровых технологий для детей KIBERone, и, хотя компьютерные программы и игры мы еще не пишем, я продолжаю работу над проектом, провожу доработку игрового продукта «Паркул».
Выдвинутая в проекте гипотеза, что язык программирования Python подходят для создания компьютерной игры благодаря простоте использования, процесс становится увлекательным и познавательным для школьника, доказана.Задачи и цели были решены, изучен и проработан теоретический материал по данной теме, разработана и апробирована практическо-значимая часть, проведено анкетирование, сделаны выводы. Цель проектной работы достигнута в полном объеме.
Результаты проекта позволяют использовать полученные знания на уроках математики, что помогает мне применять, анализировать и решать сложные задачи, на уроках труда, в повседневной жизни решать проблемные ситуации, не отчаиваться, а находить пути решения, на уроках английского языка - это расширение и углубление словарного запаса, ведь программы пишутся с использованием английского языка, пригодятся полученные знания и в старших классах.
Список литературы
История создания компьютерных игр[электронный ресурс], Режим доступа: https://ru.wikipedia.org/wiki/История_компьютерных_игр
Загарских А.С., Хорошавин А.А. Александров Э.Э. Введение в разработку компьютерных игр [электронный ресурс], Режим доступа: https://books.ifmo.ru/file/pdf/2646.pdf
Дмитрий Мусин., Самоучитель Python Выпуск 0.2 [электронный ресурс], Режим доступа: http://server.aesc.msu.ru/materials/PYTHON/pythonworldru.pdf
Как использовать Python: руководство для начинающих[электронный ресурс], Режим доступа: https://javarush.com/groups/posts/kak-ispoljhzovatjh-python
С чего начать делать игру? Пошаговая инструкция [электронный ресурс], Режим доступа: https://dtf.ru/gamedev/849688-s-chego-nachat-delat-igru-poshagovaya-instrukciya
Приложение 1
Рис. 1 Работа над созданием игры.
Рис. 2 Работа над созданием игры.
Рис. 3 Добавление саунд трека к игре.
Приложение 2
Рис. 4 Представление проекта.
Рис. 5 Представление проекта.
Приложение 3
Анкетирование.
ФИ__________________________________________________
При тестировании альфа-версии компьютерной игры вам была предложена растровая графика, понравилась ли она вам? ___________.
При создании альфа-версии компьютерной в саунд-дизайне игры вам была предложен эмбиэнс звук, понравилось ли вам его качество? Напишите свою рекомендацию, что бы вы хотели добавить в саунд-дизайне игры. __________________________________.
Оцените сложность альфа-версии компьютерной игры. _____________.
Понятны ли действия персонажа? ___________________________________.
Какой жанр компьютерной игры вам интересен. (Допускается один вариант ответа).
Экшн
Хоррор
Спортивные игры
Обучающие (познавательные)
Приключения
Стратегии
Гонки
Приложение 5
Описание игры «Паркул»
Возрастная категория: 3+
Правила игры: Цель игры: дойти до цели попутно уничтожая как можно больше привидений.
Счетчики: отсутствуют.
Управление с помощью клавиш: вперед d, назад a, выстрел b, прыжок пробел.
Предусмотрены возможности доработки.
Язык программирования: Python
Механика- игровой движок: Pygeme
Системные требования
Минимальные:
ОС *: Windows 7 или более поздняя версия
Процессор: Intel Core Duo T2400 @ 1,83 GHz or AMD Athlon II @ 1,6 GHz or equivalent
Оперативнаяпамять: 500 MB ОЗУ
Видеокарта: Intel Graphics Media Accelerator 500 or AMD Radeon X800 XT or better
DirectX: версии 10
Место на диске: 500 MB
Рекомендованные:
ОС: Windows 10 или более поздняя версия
Процессор: Intel Core i3-2100 @ 3.1 GHz or AMD Ryzen 3 1200 @ 3.1 GHz or equivalent
Оперативнаяпамять: 2 GB ОЗУ
Видеокарта: NVIDIA GeForce GTX 970 or AMD R9 290X (4GB VRAM with Shader Model 5.0 or better)
Место на диске: 1 GB