💡Освещаем процесс разработки тактического рогалика про Вьетнамскую войну

💡Освещаем процесс разработки тактического рогалика про Вьетнамскую войну [club13267008|SOG]. 📌 Генерация карты Генерация карты была первой задачей, когда мы начали работу над проектом. Прошел уже год с того момента, а исходную логику генерации никто так и не трогал. При этом наши требования к карте заметно изменились. Так что пришло время улучшить этот аспект игры! Давайте погрузимся в детали: Изначально карта была набором случайно разбросанных тайлов, а настроить можно было только их примерное количество. Форма карты была скучным, строгим квадратом, а когда герой достигал её конца, за ней начиналась трансцендентная пустота, что заметно выбивало из погружения. Наконец, все эти проблемы дозрели до момента своего решения. Для генерации новой карты был использован шум Перлина, а также куча надстроек, которые еще больше рандомизируют результат. Если вкратце, то сгенерированый шум, это сетка заданного размера, каждая ячейка которого является числом от 0 до 1, а значения чисел плавно переходят от одной ячейки к другой. Мы задаем типы тайлов для разных числовых промежутков и таким образом получаем карту. Например, все числа от 0.7 до 0.8 должны быть джунглями, а так как соседние ячейки имеют схожие значения, то мы получаем несколько одинаковых тайлов подряд, которые образуют лес джунлей. Таким образом, мы имеем контролируемую генерацию карты с правдоподобным расположением тайлов, способным образовывать корректные биомы. Кроме того, данный подход позволил добиться случайной формы карты, а значит игровые сессии не будут похожими! На гифках вы можете сравнить новую и старую версии генерации игровой карты. Для наглядности, вместо настоящих тайлов были использованы цветные квадраты: — серый - границы карты, — разные оттенки зеленого - трава, джунгли, рисовые поля, — коричневый - хижины, — красный - туннели, — остальные угадывайте сами :) #в_работе #gamedev #война_во_вьетнаме #roguelike #рогалик #pixelart #игры #vietnam #sog #процесс #генерация_карты
Back to Top