Old Racer. Дневники разработчика. Часть 3

Можно бесконечно долго смотреть,

на огонь,

на воду,

И справлять баги в игре.

OLD(c)

Приветствую Старик Райсер!

Это третья запись в дневнике разработчика ПК игры Old Racer - аркадной гонки, которую я делаю на юнити в свободное время.

Что было запланировано на октябрь:

1. Сделать механику повреждений машин. - не выполнил
2. Визуализировать повреждения, дым или огонь, а так же взрыв через частицы и сами удары. - выполнил
3. Создать сцену, с выбором номера, цвета, и типа машины. - выполнил
4. Создать Панельки с информацией при запуске и окончании трассы. - выполнил
5. Переместить канвас инфо. - выполнил
6. Переделать сохранения, сейчас они временно отключены и немного костыльны, я узнал как можно избавиться от костылей. - не выполнил
7. Начинать собирать архитектуру уровней, первая задача собрать 5ть трасс для 1го региона. - не выполнил
8. Замоделить пропсы для окружения.(хвойные деревья или берёзки, камни, кусты, пни, горы) - не выполнил

Screenshot_6.jpg

сцена с превью перед новой трассой и инфой о трассе

Теперь более подробно о том что было сделано:

- Изменил камеру
- Добавил систему повреждений игроку.
- Добавил возможность контузии после удара некоторое время машина плохо управляема.
- Настроил физический материал машин, чтобы машина почти не скользила, но при ударе отталкивалась от объекта столкновения.
- Визуализировал систему повреждения.
- Исправил баг когда на высокой скорости машина прилипает к ограждению, пока скорость не упадёт.
- Исправил баг, когда машина на высокой скорости во время поворота входит в неуправляемый занос.
- Увеличил максимально сцепление колёс.
- В два раза уменьшил штраф, когда игрок съезжает с дороги, теперь машина медленнее теряет скорость на грунтовке и немного быстрее может опять вернуться на трассу, уже переделал на то как было.
- Добавил звуки взрывов, повреждений и прочие звуки.
- Разделил механику контузии, теперь игрок не получает контузии если врезался во врага, но если врезается в ограждение то получает,
- Убрал урон если игрок врезается в ограждение.
- Переместил канвас
- Нарисовал, замоделил и создал все 15ть трасс
- Создал сцену с превью перед новой трассой и инфой о трассе.
- Создал сцену статистики и с несколькими наградами после очередного региона.
- Создал сцену с конструктором машины.
- Начал добавлять в игру пропсы для первого региона, сейчас пока только билдборд финиша и горы.

Screenshot_5.jpg

сцена статистики и с несколькими наградами после очередного региона

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

Планы на ноябрь:

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

7. Начинать собирать архитектуру уровней, первая задача собрать 5ть трасс для 1го региона.

8. Замоделить пропсы для окружения.(хвойные деревья или берёзки, камни, кусты, пни, горы)

Screenshot_4.jpg

сцена с конструктором машины


Немного о пунктах.


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

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

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

- После пропсов буду связывать все сцены в кучу, моя цель не изменилась -1й регион, это и будет демоверсией игры.

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

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

Порядок создания трасс:

IMG0322A11.jpg

1. Нарисовал трассу в блокноте.

dvdv.jpg
2. Перенёс рисунок в KOMPAS и заново перерисовал с точными радиусами скругления и прямыми линиями. Сохранил в png.

cwc.jpg
3. Перенёс рисунок png как рефенс в блендер, кстати этот рисунок использовал при построении миникарты.

errbv.jpg
4. По рефенсу построил кривую безье, несколько раз подразделил, чтобы окружности были корректные.

eded.jpg
5. Создал длинный прямоугольник - прямую трассу длинной 3км, инвертировал нормали наружу, подразделил поверхность с помощью Subdivide.

4g4g.jpg
6. Создал материал для этой трассы и подогнал текстуру.

d2.jpg
7. Применил модификатор курвы для меша и выбрал -y

d3d3.jpg
8. подогнал длину трассу с помощью настроек.

th7j.jpg
9. Применил модификатор и соединил полигоны.

ettgg.jpg
10. Накинул солидифай, чтобы добавить плоскости объём, применил модификатор.

crv.jpg
11. Удалил нижнюю часть плоскости, выровнял масштаб.

rvbytnjy.jpg
12. Экспортировал в fbx

646.jpg
13. Закинул в движок unity.


Ну на этом всё. Ниже видео с геймплеем бетты.

Вид трассы


Визуализация повреждений




0
RENDER.RU