저번에 올라왔던 글 재밌게 봤고 이번에 영상 올라왔는데 아직 갤에는 글 없길래 번역해가면서 영상 내용을 정리해보려고 해

역주는 *나 괄호 등으로 표시했으니 읽을 때 헷갈리지 않게 최대한 노력했으나

글을 다듬는 과정에서 다소 내용이 길어지고 읽기 불편할 순 있으니 미리 사과의 말씀을 드립니닷....



******어떤 청사진이 ups에 제일 좋은지 알려주는 글이 아닙니다******





개요


이 유튜버는 현재 화학팩과 관련해서 ups 콘테스트?를 열고 있음

당연히 일반적으로 엔딩을 보는 정도로 플레이하는 유저에게는 필요없는 정보들이고, 메가베이스 등으로 ups 관리가 필요한 사람들을 위한 영상임

지난번 영상(이 글)에서는 ups 콘테스트 출제작 중 안좋은 것들을 예시로 보여줬고, 이번 영상은 여러가지 부가 설명들과 함께 '최고의 설계'를 선정하지는 않았지만

상위권에 위치한 설계들을 자체 제작한 툴과 피어슨 상관계수를 계산하여 상위권의 설계들이 어떤 공통점을 가지고 있는지를 주로 다뤘음 





서론


설계도를 내보낼때 우리가 보기엔 다소 난잡한 문자열로 공유가 되는데, 이를 JSON 파일 형식 변환하면 코드로 직접 볼 수 있음

이 코드에는 청사진 속 모든 개체와 방향, 위치가 포함되어 있고 회로 등의 정보도 모두 저장되어있음

근데 이 유튜버는 콘테스트를 열고 36개가 넘는 청사진을 받았는데, 청사진들의 구성요소를 직접 살펴보는건 물론 가능은 하지만 너무나 비효율적임

그래서 직접 청사진 주소를 입력하면 각 개체가 몇개 있는지 확인할 수 있는 툴을 만들었음


지난 영상에서와 다른 영상에서는 ups테스트 툴을 이용해 ups를 측정했고

이번 영상에서는 청사진의 개체를 모두 뽑아내는 툴을 만들었음

이제 이 둘을 조합하여 상관계수를 구해 '어떤 요소들이 ups에 더 많은 영향을 끼치는지' 알아볼거임


*상관계수는 0을 기준(둘 사이에 관계가 없다)으로 1에 가까울수록 양의 상관관계(A가 커지면 B도 커진다)와 -1에 가까울수록 음의 상관관계(A가 커지면 B는 작아진다) 로 범위를 제한하고 이 안에서 얼만큼 관계가 있는지 알아볼 수 있음

그렇다고 해서 1에 가깝다고 둘 사이에 무조건 관계가 있는건 아님, 예를 들어 분석을 통해 [아이스크림의 판매량이 증가할수록 익사 사고도 늘어난다] 라는 추론이 도출되었을때,

이것만을 믿고 아이스크림의 판매량을 제한하는것은 옳지 않음, 왜냐하면 아이스크림의 판매량과 익사 사고 간의 관계는 직접적인 관계가 아닌 '여름'과 관련 있기 때문임

하지만 여름을 고려하지 않는다면 둘 사이에 상관관계가 있어보일 수 밖에 없기 때문에 이러한 결론 도출은 조심해야함

다행히 이 영상에서는 이러한 오류까지 같이 지적해주기 때문에 재밌게 볼 수 있는 부분이 몇개 있음




본론


1. 주조소/지하 파이프 - 유체 업데이트 시간 간의 상관관계






주조소가 많을수록 유체 업데이트에 소비되는 시간이 많은건 당연해 보이지만, 지하 파이프도 유체 업데이트 시간과 관련이 있는것으로 보였음

심지어 주조소보다 지하파이프가 ups와 더 강한 상관관계를 가진것으로 나옴

지하파이프는 사실상 일반 파이프와 같은 역할을 하고, 단순히 생각하면 빈공간이 많기때문에 오히려 일반 파이프보다 ups에 영향을 덜 줄것같은데 왜 그럴까?


답은 그냥 주조소를 많이 쓸수록 지하파이프도 많이 쓰기 때문임


즉,

지하파이프가 ups를 많이 잡아먹는다 - X

주조소를 많이 쓰면 지하파이프도 많이 써서 지하파이프가 ups를 많이 먹는것처럼 보인다 - O (실제로는 쓰는만큼 쓰는건데 지하파이프 양이 많아지니까)


이러한 중간 도출을 통해 실제 청사진과 비교해보면, '유체 네트워크에 연결된 건물이 많을수록 ups를 더 많이 잡아먹는다'임


*2.0 업데이트와 함께 유체와 관련된 부분이 유체역학(?)을 반영하던 부분에서 네트워크 형식으로 바뀌게 되었는데

이걸 정말로 전기 네트워크나 회로 네트워크처럼 사용하면 ups 부분에서 더 많은 비용이 발생한다는 결론



2. 투입기의 활성화 제어 - 엔티티 업데이트 시간 간의 상관관계





당연한 이야기지만 개체들이 일을 덜 할수록 ups가 최적화됨

묶음 투입기가 8개일 때 활성화(맨 오른쪽 셀) 되어 투입기가 두번 회전하는것보다

16개일때 활성화되어 투입기가 한번 회전하는게 더 좋음


그래서 ups 최적화를 할때 가장 먼저 하는것이 회로 네트워크로 조건을 달아 쓸데없는 업데이트를 줄이는건데

문제는 너무 많은 투입기(심지어 제어가 필요하지도 않은)가 단일 네트워크에 연결되어 불필요한 조건 확인을 반복할 때 ups가 크게 증가하였음

엔티티 업데이트 시간을 줄이겠다고 회로 업데이트 시간을 더 늘린 셈이 되버림



2.1 투입기와 네트워크 최적화 *중요*



(참가자들의 틱당 업데이트의 평균, 파란색-엔티티, 분홍색-회로제어, 초록색-벨트, 노란색-전기,유체 네트워크, 주황색-우주플랫폼, 노랑색-기차)

(화학팩만 사용했으므로 우주플랫폼과 기차는 사실상 측정 불가능한 영역) 



*앞서 언급한 'ups 최적화를 위해 회로네트워크에 연결하고 조건을 달아 쓸모없는 업데이트를 줄이는 것이 첫번쨰' 라는 부분은

파란색 그래프를 줄이기 위해 그 중 일부를 분홍색으로 옮기는 작업이라고 보면 됨



전체적으로 보았을 때 18번 참가자의 ups가 가장 낮았고

상대적으로 좋지 않은 ups를 기록한 11번 참가자와 직접 비교하여 어떤 차이점이 있는지 살펴보겠음





- 11번 참가자의 ups 측정 그래프를 240틱으로 좁힌 그래프 (기존 18,000틱)


보면 중간중간 분홍색이 크게 튈때가 있음

분홍색은 회로 제어 네트워크라고 설명했는데 이 부분이 상당히 자주 튀는것을 볼 수 있음




-동일한 그래프 조건으로 변경한 18번 참가자의 ups 그래프


튀는 부분이 상대적으로 적음

이 그래프의 범위가 240틱=4초 인데 이정도인걸 감안하면 장기적으로 봤을때 이렇게 자주, 과도하게 튀는 부분을 제어할 필요가 있음


이제 이 부분을 실제 청사진을 보면서 해석해야함



- 11번 참가자의 회로 구성상태

우선 이 참가자가 필요 이상으로 과도하게 공장을 구성해서(초당 240개 뽑아내면 되는데 공장 스펙은 초당 390개정도를 뽑을 수 있는 정도) ups가 안좋은것도 있지만,
화학팩의 재료인 빨간칩,황,엔진유닛을 모두 단일 네트워크로 구성하고, 일 할 필요가 없는 투입기에도 모두 연결해서 회로제어 업데이트를 과도하게 소비함 

회로제어 업데이트는 기본적으로 엔티티 업데이트를 줄이기 위해 일부 사용되는데, 이렇게 과도하게 사용할 경우는 엔티티 업데이트의 감소량보다 네트워크 업데이트의 증가량이 더 많아짐




- 다른 참가자의 설계 중 제일 마지막 부분


이게 짤을 캡쳐해와서 잘 안보일텐데.. 마지막 조립기계에서 과학팩을 꺼내는 투입기에는 회로 연결을 하지 않았음

4스택 반벨트를 채우는 공정에서 120개보다 조금 더 많이 생산하는 경우 어쩔 수 없이 마지막 조립기계는 생산시간이 중간중간 비게 되는데

오히려 회로를 연결하지 않아서 업데이트를 추가 낭비하는것을 개선했음



-영상 속 44:55, 짤로는 잘 안보이니 영상을 직접 확인해보는게 좋음


앞서 첨부한 참가자들의 ups 순위 그래프 중 9위를 기록한 1번 참가자의 설계도인데

그래프를 보면 비슷한 수준의 ups를 기록한 다른 참가자들보다 엔티티 업데이트량은 많지만 회로제어 업데이트는 모든 참가자랑 비교해봐도 가장 적음

회로를 아예 안썼기 때문


유튜버는 이 청사진을 보면서 많이 흥미로워했는데, 그 이유가

1. 벨트를 많이 사용했는데, 생산량이 소비량보다 조금 높아 최종적으로 투입기가 벨트에서 집는 순간에는 벨트 위 아이템이 멈춰있는 상태

2. 엔진유닛의 경우도 톱니바퀴와 철은 1번과 같이 설계하였고, 파이프는 소비량이 많아서 주조소에서 직접 꺼내게 설계함

즉 정말 필요한 상호작용만 하기 때문에 회로 네트워크를 사용하지 않고 ups를 최대한 최적화한 설계라고 했음


그럼 여기서 한가지 의문이 생김

'움직이지 않는 벨트 위에 투입기가 물건을 올리려고 하는것 만으로도 비용이 발생해서 회로를 쓰는건데 지금와서 벨트가 멈출때까지 생산하라고?' 라는 반론이 가능하기 때문임

이 실험 결과 '벨트 위에 아이템을 계속 떨어트리려고 하는 비용보다 움직이지 않는 벨트 위의 아이템을 집는게 더 저렴하다' 였음

재료 A를 소비량보다 살짝 많이 생산해서 최종적으로는 벨트가 병목에 걸리게 하고, A를 소비하는 B건물에 붙어있는 투입기는 멈춰진 상태의 아이템을 줍게 하는것


ups 개선한다고 무작정 회로로 제한걸다보면 그냥 안하느니만 못한 작업이 되는거고

정말 필요한 만큼만 제한을 거는지 직접 알아보는게 중요함

==================================================



여기까지의 내용만 먼저 정리하면


1. 단일 유체 네트워크에서는 붙어있는 건물이 많은수록 비용이 더욱 더 많이 상승함

2. 묶음투입기는 가능한 적게 회전하도록(16개를 꽉 채워서)

3. 회로 네트워크를 사용할 때는 제어가 필요하지 않는 개체들까지 연결하는건 손해

4. 단일 회로 네트워크에 너무 많은 종류의 신호와 제어를 하는것은 안좋음

5. 움직이지 않는 벨트에 아이템을 내리려고 낭비하는 비용보다 멈춰있는 벨트에서 아이템을 주울때 절약되는 비용이 더 크므로,
흐름량이 적은 아이템은 벨트를 이용, 흐름량이 많은 아이템은 공장-공장으로 직접 투입이 좋음

6. ups 개선을 위해 회로로 투입기/공장 제한을 거는건 무작정 거는게 아니라 네트워크 구성과 실제 가동률을 모두 고려해야 함

7. 너무나 당연해서 본문엔 안적었는데 공장이 적을수록 좋음




못적은 내용은 오늘 안에 2편으로 마저 올릴게