Как сделать 3d игру на java
Перейти к содержимому

Как сделать 3d игру на java

  • автор:

Как написать игру на Java (для PC)?

Author24 — интернет-сервис помощи студентам

Как создать игру на java?
я вполне умею писать на джава, но насчет о создании игры затрудняюсь.
Вот мои траблы:
1. Звук. (год как изучал, но звук так и не смог)
2. Левел-дизайн. (как в код можно прописать каждый блок в уровне и прочее айтемы).
3. Каст-сцены (музыкальная заставочка, или алгоритм бота какого-то. как это осуществить время рассчитывать типо).
4. Анимация спрайтов. (в коде как прописать анимация).
5. Система камеры.

ну в общем всё. Спасибо за помощь! Вы скажете мне «не мучайся и юзай конструкторы типо гамакер». А я настолько люблю Джаву, что отказываюсь от этого всего готового продукта и хочу парочку игр сделать на Джава.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Возможно ли на Java написать красивую игру?
Доброго времени суток! Я начинающий программист,немного знаю pascal,решил заняться Java’ой,мне.

Как написать игру для консоли винды ?
Здравствуй народ. Учу С# использую среду visual 2013 хочу сделать игру типа пинг понга не.

Возможно ли на Java написать 3d движок(частично игру)?
Возможно ли написать на Java движок, который может загружать 3d модели, 3d мир и ходить по нему от.

Помогите написать какую-нибудь игру в Java
пожайство помогите написать какой нибудь игру в java

406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777

Лучше смотрите в сторону игровых движков.


Если вы хотите написать полноценную 3D игру, то готовьтесь потратить пару месяцев только на создание 3D моделей и костной анимации.

296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592

sdasdaw, глупость говорите,
конечно лезть в 3Д не стоит но 2Д поле непознанное и актуально всегда, даже вам больше скажу квейк 1 думм и дюкнукен это 2Д.
На Java 3Д игру написать не трудно если конечно вы не нацелены создать нечто но средней руки можно, но первый камень в огород это обязательная установка библиотек java 3D а иначе работать вообще ничего не будет, а пользователь сейчас ленивый и устанавливать ничего не собирается. Можно загорячиться самому и создать на математике движок но это отдать года 3 надо на эту затею, у вас есть 3 года добросовестного труда и бессонных ночей ? и это не сарказм, впахивать надо как папа Карло чтобы вымучивать что то стоящее.

P.S. а я делаю 2Д игры ^^

Изображения
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777

ЦитатаСообщение от Nidl Посмотреть сообщение

а я делаю 2Д игры ^^

шикарная курочка. Помню в детстве была такая игрушка, правда помню очень мало.

ЦитатаСообщение от Nidl Посмотреть сообщение

На Java 3Д игру написать не трудно если конечно вы не нацелены создать нечто

Я такой человек, что если что-то и делать, то не очередной Flappy Bird. Поэтому, если нужно создать что-то конкурентно способное, то лучше не использовать Java, а готовый движок. (Я нивкоем разе не против Java 2D игр)

ЦитатаСообщение от Nidl Посмотреть сообщение

Можно загорячиться самому и создать на математике движок но это отдать года 3 надо на эту затею, у вас есть 3 года добросовестного труда и бессонных ночей ?

Если вы это адресуете мне, то я это прекрасно понимаю (особенно когда это все делается в одиночку). И знаю как работает (примерно) рендер. Идет уже 10й месяц как создаю игру.

Регистрация: 02.12.2019
Сообщений: 3

sdasdaw, Я любитель ретро игр. В денди играю там мясного пацана играл и прочее пиксельные игры. Кароче к таким тянет как то. 3Д я даже не хочу. Только 2д. Я пробовал кстати, но требуеться интернет чтобы нормально юзать LibGDX. Я в деревушке, где интернетом не пахнет. Каждый раз юзать интернет не получиться. Только с работы кое как вот сижу.

Nidl, я тоже только 2Д делаю. Вот как только познакомился с Джавой, у меня начались траблы. С гамакера перешел, создал пару популярных игрушек и захотелось чето другое. Вот джаву нашел как то. ПОизучал, норм. Но полноценных игр с нормальным геймплеем — это сделать НЕВОЗМОЖНО. Но мне хочеться написать игру на чистом коде, ну типо профессионал)
Кстати крутые игры, на чем писал?

406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777

NoobMRX, любителям ретро (пикселей), посвящается особенная настройка графики

NoobMRX, Kingdom New Lands советую (саундтрек хотя-бы)


Если все же хотите что-то создать, сейчас на шумихе godot. Имеется свой язык (GDScript), движок есть как на виндовс, так и на Linux.

406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777

ЦитатаСообщение от NoobMRX Посмотреть сообщение

с нормальным геймплеем — это сделать НЕВОЗМОЖНО
296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592

sdasdaw,на java можно шикарное 2д писать и 3д тоже (для 3д только иной подход нужен не классический, я видел как некие умельцы на голой математике и неком алгоритме пиксельных матриц сделал лвл из квейк 4).
я пишу игры только кодом, редакторы не использую, считаю для себя что это не спортивно, на сегодняшний день имею собранный лично код конструктор в котором можно собирать игры с боковым скролом аля марио и посложней, так и изометрию.

Игра где девочка ходит по школе книжки ищет написана на AS2, курочки написаны на AS3 (курочки не 3д, анимация по кадровая), игра про космос написана на AS2, игра где маляфка горничная ходит по вселенной аля сайлент хил скрещенный с кастельванией написана на JAVA это уже третий эпизод приключений, там открытый мир, динамическое освещение, боевка аля первые финал фентези, для рисования лвл и крт сделал свой редактор чтобы ускорить процесс и тоже на JAVA, в игре около 6000+ строчек кода есть система диалогов и мини игр.

Регистрация: 02.12.2019
Сообщений: 3

Nidl, го мне исходник твоих редакторов уровней и карт. Пожалуйста. А как ты умудрился написать освещение? OpenGL? Анимация спрайтов как реализовал? Кстати как ты скопмилировал проект? В одной jar? Или с папками?

296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592

ЦитатаСообщение от NoobMRX Посмотреть сообщение

го мне исходник твоих редакторов уровней и карт

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

Освещение это динамически меняющая в реальном времени картинка, голая математика. Есть объекты которые могут излучать свет и я создал систему ключей которыми могу помечать объекты которые есть свет и какой свет, далее код конструктор динамически по ситуации и рисует картинку с всеми источниками света которую накладывает сверху, у меня кстати свет пульсирует что придает немного атмосферности под это на java пришлось скормить целый поток что дико много, все работает автономно и добавление новой карты с расстановкой NPC врагов и диалогов занимает не более 15 минут ^^ к примеру примитивная модель поведения персонажей которые могут чувствовать препятствия и принимать решения тоже обрабатывает отдельный поток.
Далее спрайты и анимация, здесь 2 пути java, нам нужно окно и им мы делаем JPanel в нем мы помещаем большую картинку JLabel с всей раскадровкой движений и действий которые по шагу или таймеру переставляем. Можно сделать колоду карт из картинок и менять им видимость но при движении можем получить дерганную анимацию. Но из здесь не все радушно, у java не очеь понятная модель добавления графики, конечно многие могут возразить что что здесь не понятного, так то оно так но в потоке все работает по разному, например если в статике картинка нам до лампочки то в потоке тот или иной метод с неба может взять такие жуткие тормаза и это просто из за добавления картинки точнее способа ее отображения на JFrame здесь тоже шло не мало времени что бы нащупать идеальны вариант.
Эм про компиляцию в java, сначало я создаю jar файл в котором вкладываю все ресурсы, музыку спрайты бекграунды, после делаю из него exe с подключением библиотек java, это нужно для того что пользователь не заморачивался установкой jre, так я получаю автономные проекты которые работают от win XP до win 10 включительно.

Самое трудоемкое в создании игр это их нарисовать, на один арт у меня уходит 1 неделя. Можно и быстрей но мой график работы этого не позволяет. Например код курочек я могу набросать за 2 часа, а вот найти и подготовить спрайты бекграунды, или самому их нарисовать, здесь мы имеет недели.

На рисование всех карт, артов для игры про хорошей уходит 6 месяцев до года, как то так увы долго
А музыку найти это вообще капеццц, недели уходят на договоренности с композиторами, многие тупят так что удивительно как они музыку еще пишут. Редко попадаются адекватные люди, но чаще все идет по дорогому, хочешь музыку плати за лицензию от 60 евро. То что из бесплатной музыки можно найти пишут извините за выражение *опой, стоющее есть но найти тот еще квест.

Добавлено через 1 час 10 минут
NoobMRX, кстати вот интересная статейка, изучите, скажу вам это очень редкий материал

3D графика на Java. Какую программу/движок использовать?

Я уже довольно давно создаю программы (по большей степени игры) на Java. Раньше создавал только игры с 2D графикой и хочется попробовать себя в 3D, но не могу найти хорошего движка/обучения для создания 3D графики на Java. Что порекомендуете? Если сможете что-то порекомендовать, то просьба также оставить ссылку на сайт, где можно ему научиться, и желательно уточнить, насколько долго его необходимо изучать, чтобы создать первые 3D игры. Заранее спасибо.

  • Вопрос задан более трёх лет назад
  • 1717 просмотров

Комментировать
Решения вопроса 1

azerphoenix

Орхан Гасанлы @azerphoenix Куратор тега Java
Java Software Engineer

Здравствуйте!
Не являюсь экспертом в этой области, но если вам нужно именно в Java, то могу порекомендовать вам следующие движки и фреймворки:

Desktop/Android/BlackBerry/iOS/HTML5 Java game development framework
https://libgdx.badlogicgames.com

Но если желаете профессионально заниматься разработкой игр, то насколько мне известно, сейчас это:
Unity (ЯП — C#)
Unreal Engine (ЯП — C++)

Java и создание игр: о движках от А до Я

Создание развлекательных приложений и игр – перспективные направления в программировании. Пользователи готовы не только скачивать соответствующий контент бесплатно, но и платить за него. Особенно тогда, когда софт получается действительно качественным.

Во время создания игр можно использовать разнообразные языки программирования. Некоторые разработчики предпочитают Си-семейство. Оно универсально, но новичкам «с нуля» приступить к коддингу будет трудно. Поэтому тем, кто только начинает изучать процесс разработки игр и программирования, стоит обратить внимание на Java. Это – весьма простой язык, посредством которого можно создавать уникальные перспективные проекты с минимальными трудностями. Основной принцип Джавы – меньше писать, больше делать.

Движок – это…

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

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

При помощи движка можно обеспечить:

  • музыкальное и звуковое сопровождение;
  • сетевую игру;
  • графическую визуализацию;
  • перемещение внутриигровых персонажей (а также их взаимодействие согласно имеющимся скриптам);
  • соблюдение физических эффектов и закономерностей;
  • встроенные графические сцены.

Грамотно подобранный движок дает разработчику больше возможностей при коддинге. С ним создавать игры для Андроид, Windows/Mac и iOS просто и интересно. Навыки программирования могут быть минимальными.

Движки для программистов и библиотеки на Джаве

Ява – язык программирования, который пользуется у программистов очень большим спросом. Освоить его способен даже новичок без существенных затруднений. Большинство современных платформ для создания игр поддерживают Java-семейство. Это позволяет программерам и разрабам выбрать оптимальный для себя «пакет» готовых утилит при создания развлекательного контента. Далее будут перечислены лучшие движки JavaScript и библиотеки.

GDevelop

Универсальная утилита – подходит и новичкам, и продвинутым программистам. С ее помощью можно сделать:

  • платформеры;
  • шутеры;
  • элементарные игры 8-bit.

Создана для того, чтобы дать возможность разработчикам (особенно новичкам) освоить работу с 2d-играми. Трехмерную графику не поддерживает.

GDevelop предлагает экспорт на различные платформы: Android, iOS, FaceBook (ныне Meta) Instant Games и не только. Подойдет тем, кто заинтересован в экспортировании игр, но не хочет углубляться в непосредственную разработку софта и долго изучать низкоуровневую архитектуру игровых движков.

MelonJS

Еще один вариант, если хотите научиться делать собственные 2D-игры. Подключив соответствующую библиотеку к коду, можно получить доступ к качественной поддержке:

  • физики;
  • столкновений;
  • спрайтов;
  • деформаций.

В успешных проектах все это играет огромную роль. Из минусов – не самая лучшая документация. Зато пользовательского контента у MelonJS полно. А еще имеется отличное комьюнити.

Идеальный вариант для новичков. Является весьма мощным инструментом в умелых руках. Но продвинутым программерам предлагаемых возможностей будет маловато.

ImpactJS

Имеет ориентацию преимущественно на двухмерную графику. В отличие от предыдущих вариантов обладает плагинами, которые при добавлении в Impact позволяют имитировать 3D-среду.

Дополнительно к Impact «идут» следующие инструменты:

  • редактор уровней;
  • дебаггер;
  • фреймворк для публикации в Ejecta.

Через Impact удается без проблем размещать утилиты в AppStore.

Babylon

Мощный инструмент, предусматривающий веб-рендеринг. Игровым движком его назвать нельзя, но на основе BabylonJS удастся создать game. Движок рендеринга предусматривает доступ к низкоуровневому функционалу.

Babylon – утилита, которая подойдет продвинутым программистам. Новичкам с ней работать затруднительно, особенно если учесть, что это – не совсем игровой движок.

PhaserJS

Среди популярных вариантов, поддерживающих Java, выделяют PhaserJS. Он позволяет программировать не только для компьютеров, но и для мобильных устройств. Обладает поддержкой WebGL. Годится для написания 2D-софта.

Это – бесплатный движок. За дополнительную плату можно подключить особые плагины, значительно увеличивающие мощь «пакета».

Pixi

Библиотека, задействованная при программировании в двухмерном пространстве. Работает с WebGL, задействуется для воплощения потрясающих интерфейсов. И не обязательно они будут размещаться в играх.

Включает в себя:

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

PlayCanvas

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

PlayCanvas – условно-бесплатный «набор программиста». Годится для небольших публичных проектов. За «тайные» коммерческие идеи предстоит платить ежемесячно.

A-Frame

Инновационное решение в программировании. A-Frame может предоставить пользователям больше возможностей, нежели предыдущие библиотеки. И все это за счет того, что ориентирован движок на VR и AR.

Синтаксис напоминает HTML-верстку. Подойдет для 3d-программирования с «полным погружением». В основном утилитой пользуются опытные программеры.

PhysicsJS

Основан на физическом взаимодействии имеющихся объектов. Используется при разработке всех видов игрушек. Для Андроид в том числе.

Отличное решение для тех, кому важна сложная физика в реализуемом софте. То же самое касается применения при создании собственных движков на основе уже имеющихся библиотек.

Универсальные решения для программистов

Перечислять программы, при помощи которых можно создавать любые игрушки для мобильных и компьютерных устройств, удается бесконечно долго. Но в мире сложилась тенденция, согласно которой несколько вариантов вышли на передовую. Они используются программистами на разных языках чаще остальных. К концу статьи каждый потенциальный разработчик сможет выбрать платформу, с которой он будет работать, зная Java.

Unreal Engine 4

Настоящая легенда в сфере gaming programming. Разрабатывался «пакет» с 1998 года. С тех пор все время совершенствуется и дорабатывается. Современная версия UE 4 является универсальной. При помощи нее создаются развлекательные приложения для:

  • игровых консолей;
  • мобильных платформ;
  • компьютеров.

Является частично бесплатным. Платить за использование оного не нужно, если прибыль с созданного приложения в месяц не переваливает за 3 000 долларов США. В противном случае предстоит переводить создателям движка проценты с получаемых доходов.

Unity

Юнити – популярный вариант среди разработчиков. Обошел иные платформы для создания игр, благодаря простоте осваивания. Развивается с 2005 года.

Подойдет для 3D-игрушек. Как и предыдущий вариант, является кроссплатформенным. На Юнити пишут не только простые игры (головоломки, аркады), но и шутеры от первого лица с тщательно проработанным игровым миром.

Недостаток один – графика в созданных утилитах далека от 100% реалистичности. Если разработчику важна графическая составляющая, лучше пользоваться UE 4. Несмотря на это, более половины утилит для Android написаны именно на Unity. Подходит как новичкам, так и продвинутым программистам.

Corona

Программы для создания игрушек можно перечислять бесконечно долго. И выбрать что-то одно бывает непросто. Добавить к списку наиболее успешных и популярных «пакетов» можно утилиту под названием Corona SDK.

Он выступает в качестве платформы для двухмерных игр. Предусматривает:

  • поддержку API;
  • сложные функции в 2D-играх;
  • в основе API используется Luna;
  • монетизацию через Corona Ads.

Данный вариант является кроссплатформенным. Подходит и для Андроид, и для iOS. Осваивается без существенных затруднений, поэтому идеальна для новичков. Имеется тестирование в режиме реального времени.

Обладает разнообразными полезными фитчами:

  • Sublime Text;
  • Corona Editor;
  • Composer GUI.

Через Corona’s Physycs Engine можно отслеживать взаимодействие игровых объектов между собой. Этот прием позволяет довести физику в развлекательном софте до идеального состояния с минимальными временными потерями.

Как создать собственную игру – советы

Для того, чтобы писать программы и игровой контент на Java, рекомендуется изучить основы программирования. Существуют следующие варианты развития событий:

  1. Самообразование. Результат виден лишь у целеустремленных будущих программистов. В интернете полно полезной информации по рассмотренной тематике. И не всегда за нее нужно платить.
  2. Обучение в ВУЗе. Подойдет направление «Программирование». В некоторых университетах есть вариант «геймдев». Долгий и дорогостоящий вариант, но в результате на руках окажется диплом. Выпускник сможет писать сложные программы.
  3. Прохождение курсов.

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

Преимуществом такого подхода является то, что человек может выбрать узкую направленность. Пример – изучение только процесса создания игр на Android или iOS. В конце обучения (длится до года) выдается сертификат установленного образца. При желании можно изучать движки для игр iOS, Windows, Android более подробно. Для самых популярных «утилит» существуют отдельные курсы. Делятся они по уровню навыков. Подходящие уроки подберет себе и новичок, и продвинутый программер.

Как я создал собственный 3D движок и игру на нём за 20 месяцев

Эту статью я написал для своего блога в октябре 2017 года.

Речь идёт об игре Speebot, которая сейчас выпущена в Steam. Бесплатная demo версия прилагается.

Я разрабатывал эту игру с января 2016 года в своё свободное время в одиночку. Мною выполнено всё программирование, дизайн игрового процесса, создание графики и музыки. Кроме того, я написал собственный игровой движок с нуля.

Люди часто спрашивают меня, почему я решил создать свой движок, когда на рынке доступно множество бесплатных универсальных движков. Есть много причин, и о них я попытаюсь рассказать в этой статье.

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

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

Второе преимущество — это контроль самого процесса разработки. Я считаю, что инструментарий должен быть по-максимуму удобным для разработчика. Что является удобным — зависит от самого типа данной игры. Например, для Speebot — это встроенный редактор уровней, который позволяет быстро создавать новые уровни и незамедлительно их тестировать.

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

Ещё один большой плюс: не нужно соглашаться с условиями лицензии стороннего движка, подписывать договора и платить проценты от прибыли.

Ну и наконец: написание собственного движка — это очень интересно.

Разработка движка началась в январе 2016 года. Я назвал его YUME («мечта» по-японски). Он написан на Haxe, C++ и OpenGL. Я использую модифицированную версию библиотеки Lime, которая включает в себя несколько полезных функций, например, позволяет загружать ресурсы и открывает доступ к OpenGL.

Вот так движок выглядел после первой недели разработки.

До начала создания движка я почти ничего не знал о разработке 3D игр. Нужно было разбираться в OpenGL читая документацию, форумы и уроки, предназначенные для других языков (Java и C++). Через пару месяцев у меня получился довольно стабильный 3D-визуализатор.

Кроме самого 3D-визуализатора, нужно было с нуля создать множество разных систем: 2D-визуализатор, машину состояний, систему временных шагов (об этом позже), систему интерфейсов, систему управления мышью, клавиатурой и джойстиками, динамические тени, 3D звуковую систему (используя OpenAL), загрузку моделей (в собственном формате, основанном на IQM), «скелетные» анимации, иерархию объектов, эффект зеркального отражения в реальном времени, отображения текста и так далее.

В конце концов, получилась 3D библиотека, которую можно использовать для чего-то конкретного. Многое из того, что я перечислил, присутствует и в других движках, но в YUME есть несколько отличий. Одно из них — система временных шагов.

Система временных шагов гарантирует, что движок обрабатывает и показывает кадры игры с определённым интервалом. В YUME нет ограничения по количеству кадров в секунду, т.е. нет привязанности к 30 или 60 кадрам в секунду. Частота кадров может быть любая, а игра всё равно будет работать с одной и той же скоростью, потому что частота обновления логики не связана с частотой обновления экрана. На компьютерах разных мощностей может быть разная производительность, и время для показа одного кадра может быть любым. А логика всегда привязана к частоте 62.5 циклов в секунду (16 миллисекунд на каждый цикл). В этом основной принцип системы временных шагов, хотя есть некоторые крайние случаи.

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

Ранняя версия YUME.

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

Я начал создавать систему игровых уровней, которая использовала что-то похожее на 2D плитки (tilemaps), но с одним дополнительным измерением. Получается, что уровень можно сложить из «кубиков», как конструктор. Я создал редактор карт, чтобы ускорить процесс создания уровней. В итоге этот редактор попал в финальную версию игры и доступен каждому игроку.

Движок автоматически определяет, какую 3D модель использовать для отображения каждой плитки, в зависимости от соседних плиток. Придумал способ, как объединить все плитки в одну общую 3D модель, чтобы видеокарте не нужно было рисовать каждую плитку индивидуально. Вся карта рисуется за один раз, что очень сильно улучшает производительность.

Уровни можно редактировать и тестировать сразу. Для продуктивности — то что нужно.

Я написал простую систему игровой физики и начал экспериментировать с игровым процессом. Через несколько недель был готов первый прототип игры, в котором игрок мог перемещать цилиндр по 3D уровню.

Прототип Speebot в июле 2016 года.

YUME продолжал развиваться параллельно с разработкой Speebot (примерно в это время я выбрал такое название для игры). Было найдено и устранено несколько проблем с архитектурой движка, добавилось несколько новых функций: физика, частицы, отражения на поверхности воды, инструменты для анимации камеры, интерактивные объекты. Постепенно библиотека эволюционировала в игровой движок.

Я продолжал добавлять новые элементы игрового процесса, оставляя элементы, которые казались мне интересными, и избавляясь от лишнего. После некоторых экспериментов с художественным направлением графики игры я создал персонажа в Blender — маленького робота с одним колесом. Персонаж нарисован и анимирован в мультяшном стиле.

В это время я уже работал в основном над самой игрой, а не над движком. Я продолжал создавать новые уровни, декорации, персонажи и элементы игры.

В конце 2016 года я сделал паузу от разработки игры, и посвятил несколько месяцев изучению и практике написания музыки. У меня нет музыкального образования, но это — моё хобби. У меня уже был небольшой опыт в композиции музыки для моей предыдущей игры Hypnorain, но я хотел улучшить свои навыки, поэтому снова погрузился в изучение музыкальной теории. Для композиции музыки я использовал программу SunVox, которая является виртуальным модульным синтезатором. В финальной версии игры Speebot всего 23 трека, которые вместе составляют более часа оригинальной музыки. Я удовлетворён результатом, и продолжу улучшать свои навыки для следующей игры.

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

После выпуска нескольких демо версий, обработки отзывов от игроков и улучшения игры, Speebot был выпущен в октябре 2017 года. В финальной версии игры 200 уровней, 4 мира, редактор пользовательских уровней, несколько дополнительных режимов игры, и много другого дополнительного контента.

Самое сложное при разработке игры было сохранять мотивацию и интерес на протяжении всех 20 месяцев. Работать над игрой мне удавалось только по вечерам после университета и работы, и по выходным дням. Но всё равно, это было очень интересно.

Я продолжу использовать и развивать свой движок YUME в своих будущих играх, и уже начал работать над своим следующим проектом.

После написания этой статьи я разработал и выпустил ещё две игры на этом движке: сюжетная приключенческая игра Phantom Path, и игра-головоломка Pilie Pals.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *