Skip to content

The third-person game project developed by designing and building a C++ and DirectX12–based framework and rendering pipeline.

License

Notifications You must be signed in to change notification settings

jinhyeonseo01/CatchAndCook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,604 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Catch & Cook

Static Badge Static Badge License Badge GitHub Repo stars GitHub Release

C++ 20과 DirectX 12 기반의 프레임워크 및 렌더링 파이프라인을 설계·구축하여 개발된 3인칭 게임 프로젝트.

English

The third-person game project developed by designing and building a C++20 and DirectX 12–based framework and rendering pipeline.


image

More

image
image
image

개발 목적

  • C++20과 DirectX 12를 활용해 렌더링 파이프라인 프레임워크를 직접 설계·구축하고, 이를 기반으로 플레이 가능한 3인칭 게임을 개발하기 위함
  • 이 과정을 통해 그래픽스 및 코어 엔진 엔지니어링에 대한 이해를 심화하기 위함

AI 사용 범위 명시

  • AI의 사용은 Web기반으로 사용하여 그래픽스 이론과 CS 지식 학습, 이론적 설명, Funnel 알고리즘을 도움받았습니다.
  • 그 외의 직접적인 코드 작성에는 결과 복사/붙여넣기 나 에이전트 AI를 사용하지 않았습니다. 파이프라인 개발과 기능 및 컨텐츠 개발 전반의 실질적인 개발은 모두 수작업으로 작업되었습니다.
English
  • To design and implement a rendering‑pipeline framework using C++20 and DirectX 12, and develop a playable third‑person game based on it
  • To deepen my understanding of graphics and core‑engine engineering through this process

(AI was used through web-based resources to assist with learning graphics theory, computer science concepts, theoretical explanations, and Funnel algorithms. All other practical development was carried out by manually typing the code, without any direct code copying/pasting or development using AI agents.)

사용 기술 & 서드파티

개발 기간

  • 8개월 (2025.01.15 ~ 2025.07.28)

팀원 / 역할 분담

이름 역할
진현서 / Jin Hyeon Seo (Clrain) 클라이언트 – 육지 파트 ( Client – Land Content )
김상혁 / Kim Sang Hyuk 클라이언트 – 해상 파트 ( Client – Maritime Content )

(DirectX12의 기반 렌더링 및 로직 파이프라인 전반의 대부분을 공동으로 상의하며 함께 설계함.)

게임 개요

  • 육지와 해상이 나뉘어진 공간에서 플레이
  • 낮에는 식당을 경영하기 위하여 직접 해상에서 재료들을 수급하고, 밤에는 손님들에게 음식을 제공하여 돈을 버는 방식
  • 성장형 경영 타이쿤 게임.
English
  • Set in an environment split between land and sea
  • During the day, you source ingredients directly from the sea to run your restaurant; at night, you serve food to customers to earn money
  • A growth‑oriented management tycoon game

줄거리

줄거리
  • 망망대해 위에 어느 한 섬. 희귀한 광물 미스라이트가 풍부한 것으로 알려진 이 섬에는 무역상인들을 중심으로 한 모험가와 귀족상단이 주둔하여 광물을 채집하고 무역을 하고 있었다. 사람은 모여있고, 돈은 많고, 먹을 것은 부족한 이 섬에서 주인공은 식당을 개업하기로 하는데...

영상 / Video

Youtube - Devlog

플레이

조작법

조작법 / Control-Keys
키 / Key 설명 (한국어) Description (English)
1 ~ 5 인벤토리 전환 Switch inventory
Shift 달리기 Sprint
F 상호작용 Interact
F1 Debug View로 전환 Switch to Debug View
F2 캐릭터 View로 전환 Switch to Character View
F5 ImGUI 창 토글 Toggle ImGUI window
F9 전체화면 토글 Toggle fullscreen
` (백틱) 마우스 고정 토글 Toggle mouse lock



Project Overview

맵소개

인트로 / Intro

image

식당 / Restaurant

image

성 마을 / Fortified Village

image

신비한 연못 / Mysterious Pond

image

중앙 마을 / Middle Village

image

부둣가 / Dockside

image

바닷속 / UnderWater

image




Technical Overview

Pipeline Flow

image

Render Pass Flow

image




Technologies Used

Skinned Mesh Rendering

image

NavMesh & PathFinding

[ YouTube ] DirectX12 - Collision & PathFinding
image
image

Spatial Hashing Collision Detection

image

Frustum Culling

image
image

Static & Dynamic GPU Instancing

Object Count (5000 objects, 30000 trees, 100,000 grass)

image

Cascade Shadow Mapping (CSM)

4‑Cascade LOD [ YouTube ] DirectX12 - Cascade Shadow Mapping
image
image

Terrain Tessellation

image
image

Deferred Rendering (Lots of Additional Light)

image

Post Processing

Final Visualization

[ YouTube ] DirectX12 - Post Processing
image
image

Screen Space Ambient Occlusion (SSAO)

image

Time of Day

image

Stylized Water Shader

[ YouTube ] DirectX12 - Stylized Water Shader image

Character Non-Photo Realistic (NPR) based Shading

[ YouTube ] DirectX12 - Character NPR Toon Shader

SDF Face Shadow

image

Subsurface scattering (SSS)

image

Sobel Filter based Outline & Specular

image

(+Rim Light, Simple GI)

Seawater Visualization & Waves

image

Geometry, Stream-Output based Particle System

image

Scene&Object Json Exporter

The project’s functionality was modularized and released as an asset.
Click to visit the Asset Store

Asset Store

Sea Gerstner Waves

image

Unity-based Level-Design(Scene) Loader

image




Development Tasks

공동 개발

상세 개발 내용
  • Overall DirectX 12 setup and development
  • Render Pass Policy
  • Vertex, Material, Shader, Pipeline Policy
  • Mesh Rendering Flow
  • Root Signature
  • Light Logic
  • Dynamic Instancing & Batching
  • Frustum Culling
  • Mesh‑based Pass System
  • Scene System, Scene Manager

진현서 / Jin Hyeon Seo (Clrain)

상세 개발 내용

Content

  • 육지 컨텐츠 전담 개발
  • 메인 메뉴, 팝업 메뉴, InGame GUI

Core Systems

  • GameObject, Component, GUID‑based Object‑Control System
  • Transform Hierarchy System
  • Collider Raycasting System
  • Unity based level Scene Loader
  • Model Resource Loader
  • NavMesh based ASter(+Funnel) PathFinding
  • UI - Sprite Rect Transform based GUI System
  • Debug - Gizmo
  • Debug - Performance Profiler
  • Finite state machine(FSM) based NPC System
  • Shader Compiler, Profiler
  • Terrain Static Instancing (tree, grass)

Rendering

  • Geometry‑based Gizmo Rendering
  • Forward (+Transparent) Rendering
  • Resource Dynamic Matching&Linking System
  • Pipeline State Object (PSO) Policy
  • Skinned Mesh, Animation System
  • Deferred Environment Visual Shading
  • Character NPR based Shading
    • SDF Face Shadow
    • Sobel Filter based Outline, Specular
    • Subsurface scattering (SSS)
    • Rim
    • Ramp Texture based shading
  • Cascade Shadow Mapping (CSM)
  • Stylized Water Shader
  • Post Processing (Compute Shader)
    • Depth of Field
    • Bloom, Blur (Optimization)
    • God Ray
    • Time of Day
    • Screen Space Ambient Occlusion (SSAO)
    • Fast approximate Anti-Aliasing (FXAA)
    • Color Grading
    • Vignette

김상혁 / Kim Sang Hyuk

상세 개발 내용

Content

  • 해상 컨텐츠 전담 개발
  • All Particle Effects Contant (폭죽, 연기, 물안개, 불 등등)
  • 육지 - Boat Controller
  • 육지 - Sea Water Visual, Movement

Core Systems

  • Spatial Hashing Collision Detection
  • Path Trail Mover System
  • UI - Text, Texture Rendering System
  • Buffer Pool, Manager
  • Resource Manager
  • Debug - IMGUI System Link
  • Sound System
  • Texture Loader System
  • Render Texture System
  • Boids Algorithm based Swarm Control

Rendering

  • DirectX Default Initialization
  • Deferred Rendering
  • Terrain Tessellation
  • Compute Shader Pipeline
  • Nested Frame Rendering
  • Underwater Visual Shading & Effects
    • Phong‑based Rendering
    • Rim
  • 육지 - Sea Water Shader, Wave Movement
  • Geometry, Stream-Output based Particle System
  • Post Processing (Compute Shader)
    • Blur
    • Bloom
    • Fog Factor
    • Depth Capture
    • Under Water Post Effect
    • Dissolve (Fade‑In/Out)
    • Scattering

Middle Present Execute : https://drive.google.com/file/d/1GvVb6xl6p1NtAi3A1yd_0g4KXDfFq1Eu/view?usp=sharing Last Present Execute : https://drive.google.com/file/d/1mJVY8-xbjTHjggJgFJks5_SR9z3ktg3_/view?usp=sharing

About

The third-person game project developed by designing and building a C++ and DirectX12–based framework and rendering pipeline.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •