НеДевЛог#1. Поделия новичка в Unreal Engine
Есть такая болезнь — хотеть делать игры. Когда-нибудь ей присвоят МКБ.
Вот я тоже инфицирован этой заразой. Никому не пожелаешь.Теперь я грежу корованами, которых можно было бы пограбить.
Но на самом деле нет. Почти нет.
Пару лет назад (или это уже было больше?) молодые и горячие с ДТФ собрались делать свою игру. Как это принято собралось с пару десятков интересующихся в Дискорде, попитчили свои идеи. И если вкратце — ничего из этого не вышло.
Однако была одна идея, которая меня зацепила и с того времени не выходит из головы.
Пользователь с ником GetToDaChoppa представил свою концепцию “девочка с большим мечом”.
У меня же была идея 3d-платформера с головоломками в сеттинге древней Месопотамии.
У других свои идеи были, конечно же.
Но как я и сказал — ничего не вышло.
Шли годы, я нарабатывал опыт в геймдизайне. Бесформенная идея туда-сюда формировалась в некое видение. Сейчас оно переливается в концепт-док. Но не будем о нём. У меня есть кое что получше концепт-дока для сегодняшего блога — геймфокус!
Линейная адвенчура от третьего лица с элементами платформинга, головоломками и простой боевой системой в сеттинге Древней Месопотамии.
И вот настал тот самый момент, когда всё же решился попрототипировать свой гештальт. Ведь чтобы проверить насколько твои идеи релевантны — их сначала надо проверить.
Есть идея — есть Анрил, подумал я. Блюпринты даны свыше именно для таких дурачков, как я.
Изучив базу по хорошему курсу, перво-наперво я попытался реализовать механики, связанные с платформингом. И если со всякими переключателями, двигающимися платформами по тригеру/времени/и ещё чёрт знает чем и прочим стандартам жанра особо не возникало сложностей, то вот с системой передвижения возникли нюансы.
Вооружившись гуглом, ютубом и гайдами различной паршивости, мои исследования и попытки реализовать такие классно звучащие механики как vaulting, manting, climbing — больше походили на результат стучания курицы-слепошары по клаве.
Но я не унывал. Улучшал свой макаронный код, добавлял больше различных проверок. Чуточку утонул в анимациях. В них действительно легко можно утонуть — это целый отдельный мир.
Параллельно пытался реализовать боевую систему. Сначала я подумал, что девочка не должна таскать боевой меч — он же невыносимо тяжёлый. И он должен парить рядом как компаньон. Можно было бы не только драться этим парящим мечом, но и стрелять им. Это бы решило проблему отсутствия нужных анимаций, да и в целом с ними долго засиживаться и пытаться сделать красиво.
Как уже догадались — вышло не очень.
Но как бы то ни было, боевую систему надо было проверять. Благо простых и тупеньких ботов у меня в избытке.
Получив некий отрицательный результат как по “паркурингу”, так и боевой системе — пришлось всё выбрасывать и делать с нуля. Отрицательный опыт — он тоже опыт.
Не буду отнекиваться, что снова обратился к ютубу и гуглу в поисках различных решений на те проблемы, которые меня не устраивали. Я не то, чтобы программист, да и башка совсем не варит в этом направлении. Понять основы ООП — это одно. А вот как системно подойти к решению возникшей проблемы — это совсем другое.
Так или иначе я нашёл парочку неплохих гайдов и интегрировал их к себе в проект.
Одно из главных правил гайдов в ютубе — не копируй их целиком. Гайды по большей части служат некоей наводкой на правильный ход мысли, если у тебя вообще нет идеи как реализовать ту или иную механику. Любые готовые решения необходимо адаптировать под себя, особенно если они написаны тяп-ляп, лишь бы работало. А уж поверьте — они точно написаны тяп-ляп.
В любой момент "в гайде" может произойти вот такая несуразность, как на скрине ниже. В компоненте, и так уже привязанный к PlayerCharacter. И это в функции, которая будет вызываться каждый раз при начале пуша объекта персонажем. Но кто мешает получить ссылку в переменную на бегинплее один раз? Никто. Поэтому нужно в первую очередь осознавать что делают в гайде, а не копировать его в тупую.
Следующий месяц по сути я ничего нового не делал. В основном переделывал и рефакторил. Рефакторил и переделывал. А так же постигал кунг-фу анимаций, их блендинга, моушин варпинга, стейт-машин и прочее. Тонул в анимациях, короче говоря. Цель была сделать более отзывчивую, импактную боевую систему. Она хоть и заложена не сложной, но всё же играться в это должно…. хотя-бы как-то, чем вообще никак. Поэтому пришлось раскошелиться в сторе на ассет-пак, чтобы хоть с чем-то можно было работать.
В новой итерации это всё ещё у нас маленькая девочка с большим мечом. И когда она махает этим мечом должен ощущаться вес этой огромной “лопаты”. Поэтому добавлены различные анимации переходов и эти транзишены не скипаемые, скорость самих анимаций снижена до 0.85-0.9. Но теперь встаёт другая проблема — динамика начинает хромать. И чтобы это проверить — нужно городить новых ботов, которые могут и практикуют ближний бой. Пока это в планах.
А вот что ещё остаётся — так это возможность “стрелять” мечом. В планах, естественно, более долгая перезарядка и невозможность использования меча во время этой самой перезарядки. И очень хочется реализовать механику, что, если меч после выстрела втыкается в определённую поверхность, — по нему можно взобраться. Губа не дура, словом.
К счастью, эту механику уже можно будет интегрировать с клаймбингом. Сейчас он выглядит если не завершённым (относительно прототипа, конечно же), то как минимум вполне прилично.
Подытожив всю писанину сверху — игры нет, даже прототипа. Это долгий итерационный процесс, особенно если ты новичок. Именно поэтому я не стал давать конкретные кейсы о чём игра и какие в ней планируются механики. Что толку о них разглагольствовать, если при процессе прототипирования многие из них уйдут под нож или будут сильно изменены. На текущий момент я исхожу из короткого геймфокуса.
Но если кому интересно на что игра похожа:
Эдакий сплав SCARF и Journey с простой боевой системой. Действие которой происходит в постапокалиптическом мире, где главная героиня в руинах цивилизации, похожей на древнюю Месопотамию, пытается найти способ сбежать из своего мёртвого мира.
На текущий момент всё делается в одиночку и энтузиазме. Но от помощи кого бы я не отказался, так это 2д артиста, который не против за идею набросать несколько скетчей в качестве концепт-арта некоторых механик. Всё же хотелось бы иметь некоторое цельное визуальное видение, а не собранные рефы то тут, то там.
А на сегодня всё. Всех благ.
PS: GetToDaChoppa отзовись, если ты это читаешь. Твои концепт-арты я использовать не буду, без твоего разрешения. Они скорее для меня крепкий референс самой идеи.