MMO 특징들
지역-기반 관심사항 관리
- 다양한 폭과 높이의 타일 크기로 구현되는 Square tile 알고리즘
- 다른 지역 알고리즘으로 쉽게 대치 할 수 있습니다(hexagonal 등. http://gram.cs.mcgill.ca/papers/boulanger-06-comparing.pdf를 보세요.)
아이템 (아바타, NPC, 공유된 게임 오브젝트)
- 클라이언트는 아이템들을 스폰, 파괴 및 이동할 수 있습니다.
- 아이템들은 다른 클라이언트가 읽을 수 있는 프로퍼티들을 가지고 있으며 소유자에 의해서 변경 될 수 있습니다.
- 아이템 프로퍼티는 개정 번호가 있습니다: 잠시 시야에서 사라진 아이템을 클라이언트는 개정 번호를 비교하여 업데이트 된 프로퍼티를 수신할 필요가 있는지 결정 할 수 있습니다.
관심사항은 자동적으로 수신됩니다.
- 관심 지역은 2개의 관심 임계치가 있습니다:내부 반경에 있는 지역은 보이기 시작 합니다;외부 반경을 나가는 지역은 보이지 않게 됩니다. 이 조건으로 빈번한 가시성의 변화를 줄일 수 있습니다.
보이지 않는 아이템, 범위 밖
- 보이지 않는 아이템이 관심 지역 외부에 들어 갑니다.
- 보이지 않는 아이템이 내부 관심지역에 들어가고 보이게 됩니다.
- 보이는 아이템이 내부 관심 지역을 떠납니다.
- 보이는 아이템이 외부 관심지역을 떠나게 되고 보이지 않게 됩니다.
관심 지역의 크기는 조정 될 수 있습니다: 보여지는 아이템의 개수에 비례하여 뷰 거리를 조정하면 매우 이롭습니다.
- 몰려있는 지역의 성능 개선을 위해서 또는
- 적게 몰려 있는 지역에서 멀리있는 아이템을 표시하기 위해서.
관심지역에는 어떤 아이템이라도 붙여질 수 있습니다: 아이템이 이동 할 때마다 관심 지역은 그에 따라 이동하고 관심을 변경합니다. 자신의 아바타와 함께 관심 지역을 이동할 때 특히 유용한 기능입니다.
분리된 관심 지역은 자유롭게 이동할 수 있습니다. 카메라 비행에 매우 유용합니다..
클라이언트들은 동시에 세계의 다른 부분을 보기 위하여 다수의 관심 지역을 가질 수 있습니다.
수동 관심 관리: 클라이언트들은 관심있는 아이템들을 수동으로 (비)선언 할 수 있습니다.
아이템으로 커스텀 이벤트가 2개의 가능한 타겟으로 전송 될 수 있습니다:
- 아이템 소유자
- 아이템에 흥미가 있는 모든 클라이언트 (아이템 구독자)
최적화된 위치 갱신: 클라이언트들은 이동시에만 갱신정보를 전송 합니다.
중복 사용자 인지: 연속된 사용자 연결은 이전의 연결을 리셋 합니다.