Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Поднимайтесь как можно выше по дереву, собирайте цветы и дарите их близким.
Вас ждут уникальные награды и 22 выгодных промокода!

Пикаджамп

Аркады, Казуальные, На ловкость

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Unity

С этим тегом используют

Gamedev Разработка Инди Инди игра Игры YouTube Компьютерные игры Все
992 поста сначала свежее
3
RaceMoon
RaceMoon
11 месяцев назад
pikabu GAMES

Демо-версия головоломки Hugger-mugger: Mystery of the mansion⁠⁠

Привет, Пикабу! С последней публикации прошло 5 месяцев, и у меня для вас кое-что есть. Предыдущая игра (почитать можно здесь Разработка игры в жанре Tower Defence ) убрана в долгий ящик: сделав демо-версию я понял, что хочу получить больше опыта в Unity и вернуться к ней позже, чтобы добавить больше плюшек и фишек. Поэтому я взялся за разработку 3Д головоломки от первого лица.

Для ЛЛ: демо-версия игры готова и опубликована на VKplay и Itch.io, ссылки в конце поста.

Hugger-mugger: Mystery of the mansion

При разработки демо я вдохновлялся такими играми как Hello Neighbor и We Here Together. Я хотел улучшить навыки в музыкальных эффектах, в частицах, научиться реализовывать цепочки взаимодействия объектов, анимации. Так же хотел понять, куда сейчас можно выгружать игры и как в целом это делать. Начал я с разработки примитивного ИИ: враги бродят по лабиринту, при виде игрока бегут за ним, когда теряют из виду - возвращаются к маршруту. У меня это получилось, но в демо не вошло: слишком мало пространства в сцене, и эта механика просто выбешивала бы игрока. Я оставил ее на будущее.

Демо-версия головоломки Hugger-mugger: Mystery of the mansion Инди игра, Gamedev, Unity, Разработка, Головоломка, Квест, Раздача, Демоверсия, Загадка, 3D, Инди, Длиннопост

Популярная загадка с выключателями

Демо-версия головоломки Hugger-mugger: Mystery of the mansion Инди игра, Gamedev, Unity, Разработка, Головоломка, Квест, Раздача, Демоверсия, Загадка, 3D, Инди, Длиннопост

Ключи, ключи, больше ключей!

Демо-версия головоломки Hugger-mugger: Mystery of the mansion Инди игра, Gamedev, Unity, Разработка, Головоломка, Квест, Раздача, Демоверсия, Загадка, 3D, Инди, Длиннопост

Остается гадать, что из этого поможет выбраться из подвала

Демо-версия головоломки Hugger-mugger: Mystery of the mansion Инди игра, Gamedev, Unity, Разработка, Головоломка, Квест, Раздача, Демоверсия, Загадка, 3D, Инди, Длиннопост

БАДАБУМ!

И вот, спустя несколько месяцев я завершил демо-версию игры. Суть проста: вам нужно решать загадки и головоломки взаимодействуя с окружением. В игре полностью рабочий UI, звуки, анимации. На баги демка отполирована. Модели я брал из магазина ассетов Unity, звуки из сайтов с бесплатными звуками. Среднее время прохождения - 30 минут. Ну и добавлена офигенная пасхалка, которая точно многим понравится:)

Буду рад услышать мнение об игре :)

Демо бесплатное. Ссылки для скачивания:

VKplay: https://vkplay.ru/play/game/hugger-mugger_mystery_of_the_man...

Itch.io: https://racemoon.itch.io/hugger-mugger-mystery-of-the-mansio...

Новости о проектах в ТГ: https://t.me/RaceMoonGames_rus

P.S. Планирую публиковать посты раз в неделю-две. Расскажу об интересных проблемах и багах, с которыми столкнулся во время разработки, о том как и куда выложить свой проект, выложу статистику о загрузке демо-версии. Сейчас совместно с дизайнером начинаем разработку еще одной игры, так же о ней скоро расскажу)

Показать полностью 4
[моё] Инди игра Gamedev Unity Разработка Головоломка Квест Раздача Демоверсия Загадка 3D Инди Длиннопост
2
5
VirginDefence
VirginDefence
11 месяцев назад
Лига Разработчиков Видеоигр

INCEL SIMULATOR: небольшая щитпост игра трёх студентов про девственность, инцелов и пасты с двача⁠⁠

INCEL SIMULATOR: небольшая щитпост игра трёх студентов про девственность, инцелов и пасты с двача Virgin and Chad, Virgin, Virgin Galactic, Gamedev, Инди, Unity, Разработка, Инди игра, Длиннопост

На связи Virgin defence с новой игрой INCEL SIMULATOR!

Мы — несколько студентов одного богом забытого ВУЗа, и в свободное от «гранита учебы» время, решили сделать небольшой проект. Мы подумали, что для первого раза подошло бы что-то не сложное, простое. Поскольку в новостях в последнее время часто мелькает Поднебесный, мы решили, что это то, что там нужно. Итак, мы придумали идею, распределили наши обязанности и… начали делать.

INCEL SIMULATOR: небольшая щитпост игра трёх студентов про девственность, инцелов и пасты с двача Virgin and Chad, Virgin, Virgin Galactic, Gamedev, Инди, Unity, Разработка, Инди игра, Длиннопост

INCEL SIMULATOR — это визуальная новелла, оформленная под карточную игру, в которой вы играете за Алексея Подне... Подземельного. Несмотря на все попытки, у Алексея никогда не было девушки, кажется, сам мир противится этому. Впрочем, может ещё не поздно всё изменить? Вопрос лишь в том, что каким путем пойти: вновь и вновь пытаться прокачать тело и дух или же стать королем инцелов?

INCEL SIMULATOR: небольшая щитпост игра трёх студентов про девственность, инцелов и пасты с двача Virgin and Chad, Virgin, Virgin Galactic, Gamedev, Инди, Unity, Разработка, Инди игра, Длиннопост

Все что вам надо, свайпить карты, прямо как в тиндере, от чего зависит исход сюжета в виде трёх рутов. Станет ли Алексей героем очередной пасты с двача? Королем всех инцелов? А может быть... наконец найдет девушку? Зависит только от воли игрока.

Мы вдохновлялись не только идеями Поднебесного, но и пастами с двача и другим подобного рода треш контентом. Для фанатов таких историй мы подготовили специальный рут)

INCEL SIMULATOR: небольшая щитпост игра трёх студентов про девственность, инцелов и пасты с двача Virgin and Chad, Virgin, Virgin Galactic, Gamedev, Инди, Unity, Разработка, Инди игра, Длиннопост

А ещё мы решили, что у нас будет свой этакий Джонни Сильверхенд. Его роль в сюжете будет занимать секретный персонаж)

INCEL SIMULATOR: небольшая щитпост игра трёх студентов про девственность, инцелов и пасты с двача Virgin and Chad, Virgin, Virgin Galactic, Gamedev, Инди, Unity, Разработка, Инди игра, Длиннопост

Вас ждет пусть небольшая, но проработанная история, с интересными выборами и последствиями, своего рода стоическая драма про героя нашего времени!

А пока просим милостливо добавить нашу игру в вишлист :)

Показать полностью 4
[моё] Virgin and Chad Virgin Virgin Galactic Gamedev Инди Unity Разработка Инди игра Длиннопост
5
1
aks2dio
aks2dio
11 месяцев назад
Серия Автостопом по мультиплееру

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер⁠⁠

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

Lineage II

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

1. Введение

2. -> Синглплеер и Мультиплеер

3. ...

Что считать мультиплеером

Для начала нужно определить, что далее будет пониматься под словом "мультиплеер". Зафиксируем:

Мультиплеер — взаимодействие между собой множества игроков, которые непосредственно воздействуют друг на друга.

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

Аналогично кланы, чаты, друзья и прочие социальные механики не будут попадать под приведённое определение мультиплеера.

Клиент-серверное взаимодействие, всяческий LiveOps и облачные механики тоже не делают игру мультиплеерной — это используют и многие сервисные игры, которые могут быть полностью синглплеерными.

Где отличия от синглплеера

Разница между мультиплеерным и синглплеерным проектами, если говорить про кодовую базу, не носит глобального характера. Чтобы понять, на что обращать внимание для определения типа проекта, следует обозначить какие-то составные части.
Среднестатистический игровой проект, в т.ч. и мультиплеерный, с технической точки зрения можно представить в виде комбинации следующих крупных блоков:

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

Схема игрового проекта

  • CoreGame: основной игровой процесс, главные игровые механики, которые формируют целевой игровой опыт и определяют жанр.
    Примеры: механика управления автомобилем, логика гоночного процесса, работа ИИ противников, система разрушаемости и пр.

  • MetaGame: более широкий контекст, который вносит новые возможности и механики, не направленные напрямую на достижение основной цели игры в рамках CoreGame. Обычно они направлены на увеличение степени вовлечения игрока, разнообразие взаимодействия и мотивацию продолжать играть и возвращаться в игру.
    Примеры: тюнинг авто, прокачка, дополнительные задания, внутриигровая экономика, мини-игры, социальные механики и пр.

  • Infrastructure: технические "обвесы" и подключаемые модули.
    Примеры: звуковой движок, физика, работа с удалёнными узлами для социального взаимодействия и хранения данных, системы мониторинга и аналитики и пр.

  • Runtime: общая архитектура проекта, "клей" для всех блоков.

Внутри эти блоки могут делиться на другие более мелкие произвольные части, меняющиеся от проекта к проекту.

Ключевое отличие мультиплеерного проекта от синглплеерного, как правило, кроется в области CoreGame.
Здесь чаще всего игроки и получают возможность для непосредственного воздействия друг на друга. Многие мультиплеерные игры, когда не могут найти достаточное кол-во игроков для новой игровой сессии, превращаются в этом месте в синглплеерные: игрок в одиночестве или в сопровождении ботов болтается в основном игровом цикле.
Здесь проявляются знаковые отличия в реализация для обеспечения многопользовательского режима. Если потребуется синглплеерный проект превратить в мультиплеерный (и наоборот), то править придётся преимущественно CoreGame.

Другие блоки тоже могут быть задеты. Например, в MetaGame могут потребоваться лобби, поиск игроков или выбор сервера. А в Infrastructure может появиться больше сервисов, систем и удалённых вычислительных узлов, которые будут требовать координации. Но об этом позже.

Классификации мультиплеера

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

По взаимодействию:

  1. Соревновательные / PvP / Players versus Players: игроки соревнуются друг с другом, командами или поодиночке.

  2. Кооперативные / PvE / Players versus Environment: игроки объединяют усилия для борьбы с врагами, управляемыми компьютером.

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

PvP: CS 2. PvE: Alien Swarm

По балансу:

  1. Симметричные: все участники имеют примерно равные возможности и цели.

  2. Асимметричные: предлагаются разные возможности и цели для разных сторон.

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

Симметричные: Unreal Tournament III. Ассиметричные: Left 2 Dead 2

По времени жизни мира:

  1. Массовые многопользовательские онлайн-игры / MMO / Massively Multiplayer Online Games: тысячи игроков взаимодействуют одновременно в одном постоянно существующем виртуальном мире.

  2. Сессионные: небольшое число игроков взаимодействуют в одном матче или сессии, которые каждый раз начинаются заново.

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

MMO: World of Warcraft. Сессионные: World of Tanks

По процессу:

  1. Синхронные / Realtime: все игроки единовременно вовлечены в единый игровой процесс и взаимодействуют друг с другом в одном и том же виртуальном мире.

  2. Асинхронные: игроки взаимодействуют друг с другом не в реальном времени, а по очереди.

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

Синхронные: Fortnite. Асинхронные: Worms W.M.D

По технической реализации:

  1. Локальные.

  2. Сетевые.

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

Локальные: Mortal Kombat 11. Сетевые: Team Fortress 2

Локальный и сетевой мультиплеер

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

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

Hotseat: Heroes of Might and Magic 3. Splitscreen: Blur. Общий экран: LEGO Star Wars

При таком режиме отличий от синглплеера в техническом плане практически нет. Есть несколько источников ввода: они или обрабатываются одновременно, или поочерёдно. Аналогично есть несколько режимов вывода. Грубо говоря, локальный мультиплеер вносит лишь незначительные корректировки в слой представления приложения.

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

Если в локальном варианте существовало единое общее игровое состояние, и нужно было перекладывать информацию в пределах одной и той же быстрой оперативной памяти, то в сетевой реализации каждое устройство имеет свою копию игрового состояния, и приходится для синхронизации постоянно обмениваться данными между устройствами, которые находятся на огромном расстоянии друг от друга.

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

Упрощённая схема локального взаимодействия

Такие условия априори вносят больше хрупкости и значительно бóльшие временные задержки в процесс обновления данных. Ситуация усложняется ещё и тем, что все игроки находятся в разных условиях: у кого-то соединение быстрее, у кого-то слабее. С такими вводными сложно обеспечивать одинаковое игровое состояние на всех устройствах и координировать действия игроков между собой.

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер Разработка, Обучение, Unity, Gamedev, Мультиплеер, Singleplayer, Блог, Длиннопост

Упрощённая схема сетевого взаимодействия

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

Именно сетевой мультиплеер и будем рассматривать дальше и детальнее разбираться с тем, что приходится учитывать и делать для его реализации.

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

Статьи также доступны на площадках: VK, Dzen, Habr, Dtf.

Контент

  • Полгода разработки мобильного PvP: Habr

  • Multiplayer resource roundup: Unity

  • Unity Multiplayer in 3 minutes: YouTube

  • Как устроен мультиплеер: YouTube.Cyberstars

Показать полностью 9
[моё] Разработка Обучение Unity Gamedev Мультиплеер Singleplayer Блог Длиннопост
0
11
Indevsound
Indevsound
11 месяцев назад
Лига Разработчиков Видеоигр

Wizard Библиотека звуков "Таинственный Лес" | ~ 355 SFX | Royalty-Free⁠⁠

Привет! На создание этого набора было потрачено примерно 140 часов. В нем я сделал упор на чистые звуки без обработки.
На фото весь список.
Запись происходила в различных условиях на Zoom H5 и обычный диктофон на айфоне. (через пару дней опишу весь процесс создания)

Чтобы компенсировать затраты, я сделал этот набор платным.
СТАНЬ ПОДПИСЧИКОМ, ЧТОБЫ ПОЛУЧИТЬ ДОСТУП

1/2

большой набор звуков, которой хватит на несколько проектов, для создания атмосферы волшебного леса в своей игре. Royalty-Free лицензия.

Если вы находитесь в поиске бесплатных звуков, то для вас у меня есть тг-бот, в нем весь мой архив звуков, который я также использую и при создании новых звуков.

https://t.me/gamedev_sound_bot

Показать полностью 2
[моё] Gamedev Инди игра Инди Разработка Раздача Unity Unreal Engine Звук MMORPG Волшебники Хоррор игра Indiedev Компьютерные игры Разработчики игр Unity3D Ищу игру Видео Длиннопост
0
32
AndrewAlexArt
AndrewAlexArt
11 месяцев назад
Лига Разработчиков Видеоигр

Оптимизируем дроу коллы⁠⁠

1/2

До и после манипуляций с шейдером

Решил заложить базу для оптимизации дроу-коллов. Не думаю, что на моей стадии пре-продакшена это необходимо, но я люблю покопаться в шейдерах.
Мы знаем (знаем же?), что каждый материал на модели это +1 draw call. Разумно было бы оптимизировать этот момент. Для этого есть несколько подходов:
1 - Использовать атласы.
Например, у нас есть бетонный забор, который состоит из бетона (неожиданно), деревянных колышков, которые держат забор в чашке, а так же, ржавых металлических петель, за которые эти заборы поднимают краном.0
Все что нужно, это уместить на текстуре, опираясь на тексель, все элементы атласа: бетон, дерево, металл. Обычно, именно этот подход используется в большинстве игр. Некоторые локации мобильных игр целиком состоят всего из одного атласа.

2 - Использовать Vertex Paint и тайловые текстуры. Удобно, когда нужно "затекстурить" крупные объекты, например скалы, дома, вагоны какие-нибудь.
У нас есть 3 цвета, чтобы сразу получить 3 разных материала. Но что еще интереснее, вы можете использовать десятую часть от каждого цвета, например R - 0.1, 0.2, 0.3 и т.д. Каждая десятая часть может быть отдельным материалом. Главное не переусердствовать, там тоже есть свои ограничения.

3 - Использовать RGB маску, распределяя материалы в зависимости от значения цвета на маске. Например, мы можем сравнить input цвет с цветом на маске с помощью скалярного произведения векторов (Dot product). Если цвет совпадает с цветом на текстуре с масками будем накладывать материал на эту часть маски.

Это только три основных, часто используемых в разработке подхода.

Для своей игры я остановился на комбинировании 1 и 2 методов. По возможности буду юзать атласы, а где не хватит текселя - тайловые текстуры.
В модели на видео я использовал один атлас обычный и второй - задамаженная версия первого. Красится дамаг по красному каналу Vertex Paint. Затем накладывается запеченая на UV3 dirt-edge маска.
Получился вполне универсальный шейдер.

Андрей Александров, ex. художник по окружению Atomic Heart, PUBG, Walking Dead.
Веду канал с интересными трюками и советами для 3д художников и инди-разработчиков: @Cod3Art.

Показать полностью 2 1
[моё] 3D Разработка Gamedev Инди Game Art Unity Видео Без звука Длиннопост
2
24
alrocraft
alrocraft
11 месяцев назад
Лига Разработчиков Видеоигр
Серия Разработка игры -> Restoration of Teim

Процедурный мир из огромных гексов (ч.1)⁠⁠

Как я создаю себе несложный процедурный мир не привлекая внимания санитаров

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

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

Но что делать если ты рукожоп не хочешь особо заморачиваться с качественной процедуркой игрового мира?

Сделать мир из огромных гексагонов? Звучит как хуета отличная идея! 💡

1. Генерируем двумерную карту

Перед тем как создавать гексагоны надо сначала создать/сгенерировать сам ландшафт в виде двумерной матрицы, где будет вообще ландшафт, перепады высот, какие будут в каком биоме и.т.д.

Предварительно я разделил для себя мир на несколько "слоёв":

1. Карта поверхности, на ней будет определена структура мира, в каких ячейках гексы вообще будут существовать собственно. База одним словом

2. Карта высот. На этой карте будут заданы группы высот для гексов, чтоб мир был не "плоский"

3. Карта биомов. На этой карте мы сформируем будущие группы биомов.

4. Карта рек и озер. Несмотря на "крупногексагональный" форм-фактор будущего мира, я хочу чтоб по нему текли реки и были озера. Эта карта пометит условный гекс (или же ячейку массива) как имеющую реку, а там разберёмся

Вот они, слева направо, их боялся весь проект

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

"Чё ты там нахуевертил" - Скажите вы щурясь как азиат из мема

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Я художник! Я так вижу! На самом деле это техническая визуализация уже сформированного мира в 2D матрице, мне же надо было как-то смотреть на то что там выходит вообще.

"И шо ты, пёс, даже не расскажешь как ты это генерировал?" - спросит моя воображаемая аудитория.

А я вам отвечу! Нет. Сейчас все обьясню! И так, А-а-а-а-втомобиль лгоритм в студию!

Смотрите, существуют адекватные разработчики, которые, когда речь заходит за процедурную генерацию, в первую очередь думают в сторону шумов, тот же Шум перлина (Perlin Noise) это идеальный способ выстроить и попиксельную 2д карту ландшафта, с перепадами высот (чем темнее пиксель тем выше). Выглядит он вот так:

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Но причём тут адекватные разработчики, и я)

Я сделал это по принципу который придумал себе ещё на первом курсе, саморастущие ядра (шо?)

Если вкратце, в двумерном массиве ограниченном размере мира (например сетка 64×64 ячейки) в случайных местах создается расчетное количество "ядер" генерации, каждое ядро помечает свой адрес как будущую поверхность сразу, и помимо этого несёт в себе случайное количество "зарядов".

Каждую итерацию ядро тратит на то, чтобы "расширится" в случайное направление сетки, захватив, и пометив как будущую поверхность и захваченную ячейку, и так пока у всех ядер не закончатся заряды.

Выглядит это вот так, и в принципе формируется нормальный +- ландшафт:

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Жёлтые - ядро
Синие - захваченные ядром ячейки

Точно такой же принцип используется и для карты высот и карты биомов, только теперь ядра формируется в ячейках адреса которых уже являются "поверхностью".

Создаются группы высот которым назначаются высоты, которые при генерации самих гексов собсна говоря и передадутся.

В этот раз ядра, это ромбики, а разным цветом обозначеныгруппы высот:

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Ну и абсолютно тот же принцип с биомами, только в ячейках групп биомов хранится ссылка на соответствующий экземпляр класса Biome

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Круто! Теперь у нас есть карты двумерных массивов содержащие все необходимые данные для генерации крупногексагонального мира

Используя гайды из Habr свои навыки и умения, я написал скрипт в котором циклом производится проходка по, сохраненным ранее в двумерные массивы, картам данных, и на основе этих данных формируется... Пока только гексагональная 3д структура с разными высотами:

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Красиво, но пусто, а давайте запустим туда нашего персонажика которого я создал "за кадром"

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Теперь вообще и пусто и некрасиво... Миша все хуня давай по новой! Тебе так никто денег не даст!

Добавим генерацию биомов, чтобы гексам относительно их адреса в карте биомов присваивался соответствующий биом:

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Во, уже лучше! Это правда "биомы" пока условные, просто гексы те же, с разными структурками, на итоговый вид это особо не повлияет. Так что нужно на гекс навесить деталей. Tiling time!

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Во, так лучше, только надо вот эти стыки на ровной поверхности убрать.

А ещё добавлю "детали" какие нибудь, пусть будут ёлочки в биоме "лес", пока с временной графикой, пара текстурок.

Сделаю банальной "россыпью" этих елочек на каждый гекс

Процедурный мир из огромных гексов (ч.1) Разработка, Gamedev, Unity, Компьютерные игры, Мат, Длиннопост

Уже что-то похожее на мир! На этом пока все, впереди ещё туева хуча работы, оптимизация отрисовки деталей (LOD), механизм генерации структур в мире (всякие замки, руины, домики набигающие) и.т.д

+ Мне ещё предстоит решить проблему как игроку перемещаться между гексами с сильными перепадами высот... Лестницы? Винтовые пещеры? Прыгучие платформы? Лианы? Надо думать...

p.s. У самих гексов реализован LOD, и их детализация уменьшается на отдаленном расстоянии от игрока, а дальше и вовсе отключается. Так же я сделаю с деталями на гексах я думаю.

Спасибо всем тем двум людям которые дочитают эту тягомотину до конца!

Показать полностью 11
[моё] Разработка Gamedev Unity Компьютерные игры Мат Длиннопост
8
DELETED
11 месяцев назад
Лига Геймеров

Приглашаю всех желающих на бета-тест моей первой игры! (андроид)⁠⁠

Это аркадный ранер с уникальными механиками (НЕ клон сабвей-сёрф или чегота такого)

Чтобы получить доступ к тестовому билду нужно выполнить два простых шага:

  1. Присоединиться к гугл-группе здесь

  2. Получить доступ к бета тесту здесь

Чтобы получить доступ, оба шага нужно делать под одним гугл-аккаунтом.

Управление:

  • свайпы влево, вправо - сменить линию

  • свайп вниз - выстрел

  • свайп вверх - использовать активный бонус (если есть в инвентаре)

  • удерживать палец на экране - нитро

Не судите строго, игру делало всего два человека и это наш первый опыт в геймдеве)

1/3
Показать полностью 3
[моё] Инди игра Unity Gamedev Инди Длиннопост
3
Партнёрский материал Реклама
specials
specials

Считаете себя киноманом 80 LVL?⁠⁠

Залетайте проверить память и сообразительность → Будет интересно

Киногерои Тест Текст
Вопрос из ленты «Эксперты»
user9007467
11 месяцев назад
Unreal Engine

Почему игры жанра Arena-Shooter гораздо качественнее на Unity чем на Unreal Engine?⁠⁠

Ultrakill против Amid Evil - небо и земля. Первый высокодинамичный, от движений игрока чувствуется импакт чуть ли не физически, и второй - персонаж плавает, трупы мобов прилипают к полу...

Неужели Unreal плохой движок? Или это проблема ленивых разработчков? Тогда почему ТАК МНОГО ленивых разработчиков именно на Unreal-е?

[моё] Unity Unreal Engine Вопрос Спроси Пикабу Текст
28
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии