About

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

I am a developer who has researched and studied game development. Through steady study of C++ and CS fundamentals, I've gained experience across Unity, Unreal, custom engine development, and graphics programming. Documenting the process of every project, step by step, has accumulated into who I am today.

Selected Projects

JinEngine gameplay

Project GGD (JinEngine / C++ 자체엔진)

기간: 2026.07 ~ 현재 | 역할: Gameplay 프로그래머 / 팀 프로젝트 (4명)

  • 프로젝트 소개: C++ 자체엔진 기반, 게임플레이 기능 구현과 디버깅을 담당
  • 기술 초점: 기존 C++ 자체엔진 코드베이스 위에서 게임플레이 및 UI 시스템 확장
  • 주요 기여
    • 1개/전체 판매 모드가 포함된 유닛 판매 흐름 및 CommandCard 동작 구현
    • ESC 입력 기반 일시정지 및 설정 팝업 UI 구현
    • 라운드 이자 보상, 조기 웨이브 스킵 흐름, 아이템 카드 리롤 로직 구현
    • 유닛 합성 흐름 구현: 같은 종류 유닛 슬롯 등록, 확률 계산, 결과 유닛 생성 및 실패 보상 처리
    • 마우스 호버 툴팁, 정보창/뒤로가기 수정, 아이템 UI 개선, 바이너리 저장 데이터, 최고 점수 NEW 표시 구현
  • 기술 스택: C++, JinEngine, 자체엔진
문제 해결 / 배운 점

문제 해결

  • 유닛 합성 상태 관리: 기존 유닛 선택/슬롯 시스템 위에 합성 기능을 추가하며 임시 UI 슬롯과 실제 필드 유닛 상태가 어긋날 수 있는 문제 확인. 같은 종류 유닛 검증, 슬롯 등록/해제, 결과 유닛 생성, 필드 복귀 흐름을 분리해서 상태 불일치를 줄이도록 구현함
  • 보상 및 UI 흐름: 아이템 리롤과 조기 웨이브 스킵을 추가하며 기존 아이템, 웨이브, 입력 흐름을 먼저 확인. 중복 방지, 리롤 횟수 제한, 웨이브 클리어 판정을 연결해서 기존 플레이 루프를 해치지 않도록 구현함

배운 점

  • 이미 개발 중인 프로젝트에 중간 합류하며 실제 현업에서도 자주 마주칠 수 있는 상황을 경험함. 기존 엔진 구조를 먼저 파악하고, 의도나 책임 범위가 불명확한 부분은 기존 개발자에게 질문하며 정해진 흐름 안에서 기능을 구현하는 과정 학습
  • 기능 파일만 보는 것이 아니라 코드 수정 전 초기화, Update, Render, Input, 오브젝트 생명주기, UI 상태 전환, 저장 데이터 흐름을 따라가며 엔진 및 프로젝트 구조를 파악하는 방법을 학습함
JARVIS AI assistant architecture

JARVIS (AI 음성 비서 / Python·LLM)

GitHub 보기

기간: 2026.10 | 역할: AI 에이전트(음성·LLM 명령 해석) 담당 / 팀 프로젝트 (5명)

  • 프로젝트 배경: 질문에 답만 하는 챗봇이 아니라, 말 한마디를 실제 PC 작업으로 연결하는 실행형 비서를 만들고자 함. 자연어를 그대로 OS 명령으로 실행하면 한 번 잘못 알아들었을 때 창을 전부 닫는 등 위험하기 때문에, '자연어 → 구조화된 도구 호출 → 허용 범위 검증 → 실행 → 결과 기록' 단계로 안전하게 연결하는 것을 핵심 과제로 삼음
  • 기술 초점: 규칙 우선 + LLM 보조 하이브리드 명령 라우팅, 허용 목록 기반 도구 실행
  • 주요 기여
    • 오프라인 Vosk로 호출어를 PC 안에서 감지하고, 호출 이후 명령만 클라우드 STT로 보내 비용과 음성 데이터 외부 전송을 줄임
    • 확실한 명령은 규칙으로 LLM 없이 처리하고, 여러 명령이나 앞 대화 참조만 LLM 도구 호출(도구 19개)로 넘기는 하이브리드 라우터 구현
    • 7개 유형 69개 발화의 평가 세트와 도구 호출·답변 품질 자동 채점 구축
    • 허용 목록 도구만 실행, 질문과 실행 분리, 강제 종료 대신 정상 종료(WM_CLOSE), 명시적 승인 후 고정된 WinGet ID로만 앱 설치 등 안전 장치 구현
    • CommandPlan(서버 계획)과 CommandResult(클라이언트 실행)를 분리하고, 실제 실행 전 상태를 저장해 볼륨·음소거 되돌리기 구현
  • 성과: LLM만 쓸 때 대비 정확도 88% → 91%, 평균 응답 2.15초 → 0.85초, 토큰 약 60% 감소 (평가 발화 69개) · CI 테스트 214개 통과
  • 기술 스택: Python, FastAPI, WebSocket, OpenAI API (gpt-4o-mini), Vosk, Google STT/TTS, Windows API, WinGet, GitHub Actions
문제 해결 / 배운 점

문제 해결

  • 호출어 놓침·오인식: 끝소리를 약하게 말하면 놓치고 비슷한 말에도 호출되는 문제. 진단 도구로 중간 결과 판정·글자 포함 검사·확신도 미확인이 원인임을 찾고, 확정 결과·단어 단위 일치·Vosk 단어 확신도 기준으로 판정 방식을 바꿈. 작은 마이크 입력은 소프트웨어 증폭으로 해결
  • 질문을 실행으로 오인: "메모장 켜져 있어?"가 '켜'라는 글자 때문에 앱을 새로 실행하던 문제. 상태 질문을 app_status로 먼저 분류하고 실행 판별을 그 뒤에 두어 질문에는 상태만 답하도록 수정
  • "조용히 해줘"의 모호함: PC 전체 음소거인지 자비스가 말을 멈추라는 뜻인지 모호한 문제. 자비스 TTS 응답 제어와 Windows 시스템 음소거를 분리해 한 표현이 PC 전체 소리를 끄는 오작동을 막음
  • LLM tool call 프로토콜 오류: 대화 이력에 tool 결과만 남고 이를 요청한 assistant의 tool_calls가 빠지면 OpenAI가 400 오류를 반환. LLM 전달 전에 역할 순서를 검증하고 짝이 없는 tool 메시지를 제외하도록 보완

배운 점

  • LLM은 기본값이 아니라 비용·지연·결과 변동이 있는 부품이라는 점을 배움. 확실한 명령은 규칙, 애매한 명령만 LLM에 맡기는 구조가 정확도·속도·토큰 모두에서 LLM만 쓰는 방식보다 낫다는 것을 직접 측정으로 확인함
  • "잘 된다"는 수치로 말해야 한다는 것을 배움. 쉬운 문장 40개에서 98%였던 정확도가 현실적인 발화에서는 77%로 떨어졌고, "할 일 전부 삭제해줘"를 그대로 실행하고 "완료했어요"라고 답하는 위험한 실패도 평가 세트 덕분에 발견함
  • 안전장치가 꼭 매번 묻는 방식일 필요는 없다는 것을 배움. 모든 실행을 확인받자 대화가 느려져서, 안전은 실행 방식(정상 종료, 허용 목록)과 사후 수단(알림, 되돌리기)으로 옮기고 확인 질문은 최소화함
  • 5명이 동시에 개발하는 환경에서 다른 팀원 코드를 고치지 않고 어댑터와 명세 기반 메시지로 연결하는 협업 방식을 익힘. 아직 연결되지 않은 기능은 가짜 성공 대신 [시뮬레이션]으로 표시해 결과를 정직하게 보고함

LTF (Unreal)

기간: 2026.06.10 ~ 2026.07.13 | 역할: Gameplay 프로그래머 / 팀 프로젝트 (5인)

  • 프로젝트 소개: 최종 팀 프로젝트 1등 수상작
    Unreal Engine 5.6, Dedicated Server, GAS 기반 5인 팀 TFT 모작 오토배틀러 프로젝트. 로비, 공동 선택, 상점, 배치, 전투, 크립 라운드, 최종 승패까지 핵심 루프 구현
  • 기술 초점: 유닛 전투 FSM, GAS 기반 챔피언 스킬, HexTile 이동 및 경로 탐색, 크립 라운드 시스템 구현
  • 주요 기능
    • FSM 기반 유닛 전투 흐름 구현: 탐색, 타깃 선정, 사거리 판정, 이동, 공격, 스킬 사용, 사망
    • GA_Attack → GA_AttackHitCheck 구조로 공격 연출과 실제 타격 판정을 분리한 GAS 공격 파이프라인 구현
    • 투사체, 돌진, 순간이동, 에어본, 기절, 회복, 보호막, 버프, 다중 타깃 등 챔피언 스킬 20종 이상 구현
    • HexTile 기반 BFS 경로 탐색, 타일 점유 처리, 이동 요청 중재 및 재경로 계산 구현
  • 기술 스택: Unreal Engine 5.6, C++, Blueprint, GAS, Dedicated Server, DataTable, Primary Data Asset, Gameplay Tag/Effect/Event, BFS
트러블슈팅

문제 해결

  • Dedicated Server FX: HasAuthority() 조건 분기로 서버의 공격 판정과 클라이언트의 시각 효과 실행을 분리해 공격 이펙트 중복 재생 문제 해결
  • HexTile Lookup: 좌표 기반 타일 인덱스 Map과 거리 캐시를 도입해 타일 조회 구조를 O(N) 선형 탐색에서 평균 O(1) 해시 조회 방식으로 개선
  • Tile Occupancy: CombatManager가 이동 요청을 수집하고 요청 순서와 이동 속도 기준으로 승인, 대기, 재경로를 처리해 동일 타일 점유 충돌 해결

배운 점

  • 다수 유닛이 동시에 판단하고 이동하는 전투 시스템에서는 개별 기능보다 시스템 간 책임 분리와 중앙 관리 구조가 중요하다는 점

콘솔 뱀서라이크 (C++ 자체엔진)

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

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

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

문제 해결

  • Object Pooling: prewarm 후 메모리 무한 증가 → GameLevel hasBeginPlay 분리로 초기화 1회 보장
  • Quadtree: 전환 후 메모리 에러/충돌 누락 → 활성 객체 필터링 + Query 흐름 재정리

배운 점

  • 엔진 루프 관점 디버깅 역량 강화
  • 정규화/형변환/const/링킹 등 기본기 이슈 케이스 축적

눈덩이를 굴려라 (Unity)

GitHub | Android | iOS | 개발 기록

기간: 2025.12 ~ 2026-03 | 역할/팀: 게임 프로그래머 / 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 (OpenGL)

데모 영상 보기

기간: 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
렌더링 루프 최적화 및 성능 벤치마킹

Education

Bachelor's Degree in Computer Science in RTIS

Redmond, WA, US

Credit: 3.7 / 4.0

August 2022 - April 2024

Bachelor's Degree in Computer Science in RTIS Simulation

Credit: 4.0 / 4.5

March 2018 - August 2024

Language & Certificates

OPic certificate

OPic(영어)

Advanced Low (AL)

Date: September 23, 2026
Engineer Information Processing

정보처리기사

Date: June 13, 2025
ADsP

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

Date: June 13, 2025

Skills

Languages and Databases

Engines

Tools and APIs

Experience & Education

Wanted Potenup Game Development Track (Final Project 1st Place)

January 19, 2026 - July 16, 2026

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

  • CS 심화 및 실무 중심의 게임 개발 트랙 이수.
  • Unreal 엔진 기초 학습 및 개인, 팀 프로젝트 진행.
  • 주 3회 알고리즘 스터디를 개설 및 운영하며 문제 해결 접근법과 최적화 사고를 공유.

Software Engineer Intern

2024.01 – 2024.04 (3개월)

A Round Entertainment (New Jersey) · Remote

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

Contact

My Address

서울특별시 광진구

Social Profiles

Email

wod6983@gmail.com

Contact

+1 206-228-3400