건설용 자재등을 잔뜩 넣고 다니는 다이소 기차에 화물을 상차하는 내용에 대한 글
기본적으로 화물차에는 플레이어가 임의로 필터를 설정할 수 있음
필터를 설정해둔 칸에는 투입기가 다른 아이템을 넣지 않기 때문에 아이템을 깔끔하게 정렬해서 집어 넣는 것이 가능하다
하나의 화물차에 여러 종류의 아이템을 가지각색으로 넣는게 가능하지만 아쉽게도 마냥 편하게 할 수 있는 것은 아니고 고려할점이 좀 있다
그냥 무지성으로 묶음 투입기로 집어 넣으면 이런일이 생길수가 있음
2번째 투입기는 노란분배기를
3번째 투입기는 빨간투입기를
4번째 투입기는 파란투입기를
5번째 투입기는 중형전신주를 넣으려고 하지만 화물차에 더 넣을 공간이 없어서 그래도 대기하고 있고 그 덕분에 다른 필요한 화물을 상차하지 못한다
템을 1개씩만 넣게 한다면 저렇게 애매하게 템이 남는 일은 안생기지만 템을 넣는 시간이 끔찍해질 것이다
상자1개당 한개의 품목을 할당해 버린다면 투입기가 추가로 집든 말든 임의의 아이템이 다른 아이템을 막는 경우는 안생기겠지만 최대 화물의 수가 12종류로 제한된다
묶음 투입기 대신에 긴팔투입기를 사용한다면 24종류의 아이템까지도 커버가 가능해지긴하지만
상차속도가 심히 유감스러우진다
투입기 갯수가 2배 늘어나긴하지만 회전속도가 2배딸리고 묶음수가 4배딸리기 때문에 결과적으로 4배 느려진다
이러한 문제점들이 있기 때문에
일단 되는데로 때려 넣고 초과 분에 대해서만 다시 뽑아주는 것을 궁리할 필요가 생긴다
간단하게 회로를 구상한 모습
상수조합기에서는 예측되는 화물 총량의 수를 음수로 입력한다(녹색상자)
기차역에서는 기차의 내용물을 읽어서 회로 네트워크로 내보내준다(빨간상자)
상차용 투입기에서도 손 내용을 유지 모드로 읽어준다(주황상자)
이 세개의 값은 같은 회로 네트워크상에서 합산 될 것이고, 이게 양수라면 화물차의 내용물과 투입기의 손을 합쳐서 예상되는 화물보다 오버된 분량이 있다는 것을 의미한다
이 값은 하차용 선별 투입기에서 "필터 설정"모드의 입력으로 사용되며 양수에 해당하는 아이템을 다시 하차 시켜준다(노란상자)
한번 가동해보자
파란벨트를 4개 오버해서 넣을려고 하는 상태가 되고 이 때 하차 투입기는 그거에 반응해서 파란벨트를 12개를 뽑아내 버린다
그래서 파란벨트 신호는 다시 -8이 되고 그럼 또 상차 투입기가 12개를 집어서 4개 오버 상태를 만들어버린다... 이게 무한반복되면서 정상적으로 동작하지 않는다
넣는것도 최대로 하고 빼는 것도 최대로 할려 하기 때문에 아다리가 안맞아 버린다
그래서 하차투입기는 스택으로 집으면 안되고 1개씩만 하차해야한다.
대신 이러면 좀 유감스러운 상황이 생길 수 있는데
아이템이 오버되는 갯수는 11개까지 발생할 수 있는데(묶투가 최대12개까지 집으니까)
그럼 저걸 1개씩 하나하나 빼려면 11번이나 왕복을 하면서 은근히 시간을 잡아먹는다는 것이다
그런게 상차투입기 여러개에서 발생하고 있다면 빼는데 정말 한세월이 걸린다
8배속 가량의 속도임에도 불구하고 상당히 유감스러운 상차 속도
상차용 투입기들은 한참 놀고있고 하차용 투입기만 미친듯이 춤추고있다
그렇다고 하차용 투입기 갯수를 무작정 늘려버리면 위에서 스택 하차를 하던 것과 마찬가지로 과하게 하차해버려서 상차하차무한반복에 빠져버린다
무작정 늘리는게 문제라면
계획적으로 늘리면 된다
비교조합기에서는 값이 양수인 신호만을 통과시킨다, 즉 오버해서 적재하려고 하는 아이템만 통과시킨다(빨간상자)
4개의 산술 조합기에서는 AND 연산을 통해서 신호 값을 비트 단위로 분해시킨다(주황상자)
예를들어 철판 11=0b1011신호가 입력 된다면
4개의 조합기는 각각 철판8, 출력없음, 철판2, 철판1 신호를 내보낸다(11=8+2+1)
이 신호는 각각 4개의 선별조합기로 가는데
4개의 선별 조합기는 각각 묶음 크기가 8,4,2,1로 재정의가 되어있다. 8개 4개를 집으려면 "묶음"선별 투입기가 필요하고 2개 1개 집는건 그냥 선별 투입기로도 충분
이제 이러면 8개 집는 투입기, 2개 집는 투입기, 1개 집는 투입기만 작동하고 4개 집는 투입기는 투입기는 작동하지 않기 때문에 정확하게 11개의 철판을 즉시 하차시킬 수 있다
넣을 수 없는 11개의 철판을 들고 대기하고 있던 상차 투입기는 이제 화물차에 여유가 생겼기 때문에 바로 11개를 투척하고 다른 아이템 투입 작업을 시작할 수 있다
대략 8배속 캡쳐인데
깔끔하게 잘 넣는 것을 볼 수 있다
투입기 설치할 공간이 3군데 더 남는데 이것도 상차용으로 쓰고 싶으면 더 추가하면 된다
화물차가 여러 개인 경우에는 그냥 옆으로 확장하면 된다
이런식으로 늘려나간다
하나의 아이템이 여러개의 요청상자에서 요청되면 안된다 정도만 주의하면 될 것 같은데
만약 2개 이상의 요청상자에서 동시에 같은 아이템 투입을 시도하다보면 오버된 분량이 12를 벗어나서 16같은 숫자가 나오게 될 수도 있는데
그러면 and 연산 결과가 모두 0이 나와서 하차를 아예 못하게 될 수도 있음
예외 처리하려면 할 수 있긴 한데 그건 그것대로 또 귀찮네
자잘한 아이템만 이런식으로 운용하고, 벨트처럼 좀 많이 상차해야하는 물품이 있다면 그건 회로로 제어하지 말고 그냥 전용요청상자 따로 분리해서 넣게 하는게 더 좋을 수도 있다.
https://factoriobin.com/post/8EdUEMl6
샘플용 청사진
느긋한 영상
글 쓰는 겸사겸사 옛날에 바닐라 메가베이스 만들던 세이브 열어봤는데 저때는 그냥 요청상자 1개당 1개 품목만 요청하는 식으로 운용했었네
사실 회로써가면서 이러느니 그냥 화물차당 품목 12개 이하로 제한하는게 속편하고 깔끔하고 좋은 것 같음 ㅋㅋ
비트쪼개기를 애용한 투입기 제어는 재미있는 아이디어이긴 한데 오버되는 품목과 수량을 구해냈다면 그냥 이런식으로 만드는건 어떰??
https://factoriobin.com/post/kqapMuuI
이런 구조도 고민을 하긴했었는데 이러면 일단 아이템 신호가 먼저 투입기로 입력되고 1틱 후에 수량이 입력되는데 안 꼬일려나? 그리고 아무거나 신호 써서 하면 화물차 대수를 늘려도 하차하는 품목이 한번에 1개밖에 안되서 넘어간 점도 있긴 했음. 이정도는 한번에 하나만 처리해도 큰 병목까진 아닐 것 같긴 하지만
해보니까 S신호가 없으면 그냥 아예 아무것도 안넣고 대기를 하나했는데 S가 아예 없어버리면 그냥 1개 집어서 넣어버리네
오버한 화물로 벨트신호8이 나오는데 S신호가 1틱 늦게 나오다 보니 일단 벨트를 1개만 뽑아서 보라상자로 옮기고, 그 다음에는 1개를 빼긴 했으니 벨트신호7로 갱신된상태, S신호도 7인상태가 되어서 그때는 7개를 뽑아내는 듯
이걸 하려면 걍 아이템 신호도 1틱 딜레이 시켜서 싱크 맞춰줘야할 것 같다
https://factoriobin.com/post/R4BBdcWr
한번 움직일 것을 두번 움직인다는 말인가...
ㅇㅇ
상자에 미리 '정확한'갯수의 아이템을 담아놓는다면 손에 남는 일 없이 깔끔하게 담을 수 있더라. 소모가 불규칙한 품목을 담는 열차에는 사용하기 어려운 방식일지 몰라도 소모가 일정한 열차의 경우 이 방법도 괜찮은거 같음.
다이소 기차라서 아무래도 불규칙할수밖에 없지 ㅋㅋ
예전에 다이소에서 썼던건 아니지만 기차가 도착하면 그때부터 물건을 담고 다 담은 후 요청신호를 끊고 싣기 시작하는 방법도 쓴 적 있었지..ㅋㅋ
와 난 그냥 한 상자당 한품목으로 해서 투입기가 이미 들고있어도 괜찮도록 하고 그냥 기차를 길게 썻는데 이걸 해결했네
예전에 크탐모 서버 할 때 사이버씬 다중상하차를 저렇게 했었는데 결국 걍 한 기차에 한 품목으로 하게 되더라... 너무 귀찮아
완전 땡큐. 내가 찾던 딱 정보라서 너무 좋다. 난 물류/건설 봇들이 너무 길게 이동하는거 싫어서 방어성벽 물류구역을 작게작게 분리시키고 탄창/수리물품/교란벽/3종터렛 등 보급하고, 개인용물류포드 때문에 내가 그 지역 스쳐가며 인벤에 과도하게 쌓인걸 외곽 작은 물류지역에 쏟아부어 쌓인 찌거기를 다시 본부로 반송시키는, 완전 다품종을 다루는 기차가 필요했었거든. 일정신호조합기에서 쏘는 20개 아이템의 숫자 밸런스를 유지시키고, 그외 템은 모두 기차로 회수해서 본부 물류로 뿌려줌. 객실에 12당 투입기가 각자 다른 아이템을 알아서 묶음조절해서 동시에 작업하면 좋을텐데, 아직 그건 못 구현했고, 본문정도만 해도 시간 많이 줄더라.