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

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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인칭 게임을 개발하기 위함
  • 이 과정을 통해 그래픽스 및 코어 엔진 엔지니어링에 대한 이해를 심화하기 위함
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

사용 기술 & 서드파티

개발 기간

  • 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

  •  
  •