청사진의 유령이 전선을 기억해야 하는 이유

배치한 모양뿐 아니라 연결도 복제합니다
Factorio의 Friday Facts #362는 2020년 10월 30일 공개된 1.1 개발 과정의 기록입니다. 여기서 살펴볼 사례는 청사진에 놓인 전봇대의 유령 상태가 전선 연결을 기억하게 만든 변경입니다. 최신 버전의 신규 기능 발표가 아니라, 복제 기능이 어떤 상태를 보존해야 하는지를 보여주는 설계 사례로 읽을 수 있습니다.
청사진은 건물 배치를 복사하고 땅 위에 유령을 놓아 실제 건설의 기준으로 삼습니다. Factorio Wiki도 수동 건설의 안내나 건설 로봇의 작업 대상으로 쓰는 흐름을 설명합니다. 위치와 종류가 같더라도 전력 연결이 다르면 완성된 설비의 동작은 원본과 달라질 수 있습니다.
실제 건설 순간의 추측을 줄입니다
개발 일지에 따르면 전봇대 유령에 연결을 표시하기 시작하면서, 실제 전봇대가 세워질 때 새 연결을 다시 찾는 로직 대신 유령 상태에 정해진 연결을 따르게 했습니다. 사용자는 건설 전의 연결 상태와 건설 후 결과를 더 일관되게 이해할 수 있습니다.
이 설계에서 중요한 구분은 청사진 내부와 외부입니다. 내부 연결은 원본을 따르지만, 이미 월드에 존재하는 엔티티와의 연결은 이전처럼 자동으로 만들어집니다. '주변 전봇대까지 모든 연결을 복사한다'고 설명하면 원문과 달라집니다. 복제한 묶음의 의도는 보존하면서 외부 전력망에는 연결할 수 있도록 경계를 나눈 것입니다.
다른 게임에 적용할 때의 해석
이 사례는 건설 게임의 저장·복원 구조를 생각할 때도 도움이 됩니다. 건물 위치만 저장할지, 건물 사이의 관계까지 저장할지에 따라 복원의 결과가 달라집니다. 예를 들어 연결을 나중에 가까운 대상으로 추측하면 건설 순서나 주변 환경이 바뀌었을 때 다른 대상을 선택할 수 있습니다. 이는 일반적인 설계 해석이며 Factorio 내부의 구체적인 자료 구조를 확인했다는 뜻은 아닙니다.
내 게임에서 구현한다면 묶음 내부의 대상 식별자와 연결 정보를 별도로 저장하고, 외부 연결은 허용된 규칙으로 처리하는 방식이 후보가 됩니다. 연결 대상을 아직 만들지 못한 단계와 실제 연결이 완료된 단계를 분리하면 미리보기와 완성 상태를 비교하기도 쉽습니다.
작은 테스트로 검증하기
연결을 일부러 끊어 둔 전봇대 셋을 포함한 청사진을 만들고, 건설 순서를 바꿔 완성해 볼 수 있습니다. 비교할 것은 단순한 전력 공급 여부뿐 아니라 내부의 연결 쌍이 같은지입니다. 이후 주변에 기존 전봇대를 추가하면 내부 보존과 외부 자동 연결이 서로 다른 규칙인지도 관찰할 수 있습니다.
저장 후 다시 불러오기, 일부 건물만 먼저 건설하기 같은 중간 상태도 테스트 후보입니다. 최종 모양만 같아 보이는지를 넘어 플레이어가 정한 연결 의도가 유지되는지 확인하는 과정입니다. 이 글은 개발 일지와 위키를 바탕으로 원리를 설명하며, 실제 게임 실행이나 엔진 코드 분석을 수행한 결과는 아닙니다.
미로


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