Проекты

Разработка компьютерной игры Cube Rush в Unity

Работа призёра открытой городской научно-практической конференции «Инженеры будущего» в секции «Информационные технологии, программирование, прикладная математика, социальный инжиниринг» среди работ учащихся 10−11 классов

Направление работы: Программирование
Авторы работы: ГБОУ Школа № 283
Предметы: Информатика
Классы: 10 класс
Мероприятия: Открытая городская научно-практическая конференция «Инженеры будущего» 18−20 апреля 2019 года

Цель

Создание компьютерной игры Cube Rush, игровой процесс которой заключается в перепрыгивании препятствий для получения наибольшего количества очков.

Задачи

  1. Изучить принцип работы в среде для разработки игр Unity.
  2. Создать компьютерную игру на движке Unity на основе полученных знаний.
  3. Отладить стабильную и правильную работу созданной игры.

Описание

В процессе работы над проектом автору пришлось решить множество проблем. Одной из первых была реализация движения игрока навстречу препятствиям. Изначальная идея двигать игрока вправо оказалась неудачной. Во-первых, при таком подходе постоянно увеличивается значение координат, из-за чего очень трудно создавать препятствия в нужном месте. Во-вторых, при большом значении координат возможны сбои в работе программы. Для решения этой проблемы пришлось переосмыслить первоначальную идею: двигаться должен не игрок в сторону препятствий, а препятствия в сторону игрока. Таким образом, создаётся эффект движения, хотя на самом деле двигаются лишь препятствия. Для улучшения иллюзии движения с помощью заднего фона был использован эффект параллакса. Заключается он в том, что чем ближе объект на фоне должен находиться к игроку, тем быстрее он движется.

Следующей проблемой в разработке игры была реализация случайности появления препятствий. Если каждое препятствие создавалось бы абсолютно случайно, то было бы очень трудно исключить те ситуации, где у игрока нет возможности выжить. Чтобы решить эту проблему, пришлось вручную создать различные системы препятствий, которые в игре будут появляться целиком как одно препятствие. После этого была написана программа, которая выбирает случайное число. В зависимости от этого числа выбирается соответствующее препятствие. К слову, случайность высоты появления облаков на заднем фоне сделана по тому же принципу.

Также во время работы над проектом возникли трудности в объединении главного меню игры, игрового процесса и специального меню. Для этого в Unity был создан невидимый объект, который отвечает за главные события игры. К его программе часто обращаются программы других объектов. Например, при касании игроком препятствия вызывается его метод «Game Over». Другие программы получают и обратную связь от него. В зависимости от значения переменной «start», которое задаёт этот объект, другие объекты могут вести себя по-разному.

Результат

Самостоятельно создана актуальная компьютерная игра Cube Rush на игровом движке Unity. Изучены язык программирования C# и среда для разработки игр Unity.

Оснащение и оборудование

  • Персональный компьютер с операционной системой Windows 10
  • Unity 2018.3.1f1 Personal
  • Microsoft Visual Studio 2017
  • Paint.net

Перспективы использования результатов работы

Доработка и кроссплатформенность компьютерной игры Cube Rush.