념글에 있는 실용회로는 나도 애용하고 있는데 추가로 설명이 필요한 부분이 좀 있음

https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=94942

실용회로 10선누가 회로 알려달래서 써봄다 만져볼 수 있게 블프로도 만들어놨어https://factoriobin.com/post/sau085 실용회로 10선 - FactorioBinFactorioBin is a site for qugall.dcinside.com



1. 벨트 양면 골고루 쓰기


이 회로는 특정 상황에서 문제가 발생함


코너에서 멀리 있는 레인을 A, 가까이 있는 레인을 B로 명명함

위 회로는 A 레인의 물류량을 50%로 제한하는 회로이기 때문에, B 레인의 물류량이 50% 미만으로 내려가면 병목이 발생함
B의 물류량이 0이면 입력값 자체가 -1이 되어서 최대 40%의 병목이 발생 (벨트 당 최대 물류량이 2.5개임)


이렇게 설정하면 위 문제가 차단됨
투입 벨트의 내용물 읽기를 체크하고 기존의 3에 벨트의 최대 아이템 갯수인 8을 더해서 입력
이렇게 하면 투입 벨트에 아이템이 7~8개일 때만 회로가 작동을 함

이외의 경우에는 회로 자체가 작동하지 않아서 그냥 회로가 없는 상태랑 똑같음


묶음 투입기로 4스택 쌓은 벨트라면 41로 설정하면 됨 (2 + 8) x 4 + 1 = 41


꺾인 벨트는 최대 아이템 적재량이 8개가 아닌 7개이기 때문에 조건식 상수도 11이 아닌, 1개를 뺀 10을 넣으면 된다.


묶음 투입기 벨트라면 33



2. 하차 상자 밸런싱 



상용회로의 상하차 상자 밸런싱 회로는 상차 기준으로만 소개되어 있음




하차역의 경우 E >= -16으로 설정해야 정상적으로 작동함 (음수를 넣어야 함)



3-1. 타이머/카운터



위 회로는 0~22 사이에서 1씩 증가하다 22가 되면 0으로 돌아가는 회로인데, 이 게임에서 출력값이 0이면 0이 아니라 null값으로 출력이 됨

일정신호조합기에서 수치를 0으로 설정해보면 출력이 아예 없는 걸 알 수 있음
그러니까 사실 이 회로는 0~22가 아니라 Null과 1~22를 출력하는 타이머


3-2. Null값과 매개변수(모두)




입력값이 없을 때(Null) 매개변수(모두)의 조건식은 무조건 참이 되기 때문에 유의해야 함 (이유는 나도 모름)



매개변수(아무거나)의 경우는 문제 없음



3-3. 개선된 타이머 (feat. 일정 신호 조합기)




이 회로는 일정 신호 조합기를 추가로 사용해야 하지만 타이머가 1~n으로 작동하기 때문에 더 직관적이고 Null값의 문제가 원천 차단됨



4. 타이머를 활용한 스시벨트


사실 이건 원래 알려진 방법이긴 한데 타이머랑 같이 묶어서 소개함




0~n 타이머를 사용한 스시벨트

타이머에 '아이템 가짓수 - 1' 값을 넣으면 됨





일정신호조합기를 추가하여 1~n 타이머를 사용한 스시벨트

타이머에 '아이템 가짓수'를 그대로 넣으면 됨


바닐라 연구팩 가짓수인 12가지를 기준으로 만든 스시벨트 청사진

https://docs.google.com/document/d/1bTogTP7kOJxw70iTGhLvTu7Fx_x7Chb-H6Zdw_88FuI/edit?usp=sharing



장점: 빙글빙글 돌아가는 거 보고 있으면 기분이 좋음