Статья опубликована в рамках: Научного журнала «Студенческий» № 31(285)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6
РАЗРАБОТКА ИГРЫ «2D pixel art»
DEVELOPMENT OF THE GAME «2D pixel art»
Artyom Pinchuk
student, information systems and programming, Private professional educational institution «College of Modern Technologies and Medicine»,
Russia, Moscow
Guzyal Baybekova
scientific supervisor, first qualified teacher, Private professional educational institution «College of Modern Technologies and Medicine»,
Russia, Moscow
АННОТАЦИЯ
В статье рассматривается разработка и создание игры «2D pixel art». Описаны общие сведения, архитектура, структура и основные компоненты для создания игры.
ABSTRACT
The article discusses the development and creation of the game «2D pixel art». General information, architecture, structure and main components for creating a game are described.
Ключевые слова: разработка 2D игр, графические проекты.
Keywords: 2D game development, graphic projects.
Целью данного проекта является создание игры на движке Unity3D. Она рассчитана на прохождение одним игроком. Игра начинается с появления игрока, в локации «Деревня». Игрок осуществляет управление персонажем, который может двигаться по осям X и Y, а также наносить урон с помощью ЛКМ и взаимодействовать с определенными объектами, с помощью клавиши Е.
Задача игрока в том, чтобы дойти до босса в подземелье убить его и получить ключ, чтобы открыть дверь в другую часть подземелья.
По ходу игры игрок может говорить с другими персонажами, подбирать «Хилки» своего рода аптечки, чтобы восстанавливать свое здоровье.
Архитектура данной игры разработана на шаблоне Entity Component System. Данный паттерн основывается на том, что есть несколько базовых сущностей, которые можно расширять, дополняя новыми под классами и методами. Проект Unity3D состоит из нескольких сцен (Scene), на которых расположены игровые объекты (GameObject) с прикрепленными к ним компонентами (Component). У каждого объекта есть обязательный компонент TransformForm, отвечающий за расположение объекта на сцене. Также могут быть подключены готовые компоненты и пользовательские компоненты.
Непосредственно программирование в Unity3D в первую очередь заключается в создании пользовательских классов, которые подключаются к игровым объектам.
В создании данной игры используются такие состояния приложения как: меню, начало игры, игра, конец игры, которые осуществляют весь функционал игры.
Конечного состояния программной системы не предусмотрено, так как игровое приложение должно быть рассчитано на то, что игрок может решить завершить работу с ним в любой момент. Вся разработка игры ведется на языке программирования C# в среде разработки Visual Studio.
Рисунок 1. Интерфейс игры
Игровое приложение состоит из двух сцен: меню и игрового поля. Игровые объекты условно можно разделить на три категории: отвечающие за генерацию и уничтожение объектов, графический интерфейс и игровое поле. Вложенность игровых объектов определяет точку отсчета их координат: объект верхнего уровня за точку отсчета принимает центр игровой сцены, а вложенный объект – координаты объекта более высокого уровня.
В игре объект Player отвечает за поведение и логику танка игрока на игровом поле. К нему подключены такие компоненты как: Sprite Renderer, Box Collider 2D, Rigidbody 2D, Player (Script), Health (Script), Destroy (Script). Также объекты Background и Middleground, которые отвечают за отображение фона игрового приложения и отображение декоративных элементов фона игры. К ним подключен компонент Scrolling (Script), отвечающий за непрерывное движение фона с одинаковой заданной скоростью (Speed) и направлением (Direction), а также компонент отвечающий за постоянное движение и обновление декоративных элементов.
Объект GeneratorEnemy отвечает за генерацию вражеских персонажей на игровом поле. К нему подключен компонент Generator (Script), который отвечает за случайное расположение танков противника в изначально заданном пространстве. Оно задается параметрами SpawnPos (X, Y, Z). Далее указывается количество типов вражеских танков, отличающихся скоростью передвижения и размерами, а также указывается время простоя генератора после начала игры, по истечении которого, генератор начинает случайно располагать танки на игровом поле.
Объект DestroyObject отвечает за уничтожение игровых объектов, вышедших за пределы игрового поля. К нему подключен компонент Box Collider 2D. При выходе за пределы игрового поля аптечка или вражеский персонаж сталкивается с коллайдером объекта DestroyObject и ликвидируется.
Объект GeneratorHealth отвечает за генерацию аптечек на игровом пространстве. К нему также подключен компонент, префабы аптечек, время простоя генератора и среднее время между генерацией ящиков.
В создании данной игры также используются графические интерфейсы. Объекты withLifes и withoutLifes используются для отображения уровня здоровья танка игрока. При снижении уровня здоровья, текстура withLifes, заполненная зеленым цветом, урезается сверху вниз. В том же месте интерфейса под withLifes находится текстура withoutLifes.
Объект Score отвечает за отображение текста с количеством снарядов и очков.
Объект Canvas отвечает за отображение элементов графического интерфейса. В него вложены объекты Score, withLifes, withoutLifes, tielmap.
Список литературы:
- Вигенс К., Битти Д. Разработка требований к программному обеспечению. – М.: Русская Редакция, 2014. – 736 с.
- Гамма Э., Хелм Р., Джонсон Р., Влиссидс Д. Приемы объектноориентированного программирования. Паттерны проектирования. – СПб.: Питер, 1994. – 395 с.
- Ларман К. Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку. – М.: Вильямс, 2013. – 736 с.
- Официальный сайт Unity3D. [Электронный ресурс] URL: https://unity3d.com/ru
- Официальный сайт Visual Studio. [Электронный ресурс] URL: https://www.visualstudio.com/ru/vs/ (дата обращения: 28.04.2017).
- Официальный сайт игры Pacman. [Электронный ресурс] URL: http://pacman.com/en/
- Официальный сайт компании Lima Sky. [Электронный ресурс] URL: http://www.limasky.com/
- Рамбо Дж. UML 2.0. Объектно-ориентированное моделирование разработка. – СПб.: Питер, 2007. – 544 с.
- Мясникова, Н.А. Алгоритмы и структуры данных : учебное пособие / Мясникова Н.А. — Москва : КноРус, 2021. — 185 с. https://www.book.ru/book/936642
- Медведев, В.А. Безопасность логистических информационных систем : учебно-методическое пособие / Медведев В.А. — Москва : Русайнс, 2020. — 244 с. https://www.book.ru/book/935348
- Морозова, О.А. Информационные системы управления портфелями и программами проектов : учебное пособие / Морозова О.А. — Москва : КноРус, 2021. — 266 с. https://www.book.ru/book/936552
- Новожилов Е.О. Компьютерные сети : учеб. пособие для студ. учреждений сред. проф. образования / Е.О.Новожилов, О.П.Новожилов. — 5-е изд., стер. — М. : Издательский центр «Академия», 2017. — 224 с. https://academiamoscow.ru/reader/?id=294443#read 28
Оставить комментарий