728x90
SMALL
목차
1. 게임의 기본구조
1. 게임의 기본구조
게임의 기본 구조는 크게 초기화, 데이터 갱신, 화면 출력, 해제로 나뉜다.
모든 게임이 이 구조로 돼있지는 않지만 대부분의 게임 구조가 이 구조로 되어있다.
1) 초기화
실제로 게임이 실행되기 이전에 게임에 필요한 기본 데이터를 읽고 각종 변수를 초기화한다.
초기화의 내용에는 캐릭터 초기화, 사운드 초기화, 패턴 도는 AI 초기화, 메모리 할당 등이 있다.
2) 데이터 갱신
말그대로 데이터가 갱신되는 것이다.
입력장치(주로 키보드나 마우스)에 의해 데이터가 갱신되거나
충돌등의 다양한 방식으로 데이터가 스스로 갱신된다.
3) 화면 출력
말그대로 출력하는 것이다.
4) 해제
동적으로 메모리를 해제하는 경우가 대부분이지만 초기화에서 생성한 객체를 해제하는 역할도 한다.
객체는 사운드 엔진, 물리 엔진, 그래픽 엔진등을 말한다.
다음은 게임 기본 구조에 사용할 함수들이며 주로 게임 엔진에 사용되는 함수명이다.
게임 프로그래밍을 하기 전에 이와 같은 구조를 만드는 것은 분업을 해야하기 때문이다.
기본구조를 코드로 구현하면 다음과 같다.
4개의 함수가 각각 한번씩 실행되고 종료된다.
#include <stdio.h>
void init() {
}
void update() {
}
void render() {
}
void release() {
}
int main(void) {
init();
update();
render();
release();
return 0;
}
하지만 게임에서 데이터 갱신과 화면 출력은 계속돼야하므로 무한 반복하는 형태로 바꿔준다.
#include <stdio.h>
void init() {
}
void update() {
}
void render() {
}
void release() {
}
int main(void) {
init(); //초기화
while(1){
update(); //데이터 갱신
render(); //화면출력
}
release(); //해제
return 0;
}
출처
1. C를 이용한 게임프로그래밍-이태성
2. 사진출처 : 3장. 게임의 기본 구조 (1/2) - C 게임 프로그래밍 - 나우캠퍼스 (daum.net)
728x90
LIST
'C' 카테고리의 다른 글
C언어로 게임만들기 2탄 - 깜박임 없애기(더블 버퍼링, 페이지 전환) (0) | 2023.06.10 |
---|---|
XAMPP MySQL 실행 시 Port 3306 사용 중일 때 해결 방법 (0) | 2023.05.22 |
1. C언어로 MYSQL 연동하기 전 MYSQL 설치하는 방법 (0) | 2023.05.21 |
c언어 비주얼 스튜디오 Debug Assertion Failed! 해결 방법 (0) | 2023.04.03 |
1) C언어 코딩하기 전 기본적으로 알고 있어야 하는 지식 정리 (0) | 2023.03.26 |