Найти в Дзене

Платформер для Андроида "Чубрик и Сундук" 4 уровень весь сразу

Создание 1-го уровня тут: https://dzen.ru/suite/0bdea864-aac0-4b2d-a8c5-b68c436fdb32 2 уровень Часть 1 "Концепция и архитектура" тут https://dzen.ru/a/ZZ1VK3T9hVQpBm5W 2 уровень Часть 2 "Игрок: Стрельба и здоровье" https://dzen.ru/a/ZaPSbIr0BxRnMS-6 3 уровень весь тут https://dzen.ru/a/Zaqjt19FE0q6IfWH Обратимся к концепции игры и посмотрим на скрин 4-го уровня. Посмотреть можно тут, если кто не помнит... https://dzen.ru/a/ZGJVMZKsTRJ1IRxW
В целом весь уровень - это микс всех ныне существующих противодействий игроку...
Начнем с архитектуры уровня.
Сцена с именем Level_4 у нас уже есть, поэтому создаем сцену Level_5, чтобы было на что ссылаться в финале данного уровня. Закидываем новую сцену в BuildSettings.
Для ускорения процесса открываем сцену 1, копируем все, кроме камеры и названия и кидаем в сцену 4.
Рихтуем архитектуру в соответствии со скрином: кирпичики и платформы. Монетки пока можем не трогать. Должно быть как-то так Для удобства просмотра в поле Game временно отключаем Out

Создание 1-го уровня тут: https://dzen.ru/suite/0bdea864-aac0-4b2d-a8c5-b68c436fdb32

2 уровень Часть 1 "Концепция и архитектура" тут https://dzen.ru/a/ZZ1VK3T9hVQpBm5W

2 уровень Часть 2 "Игрок: Стрельба и здоровье" https://dzen.ru/a/ZaPSbIr0BxRnMS-6

3 уровень весь тут https://dzen.ru/a/Zaqjt19FE0q6IfWH

Обратимся к концепции игры и посмотрим на скрин 4-го уровня. Посмотреть можно тут, если кто не помнит... https://dzen.ru/a/ZGJVMZKsTRJ1IRxW
В целом весь уровень - это микс всех ныне существующих противодействий игроку...

Начнем с архитектуры уровня.
Сцена с именем Level_4 у нас уже есть, поэтому создаем сцену Level_5, чтобы было на что ссылаться в финале данного уровня. Закидываем новую сцену в BuildSettings.
Для ускорения процесса открываем сцену 1, копируем все, кроме камеры и названия и кидаем в сцену 4.
Рихтуем архитектуру в соответствии со скрином: кирпичики и платформы. Монетки пока можем не трогать. Должно быть как-то так

Для удобства просмотра в поле Game временно отключаем OutPanel.
Теперь обращаемся ко второму уровню и оттуда копируем в сцену шестеренки.
Убираем лишние, расставляем нужные по местам и меняем им габариты с 0,5 на 0,3 - так и сложнее и красивее будет...

-2

Шагаем в третий уровень и оттуда копируем красные основания - можно все, можно одну... разницы нет! и расставляем их по левому полю

-3

Следует понимать, что для Андроида мы не сможем создать поле, как для Винды. Поэтому несколько меньше слоев получается... Убираем все лишнее.

Что не хватает в архитектуре?
Базовые кирпичики есть, платформы тоже, шестеренки и красные основания тоже. Нет Желтых кирпичиков! И что это за архитектурные излишества? Везде кирпич, как кирпич, а тут желтый???

Это новый фрагмент игры, который в последствии будет активно применяться. Желтые кирпичи имеют свойство убивать игрока при касании их игроком - причем иногда сразу и насмерть... Зато у них есть хорошее свойство - дохнуть от стрельбы игрока. Все адекватно и ровно!

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

-4

Далее надо блок доработать: даем имя WellYellow, в инспекторе добавляем таг Well, компонент BoxCollider2D триггерный.

-5

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

-6

Второй ... да ну на фиг, писать новый скрипт...

В качестве второго вполне можно использовать скрипт уничтожения шестеренок, который уже есть и исправно функционирует. Лежит в папке Scripts / Enemy и отзывается на имя HealthControl

Теперь, чтобы все начало нормально работать надо сделать так:
Во-первых, заменить игрока (он у нас сейчас из первого уровня, где стрелять пока не умеет...). Копируем игрока со второго или третьего уроня и вставляем взамен существующего.
Еще оттуда же надо скачать папку Здоровья игрока...
Проверить настройки скриптов на игроке и поправить, если что не так.
Далее вновь созданный скрипт и уже существующий закидываем на желтый блок и настраиваем как-то так

-7

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

Все ровно.
Ставим желтые блоки согласно диспозиции, предварительно закинув блок в папку Prefаbs / BackGround, а уже в сцене их можно уложить в BackGround / Wells, где лежат статичные блоки.

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

С архитектурой все.
Остается добавить с третьего уровня огненный дождь и горизонтальные ракеты.
Для этого в третьем копируем из BackGround всю папку Enemy и вставляем ее уже в BackGround этого уровня

-8

Раскрываем папку и корректируем контрольные точки спавнов.
В SpawnRain правую точку RightPoint переносим сюда

-9

левую оставляем как есть.
В SpawnRoket правую (нижнюю) точку тоже немного смещаем вверх

-10

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


Если мы поступим так: идем в папку Prtfabs / Enemy, жмем на FireSkyHor и в скрипте в строке AliveTimer меняем 10 на 2,5. Запускаем игру и проверяем - все нормально!


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


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


Выделяем в Prefabs / Enemy префаб FireSkyHor и Ctrl+D - дубль появился с приставкой к имени 1. Можно оставить как есть, но чтобы было понятно - где он используется, заменим 1 на 4.

-11

Выделяем в сцене SpawnRoket и в строку FireSky тащим созданный дубль.
Теперь все хорошо...

Остается самая малось - раскидать монетки в художественном беспорядке и поправить настройку кнопки перехода на пятый уровень.
С монетками объяснять нечего.
С кнопкой тоже не трудно. В Канвасе включаем OutPanel, идем в Manager и в скрипте NextGame ставим индекс 4, что соответствует списку сцен в BuildSettings и в скрипте AgainGame индекс 3.

Остается запустить игру, пройти ее и убедиться, что все исправно.
Запускаем, проверяем.

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

Итак, Уровень 4 готов.

Далее Уровень 5.