사용기술 : C++, WinAPI, MFC, Direct3D11, DirectXTK, DirectXTex, FlatBuffers, PhysX, Recast Navigation, FBX SDK, SocketProgramming(Winsock), IOCP, TCP/IP, ADO, MariaDB
개발기간 : 2020년 10월 5일 ~ 2021년 07월 02일 (9개월)
개발인원 : 10인 (기획 3인, 아트 3인, 프로그래머 4인)
리드 프로그래머, 게임엔진 : 노종원
에디터, 클라이언트 : 박용의 - psp6800@naver.com
그래픽스 : 신호식 - shs0394@naver.com
서버, 네트워크 : 김효곤 - tomorrow_1028@naver.com
PULXER
리듬액션 게임으로 리듬에 맞춰 몬스터와 전투하여 각 스테이지에서 높은 스코어를 달성하는 게임입니다.
싱글 플레이와 2인 협동 멀티 플레이를 지원합니다.
소개영상입니다.
프로젝트에 리드프로그래머로 참여하여 엔진설계와 기반기능을 담당하였습니다. 엔진은 유니티와 같은 컴포넌트기반 게임엔진을 만드는 것을 목표로 하였습니다. 그림과 함께 간단하게 엔진에대해 설명하겠습니다.
엔진 개발에는 총 5개월정도 소요되었으며 유니티의 외형을 보고 내부 동작을 유추하여 구현하였습니다.
결과적으로는 모든컴포넌트를 구현할 수 있는 시간상 여건이 되지않았음으로 게임개발에 필요한 필수적인 컴포넌트들만 개발했습니다.
Transform, Script, Box Collision, Sphere Collision, Capsule Collision, Rigidbody, Audio Listener, Audio Source등의 컴포넌트를 제가 개발하였고 Network, NavAgent컴포넌트는 네트워크 프로그래머인 효곤님께서 개발했습니다.
Light, Camera, UI_Button, UI_InputField컴포넌트는 저와 그래픽스 프로그래머인 호식님이 같이 개발하였고 나머지 컴포넌트는 호식님이 개발했습니다.
아래는 엔진의 프레임워크 구조입니다.
아트팀에서 만든 모델데이터, 에니메이션 데이터를 로드하기위한 FBX SDK가 포함되어있고 dds, tga포맷 등의 텍스처를 로드하기위한 DirectXTex라이브러리, SIMD를 지원하는 SimpleMath, XAudio2의 랩핑인 AudioEngine, 윈도우 입력을 랩핑한 KeyBoard, Mouse, GamePad등이 포함된 DirectXToolkit, 물리충돌, 트리거등을 구현하기위한 PhysX, 데이터 직렬화, 역직렬화를 위한 FlatBuffers, 몬스터의 길찾기를 위한 Recast Navigation라이브러리가 포함되어있으며 그외 필요한 기능은 Utility라이브러리로 직접 구현하였습니다.
Utility라이브러리의 Delegate는 컴포넌트의 호출을 쉽게하도록 하기위해서 구현하였지만 컴포넌트엔진 구현상의 이유로 사용되지 않았습니다.
아래는 엔진의 이벤트함수 호출순서입니다.
위와 별개로 같은 이벤트함수라도 각 컴포넌트의 호출순서에따라 Transform 컴포넌트의 함수가 가장 먼저 호출되고 다음으로 Rigidbody등이 호출됩니다.
소스코드는 깃허브에 올려두었습니다.
Game-institute-1st-While-true/hosEngine
Contribute to Game-institute-1st-While-true/hosEngine development by creating an account on GitHub.
github.com
Game-institute-1st-While-true/PLUXER
This is the graduation project of the 1st While (true) Team of Game institute. - Game-institute-1st-While-true/PLUXER
github.com
'Portfolio' 카테고리의 다른 글
게임인재원 1기 3차 미니프로젝트 (0) | 2021.07.09 |
---|---|
게임인재원 1기 2차 미니프로젝트 (0) | 2021.07.09 |
게임인재원 1기 1차 미니프로젝트 (0) | 2021.07.09 |
루미네스, 뿌요뿌요, 퍼즐엔드래곤 (0) | 2021.07.09 |
Way Back Home (0) | 2021.07.09 |