오늘도 기차사랑단 단가를 들으면서 시작한다.



이번에는 기차가 어떻게 기지구석구석 물류를 배달하는지 알아보자


기차가 물류를 배달하기 위해서는 다음과 같은 요소가 필요하다.


1. 선로

2. 상하차역

3. 대기역


대기역은 구성에따라 상하차역이 역할을 겸임 할 수 있다.


선로에 대해 알아보자


선로에서 가장 중요한것은 교차로이다. 모든 교차로는 병목을 유발한다.


왜냐면 교차로에는 동시에 통과할 수 있는 기차는 제한되어있고 앞의 기차가 통과하는 동안 뒤에 기차는 기다려야하기 떄문이다.




원형교차로 가장 기본적인 복선 교차로이다. 


해당 교차로는 한대가 좌회전을 트는순간 다른 3차선은 기다려야하는 불편함을 가지고 있다.




3거리 교차로도 마찬가지이다. 


병목을 줄이는 방법은 당연히 선로를 늘려 교차로를 지나는 기차량자체를 늘리는것이다.


하지만 필자는 좌회전을 파괴하는것으로 최소의 선로로 최대의 통행량을 확보했다.




DLC의 고가차도는 이것을 실현시켰고 바둑판식그리드와 함께라면 엄청 간단하면서도 효율적인 통행량을 보여준다.

단점은 바둑판식 그리드가 아니라면 좌회전을 파괴했기때문에 못가는 지점이 생길 수 있다는것이다.


꼭 선로가 목적지에 도달할 수 있는지 확인해야한다.



이런 유턴구간을 간간히 섞어줌으로서 너무 크게 돌아가지 않도록 조절할 수 있다.


왕복 4차선이상의 교차로는 불필요하다는게 필자의 생각이지만,

필요하다고 생각하는 독자는 청사진을 검색해보도록하자





선로 구성을 끝냈으니 


상하차역을 구성하자


상하차는 기차 스케쥴과 같이 생각해볼 수 있는데


[범용 인터럽트] 와 [전용 인터럽트] 가 있다.


[범용 인터럽트]는 한개의 스케쥴로 다수의 품목을 상하차하는것이다.


해당 검색어로 검색하면 많은 방식이 있으니 찾아보도록하고


https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=85163&exception_mode=recommend&search_pos=-83843&s_type=search_name&s_keyword=%EC%9B%85%EB%82%98&page=1

바닐라 범용 기차물류 하는법 공유함내가 이번 게임하면서 만든 범용 기차물류임원래는 각 물자간 전용열차를 운용했는데인터럽트는 복붙이안되서 일일히 스케쥴 세팅하는게 귀찮았기 때문에 [딸각]을 위해 만들었음이 세팅은 다음과 같은 사이클을 가짐 빈 열차 대기gall.dcinside.com


나는 이 위의 내가 만든 게시글의 방식으로 운용한다






[전용 스케쥴]은 한 품목만 전문적으로 담당하는 스케쥴이다.



인터럽트 제목은 범용이지만 신경쓰지 않도록하자 해당 인터럽트는 범용으로도 사용할 수 있긴하다.


해당 기차는 미리 물품을 가져다가 대기역에서 기다리고 있다가 


하차요청역이 켜지면 달려가서 물품을 붓는 간단한 형식이다.


이 인터럽트를 쓰는이유는 단순하게 물품마다 일정을 하나하나 세팅하기 귀찮기 때문이다.




일정신호조합기의 신호를 매개변수화하여 전담 물품을 지정한다.



전용 인터럽트는 대량의 물품을 빠르고 꾸준하게 배달할때 유용하다.

상차역에서 싣는것과 하차역에서 내리는것이 분리되어 있기때문에 

한번에 2대 이상의 열차를 불러 대량으로 하역하는 세팅을 하는것이 편리하다.



범용 인터럽트는 소량 다품종의 물품을 여러곳에 간헐적으로 배달할때 유용하다.

로켓연료,파칩 등 전용스케쥴, 전용열차를 배당하기엔 좀 애매한 애들을 묶어서 배달할 때 유용하다.


유체가 특히 유용한데 녹은 철 ,구리를 제외하고는 꾸준히 퍼넣는 곳이 없지만 또 종류는 꽤 다양하기 떄문이다.




기차 물류 특히 그리드는 다른곳에서 얼마나 생산하건 상관없이 그리드 안에서 밸트한계를 계산하는것이 편하다.


입력이 모자라면 그 물품 그리드를 늘리면되기 떄문이다.


여기서 핵심은 기차역에서 얼마나 많은 물품을 뽑아다 쓰냐이다.


너무 많은 물품을 뽑아 쓰면 기차를 끊임없이 불러야하고 어차피 기차 배달오는 시간에 걸려서 풀가동이 안되기 떄문이다.

대략 1-4 구성의 열차는 경험상아


풀스택 풀벨트 터보(녹벨)로 2줄이 1대의 상한선이라고 생각한다. 이보다 많으면 기차를 더 자주 또는 더 많이 불러와야한다.

그 이상을 뽑는다면 하차역을 하나 증설해서 병렬로 받는것이 좋다.


그리드 설계는 이에 맞춰 


가장 많고 빨리 소모되는 입력물품을 기준으로 설계하는것이 기본이다.




위의 파칩 그리드를 살펴보자





전설 둘둘한 이 공장은 초칩을 가장 많이 소모한다. 


그렇다면 초칩기준으로 그리드를 설계한다. 


전자기 공장 하나에 초당 233개의 초칩을 소모하므로 풀스택 녹벨 한줄을 소비한다.

녹벨 4줄을 맥시멈으로 잡고 그리드를 설계한다.


초칩과 빨칩은 대량으로 사용되는 물품이기때문에 전용 인터럽트를 사용하는 기차를 사용한다.


동시에 몇대를, 버퍼는 얼마만큼 설정할지는 가동률을 보면서 체크한다. 


기본적으로는 1-4구성의 기차가 나르는 물량의 절반 언저리로 세팅하고 추이를 지켜본다. 


입력을 기다리는 시간이 너무 길다면 동시에 배당되는 기차숫자를 늘리거나 버퍼를 늘려본다.


황산은 범용인터럽트열차로 세팅한다.


초당 1.6K의 황산을 소모하는데, 1-4 기차 한대에서 한번에 200K를 가져오고 파칩을 꾸준히 소모하지 않으니 


간헐적으로만 요청할 것이기 때문이다.


이 또한 가동을 지켜보며 모자라다면 황산 하차역을 하나 더 증설해 병렬 처리 하도록한다.



그리드는 이런느낌으로 설계하며 그리드가 아니더라도 기차 물류는 이런식으로 벨트 한계를 적극적으로 계산하면서 


공정을 구성하면 된다. 




기차 물류의 장점은 복잡한 공정도 분해해서 간단하게 만들 수 있는 것이다.


복잡한 노란팩도 하나하나 쪼개서 만들면 이렇게 간단하게 만들 수 있게 된다.



물류량의 판단은 대기역을 보고하면 된다.


전용 인터럽트의 물류 현황은 다음과 같이 추측할 수 있다.



빈 기차가 대기역에서 대기중이다. = 공급이 부족하다. 상차(공급)역을 늘린다.




기차가 없다. = 기차가 부족하다 기차 숫자를 늘린다.





물품을 실은 열차가 대기역에 대기하고 있다 = 공급이 많다(과생산중) = 당장은 문제가 없다.



범용 인터럽트는 각 그리드를 지켜보면서 


하차역이 비었는데도 기차가 오지않는지를 잘 살펴보면된다. 


위에 경우는 공급이 부족하거나 기차가 부족하거나 이기때문에 좀 더 수고를 들여서 원인을 찾아야한다.


귀찮음만 감수하면 전용 인터럽트로 공장을 구성하는게 더 쉽고, 직관적으로 물류를 파악할 수 있기때문에


범용은 자기 과시용으로 쓰는것을 권장한다.