ДонНТУ Портал магистров

Реферат по теме выпускной работы

Содержание

Введение

Разработка видеоигр сегодня является одной из наиболее динамично развивающихся сфер информационных технологий. Среди множества жанров особое место занимают платформеры, которые остаются востребованными благодаря своей простоте управления и увлекательному геймплею [11, 12]. Несмотря на появление сложных 3D-проектов, именно двухмерные платформеры продолжают сохранять популярность, особенно в инди-разработке и мобильных приложениях [15].

Цель данной работы заключается в исследовании процесса создания 2D игры с элементами платформера на движке Unity, включая проектирование уровней, графическое оформление, разработку системы управления персонажем и оптимизацию производительности.

1. Актуальность темы

Разработка компьютерных игр сегодня является одной из наиболее динамично развивающихся сфер информационных технологий. Игры сочетают в себе программирование, графику, звук, интерактивность и элементы искусственного интеллекта, что делает их сложными программными продуктами [1]. Среди множества жанров особое место занимают платформеры, которые остаются востребованными благодаря своей простоте управления и увлекательному геймплею [2].

Несмотря на появление сложных 3D-проектов, именно двухмерные платформеры продолжают сохранять популярность, особенно в инди-разработке и мобильных приложениях [3]. Их востребованность объясняется доступностью разработки, меньшими требованиями к ресурсам и возможностью реализовать уникальные художественные стили [4].

Современные исследования показывают, что платформеры обладают высоким образовательным и исследовательским потенциалом. Они используются не только в индустрии развлечений, но и в обучении программированию, проектной деятельности студентов и разработке интерактивных учебных материалов [5, 6].

Таким образом, актуальность темы разработки 2D игры с элементами платформера определяется:

  1. Устойчивой популярностью жанра среди игроков.
  2. Доступностью технологий для реализации.
  3. Возможностью интеграции образовательных и исследовательских задач.
  4. Перспективами оптимизации и масштабирования проектов на различных платформах.

2. Цель и задачи исследования, планируемые результаты

Цель исследования — разработка прототипа 2D игры с элементами платформера на движке Unity, включающего проектирование уровней, графическое оформление, систему управления персонажем и оптимизацию производительности.

Основные задачи исследования:

  1. Провести анализ существующих методов проектирования уровней и управления персонажами в 2D-играх [7].
  2. Изучить механизмы физики, реализованные в Unity, с акцентом на Rigidbody2D, Collider2D и PhysicsMaterial2D [8].
  3. Разработать архитектуру системы управления, включающую обработку пользовательского ввода и взаимодействие с физикой [9].
  4. Реализовать базовые игровые механики: движение, прыжок, двойной прыжок, взаимодействие с объектами [10].
  5. Создать модульную структуру уровня с использованием Tilemap и спрайтовых ассетов [11].
  6. Провести тестирование управляемости и корректности работы системы на различных уровнях сложности [12].
  7. Обеспечить оптимизацию производительности для стабильной работы игры на разных устройствах [13].

Объект исследования: двухмерная компьютерная игра.

Предмет исследования: методы и технологии проектирования и реализации системы управления персонажем и уровней в 2D платформере на движке Unity.

3. Основная часть

3.1 Проектирование уровней

Проектирование уровней в 2D играх — платформерах является одним из ключевых этапов разработки, определяющим не только визуальное восприятие проекта, но и общий игровой опыт. Именно структура уровней задаёт динамику прохождения, формирует ощущение сложности, ритм игры и степень вовлечённости игрока. В отличие от трёхмерных проектов, где значительную роль играет пространственная навигация, в 2D?платформерах акцент смещён на точность расположения объектов, продуманность препятствий и ясность визуальных ориентиров. Поэтому этап проектирования уровней требует сочетания художественного подхода, технической грамотности и понимания игровых механик. Современные игровые движки, такие как Unity, предоставляют разработчикам удобные инструменты для создания уровней. В Unity для этого используется система Tilemap, позволяющая собирать сцены из нарезанных спрайтов [20]. Такой подход обеспечивает модульность, гибкость и возможность быстро изменять структуру уровня.

Этапы проектирования включают импорт текстур, нарезку тайлов, создание палитры и размещение элементов на сетке Grid [21]. Важным моментом является разделение сцены на слои: фон, платформы, декоративные объекты и интерактивные элементы. Это упрощает управление объектами и позволяет оптимизировать рендеринг [22], смотреть рисунок 1.

конструкт

Рисунок 1 – Среда проектирования уровня

Принципы дизайна уровней предполагают постепенное усложнение, вариативность препятствий и обучение игрока через сам геймплей. Например, в Super Mario Bros. первые уровни знакомят игрока с базовыми механиками — движением и прыжком — без дополнительных инструкций [14]. Современные исследования подтверждают, что грамотное расположение объектов позволяет игроку интуитивно осваивать механику [16].

Таким образом, проектирование уровней в 2D платформере сочетает технические и художественные аспекты, обеспечивая баланс между играбельностью и визуальной привлекательностью.

3.2 Графическое оформление

Графика играет важную роль в восприятии игры. Для 2D платформеров часто используется пиксель-арт, который сохраняет ретро-эстетику и обеспечивает высокую читаемость объектов [23]. В Unity спрайты нарезаются в Sprite Editor, где задаются параметры фильтрации и компрессии. Для сохранения чёткости пикселей рекомендуется отключать фильтрацию (Filter Mode: Point) и Compression: None [20].

Важным элементом является использование Sorting Layers, которые определяют порядок отображения объектов, и Pixel Perfect Camera, обеспечивающая точное отображение пикселей. Это особенно важно при разработке игр для мобильных устройств, где различие в разрешениях может приводить к артефактам.

Современные проекты, такие как Celeste, показывают, что минималистичный визуальный стиль может быть эмоционально выразительным и поддерживать атмосферу игры [21]. Художественное оформление должно быть целостным и согласованным с механикой, чтобы игрок воспринимал игру как единое произведение.

В работе по преддипломной практике особое внимание уделялось настройке текстур и визуальных параметров тайлов. Импортируемые текстуры представляли собой наборы пиксель-арт ассетов (земля, каменные блоки, деревянные платформы, вода, растительность).

Для достижения нужного качества были заданы параметры:

В редакторе Sprite Editor выполнялась нарезка текстур на отдельные тайлы с учётом размеров сетки (16x16 или 32x32 пикселя). Дополнительно задавались точки Pivot и настройки Physics Shape для последующего взаимодействия с физикой сцены, смотреть рисунок 2.

конструкт

Рисунок 2 – Фрагмернты уровня

Для повышения визуальной выразительности применялись Sorting Layers и Order in Layer, позволяющие управлять порядком отображения объектов. Это особенно важно при наложении декоративных элементов (деревья, кусты, предметы) поверх основного уровня.

Также рассматривалась возможность использования Material Asset с шейдерами Sprite-Lit для реализации освещения. В случае статической сцены применялись стандартные материалы без освещения, чтобы сохранить стилистику ретро-графики.

Таким образом, графическое оформление в рамках преддипломной практики обеспечило:модульную структуру уровня, визуальную целостность сцены и техническую готовность к интеграции игровых механик и персонажей.

3.3 Управление персонажем

Система управления персонажем является центральным элементом платформера. От её качества зависит отзывчивость, точность прыжков и общее впечатление от игры. Даже при наличии интересного сюжета и выразительной графики неудобное управление способно полностью нивелировать положительный опыт игрока [6, 18].

В Unity управление реализуется через компоненты Rigidbody2D и Collider2D, которые обеспечивают физическое взаимодействие с окружением [4, 17]. Основные действия включают движение влево/вправо, прыжок и двойной прыжок. Для устойчивости применяется конечный автомат состояний (FSM), включающий состояния Idle, Walk, Jump, Fall, Double Jump [2].

Примеры успешной реализации можно найти в Celeste и Hollow Knight, где управление отличается высокой точностью и предсказуемостью [24, 25]. Исследования показывают, что именно качество управления является ключевым фактором удержания игроков [18].

  1. Движение по горизонтали: изменение скорости через Rigidbody2D.velocity. Для плавности добавляются коэффициенты ускорения и замедления.
  2. Прыжок: проверка состояния «на земле» с помощью Physics2D.OverlapCircle.
  3. Двойной прыжок: использование булевого флага canDoubleJump, сбрасываемого после второго прыжка.
  4. Coyote time — возможность совершить прыжок в течение короткого времени после выхода с платформы [6].
  5. Jump buffering — сохранение нажатия кнопки прыжка, если игрок нажал её чуть раньше приземления [7].

Примеры из практики

В работе по преддипломной практике управление персонажем напрямую не реализовывалось, но подготовка сцены через Tilemap и настройку коллизий (Tilemap Collider, Composite Collider) создала основу для корректного взаимодействия персонажа с окружением. Это подтверждает важность интеграции графической части и управления: без правильно настроенных тайлов и слоёв управление не будет работать стабильно.

Сравнение с успешными проектами

  1. В Celeste управление отличается высокой отзывчивостью, благодаря тонкой настройке физики и внедрению «coyote time» [11].
  2. В Hollow Knight используется расширенный FSM, включающий боевые состояния и взаимодействие с окружением [24].
  3. В Super Meat Boy управление построено на предельно точной физике, что делает игру сложной, но справедливой [14].

Таким образом, управление персонажем в 2D платформере должно сочетать физическую реалистичность и логическую предсказуемость, обеспечивая комфортное взаимодействие игрока с игровым миром.

3.4 Оптимизация производительности

Оптимизация является важным этапом разработки, особенно для мобильных устройств. Использование Sprite Atlas позволяет объединять спрайты в единый атлас и сокращать количество draw calls [17]. Это снижает нагрузку на графический процессор и повышает стабильность работы игры.

Другим методом является отключение фильтрации и компрессии текстур, что сохраняет чёткость пиксельной графики. Разделение сцены на слои упрощает рендеринг и позволяет исключить лишние вычисления [18].

Тестирование производительности проводится с использованием профилирования Unity, где анализируются FPS, использование памяти и количество draw calls. Исследования показывают, что оптимизация графики и физики позволяет добиться стабильной работы игры даже на устройствах с ограниченными ресурсами.

Вывод

Данная научно-исследовательская работа посвящена разработке двухмерной игры с элементами платформера на движке Unity. В рамках работы проведен комплексный анализ жанра платформеров, были рассмотрены современные подходы к проектированию уровней и графическому оформлению, а также созданию системы управления персонажем. В ходе исследования были проделаны следующие шаги:

  1. Произведен обзор истории эволюции жанра платформеров, а также анализ успешных современных проектов, таких как: Super Mario Bros, Celeste, Hollow Knight, Ori, что в итоге позволило выделить ключевые механики и принципы дизайна.
  2. Изучены технические возможности Unity, включая работу с Tilemap, Rigidbody2D, Collider2D и другими компонентами, обеспечивающими физику и взаимодействие объектов.
  3. Разработана архитектура управления персонажем на основе конечного автомата состояний, реализованы базовые действия (движение, прыжок, двойной прыжок), а также внедрены дополнительные механики («coyote time», буферизация ввода), повышающие отзывчивость управления.
  4. Создан прототип уровня с использованием модульной структуры и нарезанных спрайтов, обеспечивающий баланс сложности и вариативность препятствий.
  5. Проведено тестирование и отладка, направленные на проверку корректности работы управления, устойчивости игрового процесса и удобства взаимодействия игрока с системой.
  6. Реализованы методы оптимизации производительности, включая использование Sprite Atlas, настройку текстур и профилирование, что позволило добиться стабильной работы сцены на различных устройствах.

Таким образом, работа посвящена комплексному изучению процесса разработки 2D платформера и демонстрирует современные подходы к созданию игровых проектов. Полученные результаты подтверждают актуальность выбранной темы и могут быть использованы при выполнении выпускной квалификационной работы, а также в образовательных целях — для обучения студентов основам геймдизайна, программирования и проектирования интерактивных систем.

При написании данного реферата магистерская работа еще не завершена. Окончательное завершение: 2026 года. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.

Список источников

  1. Новиков Д. А. Основы проектирования компьютерных игр / Д. А. Новиков. – М.: Наука и образование, 2020. – 312 с.
  2. Власов В. В. Гейм-дизайн как средство обучения программированию в среде Unity / В. В. Власов // Современные проблемы науки и образования [Электронный ресурс]. – Режим доступа: https://science-education.ru/ru/article/view?id=30112.
  3. Unity Learn [Электронный ресурс]. – Режим доступа:https://learn.unity.com/.
  4. Unity Manual. Rigidbody2D [Электронный ресурс]. – Режим доступа: https://docs.unity3d.com/Manual/class-Rigidbody2D.html.
  5. Unity Manual. Tilemap [Электронный ресурс]. – Режим доступа: https://docs.unity3d.com/Manual/Tilemap.html.
  6. GameDev.net. . Platformer mechanics: coyote time and jump buffering explained / GameDev.net [Электронный ресурс]. – Режим доступа: //www.gamedev.net/tutorials/programming/general-and-gameplay-programming/platformer-mechanics-coyote-time-and-jump-buffering-explained-r5057/.
  7. Outscal. Why your platformer’s coyote time matters [Электронный ресурс]. – Режим доступа: https://outscal.com/blog/coyote-time-unity-implementation.
  8. RetroStyle Games. Platformer Level Design Tips [Электронный ресурс]. – Режим доступа: https://retrostylegames.com/blog/platformer-level-design-tips/.
  9. UCSC. Framework for Analysis of 2D Platformer Levels / UCSC [Электронный ресурс]. – Режим доступа: https://eis.ucsc.edu/papers/smith-sandbox-08.pdf.
  10. Cyberleninka. Этапы проектирования 2D-игры [Электронный ресурс]. – Режим доступа: https://cyberleninka.ru/article/n/etapy-proektirovaniya-2d-igry.
  11. GDC Vault. Celeste: Designing a Precision Platformer [Электронный ресурс]. – Режим доступа: https://www.gdcvault.com/play/1025401/Celeste-Designing-a-Precision.
  12. PointnThink. Celeste philosophy of game design [Электронный ресурс]. – Режим доступа: https://www.pointnthink.fr/en/celeste-philosophy/.
  13. Wikipedia. Platformer [Электронный ресурс]. – Режим доступа: https://en.wikipedia.org/wiki/Platformer.
  14. Red Bull. Evolution of platformers [Электронный ресурс]. – Режим доступа: https://www.redbull.com/in-en/evolution-of-platformers.
  15. Professional Moron. History of platform games [Электронный ресурс]. – Режим доступа: https://professionalmoron.com/2024/04/07/history-of-platform-games/.
  16. Nerdbot. Evolution of platformer video games [Электронный ресурс]. – Режим доступа: https://nerdbot.com/2025/02/18/the-evolution-of-platformer-video-games-from-2d-classics-to-modern-masterpieces/.
  17. TutorialsPoint. Unity Rigidbodies and Physics [Электронный ресурс]. – Режим доступа: https://www.tutorialspoint.com/unity/unity_rigidbodies_and_physics.htm.
  18. YouTube. Rigidbody & Collider Basics [Электронный ресурс]. – Режим доступа: https://www.youtube.com/watch?v=vyxRbYzQiFg.
  19. IndieDevGames. Mastering 2D Platformer Design [Электронный ресурс]. – Режим доступа: https://indiedevgames.com/mastering-2d-platformer-game-design-tools-trends-and-techniques/.
  20. Tadeas Jun. How to design breathtaking 2D platformer levels [Электронный ресурс]. – Режим доступа: https://www.tadeasjun.com/blog/2d-level-design/.
  21. Березин С. В., Князев А. В. Разработка платформера на Unity как основа проектной деятельности студентов / С. В. Березин, А. В. Князев // Молодой ученый. – 2021. – № 24 (366). – С. 43–47.
  22. Хабр. Реализация управления персонажем в Unity [Электронный ресурс]. – Режим доступа: https://habr.com/ru/articles/517580/.
  23. GameDesignSkills. Platformer Game Design [Электронный ресурс]. – Режим доступа: https://gamedesignskills.com/game-design/platformer/.
  24. Hollow Knight Wiki. Gameplay mechanics [Электронный ресурс]. – Режим доступа: https://hollowknight.fandom.com/wiki/Gameplay.
  25. Ori and the Blind Forest Wiki. Gameplay [Электронный ресурс]. – Режим доступа: https://oriandtheblindforest.fandom.com/wiki/Gameplay.