대신 데이터베이스를 사용할 수 있습니다-PostgreSQL에는 X 및 Y 좌표로 위치한 이러한 유형의 데이터에 최적화 된 특수 색인 기능이 있습니다. 반환 된 데이터가 정사각형 또는 직사각형 모양 영역이 아닌 특정 반경 내에 있음을 지정할 수도 있습니다.
PostgreSQL (무료 및 오픈 소스)
http://www.postgresql.org/
다른 데이터베이스도 있으며 클라이언트 측에서는 독립 실행 형 (게임 클라이언트 응용 프로그램에서 시작)을 실행하거나 코드 라이브러리의 일부로 포함 할 수 있기 때문에 특정 유형에 더 적합한 유형을 찾을 수 있습니다 "그냥 사용할 수 있습니다." 대부분의 SQL 데이터베이스 엔진은 이미이 작업을 잘 수행하므로 인덱싱 구성표를 디자인 할 필요가 없다는 장점이 있습니다.
데이터베이스 접근 방식의 장점은 청크를 작게 만들 수 있다는 것입니다 (또는 청크를 완전히 제거하고 타일을 직접 사용하지만 디자인에 따라 최소한 작은 청크 / 그룹을 사용하는 것이 더 효율적일 수 있음), 그런 다음 SQL 쿼리를 사용하여 볼 수있는 것보다 넓은 영역을 가져옵니다. 볼 수없는 영역 근처에 겹치도록 사전로드 하면 플레이어가 캐릭터를 이동 하기 전에 타일을 준비 할 수있어 게임 환경이 더 좋고 (더 부드럽게) 향상됩니다.
Ashen Empires와 같은 일부 게임은 처음으로 얻은 후 로컬 하드 드라이브에 맵 데이터의 "캐시"를 유지하는 것으로 나타났습니다 (확실히 네트워크 I / O를 줄이는 것임).
hen 빛 제국 (무료, 아름다운 2D 구현)
http://www.ashenempires.com/
로컬로 저장된 데이터를 사용할 수있는 위치에 SQL 쿼리에 추가 "WHERE timestamp_column> $ local_timestamp"절이 포함되어 업데이트 된 청크 / 타일 만 얻을 수 있으므로 각 청크 / 타일의 "마지막 업데이트 된"타임 스탬프를 추적하는 것도 도움이됩니다. 이와 같이 대역폭 절약의 두 가지 이점은 연결 비용이 낮고 플레이어의 지연이 적어 게임이 대중화 될 때 더 분명해질 것입니다.
Ashen Empires의 스크린 샷 (일부 캐릭터는 지역 은행에 있으며 바닥에있는 뼈 모양으로 인해 소수의 해골 괴물이 방황해야하며 지역 마을 경비원에 의해 도살되었을 가능성이 있음) :