Totoro 3 563 Опубликовано: 17 февраля, 2015 (изменено) Автором идеи является 1Ridav. Как-то давным давно, в Мамбле, он предложил создать на основе геосканера карту сервера для спавна. Чтобы игроки могли побродить по уменьшенной копии сервера, и поглазеть на ландшафт/постройки. Суть такова: Берется большой зал (спавн или отдельная постройка, не суть), с темным полом (чтобы голограмму было хорошо видно). Под полом располагается сетка проекторов, компьютер и геосканер. Программа сканирует сервер (загруженные чанки) и формирует на основе этих данных карту высот. Карта режется на прямоугольные фрагменты и выводится на проекторы. На скриншоте сверху, я сделал тестовый рендер для одного проектора. За основу взят мой мир-полигон для программ. Предлагаю довести программу до ума, и как вариант сделать где-нибудь такую карту на IT 1.7.10. Возле спавна, чтобы те, кто заходит на сервер, могли побродить и посмотреть. Что надо обдумать: 1) Как красить? Проекторы имеют три цвета. Я думаю один будет - синий. Им надо покрасить все плоскости на высоте y=64 - уровень моря. Оставшиеся два цвета надо как-то распределить по террайну, чтобы вид карты не вызывал эпилептических припадков. =) 2) Делать ли пустоты по высоте? На скриншоте сверху я сделал простую карту высот. Т.е. она состоит как бы из столбиков разной высоты. Можно сделать ее более сложной, отобразив пустоты. 3) Сжимать ли масштаб? Сервер имеет размеры примерно 4000 на 4000. Проектор - 48 на 48. Т.е. чтобы отобразить всю карту в полный размер понадобится около 7056 проекторов и зал аналогичной площади. Надо либо отобразить на карте фрагмент мира, разумного размера, либо уменьшить масштаб карты, усреднив карту высот. Изменено 17 февраля, 2015 пользователем Totoro 6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 17 февраля, 2015 (изменено) Сделал сетку 5х5 проекторов, настроил вывод одной гигантской голограммы. И тут же уперся в ту проблему, на которой застопорился в прошлый раз. Для работы такой карты нужен спутник (как для Google Maps)! Радиус досягаемости для геосканера - квадрат 4 на 4 чанка, с геосканером в середине. Поэтому нужно запустить робота или дрона, который будет летать на высоте в 255 по всему серверу, возить с собой геосканер, картографировать местность и отсылать данные на сервер карты. Вроде - нет проблем. Геосканер к роботу присобачить - не проблема. Данные послать - можно через связные (туннельные) платы. НО! На сервере IT понерфили чанклодеры для роботов В первые секунды работы, у робота сядет батарея и он отключится. Выходит, для работы местных GoogleMaps нужен пастух-картограф =) Такой специальный игрок, который будет ходить/летать вслед за роботом по всему серверу, работая чанклоадером. Учитывая, что солнечная батарея дает мало энергии, а геосканер наоборот, жрет ее очень много. Путешествие это грозит сильно затянуться. И на этом месте я серьезно задумался. Изменено 17 февраля, 2015 пользователем Totoro 4 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TheScientist 100 Опубликовано: 18 февраля, 2015 КРА-СО-та Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 18 февраля, 2015 (изменено) Достал бубен и провел пару замысловатых обрядов вокруг геосканера. Отрендерилась карта моего полигона (компьютер в середине). Гм. Я даже не знаю. У меня отсутствуют подходящие сравнения для этого галлюциногенного буйства красок. Карта - квадрат 15х15 чанков. Или 240х240 блоков. По высоте немного сглажено, по ширине и длине масштаб 1 в 1. Изменено 18 февраля, 2015 пользователем Totoro 9 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Krutoy 1 169 Опубликовано: 18 февраля, 2015 Офигенно. Отличную работу делаешь, супер. Такие места будут определенно "лицом" наших серверов. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 18 февраля, 2015 Может красный заменить на серый? Типа булыжник. А сканирование при помощи робота это единственный способ получения карты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DUIIIES 284 Опубликовано: 18 февраля, 2015 Что если сжать изображение до 1 чанк/пиксель? Таким образом потребуется всего 27 проекторов. Креативного робота на ИТ еще пока не существует, да? Можно использовать автоматический зарядку робота от связки квантовой зарядки (креативная) + чарджер, которые Р будет ставить, когда заряд < 10% Можно слать 2х Р друг за другом, где один - спутник, летящий и снимающий карту, подгружая чанки обычными якорями, а второй - уборщик, снимающий их на пройденных частях (растояние между ними ~ чанк). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 18 февраля, 2015 Зачем вообще роботы? Карту можно просканировать AMI-интерфейсом 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 18 февраля, 2015 Зачем вообще роботы? Карту можно просканировать AMI-интерфейсом Ты прав. Я что-то зациклился на геосканере и не подумал о других вариантах, с поддержкой админа Наверное с недосыпа. Сегодня перепишу немного программку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DUIIIES 284 Опубликовано: 18 февраля, 2015 Зачем вообще роботы? Карту можно просканировать AMI-интерфейсом Если это правда (а я склонен верить Зеро), тогда к чему изобретать велосипед? О.о А вот AMI просканирует карту, но в каком формате будет сохранена полученная информация? Или это вообще не имеет значения? И как он будет сканить карту: почанково глядеть на блоки в нем от 0 до 256-ти или же просто достанет инфу откуда-нибудь из сейва (кстати было бы неплохо именно так и сделать, а также добавить проверку после каждого рестарта на момент изменения сохраненного материала)? Ну и напоследок: дайте, пожалуйста, ссыль на вики (или аналог), где описывались бы все возможности AMI (*-*) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 18 февраля, 2015 Ну и напоследок: дайте, пожалуйста, ссыль на вики (или аналог), где описывались бы все возможности AMI (*-*) Вот, тут есть описание. Если он заработает с ОС, это будет идеальный вариант для карты. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 18 февраля, 2015 Вот, тут есть описание. Если он заработает с ОС, это будет идеальный вариант для карты. Работает он, на МТ по меньшей мере Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Krutoy 1 169 Опубликовано: 18 февраля, 2015 Тоторо, а ты не слишком замахиваешься? Тут целая серверная машина карту обрабатывает, а ты хочешь на каком то ОСном компе ее сосчитать и отобразить. У тебя ж даже оперативы не хватит массив такой хранить. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 18 февраля, 2015 Вообще как бы всю карту сканировать нет надобности, это долго и затратно по ресурсам. И АМИ тоже не сможет просканировать незагруженные чанки. Ничего на просторах майна на карте в размере 5000х5000 блоков интересного нет, тем более в RGB А вот сделать скан некоторых областей (строения, статуи и т.п) и просматривать эти кусочки в виде прокрутки слайдов было бы намного проще и интереснее. Там могу и чанклоадеры поставить. То есть, например, божество какое-то у нас было на 1.6.4 (строил я когда-то) какие-то дельты рек, красивые места карты и пару строений или городок игроков. 3-х цветный RGB пустой ландшафт слишком вырвиглазный и неузнаваемый. Нужно просто несколько (5-10 шт.) 3D слайдов, которые игроки могут реально узнать на карте "в живую" и сравнить с голограммой. Слайды можно просто добавлять в конфиг-файл в виде координат(размера) куба и в цикле по кругу их проматывать кнопочками. Нам же важен сам программный принцип сканирования кусочка местности и отображения на проректоре, а не гигантизм и поворот рек в другую сторону в Сибири, как хотели сделать при коммунизме Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 18 февраля, 2015 Работает он, на МТ по меньшей мере У меня отказался работать, собака. Как компонент он видится, большая часть функций работает, но возвращают некорректные таблицы. Но это неважно, потому что у меня наступило просветление в голове, и я вспомнил что в OpenComputers есть Debug Card. Я переписал программу под него и изменил цветовую гамму на оранжевый-серый-голубой. Включил отображение пустот, стало видно деревья. Теперь карта рендерится и напоминает колонию инопланетных грибов Тоторо, а ты не слишком замахиваешься? Тут целая серверная машина карту обрабатывает, а ты хочешь на каком то ОСном компе ее сосчитать и отобразить. У тебя ж даже оперативы не хватит массив такой хранить. Неа Мне не надо ее постоянно мониторить, как это делает серверная машина. Я ее потихонечку отсканирую, не торопясь. Моя программа тоже на серверной машине стоит (из ОС) Там четыре планки алмазной памяти. Можно весь сервер поблочно сохранить. А если сразу закинуть на проектор, то можно вообще не сохранять ничего. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 18 февраля, 2015 Алекс, коварный AMI умеет сам чанки подгружать =) А вообще согласен. Карта выглядит загадочно и не очень наглядно. В принципе можно сделать на карте зону спавна - 200 блоков. И покрасить по-приличнее. У нас пока все интересные постройки там. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 18 февраля, 2015 Алекс, коварный AMI умеет сам чанки подгружать =) А вообще согласен. Карта выглядит загадочно и не очень наглядно. В принципе можно сделать на карте зону спавна - 200 блоков. И покрасить по-приличнее. У нас пока все интересные постройки там. Не знал. А какой метод грузит заданный чанк? И забывал спросить. Сколько времени самому продвинутому ПК ОС нужно для полного просчета с нуля теры 9х9 чанков и по толщине, например, 60 блоков с выводом на проектор в монохромке (а это не много не мало, но все таки 1 244 160 блоков)? Больший размер 3D слайда делать нет смысла. П.С. И сколько можно цветов в проекторе использовать вообще? Если сканировать АМИ, то можно же получить больше данных(ID), чем геосканером (плотность, раньше была, сейчас не знаю даже, что он меряет) То некоторые блоки ведь можно раскрасить из известных ID, а неизвестные закрашивать серым. Или проектор работает только с тремя цветами какими-то? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 18 февраля, 2015 Не знал. А какой метод грузит заданный чанк? И забывал спросить. Сколько времени самому продвинутому ПК ОС нужно для полного просчета с нуля теры 9х9 чанков и по толщине, например, 60 блоков с выводом на проектор в монохромке (а это не много не мало, но все таки 1 244 160 блоков)? Больший размер 3D слайда делать нет смысла. П.С. И сколько можно цветов в проекторе использовать вообще? Если сканировать АМИ, то можно же получить больше данных(ID), чем геосканером (плотность, раньше была, сейчас не знаю даже, что он меряет) То некоторые блоки ведь можно раскрасить из известных ID, а неизвестные закрашивать серым. Или проектор работает только с тремя цветами какими-то? У AMI ко все методам есть такая приписка: -- Returns the block ID at the given coordinates. Loads the chunk if necessary. ID = w.getBlockID(x, y, z) Т.е. если ему надо, он берет и подгружает чанк. Время не замерял, надо проверить будет. Но оно сильно зависит от метода сканирования. Я для скриншотов реализовал сканирование "по верхушкам". Он определяет только максимальную высоту в каждой клетке карты. Проекторы могут использовать произвольные цвета, но не больше трех. (А проекторы 1 уровня - вообще только один). Можно попробовать поставить два проектора рядом и отрисовывая изображение на каждом с небольшим сдвигом добиться шестицветной картинки. Но это будет гораздо сложнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 18 февраля, 2015 Сканирование "по верхушкам", это здорово и разумно! Согласен. Ты сканируешь АМИ-шкой столбик сверху вниз, пока не встретишь твердый блок (не воздух)? Но это подойдет для ландшафта только, ведь? А если, например, нужно отсканить Божество? Как быть тогда. Там же лапы, руки, ноги, клешни. И, кстати, монохромку, наверно, быстрее отрендерить, и менее вырвиглазно будет. Одноцветный слайд голограммы серенький или зелененький - это классика, раз только 3 цвета можно использовать в проекторе, то, имхо, лучше вообще один цвет брать. П.С. То, что АМИ подгружает чанк, это здорово, а то я все время опасался незагруженных чанков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 18 февраля, 2015 (изменено) Сканирование по верхушкам, это здорово и разумно! Согласен. Ты сканируешь столбик сверху вниз, пока не встретишь твердый блок (не воздух)? Но это подойдет для ландшафта только, ведь? А если, например, нужно отсканить Божество? Как быть тогда. Там же лапы, руки, ноги, клешни. И, кстати, монохромку, наверно, быстрее отрендерить, и менее вырвиглазно будет. Одноцветный слайд голограммы серенький или зелененький - это классика, раз только 3 цвета можно использовать в проекторе, то, имхо, лучше вообще один цвет брать. П.С. То, что АМИ подгружает чанк, это здорово, а то я все время опасался незагруженных чанков. Да примерно так. Я сделал два варианта алгоритма. Первый - сканирует, пока не упрется в твердый блок. Второй - делит диапазон надвое, и проверяет видно ли в середине небо. Если видно - сдвигает верхнюю границу, если не видно - нижнюю. Потом опять делит. И так находит точную высоту. Не уверен, какой из них быстрее вышел =) Для построек и божества, я использую другой алгоритм. Он сканирует всю толщу, и отображает пустоты. Можно и монохромную карту замутить. Я попробую скриншот сделать. Но на монохромной будет детали плохо видно. Изменено 18 февраля, 2015 пользователем Totoro Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах