Разработка на языке 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) понятен всем разработчикам, работающим в аналогичной сфере игр.