В статье рассматривается создание игр на игровом движке Unity. Приведены алгоритмы и дизайн компьютерной игры «Chess».
Введение. В современном мире разработка видеоигр является одним из наиболее крупных сегментов всей индустрии развлечений. Масштабы игровой индустрии сопоставимы, например, с киноиндустрией. А по скорости роста за последние пять лет индустрия видеоигр существенно ее опережала [1-3].
С постепенным развитием технологий появились предпосылки для появления универсальных игр, которые можно было бы запускать на различных платформах, таких как: персональные компьютеры, игровые консоли, мобильные устройства, универсальные web платформы. Именно идея создания настольной игры на платформе Windows была подробно изучена и рассмотрена в предлагаемой статье.
В настоящее время компьютерные технологии стали активно применяться в различных областях нашей жизни. Создание различных простых и сложных компьютерных программ для различных областей знаний постоянно развивается. Компьютерная программа может выступать в качестве оппонента по игре, быть рассказчиком, репетитором, экзаменатором. Уже существуют компьютерные программы, направленные на развитие различных функций человека, таких, как визуальное и слуховое восприятие, внимание, память, словесные и логические рассуждения и т.д.
Программа создавалась в среде Unity на программном обеспечении Unity Hub версии 5.1 [4-5].
При запуске игры нас встречает сцена MainMenu.unity (рисунок 1). Сцена содержит компоненту button «StartGame», при нажатии на которую вы переходите на сцену SampleScene.unity.
На cцене SampleScene.unity (рисунок 2) расположены следующие компоненты:
- DropDown;
- Button (2 шт);
- Box.
DropDown используется для записи предыдущих ходов, и возврата к ним.
Один Button «Main Manu» используется для выхода в MainMenu.unity, второй Button «Restart» предназначен для перезапуска SampleScene.unity. Компонент Box используется для создания доски и фигур.
При победе черных открывается сцена GameOverBlack.unity (рисунок 3), на котором расположены компоненты:
- Lable;
- Button (2 шт).
Компонент Lable используется для надписи «Победа черных». Один Button «Меню» используется для выхода в MainMenu.unity, второй Button «Начать сначала» используется для перехода на сцену SampleScene.unity.
В данном разделе рассмотрим два основных алгоритма, используемых при разработке компьютерной игры «Шахматы».
Алгоритм маркировки допустимых ходов MarkSquare. Данный метод нужен для того чтобы, в момент выбора фигуры у нас подсвечивались поля, которые возможны для передвижения фигуры. Ниже описан код данного метода:
void MarkSquare (int x, int y, bool isMarked)
{
GameObject goSquare = GameObject.Find("" + x + y);
GameObject goCell;
string color = (x + y) % 2 == 0 ? "Black" : "White";
if (isMarked)
goCell = GameObject.Find(color + "SquareMarked");
else
goCell = GameObject.Find(color + "Square");
var spriteSquare = goSquare.GetComponent<SpriteRenderer>();
var spriteCell = goCell.GetComponent<SpriteRenderer>();
spriteSquare.sprite = spriteCell.sprite;
}
Блок-схема алгоритма маркировки допустимых ходов приведена на рисунке 4.
Алгоритм маркировки атаки MarkAttack. Данный метод нужен для того чтобы, в момент выбора фигуры у нас подсвечивались поля, которые возможны для атаки вражеских фигур. Ниже описан код данного метода:
void MarkAttack(int x, int y, bool isMarked)
{
GameObject goSquare = GameObject.Find("" + x + y);
GameObject goCell;
string color = (x + y) % 2 == 0 ? "Black" : "White";
if (isMarked)
goCell = GameObject.Find(color + "SquareAttack");
else
270
271
Заключение. В ходе разработки компьютерной игры «Шахматы» был проанализирован рынок компьютерных игр, рассмотрены этапы разработки компьютерных игр, исследованы и выбран движок для разработки игры. Также в ходе реализации были разработаны алгоритмы маркировки допустимых полей и атакующих полей. Игра «Шахматы» была написана на языке программирования C# в среде Unity.
Список использованных источников:
- Седых И.А. Индустрия компьютерных игр. – М.: Национальный исследовательский университет Высшая школа экономики, Центр развития, 2020. – 74 с.
- Зельцман Марк. Компьютерные игры. Как это делается. – М.: Логрус.РУ, 2000.
- Михайленко М.В., Смолина Л.В. Применение интернет-технологий при обучении программированию трехмерных игр в среде kodu game lab. – URL: https://elib.utmn.ru/jspui/bitstream/ru-tsu/13337/1/Mikhaylenko_Smolina_207_2017.pdf [дата обращения: 18.12.2020]
- Руководство Unity. – URL: https://docs.unity3d.com/Manual/index.html
- Мозговой Н.В., Харченко В.С. Анализ характеристик и выбор средств разработки компьютерных игр // Радіоелектронні і комп’ютерні системи, 2015, № 4 (74). – С. 96-104.