[GpGiki 대문으로]

Model Database


분류: 분류 번역, 분류 설계패턴


게임 프로그래밍 설계 패턴 - 모델 - 모델 데이터베이스


처음이시라면, 공동 번역 에티켓을 참고하세요.


모델 데이터베이스(Model Database)

목차

차례 [+]

Submitted by Zachary Booth Simpson on 12/5/2000

(c) 2000 - Zachary Booth Simpson. Copied with permission from http://www.totempole.net. If you find any of this work useful, please sign Zack's guest book: http://www.totempole.net/cgi-bin/gbook.cgi.


이 부분을 이 글의 번역에 자유 게시판 용도로 쓸까요..


의도:

Model 객체들을 하나의 데이터베이스로 집합화시킨다.

다른 이름들:

World Database, World, Level, Fast Area

문제:

대부분의 게임은 동시에 많은수의 모델들의 상태를 추적할 필요가 있다. 모델들을 하나의 리스트로 모으는것은 다음과 같은 몇가지 중요한 시스템을 단순화한다.

몇몇게임들은 데이터나 색인타입의 근본적인 차이 때문에 동시에 하나이상의 모델 데이터베이스를 가진다. 예를 들어, 어떤 게임은 이동 가능한 모델 데이터베이스와는 독립적으로 지형모델 데이터베이스를 가질수 있다. 이것들은 둘다 모델데이터베이스이다. 그러나 근본적으로 다른 최적화가 필요하다.

해결책:

게임에 따라서는 모델데이터베이스를 그냥 모델 인스턴스에 대한 포인터들의 배열로 구현할 수도 있다. 이는 가장 간단한 해결책이며 종종 매우 실용적이다.

또한 게임에 따라서는 정교한 매모리관리나 최적화를 위한 캐싱(caching)을 구현할 수도 있을 것이고, 또 다음과 같은 문제들을 해결할 수 있는 정교한 데이터베이스를 구축할 필요도 있을 것이다.

월드 데이터베이스의 검색 속도를 올리기 위해서는 거의 항상 색인화가 필요하다(공간색인을 보라). 이러한 색인들의 동기화는 일반적으로 모델 데이터베이스가 책임진다(예를 들면 removeFromWorld()나 insertIntoWorld() 같은 메서드들을 통해 - Gateway를 참고할 것).

대부분의 게임들은 모델 데이터베이스로 관계형 데이터베이스보다는 계층적 데이터베이스를 사용한다. 일반적으로 계층적 데이터베이스들이 빠르나, 스키마(schema)를 바꾸기는 더 힘들다. 관계형 데이터베이스는 더 느리나 스키마 변경에는 강력하다. 게임들은 거의 항상 관리 편이성보다는 속도를 선호하므로, 주로 계층적 데이터베이스가 쓰이게 된다.

구조:

아직까지는 없음.

c! 여기에는 원래 UML 다이어그램이 들어가야 하는걸까요? 어쨌든 원문에도 그런 건 없음.. 2001/02/22 02:30, gryu

예제:

아직까지는 없음.

문제점과 위험:

아직까지는 없음.

관련 패턴들:

모델 데이터베이스는 모델의 인스턴스들(또는 그에 대한 포인터들)을 담는다.

모델 데이터베이스에서 어떠한 모델을 찾을 때 공간적 색인이 쓰인다.


제일 위로
최종 수정 일시: 01월 14일(2002년) 02:24 PM 편집 | 정보 | 차이 | 비슷한 페이지 DebugInfo
유용한 페이지들: 분류 분류 | 자유로운 연습장 SandBox | 무작위 페이지들 RandomPages | 인기있는 페이지들 MostPopular