Всем привет! Сегодня отправляемся исследовать новую MMORPG — Ashes of Creation в Alpha 2. Погрузимся в её удивительный открытый мир, раскроем тайны и насладимся приключениями вместе. Хотите увидеть вашу любимую игру на моём стриме? Оставьте название в комментариях, возможно, именно она станет следующим хитом эфиров. Увидимся онлайн! #AshesOfCreation #Ромарик #Romarik #MMORPG #OpenWorld Стрим доступен на: Вк лайв, Рутуб, Ютуб, Траво и Твич
🎯Студия Liquid Swords, которую основал Кристофер Сундберг — отец знаменитой серии Just Cause, представила свой первый проект. Игра называется «Samson: A Tyndalston Story».
Это мрачный нуарный боевик, где за каждый поступок придётся отвечать. Выход запланирован на начало 2026 года.
👉 Dessly стремится сделать ваш игровой опыт, а также пополнение Steam кошелька ещё более комфортным и увлекательным.
Суть игры — давление и тяжёлые решения
🎯Главный герой Самсон возвращается в Тиндальстон — город, который сделал его жёстким, но так и не простил. Здесь нет места милосердию, только сила, скорость и выдержка.
Каждый бой — это борьба на выживание, где удар должен либо сломать врага, либо сломать тебя. Игрока ждут узкие переулки, грязные крыши и подпольные логова, созданные для стремительного движения, а не для любования видами.
Этот город формирует ваш стиль: как вы дерётесь, карабкаетесь, загоняете противника в угол и исчезаете.
Любое ваше решение навсегда меняет отношение к вам в этом мире, и возможности отменить выбор нет — промедление только ухудшает положение.
Почему к этой игре присматриваются
1/12
🎯Samson: A Tyndalston Story — не случайный проект. Студию Liquid Swords создали ветераны индустрии, работавшие над Just Cause и Mad Max. Их опыт в создании зрелищного экшена и больших миров теперь направлен на что-то более сфокусированное и личное.
Как говорит сам Кристофер Сундберг, игра — это ответ на современные реалии индустрии. Команда сделала проект с характером, осознанно и без лишнего. Они обещают компактный, жёсткий сюжет, который захватит с первых минут.
Где и когда можно будет поиграть
🎯Отправиться в это мрачное приключение смогут владельцы ПК. Игра выйдет в Steam и Epic Games Store в начале 2026 года.
Пока на странице в Steam заявлена только английская локализация, но ситуация может измениться к релизу.
Вобщем настало время все это безобразие покрыть текстурами. Идея в том, что надо как-то покрывать все это разными текстурами, а если точнее, то делать привязку по высотам (для начала) . И вот тут я решил, что надо сразу заложить оптимизацию, ибо множество текстур для разных высот да плюс еще карты нормалей и все такое, вобщем надо чтобы не тормозило. Было приято решение передавать в шейдер не отдельные текстуры а массивы текстур. Итак, первая проблема, надо написать механизм который создаст карту слоев, на основании настроек привязки к высотам. Я решил, что буду делать одну большую текстуру и передавать в нее данные смещения для текселей и размер области выборки тайла. Это позволит передать в шейдер сразу всю карту. Так, значит скрипт в Unity генерирует текстуру R8, т.е. это одноканальное изображение с 255 значениями на пиксел, что по моей задумке будет указателем на индекс текстуры в массиве. Ну или проще говоря, мы будем делать семпл каждого текселя в слое с индексом взятым из карты слоев.
Аналогичным образом, очевидно надо строить и карту смешивания, потому что без смешивания мы видим резкие переходы. Тут меня ждал небольшой сюрприз. Дело в том, что мне надо как-то передать в шейдер, где "заканчивается" область одного слоя, и начинается область другого. Пока я остановился на том, что буду так-же генерировать еще одноканальную R8 текстуру (карту смешивания) которая будет содержать данные о "силе" пикселя, наверное это просто аналог альфа-канала. Значит, я делаю семпл для конкретного текселя из карты смешивания, и если значение больше 0, то делаю интерполяцию с нижним слоем... Ну это в теории, на практике пока это все еще не заработало
Все эти сложности и хитрости, мною задуманы исключительно ради оптимизации семплов, потому что я к примеру пробовал делать подобное на стандартном Terrain от Unity, и тормоза выхвали не слабые)
АААААА, точно, я ж еще и стохастическое семплирование прикрутил, так что это еще +3 семпла на тексель для текстуры и карты нормалей. так что думаю я еще отказаться от интерполяции между слоями, в пользу дезеринга ( https://ru.wikipedia.org/wiki/Дизеринг )
Итак, продолжаю строить систему построения ландшафта по реальным геоданным. Ну точнее можно сказать что по сути по любым данным о высотах.
Напомню, что в качестве исходных данных взята область карты высот из геоданных, которая по сути является матрицей значений int16. В предыдущих моих постах я описывал проблемы и решения связанные с конвертацией и обработкой данных. Сейчас же я пришел к тому, что строю сетку ландшафта динамически, по этим данным. Как очередной этап разработки этой системы я решил что надо строить ландшафт через динамическою загрузку только части карты высот. Итак сейчас моя система именно это и делает, система строит ландшафт плиточным методом, центр это всегда 9 плиток, они образуют некий буфер высокой детализации, а за ними система уже упрощает уровни детализации сеток по экспоненте. В настройках можно указать количество LOD уровней, размер семпла карты высот, и на какое расстояние (размер плитки) натягивать этот семпл. Итак система умеет перестраивать плитки по мере движения игрока, асинхронно удаляя, создавая или меняя детализацию. Таким образом, эта система может принимать сколь угодно долго семплы карты высот, что позволяет построить практически бесконечный мир.
И вот тут всплыл мой старый, любимый момент с ограничением современных систем - в какой-то момент, размер координат положения игрока становится столь большой, что координатам не хватает точности дробной части, и это приводит к забавному "дрожанию" игрока, ведь его "положение" немного обрезается. И для этого мне пришлось пойти на довольно распространенный фокус - смещать весь мир обратно к нулю координат. Т.е. при превышении некоего порога удаления, все, включая игрока просто теоепртируется назад. Это относительно дешевая операция, но есть "нюанс", игрок и ландшафт телепортируются не 100% синхронно. Это проявляется в виде одного-пары кадров "затекстурного" мира. Конечно я в тестах использовал очень большую скорость игрока, и конечно же, порог смещения можно поставить на предел для Unity - 10000 что уже будет вызывать сдвиг крайне редко, но все-же будет, и потому надо будет придумать что-то. Не знаю, Может у вас есть идеи???
На видео можно посмотреть некоторые результаты. Плюс я привел пример "дрожания игрока" котjрое проявляется на старой реалbзизации моей системы ландшафта
Продолжаю работу над своим проектом Alone on the Lost Isle — игрой в жанре выживания. Сегодня решил показать кусочек природы острова — момент, где олени и зайцы спокойно бродят по лесу, а вокруг слышны только звуки ветра и птиц.
Хочется передать чувство уединения и жизни, которая продолжается независимо от игрока. Без экшена, просто немного тишины и атмосферы.