Doob
-
Публикации
1 089 -
Зарегистрирован
-
Посещение
-
Победитель дней
141
Сообщения, опубликованные пользователем Doob
-
-
Все можно посчитать, для особо неверующих, можно даже сделать симуляцию.
У вероятности есть такая замечательная штука, как распределение. И при разных условиях, плотность распределения может быть разная.
Если теория вероятностей и комбинаторика обошли вас стороной, то я попробую объяснить на пальцах.
Для упрощения, возьмем вероятность получить урон за 100% и поместим две овцы в одну ячейку. Каждую минуту одна овца будет в среднем получать 0.5 урона. Время
жизни овцыработы ячейки от 8 до 16 минут.Для еще большего упрощения, можно взять среднее здоровье овец (они получают в среднем одинаковый урон)
Подбрасываем монетку и назначаем этому мысленному конструкту урон в 1 единицу здоровья. Если одна овца кончилась, то записываем сколько минут проработал генератор и начинаем заново. Можно запустить симуляцию и увидеть...
Ба! Кто это у нас? Похоже на Гамма-распределение или хи-кватратичное, но стоит помнить, что шум у нас равномерный.
Код на питоне для наглядности.
import matplotlib.pyplot as plt
from random import randomdef gee(x1, x2):
c = 1
while True:
if random() < 0.5:
if random() < 0.5:
x1 -= 1
else:
x2 -= 1
if x1 == 0 or x2 == 0:
return c
c += 1p = []
for i in range(100000):
p.append(gee(8, 8))print(min(p))
plt.hist(p, bins = 50, histtype = 'stepfilled')
plt.show()Можно покрутить жизнь овцы x1 независимо от x2 и увидеть, что конструкт действительно работает.
Сколько раз бы мы не запускали симуляцию, наивысшая плотность вероятности будет около 24х минут.
Я сначала оценивал минимальное время работы генератора по третьей левой сигме, но она очевидно не статичная и не линейная.
Сейчас мы получаем минимальное время работы генератора 8 минут, но стоит приглядеться к площади на графике, которую занимает эта вероятность. Что мы тут видим? По отношению к остальной площади это просто песчинка.
Можно пойти дальше и установить вероятность получения урона как в конфиге - 0.001
Вот тогда начнутся чудеса, пик отползает от 0, минимальное время работы тоже.
Вот результаты работы симуляции (первый столбец это количество жизней конструкта, второй - минимальное время работы генератора в минутах)
1 1
1.5 1
2 4
2.5 14
3 65
3.5 89
4 216
4.5 251
5 421
5.5 628
6 726
6.5 906
7 1037
7.5 1042
8 1426
8.5 1583
9 2479
9.5 2619
10 2749Но это третья сигма, она нелинейна, хоть и позволяет оценить время работы генератора.
Я пошел немного дальше и вывел формулу получения пика.
T = x*1762-2337
Где x - это среднее количество жизней в ячейке, а результат T - время до максимально вероятного окончания генерации.
Теперь вернемся к нашим баранам.
9 часов назад, eu_tomat сказал:одна из них погибнет за минимально возможные 8 минут, а остальные полностью сохранят здоровье. Да, это маловероятно, но всё же вероятно.
Сильное заявление, проверять я его конечно не буду.
Сначала мы подкидывали монетку и получали 0.5, в конфиге у нас 0.001, значит подкинем монетку с тысячью сторон и внимание, вопрос... какова вероятность, что монетка выпадет на одну грань из тысячи, восемь раз подряд?
Овцы и оцелоты это всего-лишь вид топлива, какой толк переводить на них зелья, если можно подкинуть еще? К тому же при подкидывании топлива, не только увеличивается среднее время работы, но и снижается вероятность отключения ячейки.
-
2
-
-
А конструкторы генерации на 1.7.10 есть? Или вымерли все? Я помню, еще на 1.2.5 руками указывал все параметры, захотел - генерирую острова в лавовом океане, захотел - луну с кратерами.
-
Было бы здорово, если бы огонь горел нормально, запалил лес и к утру получаешь чистое поле.
Не предлагаю острова в океане лавы, но мир и правда надо как-то облагородить, сдуть весь плодородный слой, сделать разломы до бедрока. Кстати, данжи для генерации еще нужны?
-
Если дебага не работает, то комблоком можно сотворить что угодно. Ставим в скорборд задачу на крафт n процессоров и через testfor смотрим прогресс. В процессе можно подворовывать у игроков процессоры, чтобы жизнь хлебом не казалась.
Вообще, надо будет раскопать старый ивент с компами, который мы так и не запустили.
-
Ну предмет можно и вернуть. А события крафта и получения ачивок, вроде-бы можно отслеживать в скорборде.
Я правда забыл, что компы не на всяком серверном ядре могут с командами дружить. Хотя на одних комблоках это развернуть не намного сложней.
-
Ну жертвоприношения выловить довольно просто. Игрок пишет команду, система пробует забрать у него ресурс и считает. Правда, если раса записывается не в ванильную скорборду, то надо админу руками добавлять или сделать мост между плагином и опенкомпами.
Вот я ванильной механикой забирал и выдавал ресы:
-
Всем подряд роботов выдавать не стоит, они полетят на аукцион, я их всех скуплю и будет жуткий дисбаланс. Для равновесия надо выдать другим расам бур или что-то подобное.
И киты сделать не такие жирные.
И почему редстоун факела такие яркие?
-
Видеть здоровье моба, как и внутренние состояния блоков как-то слишком читерно. Мне X-ray нравится, но играть я с ним не буду (возможно)
-
2
-
-
Математика позволяет оперировать вероятностями. Я тут посчитал и обнаружил, что животных, без дозаправки, можно оставлять примерно на 30 часов и ничего страшного не случится. Пик смертности приходится на ~12000 минут работы. А в первые 1000 минут, вероятность получить труп крайне мала.
Но это сферовакуумные вычисления, может я ошибся с классификацией распределения, но при больших шансах урона все правильно выходит. В майне проверить это проблематично, да и шумят овечьи генераторы довольно неприятно.
-
Предлагаю в opencomputers/settings.conf, в список potionWhitelist дописать invisibility. Хоть что-то противопоставить толпам мобов в начале игры.
-
2
-
3
-
1
-
-
Узнать матожидание 70% урона и настроить таймер, чтобы дроппер по таймеру бросал зелье. Тогда и робот не нужен.
-
2 часа назад, eu_tomat сказал:Овец можно плодить роботами.
Точно, я забыл, что надо робота сверху воткнуть. Тогда все довольно просто, на одном блоке выращиваем пшеницу, плодим и сортируем овец по свободным аккумуляторам, профит.
1 час назад, hohserg сказал:понизить вероятность опускания здоровья одного из мобов в капсуле, можно запихнуть туда много больше двух мобов
Я сначала думал по таймеру выдергивать одного моба, чтобы существенно снизить вероятность, но потом вспомнил, что лечить все-таки придется. С бесконечными овцами, мне кажется, будет проще.
-
Накладно тем, что мобам без зелий здоровье не восстановить.
Хотя, можно плодить овец с постоянной скоростью, но все-равно требуется участие игрока или сторонних модов.
-
1
-
-
С обязательным пинг-понгом это сложно. Если бы сервер считал любое сообщение за пинг, то клиент и не нужен, достаточно одной функции для кодирования исходящего сообщения.
-
1
-
-
Только что, eu_tomat сказал:Отличие от голограммы будет в "твёрдости" формы.
Это было бы невероятно круто. Программируемый мир, доступный каждому.
-
В фильтр можно подать список любых параметров предмета, например {name='minecraft:stone', label='ololo'}, т. е. те же поля, что возвращает getItemsInNetwork
Для экспорта надо получить фингерпринт предмета (кажется название + дамаг), затем получить его дамп из сети. И только потом, беря из дампа текущее количество, экспортировать предметы по фингерпринту, дробя требуемое количество на стаки.
local function export(item, dmg, amount) local fingerprint = {id = item, dmg = dmg} local item_dump = interface.getItemDetail(fingerprint) local current, result, size = amount, 0 if item_dump then item_dump = item_dump.basic() if item_dump.qty < amount then amount = item_dump.qty end for stack = 1, math.ceil(amount/item_dump.max_size) do size = interface.exportItem(fingerprint, SIDE, current).size current, result = current - size, result + size end end end
По крайней мере, так было раньше.
Мне больше нравится Refined Storage, там все работает из коробки, без лишних телодвижений.
-
Странно, я летом 2019 тыкал, все работало нормально. На 1.7.10 вообще ничего не менялось.
-
Через ME-интерфейс надобно подключаться.
-
1
-
-
Было бы здорово если все было так просто. На одном сервере я прочитал исходники админского магазина и нашел их на пастбине.
Сервер многое не сообщает клиентам, но протокол открытый. Немного покопавшись, можно заставить сервер делать удивительные вещи.
-
1
-
-
Никакой дыры нет. Все очевидно, если примерно понимать, как работает компьютер.
Что-то OBS после обновы стал туго писать несколько окон, но общий принцип, думаю ясен.
-
Содержимое сервера общедоступно, любой игрок может прочитать из памяти ключ и использовать его, чтобы управлять базой данных.
Есть один способ защититься. Надо сделать шлюз для связи с интернетом в отдельном мире, куда не имеет доступ ни один игрок. Туда от магазина прокинуть мост туннельными картами. Хотя, я не уверен, что из персонального измерения нельзя вытащить информацию.
-
В плане безопасности ничего не изменилось, хацкер может спокойно модифицировать свой счет и выкупить все товары.
Самый надежный способ хранить информацию - на жестком диске в игровом сервере.
-
Механика сильно отличается от предыдущих годов, теперь старички не смогут с кодом из прошлых соревнований сидеть в топе.
Хотя в DeepMind давно победили платформеры, думаю одними гладиаторскими боями с выбором лучших не обойтись.
И да, главное это не победа, а участие.
-
Кто-нибудь участвует или имеет желание поучаствовать в Russian AI Cup?
Тут подвезли новую игру, я решил в этом году попробовать свои силы. Может быть кто-нибудь с форума тоже захочет.
-
1
-

Генерация энергии ковровыми аккумуляторами
в Инфраструктура
Опубликовано:
Фигня ваши генераторы, они орут и воняют, мне они ни в каких количествах не нужны. А оцелота вообще невероятно трудно поймать.