기차역은 도착 전 예약도 보여줘야 한다

지금 비어 있다는 것만으로는 부족합니다
2024년 3월 22일의 Factorio 개발 기록 #403은 열차 정거장의 관리 화면을 개선한 사례입니다. 화면에 현재 정차한 열차만 보이면 비어 있는 역으로 오해하기 쉽습니다. 실제로는 다른 열차가 이미 그곳을 향하고 있을 수 있습니다. 원문은 도착 중인 열차를 별도 탭에서 보고, 역을 가리키면 들어오는 경로를 표시하는 기능을 소개합니다.
이 정보는 현재 점유와 예약된 수요를 나누어 보여줍니다. 열차를 더 배정해도 되는지 판단하려면 아직 도착하지 않은 열차도 알아야 합니다. 같은 원리는 제작 대기열이나 배송 시스템처럼 현재 자원과 예약 자원이 다른 시스템에도 적용할 수 있습니다.
이름을 먼저 붙일 때의 위험
개발진은 역 이름을 먼저 설정하고 열차 제한을 나중에 지정하면 예상보다 많은 열차가 움직일 수 있는 작업 순서 문제도 다룹니다. 이름을 정할 때 같은 이름의 기존 역에서 제한과 색상을 가져오는 편의를 추가했습니다. 여러 기존 역이 있으면 가장 낮은 제한을 선택하고, 이미 제한을 설정했다면 이를 바꾸지 않는다고 설명합니다.
이는 기본값을 복사할 때도 기존 사용자의 명시적인 설정을 덮어쓰지 않는 원칙을 보여줍니다. 단순히 편집 칸을 줄이는 것보다 설정 중간 상태가 실제 시뮬레이션에 어떤 영향을 주는지 보는 사례입니다.
예약 수와 제한 변경은 별도입니다
Factorio 위키는 역의 열차 제한이 그 역을 목적지로 예약할 수 있는 수를 제어한다고 설명합니다. 이미 이동 중인 열차가 있는데 제한을 낮춰도 그 열차들은 계속 역으로 갑니다. 비활성화 역시 이동 중인 열차를 무조건 취소하는 방식이 아닙니다.
따라서 현재 예약이 새 제한을 초과해 보인다고 곧바로 UI 오류라고 판단하면 안 됩니다. 새 배정을 막는 규칙과 기존 배정의 완료 규칙이 다를 수 있습니다. 위키는 실제 사용 동작의 보충 자료이며 엔진의 예약 관리 코드를 독립 검증한 자료는 아닙니다.
빈 역과 예약된 역을 비교하기
아직 수행하지 않은 실험으로, 동일한 이름의 역 두 개와 열차 여러 대를 준비하는 절차를 제안합니다. 한 역에 열차가 도착하기 전 제한을 바꾸고, 도착 중 목록과 실제 경로가 어떻게 유지되는지 기록합니다. 정차 수와 이동 중 수, 새로 출발한 수를 분리해 보면 제한이 적용되는 시점을 이해하기 쉽습니다.
다음에는 새 역을 만들어 이름을 먼저 설정하는 경우와 제한을 먼저 설정하는 경우를 비교합니다. 기존 역들의 제한이 서로 다를 때와 하나도 없을 때도 기본값을 확인할 수 있습니다. 이런 점검은 데이터 변경 하나가 시뮬레이션에 바로 영향을 주는 화면에서 특히 중요합니다.
UI에서 예약을 표시할 때는 단순한 합계뿐 아니라 어느 대상이 오고 있는지 확인할 경로도 필요합니다. 본문은 공개된 기능 설계를 정리한 것이며 열차 처리량 향상이나 병목 해소를 직접 실측한 결과는 아닙니다. 예약 정보가 보여도 철도망 전체의 교착이 자동으로 해결되지는 않습니다.
미로


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