GAME CLIENT / RENDERING / TOOLS

차명훈MyungHoon Cha

C++로 게임을 구현하고, 렌더링과 제작 도구를 만듭니다.

DirectX 기반 게임 프로젝트에서 클라이언트와 렌더링을 구현했습니다. 현재는 자체 엔진 BamEngine을 개발하며, 씬 편집과 직렬화부터 게임 실행까지 이어지는 구조를 공부하고 있습니다.

현재 개발 중

Engine & Editor
자체 엔진 · 개인 프로젝트개발 중

BamEngine

2026.01 — 진행 중

런타임과 에디터를 분리하고, Reflection 기반 씬 편집·저장·복원을 연결하는 C++ 게임 엔진입니다.

  • C++20/23
  • DirectX12
  • SDL_GPU
  • EnTT
  • CMake

Reflection & 직렬화

Clang 전처리 콜백과 AST로 선언을 분석하고 등록 코드를 생성합니다. 독립 Runtime·Archive·연결 어댑터로 타입 조회와 JSON/BEVE 저장을 연결합니다.

씬 편집 & Undo/Redo

컴포넌트 값과 계층·참조 관계를 영구 ID로 기록하고, 엔티티 재생성 후 새 핸들에 다시 연결합니다.

RHI & GPU 피킹

DirectX12·SDL_GPU 경로를 분리하고, G-Buffer의 선택 ID를 프레임·엔티티 유효성 검사와 함께 해석합니다.

에디터를 중심으로 개발 중이며, 독립 Client 배포와 전체 실행 흐름의 검증은 진행 중입니다.

주요 프로젝트

Selected work · 2024–2025
팀 프로젝트 · 7인01

스텔라 블레이드 모작

2025.07 — 2025.09

렌더링 · 셰이더 · 배치 툴

상용 게임 엔진 없이 DirectX11로 제작한 3D 액션 게임 모작입니다. 다양한 재질과 환경·화면 효과를 하나의 렌더링 파이프라인에 연결했습니다.

  • C++
  • DirectX11
  • HLSL
  • Compute Shader
  • G-Buffer와 재질별 StructuredBuffer를 연결한 Deferred 재질 처리
  • PBR·IBL, CSM과 텍셀 스내핑, SSAO/HBAO
  • 볼류메트릭 안개·자동 노출·블룸 및 스크린 스페이스 데칼
개인 프로젝트02

Sonic Frontier 모작

2025.04 — 2025.07

클라이언트 · 렌더링 · 에디터

DirectX11과 PhysX를 사용해 게임과 제작 도구를 함께 구성했습니다. 애셋 변환, 오브젝트 배치, UI 편집과 경로 제작을 직접 연결했습니다.

  • C++
  • DirectX11
  • PhysX
  • ImGui
  • Catmull-Rom 경로 프레임과 PhysX 충돌체 생성
  • 애니메이션 상태 전환 시 Lerp·Quaternion Slerp 보간
  • GPU ID 피킹·기즈모 편집, UI 아틀라스와 메쉬 인스턴싱
팀 프로젝트 · 4인03

Project Warlock 모작

2025.02 — 2025.04

렌더링 · 이펙트 · 사운드

DirectX9 기반 FPS 모작에서 렌더 순서, 이펙트와 파티클, FMOD 사운드 컴포넌트를 담당했습니다.

  • C++
  • DirectX9
  • FMOD
  • 동적 정점 버퍼의 DISCARD/NOOVERWRITE를 이용한 파티클 배치 렌더링
  • 렌더 그룹 분리, 투명 객체 거리 정렬과 광원 목록 구성
  • Transform 기반 3D 사운드 이벤트·소스·리스너 연결
개인 프로젝트04

Baba Is You 모작

2024.12 — 2025.01

게임 로직 · 그리드 · 맵 툴

단어의 배치가 게임 규칙이 되는 퍼즐을 Windows API로 구현했습니다. 규칙 검사와 이동, 되돌리기, 스테이지 편집을 한 프로젝트에서 다뤘습니다.

  • C++
  • Windows API
  • FMOD
  • 가로·세로 세 블록의 문장 검사와 오브젝트·속성 규칙 적용
  • PUSH 연쇄 이동과 STOP 등 속성별 상호작용
  • 그리드 스택 기반 배치 복원, 바이너리 맵 저장·불러오기

사용 기술

프로젝트에서 사용한 도구

Languages

C++ · C# · Python · JavaScript

Graphics & Runtime

DirectX9/11/12 · HLSL · SDL_GPU · PhysX · FMOD · Unity

Tools & Architecture

CMake · vcpkg · EnTT · LLVM/Clang · Dear ImGui · Git

이전 프로젝트

Unity · Web · Desktop
Patchwork 프로젝트 화면

Unity · 팀 프로젝트

Patchwork

몬스터를 피해 저택을 탐험하는 2D 퍼즐 게임. 이동·상호작용·UI·카메라 전환과 레벨 구성을 담당했습니다.

Wall Jump 프로젝트 화면

Unity · 팀 프로젝트

Wall Jump

벽 점프와 대시로 진행하는 플랫폼 게임. 캐릭터 이동·애니메이션 스크립트와 레벨 구성을 담당했습니다.

Fetch 프로젝트 화면

Web · 팀 프로젝트

Fetch

학교 구성원을 위한 익명 커뮤니티. UML 기반 구조 설계와 프론트엔드·백엔드 연결을 담당했습니다.

BamOwl.com 프로젝트 화면

Web · 개인 프로젝트

BamOwl.com

Jekyll과 GitHub Pages 기반 개인 사이트. Notion을 글 작성 도구로 연결하고 발행 흐름을 구성했습니다.

BDO Desktop Alarm 프로젝트 화면

Desktop · 개인 프로젝트

BDO Desktop Alarm

게임 이용을 돕는 데스크톱 알림 도구입니다.

학교 프로젝트

학력 · 교육

University of Maryland, Baltimore County

B.S. in Computer Science · 2021.01 — 2023.05

쥬신 게임 아카데미

클라이언트 프로그래밍 심화 과정 · 2024.09 — 2025.09