검색결과 리스트
글
게임 프레임웍의 설계
플랫폼 독립적 VS 플랫폼 의존적
프레임워크는 운영체제와 플랫폼 기술에 국한될 필요가 없다.
게임의 개념적인 작업을 플랫폼에 국한된 사항들로부터 독립시킬수록, 이식 과정에서 플랫폼에 국한된 코드를 다른 것으로 대체하기 쉬워진다. 따라서 게임 개념들을 구체적인 운영체제와 플랫폼 기술로부터 최대한 또는 가능한 한도 내에서 분리시키기 쉽도록 만드는 것은 게임 프레임 워크 제작의 한 가지 목표가 된다. 또한 플랫폼에 국한된 기능의 구현을 단순화하는 것 역시 중요한 목표라고 할 수 있다.
게임 독립적 VS 게임 의존적
하나의 프레임워크로 하나의 게임을 만든다면 속도향상에는 도움이 될 수 있다.
하지만 하나의 프레임워크로 여러 개의 게임을 만든다면, 그 프레임워크는 게임에 독립적이 되어야 한다.
객체 조합 VS 상속
직관적인 응용 프로그램 프레임 워크를 만드는 한 가지 방법은, 템플릿 메서드 설계 패턴을 적용해서 응용 프로그램 클래스의 서브클래스들을 작성하는 것이다.
* 템플릿 메서드 패턴 : 상위 클래스에서 처리흐름을 제어하며 하위 클래스에서 내용을 구체와 한다.
* 구현보다는 인터페이스를 프로그래밍하라.
* 클래스 상속보다는 객체 조합을 선호하라.
프레임 기반 작동 VS 함수 기반 작동
프레임 타이밍과 관련이 없는 소프트웨어는 함수기반 작동이 편하며 프레임 기반 작동에 피해 프로그래밍하기 훨씬 쉽다.
프레임 기반 작동을 하기 위해서는 프레임에 동기화 되는 작업들을 언제 수행할 것인지 작업 시스템 클래스에게 알려주는 프레임 시스템 클래스가 필요하다.
또한 프레임에 동기화되지 않는 작업들도 처리할 수 있어야한다.
프레임을 몇단계 진행시키거나 특정 프레임률을 선택할 수 있는 능력도 필요하다.
동적인 연산 순서 VS 정적인 연산 순서
게임에선 유저의 행동에 따라 연산순서가 결정되므로 동적인 연산순서가 적당하다.
동적인 객체 수명 VS 정적인 객체 수명( 그리고 소유권 문제들 )
???
수평적 작업 통합 VS 수직적 작업 통합
(객체 조합 시스템)수평적 작업은 프로그래밍 환경이 평면적이고 객체들과의 관계가 동적이다.
작업들은 수평적으로 조직화된다는 느낌을 주며, 시스템의 특정 작업들에 대한 변경은 다른 작업들에게 거의 영향을 미치지 않는다.( 수직적 [계통적 시스템] 과는 다르다)
'GEMS' 카테고리의 다른 글
GEMS 3권 C 스타일 매크로의 새로운 가치를 찾아서 (0) | 2016.02.05 |
---|---|
GEMS 3권 객체 조합식 프레임워크 분석 (2) (0) | 2016.02.05 |
GEMS 3권 게임 이벤트 일정관리(스케줄러) (0) | 2016.02.04 |
GEMS 2권 스택와인딩(stack winding) (0) | 2016.02.04 |
GEMS 2권(6) (0) | 2016.02.04 |
RECENT COMMENT