Admin 455 Жалоба Опубликовано 23 апреля, 2016 Основное направление разработки на данный момент: Описание на GitHub | Вспомогательная таблица Добавил новый заказ. Планируется передать проработку маршрутов и написание конкретных команд - на аутсорс игрокам. Оплата за схему развязок = 6 стеков изумрудных блоков Оплата за подготовку отдельной развязки = 1 стек изумрудных блоков Список станций тут. В качестве награды, как минимум - Схема линий, станций и развязок: Развязки, маршруты, команды: Спойлер При текущем подходе [для экономии командных блоков при проверке проезжающего игрока] используется "маршрут по умолчанию = на спаун": это означает, что все стрелки по умолчанию ведут на спаун. Из-за этого необходимо выполнять сброс стрелки после проезда игрока. При подготовке команд: сначала идут команды в командных блоках: последовательность - сверху (от нажимных рельс) вниз в конце должна быть команда сброса конкретной стрелки в исходное положение Коды направлений рельс: 0: Север-Юг (Юг-Север) 1: Запад-Восток (Восток-Запад). 6: Юг-Восток (Восток-Юг). 7: Юг-Запад (Запад-Юг). 8: Север-Запад (Запад-Север). 9: Север-Восток (Восток-Север). Последний вариант с деревом квадрантов Спойлер Про КБ выдачи названия станции в чат и ассоциации номер -> адрес в отдельную группу КБ тут Список развязок и станций с адресами тут Схема дерева квадрантов и станций и развязок на нем тут У нас 61 развязка и 43 станции (не считая новый спаун) Глубина вложенности дерева - 5 уровней. Но я немного читерил - те развязки, которые находятся близко, но у самой границы квадранта, я разносил в разные ячейки, дабы не увеличивать глубину дерева. Описание команд развязки тут Старый вариант Спойлер Стрелка 1 /execute @p[r=20,score_MetroSt_min=2,score_MetroSt=2] ~ ~ ~ /setblock 44 33 -100 rail 0 /execute @p[r=20,score_MetroSt_min=7,score_MetroSt=15] ~ ~ ~ /setblock 44 33 -100 rail 0 /execute @p[r=20,score_MetroSt_min=24,score_MetroSt=26] ~ ~ ~ /setblock 44 33 -100 rail 0 /execute @p[r=20,score_MetroSt_min=32,score_MetroSt=42] ~ ~ ~ /setblock 44 33 -100 rail 0 /setblock 44 33 -100 rail 7 Стрелка 3 /execute @p[r=20,score_MetroSt_min=1,score_MetroSt=43] ~ ~ ~ /setblock 41 33 -91 rail 9 /setblock 41 33 -91 rail 0 Стрелка 2 /execute @p[r=20,score_MetroSt_min=1,score_MetroSt=1] ~ ~ ~ /setblock 41 33 -96 rail 8 /execute @p[r=20,score_MetroSt_min=3,score_MetroSt=6] ~ ~ ~ /setblock 41 33 -96 rail 8 /execute @p[r=20,score_MetroSt_min=16,score_MetroSt=23] ~ ~ ~ /setblock 41 33 -96 rail 8 /execute @p[r=20,score_MetroSt_min=27,score_MetroSt=31] ~ ~ ~ /setblock 41 33 -96 rail 8 /execute @p[r=20,score_MetroSt_min=43,score_MetroSt=43] ~ ~ ~ /setblock 41 33 -96 rail 8 /setblock 41 33 -96 rail 0 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Admin 455 Жалоба Опубликовано 30 июля, 2017 1 час назад, RedTeapot сказал: А можно еще упороться: игрока высадить с помощью рельсы-активатора, а вагонетка пущай уезжает в технический тоннель высотой 1 блок, где с ней можно делать что угодно. Но зачем? Так эта - так и было до 1.5, когда появились кб (в первом посте темы "Метро 2" это даже упоминается, как модернизация): вагонетка останавливалась и игрок выходя из неё обязательно наступал на плиту = вагонетка стартовала и уезжала в стену (отверстие высотой с один блок) - там была система на основе воронки и лавы, когда вагонетка как-то с помощью лавы исчезала и успевала забраться вагонеткой - всё это складывалось в несколько двойных сундуков, где было много стеков вагонеток, а выдавались вагонетки по нажатию кнопки = выезжали из этого депо. Видели табличку RIP с ником лошадки? Вроде, на спауне. Так вот - в эти "депо" очень часто уезжали игроки, а т.к. там всё было в бедроке + в лаве, то... естественно, это было депо смерти Вот первый ручной вариант 2012 года. @FoxSus, кстати, вот та самая шина в технических тоннелях для передачи двоичного сигнала + конкретно на этих скринах - передатчик сигнала, т.к. сигнал можно передавать только в активных чанках:http://mc.bbcity.ru/viewtopic.php?id=196&p=6#p6181 Собственно, вот тут обсуждали варианты перевода маршрутизации на кб. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lady_Lava 750 Жалоба Опубликовано 30 июля, 2017 Я же говорила, что так и было!!! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения 5
FoxSus 16 Жалоба Опубликовано 14 августа, 2017 В 30.07.2017 в 12:38, RedTeapot сказал: Немного пытаюсь повтыкать в эту тему. Есть еще идея - отказаться от адресов станций (определять станцию по адресу подключенной к ней развязке + ее номеру (на случай, если к одной развязке подключено две и более станции)). Возможно, это упростит задачу. Возможно, нет. Наверное, вдобавок к этому надо будет как-то умудриться искать пути в графе с учетом дерева квадрантов, но я пока слабо представляю. Ручками пофиксить проблемные места пока не очень выходит: в одном месте чинится, но ломается в другом. Хотел поинтересоваться как успехи, удалось "повтыкать"? ) Ps уж очень интересна эта тема Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JinenryokuFu 278 Жалоба Опубликовано 9 октября, 2017 1 час назад, Admin сказал: Давай вместе подключать новые станции метро на первой ветке к уже работающей системе? В автоматизации метро что-нибудь шаришь? уже есть новая система? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 9 октября, 2017 20 минут назад, JinenryokuFu сказал: уже есть новая система? Текущая. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JinenryokuFu 278 Жалоба Опубликовано 9 октября, 2017 57 минут назад, Admin сказал: Текущая. пичаль Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
MarkLeister 263 Жалоба Опубликовано 9 октября, 2017 Давай вместе подключать новые станции метро на первой ветке к уже работающей системе? Станций то кол-во огромное, но приехать то можно только на 6 или 5 станций(точно не помню), что намного уменьшает функциональность метро Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения 7
Admin 455 Жалоба Опубликовано 9 октября, 2017 28 минут назад, EChris_ сказал: Станций то кол-во огромное, но приехать то можно только на 6 или 5 станций(точно не помню), что намного уменьшает функциональность метро в этом и есть суть моего обращения к Ахнатону - я ему предлагаю заняться настройкой подключения имеющихся построенных станций - чтобы на них можно было ехать там работы - ад и маленькая тележка Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JinenryokuFu 278 Жалоба Опубликовано 10 октября, 2017 15 часов назад, Admin сказал: там работы - ад и маленькая тележка а можно еще раз сформулировать текущую систему маршрутизации? Та, которая была до квадрантов, для которой у меня часть команд была готова? Просто тупо диапазонами ручная маршрутизация с кучей кб под каждой стрелкой? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 10 октября, 2017 39 минут назад, JinenryokuFu сказал: а можно еще раз сформулировать текущую систему маршрутизации? Та, которая была до квадрантов, для которой у меня часть команд была готова? Просто тупо диапазонами ручная маршрутизация с кучей кб под каждой стрелкой? текущая система - это те же квадранты команды для новых развязок не готовы количество кб на развязке - минимальное центр обработки из некскольких десятков кб вынесен в скрипты и в ЦНС занимает один кб основная сложность - продумывание команд для каждой развязки в уме: многомерное дерево квадрантов, сложносоставная переменная, множество точек отправления и назначения, пересечение с другими маршрутами, продумывание маршрута на следующих развязках - и это всё надо учесть для каждой стрелки на развяке отдельно, а стрелок 3-4 = будет множество ошибок и куча переделок, а потом снова переделок, а потом ещё переделки, и снова переделки... + отдельное время на подключение каждой станции: я оцениваю это в час и более времени на каждую станцию, как бы просто это ни было Спойлер по поводу переделок всё кажется очень просто: например, сделать развязку для 47-ой станции не сложно: кодим потоки вниз, кодим потоки вверх + заезд на станцию но косяки вылезут, когда кто-нибудь поедет через эту развязку в будущем на какую-нибудь 37-ую станцию - через всю карту и тут окажется, что год назад мы неправильно спланировали маршрут и не в ту сторону направляли вагонетки в этом секторе для станций назначения из другой части карты, т.к. на следующих развязках мы забыли об этом и направили маршруты по-другому и из-за этого вагонетки не доезжают до нужной точки или делают дикую петлю. а тестирование всех возможных вариантов физически невозможно без компьютерного моделирования (которое мы не осилили) + игроки никогда не будут тестерами и никогда не будут чётко описывать косяки - всегда будут писать, что метро не работает (или вообще не будут ни о чём писать), а мы должны будем выуживать инфу по крупицам и сами тестировать разные варианты перемещения на метро по всей карте - а это куча, гора, немерянно времени... и так будет каждый раз в этом косяк ручной наладки но ждать уже давно надоело + время немного появилось чтобы не переделывать всё по несколько раз (если не ошибаюсь, то никто не согласился на этот труд), мы пытались автоматизировать составление этих команд не осилили давно есть желание попробовать ручками это сделать: один я не хотел за это браться, но и заставлять и даже просить никого не хочу = Ахнатон сам вызвался и я ему предлагаю вместе заморочиться на этот гемор Ахнатон отличный кандидат - сам тянет новую ветку, не смотря ни на что: я думаю, что никто ничего не проверяет (я уже несколько месяцев не слежу за веткой) и он полностью всё делает на своё усмотрение = умеет принимать решения без указки * как-нибудь найду время глянуть Но есть и косяк Ахнатону было сложно прикидывать даже укладку админиума с учётом всего лишь слоя отделки ))) А тут эти ваши - многомерные деревья квадрантов, сложносоставные переменные, множество точек отправления и назначения и т.д... Если есть желание подключиться и продолжить эту тему, предлагаю вам с Ахнатоном объединить усилия и попробовать подключить, например, 47-ую развязку: думаю, что на вкуривание нюансов + тесты локально или на бумаге у вас уйдёт несколько часов времени. Само подключение осилит любой гм по вашим командам - там всего команд 10 надо написать и для этого не обязательно даже в игре находиться (команды все стандартные, разница только в их компоновке по стрелкам и в продумывании маршрута в уме по карте). Далее я с помощью Рока попробую подключить первую новую станцию, чтобы самому убедиться, что всё работает, как запланировано. Если с первой станцией справимся, далее будем последовательно подключать. А когда закончим, будет ещё новая ветка... И дай бог, чтобы она смогла управляться имеющимся ЦУПом * кстати, есть предположение, что подключать лучше тупо последовательно по номерам станций, а не в произвольном порядке... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lady_Lava 750 Жалоба Опубликовано 10 октября, 2017 Руководитель хороший и гос интересный 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения 5
Ahnaton 101 Жалоба Опубликовано 10 октября, 2017 1 час назад, Admin сказал: Но есть и косяк Ахнатону было сложно прикидывать даже укладку админиума с учётом всего лишь слоя отделки ))) А тут эти ваши - многомерные деревья квадрантов, сложносоставные переменные, множество точек отправления и назначения и т.д... @Admin Не прикидывать укладку админиума, а раскапывать держа в голове два слоя, админиумовый и декоративный, и не в тоннеле а в сложном устройстве станции. Мой метод выкладывать вместо админиума незерит как легко доступный материал, уменьшал количество слоев которые нужно держать в голове, у меньшая тем самым шанс ошибки которая может заставить затрачивать намного больше времени на исправление. Причем если бы вариант замены незерита на админиум командой сработал то все станции были бы щас админиумизированы. я два дня админиумизировал станцию 12го участка. Планирую седня закончить ее. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
RedTeapot 155 Жалоба Опубликовано 10 октября, 2017 Наверное, проверить готовую таблицу маршрутов на компукторе можно. Собсна, из-за того, что автоматика не проходит эти проверки, я и залип. А так, уже есть проверка на наличие циклов и достижение правильной конечной станции (по идее - как раз все, что нужно). Вроде, все это есть у меня на гитхабе, потому кто-то может глянуть, если у меня не будет времени. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Admin 455 Жалоба Опубликовано 10 октября, 2017 1 час назад, RedTeapot сказал: А так, уже есть проверка на наличие циклов и достижение правильной конечной станции (по идее - как раз все, что нужно). Вроде, все это есть у меня на гитхабе, потому кто-то может глянуть, если у меня не будет времени. так... ты же понимаешь, что тут мало кто что отдупляет? 1 час назад, RedTeapot сказал: все это есть у меня на гитхабе тут есть - введение, описание системы, примеры и... всё... как получить эти примеры? для этого у нас есть таблица с исходными данными - там есть куча буковок и цифорок ))) также там даже помечены проблемные станции/развязки, которые надо подшаманить отдельно хочу отметить, что в зависимости от того, как кто-то из нас вобьёт исходные данные в эту таблицу - будет зависеть результат!! например: станцию может находиться на границе квадрантов - её можно отнести к одному квадранту, а можно к другому; мы это уже обсуждали с тобой - ты всё делал чётко, а я даже предложил хитрить и корректировать исходные данные так, чтобы станции оказывались в нужном нам квадранте = тогда команды будут правильные генериться = часть проблема решается с помощью такого "дерева кривантов" )))) Как конкретные команды-то для конкретных кб на конкретных развязках сгенерить? Наверное, чё-то скомпилировать и запустить... Из сгенерированных команд можно же будет подключать станции в любой последовательности? Может, если кто-то (я? я с Бориком?) сам научится их генерить, то действительно - никакой проблемы нет? Типа, чё-то сегенерили -> вписали в кб на конкретной развязк -> потестили основные варианты -> скорректировали косяки -> потестили -> запустились -> if <жалоба_от_игроков> then go to <скорректировали_косяки> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RedTeapot 155 Жалоба Опубликовано 10 октября, 2017 25 минут назад, Admin сказал: как получить эти примеры? В исходниках на ветке quadcentric. В test.py в конце есть код проверки сгенерированной таблицы (схемы?) маршрутизации. Можно либо слизать алгоритм, либо выдрать этот код и вогнать в него схему маршрутизации в определенном виде. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Admin 455 Жалоба Опубликовано 10 октября, 2017 21 минуту назад, RedTeapot сказал: В исходниках на ветке quadcentric. В test.py в конце есть код проверки сгенерированной таблицы (схемы?) маршрутизации. Можно либо слизать алгоритм, либо выдрать этот код и вогнать в него схему маршрутизации в определенном виде. ну, да - всё понятно: я прям уверен, что это делов на 10 минут я это не сделаю никогда ладно, если буду делать я, то мне какой-нибудь Борик поможет Есть желающие помочь? @Ahnaton?@JinenryokuFu? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ahnaton 101 Жалоба Опубликовано 10 октября, 2017 @Admin Готов помочь, объясните что делать сделаю. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
JinenryokuFu 278 Жалоба Опубликовано 10 октября, 2017 2 часа назад, RedTeapot сказал: Наверное, проверить готовую таблицу маршрутов на компукторе можно. Собсна, из-за того, что автоматика не проходит эти проверки, я и залип. я может чего не понимаю, но если взять таблицу маршрутов и попытаться отрисовать поочередно маршруты на готовой "сетке" квадрантов (ссылка вынесена в заголовочный пост), да еще и раздать готовую допустим программку энтузиастам, то будет сразу понятно, где косяки. Или я неправильно понимаю "таблицу маршрутов"? Вы расскажите, что делать-то? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 10 октября, 2017 1 час назад, Ahnaton сказал: @Admin Готов помочь, объясните что делать сделаю. 28 минут назад, JinenryokuFu сказал: Вы расскажите, что делать-то? " - Мам, а где гвозди"? " - Так вот же они!" © Рассказали же... Суть в том, что уже сейчас не нужно придумывать в голове конкретные команды для конкретных кб на конкретных командах - их генерит скрипт. Просто он их генерит не идеально и надо после настройки развязки - тестировать её. 3 часа назад, RedTeapot сказал: уже есть проверка на наличие циклов и достижение правильной конечной станции (по идее - как раз все, что нужно). Вроде, все это есть у меня на гитхабе, потому кто-то может глянуть 1 час назад, RedTeapot сказал: В исходниках на ветке quadcentric. В test.py в конце есть код проверки сгенерированной таблицы (схемы?) маршрутизации. Можно либо слизать алгоритм, либо выдрать этот код и вогнать в него схему маршрутизации в определенном виде. Читай - надо "просто" сгенерить команды с помощью проги Чайника и вбить нужные команды в нужные кб на нужных развязках 1 час назад, Admin сказал: я это не сделаю никогда 1 час назад, Ahnaton сказал: объясните что делать 28 минут назад, JinenryokuFu сказал: что делать-то Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JinenryokuFu 278 Жалоба Опубликовано 11 октября, 2017 14 часов назад, RedTeapot сказал: Наверное, проверить готовую таблицу маршрутов на компукторе можно. Собсна, из-за того, что автоматика не проходит эти проверки, я и залип. А так, уже есть проверка на наличие циклов и достижение правильной конечной станции (по идее - как раз все, что нужно). Вроде, все это есть у меня на гитхабе, потому кто-то может глянуть, если у меня не будет времени. мне вот из этого показалось, что помимо циклов и достижения конечной станции надо проверять вообще маршрут, чтобы он не шел через другой угол карты. Отсюда и мое предложение визуализировать маршруты. Но если вопрос в том, что 11 часов назад, Admin сказал: либо слизать алгоритм, либо выдрать этот код и вогнать в него схему маршрутизации в определенном виде то тогда будем пытаться, чо уж (с). 11 часов назад, Admin сказал: надо после настройки развязки - тестировать её. имхо, если есть таблица, то тестировать лучше все же где-то снаружи дополнительной программкой, ибо это намного легче и быстрее моделировать, чем ехать на вагонетке для проверки. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 11 октября, 2017 Для сгенерированных команд весь маршрут тестировать не надо - это сделала программа Чайника. Проблемы могут быть только с конкретными развязками - поэтому их не просто тестировать надо, а усиленно. Но - это уже как получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lady_Lava 750 Жалоба Опубликовано 11 октября, 2017 14 часов назад, Admin сказал: go to goto? Фу, какой ужас!!! Зачем ты так? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения 5
Admin 455 Жалоба Опубликовано 11 октября, 2017 Это не код - это всего лишь алгоритм. В котором я использовал не какую-нибудь блок-схему, а простой текст и очень лаконично выразил свою мысль ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lady_Lava 750 Жалоба Опубликовано 11 октября, 2017 53 минуты назад, Admin сказал: Это не код - это всего лишь алгоритм. В котором я использовал не какую-нибудь блок-схему, а простой текст и очень лаконично выразил свою мысль ) Ещёб ты в коде такие непотребства писал! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения 5
OcelotJungle 192 Жалоба Опубликовано 11 октября, 2017 4 часа назад, Lady_Lava сказал: Ещёб ты в коде такие непотребства писал! По факту - вызов функции скорректироватьКосяки(), ничего ужасного не вижу. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения