연구 버튼 대신 실제 행동으로 기술을 여는 방법

자원을 만나기 전에 연구가 끝나는 문제
2023년 9월 15일의 Factorio 개발 기록 #376은 새로운 행성의 진행 구조를 설명합니다. 행성에 도착하기 전부터 기존 과학 팩으로 그곳의 자원 가공 기술을 모두 연구할 수 있다면, 실제 탐험과 기술 발견의 순서가 어긋납니다. 반대로 새 과학 팩을 만들려면 아직 열리지 않은 가공 기술이 필요한 순환도 생깁니다.
개발진은 임시 과학 팩이나 임시 연구소를 검토했지만, 이후 쓸모가 줄어드는 단계를 추가하는 문제가 있었다고 설명합니다. 최종적으로 소개한 방법은 특정 행동을 기술 완료 조건으로 사용하는 트리거 연구였습니다. 개체 채굴, 아이템·유체 제작, 특정 아이템을 넣은 로켓 발사 등이 발표 당시의 예입니다.
행동과 보상을 데이터로 연결하기
이 구조에서는 연구 비용을 지불하는 행위와 자원을 발견하는 행위가 항상 같은 방식일 필요가 없습니다. 플레이어가 새로운 재료를 실제로 다루는 순간 다음 가공법을 알려줄 수 있습니다. 원문은 원유나 우라늄처럼 기존 게임의 자원 발견에도 이 접근을 연결합니다.
현재 공식 TechnologyPrototype 문서는 research_trigger와 선행 기술 prerequisites, 연구 효과 effects를 별도 속성으로 공개합니다. research_trigger는 unit이 정의되지 않았을 때 필요한 항목입니다. 공개 데이터 정의를 보면 해금 조건과 해금 결과를 구분해 기술을 구성한다는 점을 확인할 수 있습니다. 다만 내부 이벤트 처리 코드 전체가 공개된 것은 아닙니다.
내 게임에서는 중복 처리부터 점검하기
이를 다른 게임에 적용한다면 행동 이벤트에 대상 ID와 수행 주체를 붙이고, 해금 상태를 확인한 뒤 보상을 한 번만 적용하는 형태를 검토할 수 있습니다. 여기서는 Factorio가 이런 내부 클래스를 사용한다고 단정하지 않습니다. 같은 행동을 여러 번 수행하거나 저장을 다시 불러올 때도 결과가 안정적인지 살펴보기 위한 응용 제안입니다.
특히 제작 완료, 아이템 획득, 인벤토리 보유는 서로 다른 조건입니다. 다른 사람에게 받은 재료로도 해금할 것인지, 직접 채굴해야 하는지에 따라 플레이 방식이 달라집니다. UI에 적힌 목표와 실제로 검사하는 이벤트가 다르면 플레이어가 조건을 충족했다고 느껴도 진행이 막힐 수 있습니다.
진행 순서를 시험하는 방법
실험은 아직 수행하지 않았습니다. 작은 기술 트리에서 첫 자원 획득, 가공, 다음 설비 제작의 세 단계를 만들고 정상 순서를 확인해 보는 방식입니다. 이어서 자원을 미리 보유한 저장, 선행 기술이 잠긴 저장, 같은 행동을 반복한 저장을 각각 준비합니다.
검사할 항목은 해금 횟수와 보상 적용 횟수, 목표 문구, 저장·로드 뒤의 일관성입니다. 목표 달성 직전에 화면을 닫거나 다시 열었을 때 알림이 중복되는지도 확인할 수 있습니다. 이런 검사는 제작량을 무작정 늘리는 대신 진행 규칙이 플레이어에게 설명된 순서와 일치하는지 보게 해줍니다. 원문이 제시한 설계 의도와 현재 공개 데이터 계약을 구분해 읽으면 구현 범위를 과장하지 않고 참고할 수 있습니다.
미로


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