Nullore - моя первая игра. Краткий процесс разработки, решения проблем

Целый год ушло на разработку моей первой игры в одиночку. Вроде и много, но я ведь еще и работал официально, так что наверно один год не так уж и много =)

Nullore: beginning RSA world
Nullore: beginning RSA world

Об игре

Nullore - это новая вселенная, которую я хочу создать с нуля, конечно если все пойдет хорошо. Nullore: beginning - это первая игра, вступление, ну по названиею и так понятно. Некая смесь приключения, квестов, бродилки, капля хоррора. Вам предстоит выбраться из разрушающегося производственного здания и шахты. Все на так просто, времени не так много и Вы не знаете куда идти. Есть только один шанс и это Вам сказал некий женский голос.

Разработка

Я никогда раньше не делал игры. Можно сказать что мой путь начался в 2018 году. Опустив все подробности и скажу кратко: в начале я просто учился. Данную игру я начал делать в 2020 году.

Мои запросы сразу стали большими для первой игры, но я пошел все-таки на это. Движок я выбрал Unity, игра в 3д, реализм. Так что работы было много.

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

Nullore | Главное меню игры.
Nullore | Главное меню игры.

Первую структуру мира я сделал достаточно быстро. Но заметил что как-то мало пространства и решил увеличить раза в три. При этом разделил на этажи. Изменения уровня, по моему мнению, делает мир более красивым, не все же одна равнина. Не обошлось и без переработок, некоторые уровни я просто удалил и делал заново.

Когда структура была готовая, я принялся за наполнение мира. Добавлял пропсы, настраивал двери, освещение и многое другое. На самом деле я до сих пор работаю с освещением. Всегда полезно пробежаться по уровням и посмотреть как все выглядит.

Nullore | Вход в техническую зону.
Nullore | Вход в техническую зону.

Самое сложное было придумать как все будет стоять, где будет стол, где стена, а где дверь. Но все это решается и выполняется.

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

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

Nullore - моя первая игра. Краткий процесс разработки, решения проблем

И тут настало время оптимизации. Это сейчас я знаю что надо было раньше об этом подумать и делать мир правильно. Но я понадеялся на существующие ассеты. Как оказалось зря, я попробовал несколько, но они мне не подошли. Долго ломал голову над проблемой и так, и сяк я ее крутил, но сопротивлялся мой мир. Но работа и труд, как говорится, все перетрут. Я нашел выход и начал его реализовывать. На данный момент все работает хорошо, хоть мой способ и до безобразия простой, но он рабочий! Фпс адекватный, правда ниже чем мог быть, если бы я мир строил сразу с расчетом на оптимизацию.

В игре у меня будет и озвучка. Голос правда у меня совсем не очень, так что работаю через друзей. Идет, конечно, медленно, но идет. Этому я уже рад.

Игра готова уже на 98-99%. Осталось не много по мелочи и диалоги, ну а дальше релиз. На данный момент стоит дата 19 апреля, но если честно, думаю перенести на недельку, но это не точно. Еще ведь тесты провести нужно.

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

Спасибо за уделенное время. Всего Вам хорошего, не болейте и играйте в хорошие игры!

2727
24 комментария

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

2
Ответить
Автор

Спасибо большое. Но смог или не смог посмотрим после релиза =) Пока я ограничен в возможностях, но планы большие =)

1
Ответить

Я так понимаю много новеньких делают хорроры того что их легче делать?

1
Ответить
Автор

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

1
Ответить

Хотел бы услышать про оптимизацию поподробнее - игра сделана как один большой непрерывный уровень без экранов загрузок? Использовал ли ты в таком случае аддитивную подгрузку сцен, из которых состоит уровень?

Или какие-то другие проблемы и другие решения были?

Ответить
Автор

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

1
Ответить

Салют! Отличный опыт, поздравляю с практически завершенным проектом. 
Как вы подходили к оптимизации, что делали? Где были проблемы и сложности?
Есть уже интеграция со стимом?

Выглядит стильно, хорошая работа.

Ответить