스피드런에서 자주 사용하는 일정 신호 조합기 트릭을 알아보자


오버플로트릭 이라는 것인데 주로 일정 신호 조합기 하나만을 이용한다


"철광석이 20개 이하 라면"

이 문구에서는 조건이 하나 들어가기 때문에 항상 일정 신호 조합기 + 산술 연산 조합기를 세팅 해야한다




각각 22개가 필요 하다면 일정 신호 조합기에서 22개를 세팅하고





산술 연산 조합기의 input 으로 inventory(상자, 플랫폼, 수집기 등)를 연결해주고 output에 분쇄기와 일정 신호 조합기를 연결 해준다



산술 연산 조합기는 "각각" -1 곱한 결과를 "각각" 출력하라고 한다

현재는 inventory가 비어 있기 때문에 아무것도 안나온다.


이 때 일정 신호 조합기에서 22개의 철광석,탄소,얼음을 세팅해 두었으니

분쇄기는 각각 22개의 아이템의 신호로 받아들이고 여기서 우선순위가 가장 높은 순서대로(철광석>얼음>탄소 - 위키 참조) 조합법을 세팅한다

철광석이 가장 높으므로 "철광석을 만드는" 제조법인 "금속 소행성 분석" 제조법을 선택하게 된다

여기서 철광석이 22개 이상이라면



(23개의 철광석을 넣어주었다)


이렇게 다음 우선순위가 높은 얼음 소행성 분쇄로 레시피가 바뀌게 된다


이렇게 기본적으로 해당 아이템 개수를 카운트 하여 원하는 만큼만 생성하게 하려면 두 개의 아이템(일정신호, 산술연산)이 필요하게 된다


다음은 오버플로 트릭을 봐보자


나같은 컴돌이야 언더플로, 오버플로라고 하면 바로 알아들었겠지만 모르는 사람들을 위해서 간략하게 설명하자면

컴퓨터가 표현할 수 있는 숫자표현범위를 넘어서는 경우를 언더(아래로)플로우(넘쳐), 오버(위로)플로우(넘쳐) 버린 경우를 뜻한다
(컴돌이들 태클 ㄴㄴ 여기서 32bit니 float이니 그런 나쁜말은 ㄴㄴ)


정말 간단하게 일정 신호 조합기로 나타낼 수 있는 숫자범위는 -2147483648 ~ 2147483647 까지다


여기서 -2147483648에 -1을 하면 +2147483647이 되어 버린다(언더플로)

반대로 2147483647에서 +1을 하면 -2147483648이 되어 버린다(오버플로)


팩토리오에서 신호는 + 신호를 올바른 신호 라고 말한다

반대로 - 신호는 후보에는 올라가지만 올바른 신호라고 판단하지 않는다


즉, 오버플로 + 1 을 하면? 올바르지 않은 신호

반대로 오버플로 - 5를 한다면? 올바른 신호


여기서 오버플로 -5를 세팅하고 아이템이 5개가 된다면? 오버플로 + 1이 되기 때문에 올바르지 않은 신호로 변경된다

이 트릭을 이용해서 신호 조합기를 오버플로 - (원하는 아이템 개수)로 설정한다면 산술연산 조합기 없이도 같은 효과를 낼 수 있게 된다



(MAX_INT - 5)

철광석을 오버플로 - 5로 세팅을 하고


참고로 신호 조합기에서 수식 사용 가능하다



분쇄기에 연결한 뒤에 실제로 철광석 5개를 넣으면 레시피가 변경되는지 확인해 보자




실제로 오버플로우를 일으키면서 - 신호로 변경 되었다




파쇄기도 다음 우선순위인 얼음 소행성 파쇄로 바뀐 것을 확인 할 수 있다


주로 Wall ship에서도 많이 쓰긴 하는데

(AntiEltiz는 흰팩에서도 씀)


알아두면 좋은 트릭이다