Dreyk12

Пикабушник
поставил 8605 плюсов и 3002 минуса
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
5 лет на Пикабу
11К рейтинг 24 подписчика 2675 комментариев 10 постов 2 в горячем
55

Моя пошаговая стратегия на Unreal Engine ч.2

В Моя пошаговая стратегия на Unreal Engine ч.1 я начал рассказывать о реализации кода, но совсем забыл рассказать про мир игры и концепции.

Моя пошаговая стратегия на Unreal Engine ч.2 Gamedev, Инди игра, Разработка, Unreal Engine 4, Пошаговая стратегия, Длиннопост

Немного лора:

У каждой расы в Deformity есть свой главный грех. Именно он мотивирует расы на дурные поступки. По нему демоны находят "своих" и предлагают помощь в обмен на веру и поклонение.
Феугея - континент-родина эльфов. Они появились и жили на нем сотни тысяч лет в одиночестве. Считая себя единственным оплотом разума в мире они всё сильнее растили Гордыню.
Гномы приплыли на континент пару тысяч лет назад. Когда-то огромные, под 3 метра ростом воины, в постоянной нехватке привычной еды и ресурсов, мельчали и воспитывали в себе Жадность.
Люди - самая молодая раса, приплыла на континент около пятисот лет назад. Агрессивные охотники, эксплуатирующие природу, они всё ещё не утратили звериный Гнев.
С момента прибытия людей 3 расы жили в мире, но гномы чувствовали угасание своей расы, поэтому методично планировали войну.

Ключевой механикой игры являются демонические дары. У каждой расы есть свой набор даров, связанных с их грехом. Так, например, выглядят дары людей:

Моя пошаговая стратегия на Unreal Engine ч.2 Gamedev, Инди игра, Разработка, Unreal Engine 4, Пошаговая стратегия, Длиннопост

Приняв дар единожды, раса со временем будет все сильнее полагаться на помощь своего покровителя, и постепенно терять свои собственные силы. Поэтому любая империя, заключившая договор с демоном, постепенно придет в упадок, но может получить значительное преимущество в ближайшей войне. Дары делятся на 4 типа:
1. Общий дар на империю (1 из 2 на выбор) - он же её проклятье. Ограниченно повышает одни характеристики, и бесконечно долго уменьшает другие. Остальные дары ничего не уменьшают.
2. Слабые дары для всех войск (2 из 4) - могут немного изменить стиль игры.
3. Сильные дары для героя (3 из 6) - значительно усиливают героя, позволяя переживать столкновения больших армий и наносить большой урон.
4. Очень сильные дары для конкретных видов войск (2 из 4) - позволяют значительно изменить баланс юнитов, усилив их неспецифическими функциями. Так например у гномов:

Моя пошаговая стратегия на Unreal Engine ч.2 Gamedev, Инди игра, Разработка, Unreal Engine 4, Пошаговая стратегия, Длиннопост

Конница почти перестанет страдать от пик, но всё ещё будет страдать от магии. А эльфы:

Моя пошаговая стратегия на Unreal Engine ч.2 Gamedev, Инди игра, Разработка, Unreal Engine 4, Пошаговая стратегия, Длиннопост

Смогут прожигать тяжело бронированные отряды.
За счёт этого можно будет удивлять других игроков неожиданными композициями войск и тактиками.

P.S. Хотя на счёт других игроков - после своего первого поста я дал своим друзьям бета-версию, и сел наблюдать за их сражением в дискорде. Помимо кучи мата из-за специфического баланса, я услышал от них жалобы на множество ошибок и недоработок. Поэтому последние два дня только и делал, что исправлял их) Это был мучительный кодинг-марафон с абсолютно неожиданными развязками. Это то, что они нашли за пол дня игры:

Моя пошаговая стратегия на Unreal Engine ч.2 Gamedev, Инди игра, Разработка, Unreal Engine 4, Пошаговая стратегия, Длиннопост

Единственное, что радует - баги встречаются всё реже) Я дофикшу их и обязательно вернусь с рассказом о реализации какой-нибудь системы)

Показать полностью 5
241

Моя пошаговая стратегия на Unreal Engine ч.1

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

Я очень люблю стратегии, и переиграл в огромное количество, но всё время меня разрывали две крайности - RTS и пошаговые стратегии.
RTS крайне привлекательны внешне и очень динамичен. Многие из них связаны с механиками анти-юнитов, интересной экономической системой. Но что меня всегда в них убивало - постоянная необходимость кликать. И чем выше уровень игры, тем быстрее и больше нужно контролировать юнитов, в идеале - каждого юнита под вашим руководством. На высоком уровне обычно почти все стратегии уже известны, и людям остается только применить шаблон и перекликать оппонента.
С другой стороны пошаговые стратегии. Вы вдумчиво выстраиваете свою империю и неспешно сражаетесь с соперником. Прекрасные игры, для моих кривых рук подходящие значительно больше.  Но вот их длительность - она действительно мешает. Хочется прийти с работы, сыграть 1-2 игры и расслабиться. В тоже время такие великолепные игры как Civilization и Stellaris растягивают сессию 8-10 часов на несколько дней. Многие такие сессии не доигрываются и часто не хочется стартовать новые с этим понимание.
Поэтому я попытался собрать всё лучшее, что мне нравится в играх в одну стратегию. Сделать её с интересной экономикой и системой боя, но в то же время ограничить время сессии до 1-2 часов. И с этими мыслями я начал свой проект. Моими кумирами стали:
Age of Empies 2: Невероятно крутая экономическая система и механика анти-юнитов.
HoMM: На мой вкус лучшая тактическая система.
Civilization 6: Строительство на карте мира, влияющее на бой и технологии.
Nothgard: Отличная система секторов с ограниченным строительством.

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

Моя пошаговая стратегия на Unreal Engine ч.1 Gamedev, Инди игра, Длиннопост, Разработка, Unreal Engine 4, Пошаговая стратегия, Видео

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

Моя пошаговая стратегия на Unreal Engine ч.1 Gamedev, Инди игра, Длиннопост, Разработка, Unreal Engine 4, Пошаговая стратегия, Видео

Чтобы оптимизировать алгоритм для генерации, пришлось помучаться, но в итоге даже очень большая карта генерировалась за 10-15 секунд на моем ведре.
Саму систему боя я решил организовывать между двумя секторами. Каждый игрок или команда, выставляют своих юнитов в пределах заданных клеток. Чтобы это нормально работало в мультиплеере, пришлось поделить сектор на количество игроков в нём.

Моя пошаговая стратегия на Unreal Engine ч.1 Gamedev, Инди игра, Длиннопост, Разработка, Unreal Engine 4, Пошаговая стратегия, Видео

Вроде всё работает верно. Осталось только насадить поверх карты растений, заменить текстуры и получить уже неплохой вид)  Хотя была ещё одна деталь, я хотел, чтобы карта выглядела рвано, поэтому просто удалил крайние сектора, чтобы получить неровный край.

Моя пошаговая стратегия на Unreal Engine ч.1 Gamedev, Инди игра, Длиннопост, Разработка, Unreal Engine 4, Пошаговая стратегия, Видео

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

Показать полностью 4

6:10 Москва, Кузьминки

Доброе утро, Сергей Семёнович, что там по эпидемиологической ситуации?

6:10 Москва, Кузьминки Коронавирус, Сергей Собянин, Метро

P.s. согласно официальной статистике по выявленным случаям, в каждом вагоне по крайней мере 2 больных.

Показать полностью 1

"Внимание! В здании пожар!"

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

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

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

"Внимание! В здании пожар!" Пожар, Поликлиника, Реакция, Вертикальное видео, Видео, Люди, Негатив

P.S. Всё обошлось - оказалось, что в подвале рабочие варили трубы.

Показать полностью 1

Кулинарное поздравление с 8 марта

Решил я поздравить своих родных с 8 марта и приготовить салат цезарь. Ну и запилить сюда рецепт. Для салата я использовал:
Салат айсберг

Куриные бедра
Помидоры черри
Багет
Сыр пармезан
Оливковое масло
Яичные желтки
Французская горчица

Лимон
Анчоусы

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

Кулинарное поздравление с 8 марта Салат Цезарь, 8 марта, Рецепт, Поздравление, Длиннопост

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

Кулинарное поздравление с 8 марта Салат Цезарь, 8 марта, Рецепт, Поздравление, Длиннопост

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

Кулинарное поздравление с 8 марта Салат Цезарь, 8 марта, Рецепт, Поздравление, Длиннопост

Хорошенько взбил ингредиенты блендером. Дальше я вливал масло и взбивал до тех пор, пока соус не стал густым. По консистенции он должен быть примерно как не слишком густая сметана.

Кулинарное поздравление с 8 марта Салат Цезарь, 8 марта, Рецепт, Поздравление, Длиннопост

Дальше промыл, порезал салат и положил просушиться на салфетку. Помидоры черри порезал на 4 части. Ну вот и всё. Осталось только собрать салат.
Выложил айсберг в пару слоев на тарелку. Сверху положил кусочки курицы, черри и сухарики. Взял овощечистку (а вы думаете зачем она ещё нужна?) и сверху посыпал салат пластинками пармезана. Ну и конечно полил сверху соусом. Блюдо готово.

Кулинарное поздравление с 8 марта Салат Цезарь, 8 марта, Рецепт, Поздравление, Длиннопост

Пользуясь случаем хочу поздравить всех женщин с вашим международным днем и пожелать больше приятных сюрпризов)

Показать полностью 5

Проблемы с Youtube

Сегодня зашел на Youtube и обнаружил новый дизайн.

Проблемы с Youtube YouTube, Дизайн, Проблема

Раньше рекомендуемое отображалось в аккуратной таблице с 10-12 видео, но теперь это больше похоже на издевательство, на котором невозможно найти интересное рекомендуемое. Если кто-нибудь столкнулся с похожей проблемой, буду крайне признателен за описание её решения. Большое спасибо.

-36

Не стоит даже пытаться

Никогда, слышите, никогда не крутите колёсико с зажатым Ctrl на рабочем столе. Этого точно не следует делать.

-27

Сестра выпекала куличи

На последний не хватило белой глазури. Вспомнилась Америка 20-х годов...

Сестра выпекала куличи Пасха, Кулич, Пасхальные куличи, 1920-е

Время ох*ительных историй прошло

Время ох*ительных историй прошло
-23

Мне взломали почту и стим

Мне взломали аккаунты, но я успел их вернуть. Стим сообщил мне ip взломщика. 176.111.36.137 Лига добрых хакеров, помогите наказать взломщика.
Мне взломали почту и стим Мне взломали аккаунты, но я успел их вернуть. Стим сообщил мне ip взломщика. 176.111.36.137  Лига добрых хакеров, помогите наказать взломщика.
Отличная работа, все прочитано!