Бесшовный 2D мир для онлайн игры 8.03.2019 / 23:29 | | Masters Пользователь Сейчас: Offline
Имя: Andrew Stupnitsky Регистрация: 29.04.2013
| Привет ребята! У меня вот какая задача: нужно реализовать 2D мир в онлайн игру на nodeJS, ну так-то это обычный JS, но, меня больше не код беспокоит, а логика загрузки игровой локации. Я уже реализовывал 2D мир, но кубикам, 32х32 клетки, это и есть швы, где подходя к краю, подгружалась новая пачка кубиков, а вот сейчас задача сделать бесшовный мир. Как можно реализовать такой 2D мир без швов? В интернете не могу сформулировать запрос правильный, и натыкаюсь все время на ерунду ненужную. Просьба слишком умных , по типу (бросай это дело, ММО умирает и и т.д.) не беспокоить! Чисто помогите с логическим решением задачи. В файлы закрепляю эскиз участка карты, а мне нужно без швов. Надеюсь на вашу помощь!
Изменено Masters (8.03 / 23:30) (всего 1 раз)
Прикрепленные файлы: DKHPRo4pFD4.jpg (46.98 кб.) Скачано 143 раза |
9.03.2019 / 10:09 | | Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| В любом случае "швы" будут, типо чанки мира. Тот же майнкрафт. Где есть генерация мира, и тем более бесконечная, есть чанки(зоны) и они часто степень двойки(8, 16, 32, 64, 128).
Как вариант для каждого пользователя грузи чанки в радиусе неком, чтобы на экран влазило и чуть было вне камеры(экрана) и когда он переходит в другой чанк обновляй рядом с ним другие чанки
__________________
Смерть правит миром |
9.03.2019 / 12:48 | | GOFMIDO Пользователь Сейчас: Offline
Имя: Вадим Откуда: Иркутск Регистрация: 06.07.2012
| Пример с майнкрафтом один из самых наглядных, в принципе это всегда так было в тех же изометрических RPG ещё очень и очень давно.
|
9.03.2019 / 12:59 | | GOFMIDO Пользователь Сейчас: Offline
Имя: Вадим Откуда: Иркутск Регистрация: 06.07.2012
| Кстати, вопрос/идея на тему бесшовного мира. Можно ведь сделать большую проработанную локацию в игре, в которой будет проходить основная часть сюжета, а дальнейшее пространство вокруг реализовать процедурной генерацией. Были ли подобные примеры раньше? Имеется в виду именно! бесшовный мир, а не локация, созданная заранее.
Изменено GOFMIDO (9.03 / 13:00) (всего 1 раз) |
9.03.2019 / 18:28 | | Masters Пользователь Сейчас: Offline
Имя: Andrew Stupnitsky Регистрация: 29.04.2013
| Короч, появилась вот такая идея. Человек ходит по карте, и вокруг него, грузятся клетки, как уже человек написал выше на таком уровне, что-бы немного за экран уходило. При перемещении игрока, создается массив с клетками, которые нужно подгрузить, сервер присылает данные клетки и что там на них, тут клиент принимает и расставляет клетки по местам. По примеру JSON ловим позицию, проходимо или нет, объект на клетке, если нет то 0 и тип ланшафта. ну тип (32,32,1,0,3) что-то такое ловим за каждую клетку и айс... Однако, это нагрузка. Что значит ваши чанки? я так и не могу понять? Это набор клеток таких с данными?
|
9.03.2019 / 18:37 | | Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| В твоём случае, можно и всю карту подгрузить, карта размером 32x32 в наше время ни о чём, тем более и скорее всего большая часть этой самой карты будет на экране Короче, сформулируй вопрос ещё чётче, а то не понятно |
10.03.2019 / 17:42 | | Masters Пользователь Сейчас: Offline
Имя: Andrew Stupnitsky Регистрация: 29.04.2013
| Magatino, сама карта мира 2048х2048 загружается она по секциям, маленьким участками по 32х32 клеток. Нужен бесшовный мир, а у меня она вот участками такими загружается. Подходит польователь к краю на позицию 10х32 значит загружается новый участок 32х32. мне нужно чтобы этого перехода не было. Ищу более правильное решение такой задачи. Фотку я закрепил к самому первому посту в этой теме, посмотри туда. Это одна такая секция 32x32 допустим,а сама карта мира 2048x2048. Я же не могу ее всю загружать, игрок будет ждать долго, к тому-же помимо карты нужно обрабатывать персонажей и объекты, так что деление на какие то логические секции необходимо, и не только для карты. Прикинь человек пишет в чат текст, и я же должен его показать не всем, а только тем, кто на его видимой зоне находиться. То-есть нужно как то граничить это, называя комнатами.
Изменено Masters (10.03 / 17:45) (всего 2 раза) |
10.03.2019 / 18:17 | | Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| Masters, Ну так загружай, сколько считаешь нужным, хочешь 16x16, хочешь по 32x32, проблема то в другом, а сможешь ли ты, большую карту дополнить интересным контентом для игроков? |
11.03.2019 / 16:51 | | Masters Пользователь Сейчас: Offline
Имя: Andrew Stupnitsky Регистрация: 29.04.2013
| Magatino, спасибо пипец как помог! Нет, я эту карту наполнять не буду, программа расставит очень важные объекты, а остальное отдадим в руки самих игроков, ибо в игре будут постройки. Я ведь думал ты знаешь как делать бесшовный мир, а ты пришел покичится насколько ты крут.
Изменено Masters (11.03 / 16:55) (всего 1 раз) |
11.03.2019 / 18:04 | | Витаминыч Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| Masters, тебе могут подсказать, где копать и дать советы, но за тебя никто не будет думать и делать работу Хочешь чего-то добиться - действуй, а не жди благодати __________________
わからない!! |
Всего сообщений: 15 Фильтровать сообщения Поиск по теме Файлы топика (1)
|