Nikolay
Факторио у меня на первых порах вела к бессонным ночам
Ayrat
Vagif
Я в последние недели играл главным образом в Ticket To Ride, за столом с детьми. Но дети навещают редко, захотелось играть во что-то еще.
Nikolay
Не лагает, есть моды, куча контента
Ayrat
Это же кошмар
Ayrat
И все чот строят
Nikolay
Nikolay
Играли вчетвером макс
Ayrat
Vagif
Там предлагается или Website key или Steam key. А есть разница?
Nikolay
У меня стимовский
Ayrat
Ayrat
Игра между прочим топ2 в Стиме по оценке пользователей
Vagif
То есть предпочтительнее напрямую, понял.
Ayrat
99% положительных отзывов
Nikolay
@omgszer есть идеи как дождаться обработки всех сообщений мейлбоксами?
Nikolay
Ну так то можно и каждого опросить в конце
Nikolay
Дождаться ответа
Nikolay
Хотя, ты видимо это и имеешь ввиду
Nikolay
async {
let loop (inbox: MailboxProcessor<Message>) =
async {
while true do
match! inbox.Receive() with
| Unit -> ()
| Done tcs -> tcs.SetResult(())
}
let agents = [| for _ in 1 .. x.CountAgents do MailboxProcessor.Start(loop) |]
let random = Random(x.CountMessages)
for _ in 1 .. x.CountMessages do
let t = random.Next(0, x.CountAgents - 1)
agents.[t].Post(Message.Unit)
let tcs =
[|
for i in 0 .. x.CountAgents - 1 do
let t = TaskCompletionSource()
agents.[i].Post(Message.Done t)
t.Task
|]
do! Task.WhenAll(tcs) |> Async.AwaitTask |> Async.Ignore
} |> Async.StartAsTask
Nikolay
Норм?
Nikolay
Nikolay
AlexxSt
Мейлбокс конечно жирный...
Nikolay
Как поезд пассажирный
Nikolay
Пока вообще топ по памяти:
Hopac
Channel ValueTask
Nikolay
Чем выше, тем меньше)
Nikolay
Nikolay
Nikolay
Где-то после 12 дня
Nikolay
Там сами мейлбоксы жирные, вроде сжирали около 400мб на 100к
Nikolay
И 600 мб сжирала отправка 1кк сообщений
Vasiliy
@VagifAbilov Но аккуратнее с факторио, если затянет, будет тяжело.
А когда узнаешь, что там еще можно программировать логику, вообще пиши пропало
Vasiliy
И там есть поезда!!!
Nikolay
Vasiliy
А - автоматизация же.
Vasiliy
Настраиваешь, например, что в точке А добывается руда только в тот момент, когда в точке Б она требуется.
Nikolay
Самый оптимальный по памяти код с рекурсией получился такой:
let loop (inbox: MailboxProcessor<Message>) =
let rec loop =
async {
match! inbox.Receive() with
| Unit -> ()
| Done tcs -> tcs.SetResult(())
return! loop
}
loop
Ayrat
Ayrat
Например отключать станции где нет ресурсов чтобы туда поезда не катались
Vasiliy
но видел на ютубе, народ вообще "убивается" программаторы, видео экраны, игры и т.п.
Ayrat
Или умная погрузка
Ayrat
Или умная разгрузка
Vasiliy
Nikolay
Nikolay
Максимум две станции было)
Vasiliy
О_о о_О
Ayrat
Или переключение помп на нефти чтобы не было оверфлоу жидкостей
Nikolay
Она как-то быстро проходится
Nikolay
Покажи
Ayrat
Nikolay
В факторио бесит, когда начинаешь заниматься увеличением производства из-за того, что где-то чего-то не хватает)
Ayrat
Nikolay
А оно можно до бесконечности делать
Vasiliy
млин, я удалил свои скрины(
Ayrat
планируешь всё заранее
Vasiliy
ну это для тех кто любит строить и планировать, и циферки считать, строить и перестраивать.
Vasiliy
там есть еще Сатисфактори сейчас.
Vasiliy
Тоже в целом очень стараются сделать классный симулятор фабрики
Hog
Nikolay
Nikolay
3д для зумеров
Vasiliy
Vasiliy
нет, там тоже Фабрики
Vasiliy
3д для зумеров
да ладно тебе. В сатисфактори тоже есть свой шарм.
Hog
Я посмотрел демку
Hog
Симсити на стероидах
Nikolay
А есть тут люди, которые не умирали от поезда?
Vasiliy
😂😂😂
Nikolay
Мде, почему рекурсия такая жручая
Nikolay
Ayrat