심월드

만든 이야기 심월드

개발 노트

아무도 보지 않는 도시

구역이 12만 개가 넘어 모든 도시를 매 순간 돌릴 수는 없습니다. 성장에는 난수를 쓰지 않으므로, 누가 도시를 열면 서버가 마지막 정산부터 지금까지를 한 번에 적분하고, 시간을 여러 조각으로 나눠 밟아도 결과가 같은지 시험으로 확인합니다. 같은 까닭으로 사건이 일어날지는 구역과 정산 번호의 해시로 정합니다. 자동차도 도로의 교통량, 구간과 차 번호의 해시, 시각으로 자리를 정하므로 같은 길을 보는 두 사람은 같은 차를 같은 자리에서 봅니다.

세계를 1,000km로 줄인 까닭

처음 지구본은 둘레 3,072km에 구역이 약 117만 개였습니다. 그러면 7만 명이 들어와도 이웃이 열여섯 구역 건너에 있습니다. 지평선 너머의 이웃과는 길을 잇지도, 교역하지도, 구경하러 가지도 않으므로 세계와 구역 격자를 함께 줄였습니다. 구역은 여전히 200×200칸이고, 이제 한 도시가 아니라 한 지방을 덮을 뿐입니다.

정산 사이에도 자라는 도시

정산 때만 자라게 하면 30분 접속하는 동안 아무것도 보이지 않으므로 성장은 연속으로 계산합니다. 돈이 오가는 때는 정산입니다. 설계값은 2시간마다(UTC 하루 12번)이고, 지금 운영 중인 게임은 2분마다 정산합니다. 상수가 모두 정산당 값이라 어느 속도에서든 성장·세금·유지비의 균형은 같습니다. 접속하지 않은 동안은 30% 속도로만 자라고 세금과 유지비는 그대로 정산되므로, 접속하지 않는 쪽이 이득이 되는 일은 없습니다.

고친 날:

지금 플레이 →