Перейти к содержимому

Doob

Гуру
  • Публикации

    1 089
  • Зарегистрирован

  • Посещение

  • Победитель дней

    141

Сообщения, опубликованные пользователем Doob


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

    О чем я меньше всего беспокоюсь на техносборках, так это об энергии.

    Ресы на робота можно собрать за пару часов, на сборку уходит много времени т. к. первый генератор всегда слабый. Ну а с роботом вообще проблем нет - и дом построить, и за ломазами послать. Накрутили конфиг? - Поставить три генератора в робота и два зарядника на поддержку. Можно три экспы прокачать до максимума и добавить в сборку генератор, но к этому времени количество ресурсов растет так, что можно обеспечивать весь сервер.

     

    Некоторые админы тупо пихают все возможные фиксы.

    Есть проблема: В 1.7.10 дюпают чанки и NBT упаковщик, да и куча всего еще... моды те же.

    Решение с дюпом чанков: Поставить плагин, который ванильно обсчитывает время только в том чанке, где находится игрок, а в остальных - как карта ляжет.

    Результат: ЧАНКИ ПРОДОЛЖАЮТ ДЮПАТЬ, если их не грузить чанклоадером.

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

    Зато воронки не дюпают, да, достижение...

     

    7 часов назад, eu_tomat сказал:

    Чтобы не было имбой, пусть энергопотребление растёт пропорционально четвёртой степени расстояния.

    А если это посчитать? Тогда роботу проще самому мухой слетать и пощупать блок руцями.

    • Нравится 1

  2. Можно сделать форк мода, добавить геосканеру analyze по координатам с десятикратным потреблением энергии.

    Но это все-равно имба, роботы и без этого прекрасно со всем справляются.


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

    Для конечного пользователя это лишнее усложнение.


  4. @vx13

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

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

     

    Вообще никогда не видел проблемы с натуральными ресурсами в майне, после пары запусков в правильном месте, руду девать просто некуда. Если бы руды было 1-2 блока на чанк, даже тогда робот добывал бы всю.

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

     

    @yura0138

    Забавный сундук, проверить надо бы, что говорит про это робот.

    for i = 1, 5 do print(component.robot.drop(3, 1)) end


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

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

    Для предметов, которые ни в коем случае нельзя выкидывать есть список wlist, там лежит эндерчест, может добавятся буры и генераторы при расширении функционала.


  6. PID поможет поделить перемещение на управляемые отрезки.

    Хотя тут можно обойтись простой логикой - взять двоичный/троичный поиск, на каждый отрезок задавать свою скорость - чем ближе к цели, тем меньше. С ускорением аналогично. При расхождении во времени делать поправку.

    Такой алгоритм используется в космических аппаратах при линейных маневрах. А в атмосфере, да еще и с корректировкой курса уже нужен PID.


  7. А что если задействовать PID регулятор? Если можно получить скорость, ускорение и расстояние, зачем тогда надеяться на непредсказуемое время майна?

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


  8. На некоторых серверах глобальный приват для роботов не доступен.

    Некоторые блокируют функции контроллера инвентаря.

    Сообщение от робота не ловится? А беспроводная карта в нем стоит?


  9. По всяким голосовалкам вряд-ли кто-то кликает.

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

    • Нравится 1

  10. Может кто-то придумает смысл игры? А то голая болванка болтается.

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


  11. Для шапки был набросок. Там за компом стив сидел, сзади эндермен и зомби на слизне заглядывали через плечо, а рядом скелет сидел перед потухшим экраном. Как обычно где-то потерялся.

    Вот с другого ракурса сляпал.

     

    eFJqxHn.png

    • Нравится 2

  12. Ну да, в основном на главной новости, сверху какое-то слайдшоу со скринами и кнопки переключения разделов.

    Большинство подкроватных серверов вообще на одном шаблоне с разными вариациями крутятся.



    q2n6Q5F.png

    H7jMNtA.png

     

    Сейчас у нас не хватает информации, о чем этот сайт. Для постороннего человека вряд-ли сразу дойдет, что тут в майн играют, а про наличие каких-то компов только название туманно намекает.

    • Нравится 1

  13. На старой версии светлая тема была норм.

    Кнопки в шапке норм, но немного сливаются с фоном, можно было бы их оживить цветом. Или вообще стиль переделать.

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

    Все блоки слишком массивно смотрятся, на oc.cil.li визуально тоже самое, но выглядит аккуратней.

     

    Надо глядеть на другие игровые проекты, сделать такой дизайн, какой ожидают увидеть потенциальные игроки. А то сейчас человек попадает сюда, а тут какой-то потусторонний даркнет.

     

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

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

    • Нравится 2
    • Спасибо 1

  14. Опечатка тут: gpu.setForeground(cf) аргумент приходит cF

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

    • Нравится 2

  15. В коде есть переменные, которые можно настроить.
    chunks - сколько чанков нужно обработать
    min и max - минимальная и максимальная твердость добываемых блоков
    port - порт для взаимодействия с роботом (если установлена беспроводная карта)


  16. Скачал демку, все работает идеально. Как я и предполагал, есть артефакт склейки, по осям X и Z координаты 111, -112 (т. е. мир квадратный) но артефакт незначительный - просто не рендерится рука и предмет в ней.

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

     

    Падал в туннель.

    На высоте -30 снизу ничего не рендерится, т. е. выглядит как пустота под бедроком в майне (но тут вместо пустоты отрицательные координаты по Y залиты лавой) при падении, игрок просто телепортируется на другую сторону туннеля.

     

    P.S. Однако, находясь на шве мира, нельзя взаимодействовать с блоками, которые находятся на другой стороне. Если с одной стороны блока нет, а с другой есть, то на грани не рендерятся текстуры и вся планета видна насквозь.


  17. 1 час назад, vx13 сказал:

    getAllStacks и getAllStacks().getAll() по-разному работают на разных версиях MC

    На 1.7.10:

    • индексация  массива из getAllStacks().getAll()  начинается с 0, а не с 1.
    • getAllStacks().getAll()[slot] для пустого слота возвращает пустую таблицу, а не таблицу с «воздухом»
    • getAllStacks()[slot] для пустого слота возвращает nil, а не таблицу с «воздухом»

    Понял, исправлю.

     

    Отвечаю по порядку.

    3 часа назад, Appo сказал:

    Чем обусловлен длительный переход между чанками?
    Как продумана система взаимодействия с труднодобываемыми блоками? (обсидианом/досками в шахтах) Копает или обходит?
    Исключена ли возможность застрять роботу в пористой структуре бедрока? Так как при калибровки в новом чанке он опускается вниз до бедрока и, как мне кажется, из за неоднородности по высоте может опуститься ниже.
    Оправдала ни схема, при которой робот отвязывается от привязки к чанкам? И тогда уже потом добавлять ограничения по чанкам в N диапазоне, если есть необходимость.

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

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

    По дефолту обсидиан вне области видимости, доски не проблема.

    Площадь сканирования 16x16 блоков, бедрок хорошо обнаруживается, а если не обнаруживается, то робот не застрянет.

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

     

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

    Но я сделал проще и быстрей, подход не идеальный, но очень хорошо оптимизирован при помощи практических тестов.

×
×
  • Создать...