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

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

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

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

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

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

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

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

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

IDR: 14132799   |   УДК: 004.946   |   DOI: 10.33619/2414-2948/115/25

C# Development in Unity Logic Game Editor – First Person Shooter

The algorithms of the process of developing a computer game-shooter from the first person using the Unity editor are given. The game allows you to see the world around you through the eyes of the player himself, which is significant for educational games with the ability to complete logical puzzles or complete specific tasks. To implement the software part of the game, libraries and functionality of the C # programming language are involved. 3D modeling techniques using Blender have been applied to the visualization of characters and objects in the game.

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