About

  • Phone: +1 206-228-3400
  • City: Seoul, Gwangjin-gu
  • Email: wod6983@gmail.com

Game programmer focused on practical gameplay systems, rendering fundamentals, and release workflow. I value clear architecture, measurable improvement, and reliable collaboration from prototype to shipping.

Selected Projects

콘솔 뱀서라이크

GitHub 보기 | 회고록 보기 | 개발 기록 보기

기간: 2026.02.05 ~ 2026.02.11 | 개인 프로젝트

  • 프로젝트 초점: 아이디어 검증부터 플레이 가능한 프로토타입까지 1주 스프린트 진행
  • 강조 포인트: 기술 구현 및 개발 간 기록 남기기
기록 보기

1. 프로젝트 개요

  • 콘솔 뱀서라이크 게임 데모
  • 자체 엔진 기반 Player/Enemy/Bullet, 스탯, 카메라, Object Pooling, Quadtree, 구현 과정 경험 및 문서화 목표

주요 기능

  • 충돌 처리: Quadtree 공간 분할 후 AABB 적용
  • 오브젝트 풀링: Exp Gem/Enemy/Bullet 반복 할당 필요 메모리 공간 미리 할당
  • 카메라/월드 확장: 스크롤링 카메라, 잔디 타일링
  • 디버그 모드: 화면에 Quadtree 디버그 라인 표시
  • 문서화: Obsidian 기반 개발일지/체크리스트/이슈 로그
  • Git 전략: 잦은 커밋으로 빠른 롤백, 솔로 프로젝트로 브랜치 미사용
  • 이슈 트래킹: 체크리스트 + 날짜별 로그 + 이슈 분류

2. 아키텍처 및 워크플로우

아키텍처 특징 및 설계 의도

  • 게임 루프: GameLevel 중심 루프, Actor 리스트 순회 Tick/Render 수행
  • 스탯 공통화: IStatHolder 인터페이스 + Stat struct로 Player/Enemy 스탯 접근 통일
  • 확장성: Object Pooling으로 생성/삭제 비용 및 단편화 리스크 감소
  • 충돌 최적화: AABB 유지 + Quadtree 확장 구조로 단계적 최적화
  • 검증: 디버그 모드(좌표/쿼드트리 테스트)로 통합 과정 검증

3. 주요 작업

  • 오브젝트 풀링: Enemy/Gem/Bullet 재사용 구조 구현, prewarm 적용 후 메모리 무한 증가 이슈 분석 및 수정
  • 충돌 처리 최적화: AABB 구현 후 Quadtree 도입, 디버그 함수화, 활성 객체 필터링 및 Query 사용 방식 정리

4. 문제 해결 및 기술적 도전

  • 이슈 1: 오브젝트 풀링 이후 메모리 무한 증가 → GameLevel hasBeginPlay 분리로 초기화 1회 보장
  • 이슈 2: Quadtree 전환 후 메모리 에러/충돌 누락 → Actor 활성 필터링 + Query 흐름 재정리
  • 의사결정: A* 시도 후 방향벡터 추격으로 전환, swap-pop으로 O(1) 삭제, raw pointer 소유권 규칙 문서화 필요성 확인
  • 개선 아이디어: 타일맵/장애물 기반 A* 재적용, Enemy 간 충돌 Layer 적용, 소유권/해제 책임 명문화

5. 결과 및 회고

  • 결과: 핵심 시스템 통합 완료(Player/Enemy/Bullet, HP/EXP/레벨업, Pause UI), Object Pooling/Quadtree/스크롤 월드 구현
  • 성과 지표: Stress Test에서 FPS 저하 체감 없음, vector 삭제 O(N) → swap-pop으로 O(1) 최적화, 메모리 무한 증가 버그 해결
  • 임팩트: 대량 객체 처리 + 충돌 최적화 + UI/pause + 스탯 시스템 하나의 루프 통합
  • 회고: 엔진 루프 관점 디버깅 역량 강화, 정규화/형변환/const/링킹 등 기본기 이슈 케이스 축적
  • 다시 한다면: FPS/메모리 측정 루틴 내장, Quadtree 소유권 문서화, 초기화 루틴 1회 보장 구조 고정

프로파일링

  • FPS 출력
  • Quadtree 적용 전/후
  • Stress Test 조건 화면
  • Object Pooling 전/후 프로세스 메모리 변화 비교

프로젝트 회고

잘한 점

  • 문서화와 커밋 전략 꾸준히 유지
  • Quadtree 시각화
  • 프로파일링 진행
  • 스탯 구조 간소화 유지

부족한 점

  • 기술 구현 집중으로 게임성 개선 시간 배분 미흡
  • 프로파일링 요소로 FPS만 고려해서 정확도 떨어짐

소감

  • 엔진의 큰 그림 이해
  • 기록의 중요성 체감
  • 원하는 기능 직접 구현 경험
Rolling Snow gameplay

눈덩이를 굴려라

GitHub 보기 | Google Play에서 보기 | 개발 기록 보기

기간: 2025.12 ~ 현재 | 역할/팀: 게임 프로그래머 / 2인 팀

  • 핵심 과제: 직접 기획부터 출시까지 경험하며 문제들 겪어보기
  • 출시 결과: 스토어 출시 완료, 랭킹 시스템 설계중
  • 기술 스택: Unity, C#, Figma
출시 관련 정리
구분 기존 방식 (Problem) 개선 후 (Solution) 성과 (Impact)
UI 워크플로우 디자인 시안 반영 수작업 증가. Figma→Unity 플러그인 도입. UI 반영 속도 개선.
네이밍 규칙 불일치. UI 네이밍 규칙 표준화 (예: Button_*). 협업 노이즈 최소화.
릴리즈 운영 디버그 중심 검증 습관. 개발/릴리즈 체크리스트 분리. 배포 실수 감소.
버전 관리 기준 부재. 버전명·코드 규칙 정리. 패치 대응 속도 향상.
수익화·콘솔 광고 호출 실패. 광고 로드 확인 후 호출. 광고 안정성 개선.
콘솔 설정 항목 대응 부족. 콘솔 정책 항목 정리. 심사 리스크 감소.
Action
  • 릴리즈 기준 체크리스트로 검증 루틴 운영.
  • UI 네이밍·컴포넌트 연결 규칙 표준화.
  • 환경별 Console/AdMob 설정 정렬, 광고 로드 확인 후 호출.
  • 버전별 변경 로그·패치 대응 템플릿 운영.
기술 아키텍처 도식화
1. 유저 경험 (FRONT-END)
FIGMA 디자인 파이프라인
네이밍 규칙 준수 및 UI 자동화 구조
UI TOOLKIT (UXML/USS)
반응형 UI 배치 및 스타일 시트 분리
2. 게임 로직 (CORE LOGIC)
INPUT SYSTEM
터치 및 드래그 감지 / 이벤트 분기
GAME MANAGER
점수, 게임 상태(시작/종료) 중앙 제어
PHYSICS & EFFECT
눈덩이 물리 연산 및 타격감 연출
3. 데이터 (DATA & BACKEND)
SCRIPTABLE OBJECTS
아이템 밸런스 및 설정 수치 자산화
CLOUD BACKEND
유저 정보 저장 및 랭킹 시스템 연동
FIREBASE / ADMOB
광고 수익화 및 로그 기반 데이터 분석
4. 제작 및 배포 (PIPELINE)
UNITY EDITOR WORKFLOW
프리팹 조립 및 에디터 툴 확장
AUTOMATED BUILD
Android / iOS 환경별 빌드 최적화
STORE DEPLOYMENT
Google Play / App Store 출시 및 검증
Shading Project demo

Shading Project

데모 영상 보기

기간: 2024.01 - 2024.04 | 역할: 그래픽스 프로그래머

  • 기술 초점: 디퍼드 셰이딩 이해, G-buffer 이해, 내적/외적 이해, 렌더링 파이프라인 이해
  • 그래픽 주제: 반사 벡터 계산, 큐브맵 텍스처 샘플링을 통한 환경 반사 동적 표현
  • 결과물: 셰이딩 데모 및 시각 비교 샘플 구성
  • 기술 스택: C++, OpenGL, GLSL, ImGui
그래픽스 프로젝트 아키텍처
1. 데이터 수집 (GEOMETRY PASS)
VAO / VBO / EBO
C++ 정점 데이터의 GPU 메모리 바인딩
G-BUFFER 렌더링
Position, Normal, Albedo 텍스처 생성
MRT (Multiple Render Targets)
하나의 드로우콜로 다중 텍스처 동시 출력
2. 물리 기반 연산 (LIGHTING PASS)
DEFERRED SHADING
G-Buffer 데이터를 샘플링하여 광원 연산
REFLECTION VECTOR MATH
내적/외적 기반의 반사 벡터(R) 정밀 계산
CUBEMAP SAMPLING
동적 환경 반사(Environment Mapping) 구현
3. 엔진 코어 (ENGINE CORE)
SHADER LOADER
GLSL 소스 코드 컴파일 및 런타임 링크
CAMERA & TRANSFORM
View/Projection 행렬 기반 공간 좌표 변환
TEXTURE MANAGER
stb_image 기반 이미지 로드 및 밉맵 생성
4. 개발 도구 (TOOLS & UI)
IMGUI INTEGRATION
실시간 라이트 위치 및 컬러 파라미터 제어
DEBUG VISUALIZER
G-Buffer 각 채널별 텍스처 실시간 모니터링
FRAME RATE COUNTER
렌더링 루프 최적화 및 성능 벤치마킹

Skills

Languages and Databases

Engines

Tools and APIs

Experience & Education

Wanted Potenup Game Development Track

January 2026 - Present

CS 심화 및 실무 중심의 게임 개발 트랙.

  • 운영체제, 네트워크 등 CS 기초를 빠르게 학습하고 다수의 개인 콘솔 게임 프로젝트를 통해 엔진 로직 최적화 및 데이터 중심 설계를 체득.
  • 제한된 시간 내 기획부터 완성까지 해내는 빠른 개발 프로세스를 경험하며 우선순위 판단력과 실행력 강화.
  • 아이디어와 연출에 대해 동료들과 자유롭게 의견을 주고받으며 기획의 완성도를 높이는 능동적 협업 수행.

Coding Test Algorithm Study (Lead)

January 2026 - Present

알고리즘 문제 해결 역량 강화를 위한 주 3회 스터디 운영.

  • 월/수/금 주 3회 스터디를 직접 이끌며 팀원들과 최적의 알고리즘 설계 및 문제 해결 사고력 공유.
  • 학습 커리큘럼을 관리하고 복잡한 로직을 명확히 설명하며 팀의 동반 성장을 도모.

Software Engineer Intern

2024.01 – 2024.04 (3개월)

A Round Entertainment (New Jersey) · Remote

  • Joopy 데이팅 앱 프로필 편집 화면 및 이미지 업로드/순서 변경 기능 개발.
  • Firebase 기반 실시간 데이터 동기화로 편집 반영 속도 및 UX 안정성 개선.
  • UI/UX 디자인 협업 및 버그 수정/기능 개선.
  • 기술 스택: React Native, JavaScript, Expo, Android Studio, CSS, Figma, Firebase.

Education

Bachelor's Degree in Computer Science in RTIS Simulation

Credit: 4.0 / 4.5

March 2018 - August 2024

Bachelor's Degree in Computer Science in RTIS

Credit: 3.7 / 4.0

August 2022 - April 2024

Language & Certificates

OPic certificate

OPic(영어)

Intermediate High(IH)

Date: August 12, 2024
Engineer Information Processing

정보처리기사

Date: June 13, 2025
ADsP

데이터분석 준전문가(ADsP)

Date: June 13, 2025

Contact

My Address

서울특별시 광진구

Social Profiles

Email

wod6983@gmail.com

Contact

+1 206-228-3400