Разработка на языке C# в редакторе Unity логической игры – шутера от первого лица

Автор: Сафина Г.Ф., Кириллова Е.А., Коняев Ю.С.

Журнал: Бюллетень науки и практики @bulletennauki

Рубрика: Технические науки

Статья в выпуске: 6 т.11, 2025 года.

Бесплатный доступ

Приведены алгортимы процесса разработки компьютерной игры-шутера от первого лица с помощью редактора Unity. Игра позволляет видеть окружающий мир глазами самого игрока, что значимо для обучающих игр с возможностями прохождения логических головоломок или выполнения конкретных заданий. Для реализации программной части игры привлечены библиотеки и функционал языка программирования C#. К визуализации персонажей и объектов игры применены приемы 3d-моделирования с помощью Blender.

Движок Unity, разработка игр, язык программирования C#, компьютерные игры, 3d-моделирование, игровое обучение

Короткий адрес: https://sciup.org/14132799

IDR: 14132799   |   DOI: 10.33619/2414-2948/115/25

Текст научной статьи Разработка на языке C# в редакторе Unity логической игры – шутера от первого лица

Бюллетень науки и практики / Bulletin of Science and Practice

УДК 004.946                                       

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

В качестве среды разработки игры была выбрана редакторская среда Unity, которая широко применяется разработчиками компьютерных игр, так как обладает рядом преимуществ [3, 4]: может применяться для разных платформ и операционных систем (мобильные устройства, компьютеры, интернет-приложения и т.д.): имеет широкие приемы визуализации, в том числе математических моделей; содержит модульную систему готовых компонент, наборов встроенных ресурсов . Основные шаги реализации проекта состояли из решения следующих задач разработки игры — шутера от первого лица: разработка внешниего вида и сюжета игры; создание необходимых для проекта моделей и персонажей; написание программного кода для реализации механик, задействованных в проекте; создание игровой локации и расстановна в ней враждебных ботов; сбор (компановка) приложения, тестирование и исправление возможных ошибок. Целевой аудиторией проекта является детская и подростковая аудитория, которая проявляет интерес к быстрым и активным дейсвиям при прохождении в игре логических заданий. Разработка игры проведена в редакторе Unity. Для написания программного кода на языке C# была использована программа Microsoft Visual Studio. Создание игровых объектов и объектов окружения осуществлялось с помощью Blender [3].

rotationY *a Input GetAxis("House X") * Settings.sensitivityHor;

transfer* localEulerAngles = new Vector3(W, rotationY, 0f);

playerCaweratransfor*.localEulerAngles = new Vector3(rotationX, 0f, ef); }

  • • Сообщение Uney I Сотое 0 private void FixedUpdateO {

if (canMove) {

Vectors wovewont = ne* Vcctor3(0, rb velocity.у - 0.5f, в);

if (Input GetKey(KeyCodeLeftArro*) || Input GetKey(KeyCode.A)) *ove*ent -= transfer*.right • Settings.speedPlayer;

Busing System.Collections;

using System.Collections.Generic;

using UnityEngine;

Ссылок: 11

□public static class Settings

{ i public static float sensitivityHor = 7f;

  • :   public static float sensitivityVert = 7f;

  • ;   public static float minVert = -U5f;

  • ;   public static float maxVert = 45f;

  • ■   public static float speedPlayer = 15;

  • ■   public static int jumpPlayerForce = 1196;

  • :   public static int maxCountEnemy = 19;

  • ;   public static int countEnemy = 6;

  • ; public static float intervalFirePlayer = 9.9f;

Рисунок 2. Настройки

Также были разработаны коды проекта, отвечающие за соответствующие действия: Fire.cs — прохождение этапов и здоровье (выживание) игрока; DestroyObject.cs — удаление объектов («врагов») через заданное время; CoinScript.cs — сбор объектов; UIManager.cs — вывод нужной информации на экран; StartMessage.cs — появление и исчезновение приветственного сообщения при входе в игру (код стартового сообщения); Win.cs — появление и исчезновение сообщения об успешном завершении миссии (код победного сообщения); Defeat.cs — вывод сообщениz о поражении и отключения у игрока возможности перемещения при «гибели» (код, срабатывающий в случае гибели игрока); Win.cs — появление и исчезновение сообщения об успешном завершении миссии (код завершающего сообщения игры). На Рисунках 3‒5 представлены фрагменты демонстрации разработанной игры шутера от первого лица.

Рисунок 3. сообщения

Демонстрация стартового

Рисунок 4. Локация и враждебные мобы

Рисунок 5. «Хлеб» (объекты для сбора) на локации

Бюллетень науки и практики / Bulletin of Science and Practice Т. 11. №6 2025

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

Игра прошла успешное тестирование в своей целевой аудитории. Имеет возможность развития — актуализации и дополнения новыми логическими заданиями, игровыми объектами и т.д.

Может дополняться и другими проектировщиками — разработчиками игр — шутеров от первого лица, так как использованный для разработки программный и алгоритмический стек проекта (Unity, C#, Microsoft Visual Studio, Blender, Unity Asset Store) понятен всем разработчикам, работающим в аналогичной сфере игр.

Статья научная