1

Step 1

Построение дерева рецептов

2

Step 2

Использование редких ресурсов в дереве рецептов

3

Step 3

Исключение отдельных редких ресурсов в дереве рецептов

4

Step 4

Упрощение дерева (схлопывание)

5

Step 5

Верстка

6

Step 6

Расчёт потребляемого схемой электричества

7

Step 7

Расчёт нужных вариантов сортеров

8

Step 8

Учёт типа ленты

9

Step 9

Генерация шаблонов

1

Step 1

Построение дерева рецептов

2

Step 2

Использование редких ресурсов в дереве рецептов

3

Step 3

Исключение отдельных редких ресурсов в дереве рецептов

4

Step 4

Упрощение дерева (схлопывание)

5

Step 5

Верстка

6

Step 6

Расчёт потребляемого схемой электричества

7

Step 7

Расчёт нужных вариантов сортеров

8

Step 8

Учёт типа ленты

9

Step 9

Генерация шаблонов

03 October 2021

Goal abandoned

The author does not write in the goal 2 years 9 months 9 days

Career & Work

Написать "решатель" для Dyson Sphere Program

Я стал играть в первую свою игру про автоматизацию - Dyson Sphere Program. И мне сразу захотелось строить такие производственные цепочки, которые будут максимально эффективно преобразовывать стартовые ресурсы в конечные продукты.

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

Ну и чтобы мне было комфортно играть захотелось для себя сделать сервис-подсказчик, который будет говорить "если хочешь производить X в одном здании, то тебе потребуется Y, Z и T ресурсов и зданий".

При этом сам решатель хочу снабдить фичами и нормально сверстать.

 Goal Accomplishment Criteria

Решатель написан, опубликован и работает онлайн

  1. Построение дерева рецептов

    На данном этапе нужно по входному материалу построить дерево необходимых рецептов вплоть до базовых ресурсов.

  2. Использование редких ресурсов в дереве рецептов

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

  3. Исключение отдельных редких ресурсов в дереве рецептов

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

  4. Упрощение дерева (схлопывание)

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

  5. Верстка

    Название говорит само за себя. Текущая верстка может "уехать" за пределы экрана и это не позволяет посмотреть все дерево целиком. Я нашёл хороший референс здесь: https://calc.dsp-wiki.com/#belt=belt-2&items=rocket:f:1

  6. Расчёт потребляемого схемой электричества

  7. Расчёт нужных вариантов сортеров

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

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

  8. Учёт типа ленты

    В игре есть три вида ленты, по которым ресурсы доставляются от здания к зданию - по 6, 12 и 30 единиц в секунду.

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

  9. Генерация шаблонов

    Это отдельный максимально сложный этап, который собирает в себе всё предыдущее. Сам формат шаблонов (чертежей) в игре и так не прост, но основная сложность не в кодировании, а в размещении зданий. Нужно учитывать их размеры, положение креплений для погрузчиков/лент.

  • 987
  • 03 October 2021, 16:13
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?