Beyond Scripts, Into Architecture | 게임 시스템 분석과 모딩을 통해 설계의 즐거움을 배웠습니다. 엔진 위에서 노는 것을 넘어, 서비스를 직접 설계하는 풀스택 개발자로 진화 중입니다.
-
Cyberpunk 2077 (REDengine 4 · CET Lua & redscript):
- Lipsync Data Engineering: WolvenKit CLI로
.lipmap(CR2W) ↔ JSON 변환 후 언어별 립싱크 목록을 병합하여, 영어 전용 데이터를 한국어 음성 환경에 이식 - Non-destructive Localization: 내부 키(아이콘·검색·설정 저장값)는 원문으로 유지하고 화면 표시 단계에서만 한글로 매핑하는 레이어 설계
- 기존 모드 로직 분석 및 런타임 에러(외형 출력 버그 등) 해결을 통한 환경 안정화
- Lipsync Data Engineering: WolvenKit CLI로
-
Crimson Desert (BlackSpace Engine & Python):
- VFS(Virtual File System) 분석: .pamt 및 .paz 바이너리 구조 분석을 통해 리소스 메타데이터 복원 및 가상 파일 시스템 맵핑 구현
- LZ4 정밀 캘리브레이션: 패칭 데이터의 압축 크기를 원본과 1바이트 단위로 일치시키는 정밀 패딩(Padding) 알고리즘 설계로 바이너리 직접 수정 안정성 확보
- Precision Binary Patching: 게임 시스템 로직이 담긴 바이너리를 직접 수정하여 엔진 레벨의 제약 사항(Inventory Limit 등)을 돌파
-
Escape from Duckov (Unity Engine & C#):
- HarmonyLib을 활용한 런타임 메서드 후킹(Method Hooking) 및 로직 패치 구현
- 단순 상수값(플레이어 스탯 등) 수정을 넘어, 게임 내 동적 환경 변화에 대응하는 조건부 로직 가로채기 및 실행 흐름 제어 수행
- .NET Framework 기반의 프로젝트 설계 및 Steam Workshop 배포 프로세스 완수
-
Skyrim & Fallout 4 (Creation Engine):
- 베데스다 전문 툴셋(CK, SSEEdit 등)을 활용한 시스템 구축 및 나만의 통합 환경(Custom Build) 설계
- 사용자 기술 지원: 커뮤니티 내 실시간 소통을 통해 모드 충돌 분석 및 트러블슈팅 가이드 제공
- '사이버펑크 2077(Cyberpunk 2077)' 3인칭 시점 모드 Immersive Third Person V2의 한국어 환경 지원 (한글화 + 한국어 음성 립싱크) 진행 중...
- Problem: 립싱크 데이터는 음성 언어를 따르는데, 원본 모드의 V 립싱크는 영어 음성(
en-us) 전용이라 한국어 더빙에서는 3인칭 V의 입이 움직이지 않음 - Approach: WolvenKit CLI로
.lipmap↔ JSON 변환 후, 한국어 원본(kr-kr) 목록에 V 항목만 병합 (V 애니메이션 795개)
- Scope: CET
init.lua(15,000줄+)의 UI 문자열 161개와 redscript 알림·팝업 번역 - Solution: 탭·섹션 이름이 아이콘과 검색의 내부 키로도 쓰여, 키는 영어로 유지하고 화면에 그릴 때만 한글로 매핑하는 표시 레이어 추가
📦 Previous Research — 붉은 사막(Crimson Desert) macOS 네이티브 모딩 연구 (종료)
'붉은 사막' macOS 환경에서의 아키텍처 호환성(x86_64 vs ARM64) 분석 및 네이티브 모딩 파이프라인 연구
- Approach: lldb 배치 모드를 통한 'Hit-and-Run' 방식의 메모리 변조 시도
- Hurdle: 엔진 무결성 보호(Memory Shield) 및 하트비트 로직 확인
- Result: 실시간 메모리 변조의 기술적 장벽을 확인하고, 우회 메커니즘을 이론적으로 정리
- Approach: 윈도우 모드 데이터를 맥OS 순정 PAZ에 주입하는 방식 시도
- Technical Achievement: 150만 개 에셋 인덱싱 엔진 및 C++ 네이티브 LZ4-HC 압축 코어(
.dylib) 개발 - Result: x86_64와 ARM64 간의 데이터 직렬화(Serialization) 차이로 인한
SIGBUS크래시 확인. 이종 플랫폼 간 정적 바이너리 직접 이식은 현실적으로 어렵다고 판단
Conclusion: macOS 환경에서의 유력한 모딩 방향은 '맥 네이티브 데이터 기반의 동적 메모리 변조'로 정리하고 연구를 마무리했습니다. 상세 기록은 Binary Porting Research 레포에 남겨두었습니다.
"파일을 내 컴퓨터 밖으로 보내지 않고, ClamAV·Defender 로컬 검사 + VirusTotal 해시 조회로 판정하는 수동 악성코드 검사기"
- Status:
Open Source(GitHub 공개 · macOS / Windows 10·11 지원) - Tech: NestJS 12, Next.js 16, Tailwind CSS v4, TypeScript, ClamAV (clamd INSTREAM), Microsoft Defender (MpCmdRun), VirusTotal API v3, SSE, npm workspaces
- Key Point:
- Privacy by Design: VirusTotal에는 SHA-256 해시만 전송(업로드 코드 없음), 모든 서버를
127.0.0.1에만 바인딩. Defender 샘플 자동 제출이 켜져 있으면 엔진을 자동으로 끔 - Cross-platform Engine Adapter: 공통 엔진 인터페이스에 Windows Defender 어댑터만 추가해 macOS 동작은 그대로 유지. 이전 구현과 결과를 직접 비교하는 회귀 테스트(API 223 · 웹 26)로 보장
- Safe Quarantine: 해시 재검증 → 복사 → 실행 권한 제거 → 원본 삭제, 실패 시 롤백. 모드 오탐 대응 제외 목록 지원
- Privacy by Design: VirusTotal에는 SHA-256 해시만 전송(업로드 코드 없음), 모든 서버를
- Link: GitHub Repository 바로가기
"한국어 더빙으로 플레이할 때도 3인칭 V의 입이 움직이도록, 영어 전용 립싱크 데이터를 한국어 음성 환경에 이식"
- Status:
Production Ready(Nexus 배포 완료) - Tech: WolvenKit 9.1 (CLI), CR2W ↔ JSON, Python, MO2
- Key Point:
- Lipmap Merge: 한국어 원본 립싱크 목록을 보존한 채 V 항목만 선별 병합하여 NPC 입모양과 기존 한국어 데이터 손상 방지
- Reproducible Pipeline: 병합 과정을 원본 데이터 없이 재현하는 오픈소스 도구로 공개, 다른 음성 언어로도 확장 가능
- Link: Nexus 바로가기 · GitHub (Merger 도구) · 인게임 영상
"윈도우(x86_64) 모드 데이터를 macOS(ARM64) 환경으로 이식하기 위한 아키텍처 호환성 및 바이너리 직렬화 정밀 분석"
- Status:
Research Completed(Technical Roadmap Established) - Tech: Python 3, C++ (Native Library), ctypes, LZ4-HC, 16-byte Memory Alignment
- Key Point:
- Architecture Post-mortem: 윈도우와 맥 엔진 간의 데이터 직렬화(Serialization) 및 구조체 패딩(Padding) 차이로 인한
SIGBUS (Data Abort)근본 원인 규명 및 한계점 증명 - Native C++ Engine: 파이썬의 메모리 제어 한계를 넘기 위해 C++로 직접 설계한 **16바이트 정렬 압축 코어(
.dylib)**를 개발하여 맥 네이티브 엔진과의 통신 성공 - Massive Data Indexing: 150만 개의 에셋 경로를 단 3초 만에 전수 조사하여 특정 바이너리 오프셋을 타격하는 정규식 기반의 초고속 패칭 파이프라인 구축
- Architecture Post-mortem: 윈도우와 맥 엔진 간의 데이터 직렬화(Serialization) 및 구조체 패딩(Padding) 차이로 인한
- Link: GitHub Repository 바로가기
"게임 내 가방 칸수를 확장하여 수집의 물리적 제약을 해소하는 시스템 패칭 툴"
- Status:
Production Ready(Nexus 배포 완료) - Tech: Python 3, Binary Patching & & Hex Analysis, LZ4 Calibration Engine
- Key Point:
- VFS & System Logic Analysis: .pamt 및 .paz 바이너리 구조 분석을 통해 가상 파일 시스템 맵핑 및 게임 내 인벤토리 슬롯 확장 데이터 영역 특정
- Precision Binary Patching: 게임 시스템 로직이 담긴 바이너리를 직접 수정하여 엔진 레벨의 가방 공간 제약 사항(Inventory Limit)을 돌파
- Save-Safe Integrity Engine: 바이너리 패칭 시 데이터 길이가 변해도 무결성을 유지하는 **'정밀 패딩 알고리즘'**을 설계 및 적용. 세이브 파일 보호 및 런타임 안정성 확보
- Link: Nexus 바로가기
"점프 기능이 없는 게임에 새로운 물리 법칙(Jump & Air Control)을 창조 및 주입"
- Status:
Production Ready(Steam Workshop 배포 완료) - Tech: C#, .NET Framework 4.7.7, HarmonyLib
- Key Point:
- 점프 메커니즘이 존재하지 않는 게임 엔진 내에 새로운 물리 로직을 설계 및 런타임 주입
- Infinite Jump: 공중 연속 도약 및 운동학적(Kinetic) 로직을 통한 부드러운 Air Control 구현
- 유저 편의를 위한 Z키 트리거 바인딩 및 하모니 패치 안정성 확보
- Link: Steam Workshop 바로가기
"HarmonyLib을 활용한 게임 런타임 코드 패치 및 폭풍 보호 시스템 구현"
- Status:
Production Ready(Steam Workshop 배포 완료) - Tech: C#, .NET Framework 4.7.7, HarmonyLib
- Key Point:
- 게임의 원본 코드를 손상시키지 않고 Runtime Method Hooking을 통해 로직을 제어
- Mac 환경에서 x64 아키텍처 기반의 안정적인 빌드 환경 구축
- Link: Steam Workshop 바로가기
| Project | Tech Stack | Key Point | Link |
|---|---|---|---|
| 🎙️ ITP Lipsync Merger | Python WolvenKit CLI |
사이버펑크 3인칭 모드의 영어 전용 V 립싱크를 다른 음성 언어로 병합하는 도구 | 🔗 |
| 🔄 Serverless Keepalive (Template) | GitHub Actions Python |
노트북 꺼져있어도 매일 자동 실행 - Render/Supabase Free Tier 슬립 방지 | 🔗 |
| 🎮 CrimsonDesert ModMerger | Python |
붉은사막 JSON 모드 오프셋 자동 보정 및 God Mask 호환 패치 툴 | 🔗 |
| 🗡️ Crimson Desert Font Modder (Mac) | Python Tkinter LZ4 |
LZ4 정밀 캘리브레이션으로 모든 폰트 슬롯에 커스텀 폰트를 적용하는 macOS 전용 GUI 툴 (Nexus 배포) | 🔗 |
| 💻 Dev-Connect | Next.js Supabase Realtime Tailwind CSS |
실시간 채팅·접속 상태 동기화, 뽀모도로 타이머, GitHub OAuth를 갖춘 개발자용 공유 오피스 | 🔗 |
| 🔮 AI Tarot Master | React NestJS Supabase Gemini API |
Vercel·Render 풀스택 배포 및 Gemini GA 모델 마이그레이션(v2.1.0)까지 운영 중인 AI 타로 서비스 | 🔗 |
| 🎰 WHO'S NEXT? | Next.js 15 Matter.js Zustand |
2D 물리 엔진으로 공이 섞이는 인터랙션과 Web Audio 사운드를 구현한 제비뽑기 서비스 | 🔗 |
| 🤖 Ollama Reviewer | Ollama JS |
로컬 LLM 기반 보안 중심 코드 리뷰 도구 | 🔗 |
| 🌐 Metabus Room | Vanilla JS Socket.io |
순수 JS 실시간 채팅 및 물리 로직 메타버스 | 🔗 |
| 🎬 Dead Reset Mac Patch | Python UnityPy |
바이너리 에셋 수정을 통한 맥 전용 한글화 툴셋 | 🔗 |
| ♟️ Jjanggi Online | Phaser Socket.io |
물리 엔진 기반 온라인 장기 로직 구현 | 🔗 |
JavaScript |
동영상 연속 재생 북마크릿 유틸리티 | 🔗 | |
| 📍 Travel Planner | JS Kakao API |
첫 오픈 API 연동 및 웹 서비스 도전 | 🔗 |
| 🍒 Cherry Notepad Pro | Electron JS |
Ad-hoc 서명이 적용된 데스크톱 메모 앱 | 🔗 |
| 📦 Korean Faker | Electron JS |
테스트 데이터 생성용 데스크톱 앱 (.dmg) | 🔗 |
- 오픈소스 생태계에서의 코드 리뷰 및 기여를 통해 더 나은 코드를 작성하는 법을 고민합니다.


