flow-vector
article thumbnail
프로젝트 셋팅 - 진행 시 규칙
Project/GameEngine 2024. 1. 25. 15:09

Coding Convention & format 포프의 c++ 코딩 표준을 따른다 https://docs.popekim.com/ko/coding-standards/cpp .clang-format을 사용하여 동일 포멧을 유지 한다 규칙 예시 들여쓰기 2 space .clang-format 적용하는 방법 https://www.youtube.com/watch?v=Mn4Yc7-kvT0 폴더 구조 및 규칙 명명 규칙 폴더명은 소문자를 사용 파일명은 파스칼케이스 사용 역할 binary 프로젝트 타겟 파일 저장 ex) 동적라이브러리, 실행파일 build build_util 빌드에 필요한 유틸 파일 intermediate cmake 빌드를 통해 만들어지는 파일들 external 외부 라이브러리 저장소 glfw, gla..

나만의 게임 엔진 개발 하기 - 시작
Project/GameEngine 2023. 12. 31. 22:46

지금 까지 공부한 내용을 바탕으로 간단한 나만의 게임엔진을 만들어 보기로 하였다. 목적은 어느정도 규모 있는 프로그램을 만들어 보면서 공부한 내용 복습 및 개발 과정에서 발생하는 문제를 해결하면서 새로운 걸 배울 수 있을 것 같기 때문이다. 앞으로 만들 프로그램이 어떤 것인지에 대한 정의를 해보고 어떤 기능을 만들어 볼지 적어보려고 한다. 내가 생각하는 게임 엔진의 기본 기능 특정 파일의 데이터를 불러와 프로그램 내부에서 정의한 자료구조에 저장한다. 파일 i/o 저장된 데이터 형식에 알맞은 처리를 한여 모니터에 그린다. 렌더러 기능 실시간으로 사용자와 소통하여 화면에 그려진 물체가 변환 되어야함 event 처리 기능 구현 목표 수학 라이브러리와 obj, png파일 로더 구현 이미 훌륭한 라이브러리는 존재..

article thumbnail
상용 엔진 구조 분석 - Godot Engine
Project/GameEngine 2023. 12. 31. 21:43

Architecture Diagram 채택한 방식들 커스텀 자료구조 사용 이유 stl 사용시 디버깅 바이너리가 너무 커짐 (템플릿 인스턴스화로 인해) 큰 배열을 사용하려고 할때, 미리 할당된 버퍼와 연결됨 손쉬운 메로리 트래킹 방법이 내장 되어 있음 다국어 문자열 처리 문제를 해결하는 별도의 string 타입을 사용 예외 사용 안함 어떤 경우에도 crash를 허용하지 않음 예외 상황이 발생 했을 때는, error를 출력하고 계속 프로그램이 진행 되도록 함 예외를 사용할 경우 실행파일 크기가 커지고 컴파일시간이 증가하는 단점이 있 ECS 사용 안함 오픈 소스이기 때문에 여러 사용자들이 이해하기 편한 엔진 구조는 명시적인 상속 구조가 드러나는 구조라고 생각했기 때문 Why isn't Godot an ECS-..