결론 : 기계 수 줄이기보다 활성화된 투입기 수 줄이는게 UPS에 훨씬 유리하다
출처 : https://www.reddit.com/r/factorio/comments/dv5f22/ups_wars_3_results/
오늘은 UPS war 3의 결과를 한번 살펴보겠음.
이게 뭐냐면
UPS war 라고 유저 DaveMcW 가 UPS 최적화 콘테스트 비스무리한걸 간헐적으로 열고 있음.
1은 구리 판 제련, 2는 강철 제련, 3은 전자회로 만드는 디자인으로 콘테스트를 했었음.
2 까지만 보고 3은 오늘 알았는데 이거 2달 전에 했었네.
최근에 UPS 관련 글도 몇개 올라오고 개인적으로 관심있어서 찾아보던 중에 발견해서 올려봄.
결과의 의미를 알기 위해 일단 어떤게 더 좋은건지 알아야 할텐데,
간단히 설명하면 각 맵에 있는 70821ms 이런게 지정된 게임 tick을 구동하는데 걸린 시간을 ms 단위로 측정한 것으로써
아무튼 숫자가 작을수록 더 최적화된 디자인이라는 의미임.
이 글에선 UPS war 3에서 우승한 6개 전자회로 생산 공장 디자인들을 직접 받아서 살펴보면서 본인이 알 수 있었던 점을 몇가지 적어 볼까 함.
UPS 최적화를 목표로 하는 갤럼들이 참고했으면 좋겠음.
또 내가 놓친 부분이나 잘못 짚은 부분이 보인다면 코멘트 환영하겠음.
먼저 Off patch smelting 부터 살펴보겠음.
1. Off patch smelting
일단 Off patch smelting이 뭐냐.
자원을 자원 매장지에서 채굴하고
매장지에서 멀리 떨어진 독립된 제련소까지 운송해서
제련 후 사용하는 것을 말함.
이 말은 즉 다른 카테고리는 자원 매장지 위에 용광로도 같이 지어서 바로 철 판, 구리 판을 뽑아먹는다는 얘기임.
이 카테고리가 따로 분리되어 있는 이유는
아마도 팩토리오 본 게임에서는 채굴지에 바로 용광로를 짓는 등 이런 벤치마킹 맵에서만 할 수 있는 트릭을 사용할 수 없는 경우가 많기 때문일거임.
그럼 디자인을 보자.
10k belt megabase 에서 봤던 디자인과 흡사하다. 그게 뭐냐고 물으면 2번 섹션 전에 링크 있으니 가서 봐라.
대체로 12비콘 디자인이고
구리선이랑 전자회로 만드는 조립기계는 10비콘이다.
특이한 점은 묶음 선별 투입기의 필터 조정으로
모든 투입기의 움직임을 각 아이템 별로 지정된 tick마다 움직이게 조절해
활성화된 투입기의 수를 최소화 하려고 한 흔적들을 볼 수 있었다.
이게 알고보면 굉장히 웃긴 트릭인데
보고 이해할 진 모르겠지만 궁금한 사람들을 위해서 적어봄.
UPS를 극한까지 최적화 하고 싶다면 굉장히 유용할 것 같아서.
아래는 설명
-------
일반 투입기의 경우 시계 회로를 이용해서 지정된 tick 마다 움직이게 설정해도
f5를 눌러 볼 수 있는 투입기 활성 상태를 확인할 경우
움직이지 않고 있는데도 불과하고 활성 상태를 유지하고 있는 것을 볼 수 있다.
(개체 위에 빨간 동그라미가 있으면 비활성 상태, 없으면 활성 상태를 의미한다.)
실제로 초록색 묶음 투입기에는 빨간 불이 들어와서 비활성인거 처럼 보이지만 동그라미가 없으므로 비활성이 아니다.
하지만 선별 투입기의 경우는 filter를 설정하지 않을 경우
회로가 연결되었음에도 불구하고 항상 비활성 상태를 유지한다.
따라서 투입기를 움직이고 싶은 시점을 정확히 계산해서 (조립 기계의 속도, 벨트의 속도, 투입기의 팔이 움직이는 속도 등을 고려)
시계 회로로 정확히 그 tick 마다 한번씩 회로로 필터 조건을 입력해 주면
최소의 시간만 활성화 되는 투입기를 구현 가능하다.
--------
또 다른 off patch smelting 구조로 이것도 있었다.
이게 위 구조보다 살짝 더 빠르다. (~7%)
이정도 차이는 뭐 때문이라고 정확히 집어서 얘기하긴 어렵다.
굳이 달라진 점을 찾자면
구리선이랑 전자회로 공장이 10에서 12비콘으로 늘어났지만
사실상 투입기 하나로 구리선 전달이 제대로 안 되기 때문에 100% 가동은 못한다.
근데 단순히 봐선 이게 속도에 영향을 주는 요인이라고 확신은 못하겠음.
비콘은 채굴기 하나마다 12개 사용.
채굴지는 요즘 외국섭에서 유행하는 벨트 한줄에 광석 두종류 보내는 채굴방법을 이용했다.
이건 자세한건 stevetrov의 10k belt megabase 설명을 참고하기 바람.
가서 설명 읽어보면 벨트를 쓰면서 UPS 최적화에 도움 될 만한 정보는 거의 다 있다고 보면 됨.
링크 : https://www.reddit.com/r/factorio/comments/bdkrwz/10k_spm_belt_megabase_benchmarked_83ups_with_way/
영어 울렁증이 있다면
갤에 누가 리뷰한 링크 : https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=11133&exception_mode=recommend&s_type=search_all&s_keyword=10&page=4
번외로 이사람 이번엔 15k belt megabase도 들고 나왔었네. 단순히 250spm 복붙이라 컨셉증명이긴 하지만 최적화의 끝판왕이 바로 이런게 아닌가 싶다.
링크 : https://www.reddit.com/r/factorio/comments/cz4jx5/15k_belt_megabase_runs_at_70ups_no_mods_proof_of/
2. Belts Only
이거부터는 좀 예능 디자인에 가깝다고 보면 된다.
광석 위에 바로 건물 짓는건 자원 부족한 본게임에선 거의 불가능하기 때문.
구리 채굴부터 전자회로 조립 기계까지 전부 광석 위에 지어진 구조다.
일단 채굴기-용광로로 광석을 전달하는데 필요한 벨트와 투입기를 극단적으로 줄이다 못해 아예 없앴고
투입기로 기계 to 기계로 직접 전달하는 구조를 최대한 활용하고 있다.
분배기가 UPS를 많이 먹는걸로 알려져 있지만
위 10k megabase 디자인 철학 자세히 읽어보면 이런식으로 유용하게 쓰이는 경우도 있을 수 있다는 듯.
철 채굴은 여기 보이는 구리 채굴이랑 비슷한데 벨트에 놓는다고 보면 됨.
지금 보면 전자회로는 고작 5비콘, 구리 전선은 6비콘 효과를 받고 있다.
그럼에도 불구하고 투입기 수가 많이 줄어든 만큼 UPS는 위 1번 디자인들에 비해 20% 이상 향상됨.
3. Trains Only
이건 진짜 예능 디자인이고 실용성은 없다고 보면 되지만,
UPS를 보면 최적화에는 투입기 안쓰는게 장땡인걸 단적으로 보여주는 예이기도 하다.
철판을 기차로 가져와서 그대로 선별 투입기로 조립기계에 투입, 전자회로로 바꿔서 가져가는 구조.
철판 채굴 역시 스샷은 없지만 차량별로 투입기 하나만 있는 구조임.
말도 안되는 구조 같지만 UPS는 off patch smelting의 40% 이상 향상, 놀라울 정도로 최적화됨.
그니까 보통 컴으로 10kspm 생산하는 메가베이스에서 UPS 한계가 올다면 이런 디자인이면 14kspm이 가능하다는 얘기.
놀랍게도 전자 회로는 비콘 단 5개, 구리선은 비콘 단 6개, 용광로는 비콘 단 7개 효과만 받고 있다.
두 디자인으로 같은 양의 전자 회로를 생산하려면 실제로 동작하고 있는 조립기계와 용광로는 거의 2배에 가깝지만
게임 연산 속도 자체는 조립기계 보다도 투입기가 적은 이쪽이 훨씬 빠르다.
다르게 말하면 활성화된 투입기 수를 줄일 수 있다면 12 비콘 디자인을 고집할 필요가 없다.
오늘도 새로운거 배워간다.
한줄 요약 : 기계 수 줄이기보다 활성화된 투입기 수 줄이는게 UPS에 훨씬 유리하다.
실제로 효용성 제일 높은건 선별투입기로 틱당 펄스줘서 1스윙만 하게하는게 진짜 크겠네. 구글시트로 누가 만들어서 배포해줬으면 좋겠다.
확실히 1000 SPM을 넘는 규모에서 UPS최적화를 위한 무언가가 바닐라에 추가되어야 할꺼같음.
와 기차에서 바로 주워다가 만드는거 존나멋있다 ㅋㅋㅋ
개쩐다