회로 신호를 지도 반대편까지 옮기는 방법

필요할 때 멀리 연결하는 회로
2024년 3월 15일의 Factorio 개발 기록 #402는 레이더를 통한 무선 회로 전송을 소개합니다. 나중에 필요할지 모르는 회로를 철도망 전체에 미리 깔아 둘지, 필요해진 뒤 긴 거리를 다시 배선할지 고민하던 문제를 해결하려는 기능입니다. 먼 곳에 신호를 보내는 준비 비용을 줄이는 선택입니다.
발표 당시 방식은 같은 표면마다 하나의 레이더 통신망을 두되 붉은선과 초록선은 분리하는 것이었습니다. 별도 채널 설정 없이 연결할 수 있고 레이더가 전력을 잃으면 회로 연결도 끊어집니다. 따라서 당시의 단순한 표면 단위 공유망을 임의로 독립 채널 여러 개가 있는 통신 시스템처럼 설명하면 부정확합니다.
이후 버전에서는 범위가 확장됐습니다
현재 Factorio 위키는 Surface와 Universe 두 모드를 설명하며, 변경 이력에서 2.1.7의 표면 간 신호 전송 추가를 구분합니다. 공식 LuaRadarControlBehavior 문서도 mode와 universe_channel을 공개합니다. 같은 세력의 Universe 모드 레이더는 같은 채널을 사용하면 연결되며, 채널이 비어 있거나 매개변수이면 연결되지 않는다고 명시합니다.
즉 현재 기능을 설명할 때 ‘항상 표면당 단일망뿐’이라고 단정하는 것도 맞지 않습니다. 2024년의 설계 사례와 이후 공개 API를 구분해야 합니다. 기존의 단순한 연결 방식이 확장될 때 모드와 채널이라는 추가 상태가 생겼다는 점이 개발 관점에서 유용합니다.
편리한 공유망에도 충돌은 있습니다
여러 공급원이 같은 신호를 보내는 구조에서는 사용자가 각 신호의 용도를 구분할 수 있어야 합니다. 통신 거리를 해결했다고 신호 이름 충돌이나 잘못된 회로 피드백까지 자동으로 없어지지는 않습니다. 전력 상실로 연결이 끊긴 상황과 값이 실제로 0인 상황도 화면상 비슷하게 보일 수 있습니다.
다른 게임의 전역 이벤트나 원격 상태 전달에 응용한다면 전송 범위, 채널 선택, 연결 상태를 따로 표시하는 방식을 검토할 수 있습니다. 이 제안은 Factorio의 내부 네트워크 프로토콜을 추정한 것이 아니라 공개 동작에서 얻는 설계 질문입니다.
신호와 연결 상태를 함께 시험하기
실험은 아직 수행하지 않았습니다. 일정한 값을 보내는 회로와 멀리 떨어진 수신 회로를 준비해 같은 표면의 연결을 확인하는 절차를 제안합니다. 붉은선과 초록선에 다른 값을 넣어 서로 분리되는지 확인하고, 송신 측과 수신 측의 전력을 각각 끊어 결과를 기록합니다.
Universe 모드를 지원하는 버전에서는 같은 채널, 다른 채널, 빈 채널을 나누어 시험할 수 있습니다. 채널 변경 직후 이전 값이 남는지, 다시 전력을 공급했을 때 현재 값으로 회복하는지도 관찰 대상입니다. 사용 버전과 모드를 기록해야 서로 다른 동작을 버그로 오해하지 않습니다.
본문은 공식 개발 기록과 현재 API·사용 문서를 대조했습니다. 전송 지연, 신호 처리량, 대규모 회로의 성능을 직접 측정한 보고서는 아닙니다.
미로


댓글
이 글에 대한 생각을 남겨 주세요.