게임 개발 · 기술 동향미로의 개발노트
카테고리

Factorio · 게임 설계

벨트 갱신 순서가 멀티스레드의 벽이 될 때

모아보기 · 작성 기준일 · 블로그 공개

앞 구간의 이동 결과를 다음 구간이 바로 읽으면, 스레드 실행 순서가 달라질 때 결과도 바뀔 수 있습니다.

Factorio 개발 일지 364의 벨트 갱신 순서가 멀티스레드의 벽이 될 때 관련 화면
Wube Software의 Factorio 개발 일지 #364 본문 이미지입니다. · 이미지 출처

어떤 문제가 있었나요?

앞 구간의 이동 결과를 다음 구간이 바로 읽으면, 스레드 실행 순서가 달라질 때 결과도 바뀔 수 있습니다.

내 게임에 적용해 보기

서로 영향을 주는 벨트는 같은 그룹에서 순서를 지키고, 독립 그룹은 병렬화 후보가 됩니다. 같은 초기 상태를 반복 실행해 틱별 결과가 일치하는지 검사해야 속도 개선이 저장·멀티플레이의 재현성을 깨뜨리지 않습니다.

출처

같은 카테고리의 글

게임 기술 전체 보기 ↗