생산 모듈 3를 몽땅 집어넣었을 때 최적의 공장 비율을 알고 싶어짐


셸에서 factorio --dump-data를 실행시키면 이렇게 json파일이 하나 나오는데 이 파일과 함께라면 일일이 레시피 보고 베낄 필요가 없이 바로 코딩을 할 수 있다


파이썬으로 json 파일을 불러오고 재귀함수로 계산한다

로직은 json 파일에서 결과에 필요한 재료 수 구하고, 다시 재료의 재료 수 구하고를 반복하다 1차 생산물이 나오면 멈추는 식이다
결과가 소수로 나오길 원치 않기 때문에 Fraction 모듈을 통해 유리수로 계산한다
중간 생산품 아닌 거 모듈 예외처리, 무한반복 방지 (e.g. 물 배럴 채우기 물 배럴 비우기 물 배럴 채우기 물 배럴 비우기)등등은 꼭 막아주어야 한다

조립 기계 3 기준으로 계산해서 원투는 쓰이지 않는다




단순한 계산들로 코드 검증을 끝냈다
출력에 따르면 1초에 초록칩 한 개를 만드려면 모듈 안 넣은 립기3이 0.4개 필요하고 구리선 만드는 립기가 0.6개 필요하며 철광석, 구리광석은 1초에 1개 3개가 필요하다
코드에 오류는 없어보인다 

이제 써볼 시간~


그냥 초록팩인데 비율이 심상치 않다
보면 알겠지만 생산모듈 3를 쓰면 자꾸 분자 분모에 7, 13같은 더러운 게 곱해진다


이건 노팩인데 더 씹창났다

생산 모듈 3를 사용한 완벽한 비율의 공장 짓기는 불가능한 걸까?
모든 팩을 다 쓰는 로봇 생성 수 무한연구에 필요한 비율을 계산해보기로 했다
색깔팩 종류별로 다 더하고 거기에 로켓 부품 1/10개, 인공위성 1/1000개를 더하면 된다.


분모 최소공배수를 따로 계산해보니 302828526000이었다
지구 멸망이 더 빠를 것 같다