티스토리 뷰
◈ 게임 프레임워크의 구성
1. 렌더링 시스템
2. Core Library ( 자료구조, 스크립트, 유틸 함수, 수학 함수 ... )
3. 게임 내 Scene 들의 생성/관리/소멸 처리
4. 게임 내 Entity 객체들의 생성/관리/소멸 처리
( 게임 내의 모든 캐릭터, Object, Effect ... )
5. 게임 내 Update 구조 구성
6. User 의 input 에 대한 반응 처리 구성
7. 개임 내 로직들의 처리 및 구성
8. 그 외
◈ Manager Base Framework
: 각각의 시스템을 관리하는 매니저들로 구성한다.
( 아래 그림은 예시로 여러 매니저들로 구성 )
각각의 싱글톤 Manager 들이 하위 객체들의 관리를 담당한다.
Client 요청에 따라 매니저는 등록된 객체들을 생성/삭제/수정 등의 작업들을 처리한다.
메인 스레드에서 싱글톤 Manager 들의 생성/삭제/수정 등을 처리한다.
매니저에 속한 객체에 접근하는 경우에는, 그 객체의 매니저를 통해서만 접근한다.
Manager Base Framework 를 사용하는 패턴은 보통, 싱글톤 패턴 / 프록시 패턴 / 팩토리 패턴이 있다.
[ ps. 매니저를 이용하여 관리하는 경우가 많은 것 같다. 매니저 베이스 프레임워크로 짜여진 게임 코드가 많지 않을까.? ]
◈ Event Driven Framework
: 각 객체의 메시지를 Event 를 통해서 명령하는 방식이다.
전역으로 생성한 이벤트 핸들러를 통해 Receiver 들에게 이벤트를 전달하여 동작을 제어하는 방식이다.
이벤트 생성 주체에 대한 제약이 없기 때문에 서버/ 더미서버/ 클라이언트/ 유닛 테스트 등에 관계 없이 Receiver 객체의 동작을 명령할 수 있다.
Receiver 들은 독립적으로 설계/구현/교체 가능하다.
Receiver 들은 자신이 필요해서 등록한 이벤트만을 받게 된다.
유연한 Client/Server 구조, GUI 설계 등에 유용하다.
Event Driven Framework 는 옵저버 패턴이 있다.
◈ Scene Base Framework
: 게임의 상황에 따라 각각의 Scene 으로 구별하여 처리 한다.
게임의 로직에 따라서 Scene 단위로 게임을 분리한다.
각각의 Scene 은 자신에 해당되는 객체들과 로직/이벤트를 관리하며, 일정한 조건에 의해서 다른 Scene 으로 전이 된다.
각각의 Scene 은 다른 Scene 과는 독립적으로 구성되기 때문에, Scene 의 구성 및 순서의 교체로 게임 로직의 변화가 가능하다.
Scene Base Framework 는 전략 패턴, 스테이트 패턴 이 있다.
그 외 게임 프레임워크에 사용되는 아키텍처들은 더 있지만, 여러 프레임워크 아키텐처들의 조합으로 설계/구현된다.
위 세 가지가 범용적으로 사용되는 아키텍처들인데 현재 내가 분석하고 있는 게임 코드에 어떤 프레임워크가 적용되는지 매우 헷갈린다.
아마 한 가지가 아니라, 시스템마다 여러 가지를 함께 쓰이는 듯 해서 조금 더 분석하기 어려운 듯 싶다.
- Total
- Today
- Yesterday
- python별찍기
- Python
- range함수
- 백준
- 데이터베이스
- SQLD1과목
- NaverCloudPlatform
- 알고리즘
- 백준 별찍기
- SQLD40회
- 백준별찍기
- 파이썬문법
- 40회 SQLD
- 파이썬for문
- 파이썬
- 파이썬입출력
- SUM함수
- 데이터 모델링
- 파이썬sum
- 네이버클라우드플랫폼
- SQLD
- 별 찍기
- f-string
- SQLD 1과목
- Unity GameObject 생성
- 백준파이썬
- BAEKJOON
- python문법
- 파이썬 입출력
- SQLD 2과목
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |