Мой проект часть 1

Приветствую всех. В этом посте я хочу подробнее рассказать о своей мобильной игре, которую я в данный момент разрабатываю. Но перед этим я хочу сказать, что я немного изучил сайт и понял одну очень не приятную для меня вещь. Этот сайт не любит мобилки. Возможно мне и не стоило сюда соваться, но я все равно буду рассказывать здесь про свою игру. Я так понял что это связано именно с тем, что в основном такие проекты это гипер казуалки, рассчитанные именно на получение большей прибыли, за наименьшее время, а качество ставится на последнее место. Но такие игры не все и есть примеры Look Your Loot, DATA WING, Otherworld Legends-Oффлайн РПГ и это только то что я сходу вспомнил. Я точно не из тех кто хочет в первую очередь обогатится, я по-настоящему люблю игры и постараюсь это доказать.

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

Почему моя игра это не обычный ранер?

Основная идея этого жанра в том что игрок автоматически движется в перед по бесконечному уровню. Конечно же в моей игре точно также но:
1. Всего уровней три.
2. Уровни не собраны из заранее построены кусков как это обычно бывает, а процедурно генерируются прямо во время игры.

А теперь по порядку.
Игрок начинает свой ран на основном уровне «город».

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

Сразу в голове вопрос «Ну и смысл? Получается каша какая-то.», но это не совсем так. У каждого случайного элемента есть шанс на появление или на какое либо изменение и при разных значениях они ведут себя по разному. К примеру:

На левой картинке я установил шанс поворота дороги 10%. С права 70%.

Screenshot_100.png Screenshot_101.png

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

Кроме всего этого, значения будут меняться по ходу рана. Это еще не реализовано но я придумал такую систему:
Есть стандартные значения для каждого элемента, при которых играется легко, это стандарт. По ходу продвижения по уровню будут выбираться два случайных элемента, допустим это ускорение и лазер. Будет выбираться случайное значение от стандартного к максимальному и в течении допустим 10 горизонтальных линий, они плавно повысятся до своего только что сгенерированного числа и станут появляется чаще. В итоге мы получаем дорогу усеянной ускорениями и лазерами, игроку придется проскользнуть через все лазеры на большой скорости. Допустим это длится 20 линий, далее в течении 10 линий старые значения сбрасываются а новые случайно выбранные повышаются. Исключение сама дорога, она меняется всегда. В итоге получается кучу разных комбинаций, при которых уровень выглядит и играется по разному, во время одной игры.

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

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