국성호 / 11년 1개월 · Unity 클라이언트 개발자
게임 콘텐츠에서
공용 개발 기반까지.
게임 콘텐츠를 구현하고,
여러 프로젝트가 함께 쓰는 개발 기반을 만듭니다.
경력과 프로젝트
7개 회사 · 20개 프로젝트의 담당 업무와 기술 사례입니다.
회사를 선택하면 담당 업무와 프로젝트를 볼 수 있습니다.
012023.04–2026.07 · 3년 4개월뉴노멀소프트클라이언트팀 / 사원 · 프로젝트 7개
제로게임즈에서 함께 일했던 대표의 제안으로 뉴노멀소프트 창립 멤버로 합류했고, 같은 대표와 약 6년간 협업했습니다.
공통 개발 기반
프로젝트
창세기전 키우기인게임 콘텐츠·전투 구현 전반을 단독 담당. 서버 전투, 리소스 최적화와 검증 자동화까지 개발했습니다.
인게임 콘텐츠와 동시 진행
스테이지, 일반 던전(골드·장비 등), 시간제 던전, 1:1 비동기 PvP와 리플레이 기능을 구현했습니다.
시간제 던전은 일정 시간 동안 스테이지와 유사한 방식으로 진행됩니다. 스테이지, 일반 던전, 시간제 던전이 동시에 진행되도록 구성했습니다.
전투의 서버 권위 구조 전환
서버 전투 개발자의 퇴사 이후 전투 로직 개발을 맡았습니다. 초기에는 클라이언트 전투와 서버 최소 검증 방침에 따라 TypeScript로 전투를 구현했습니다.
시연 후 보안 강화와 어뷰징 대응 요구에 따라 전투 전체를 서버 권위 구조로 전환했습니다. 기존 TypeScript 코드를 활용해 수정 범위를 최소화하며 제한된 일정 안에 전환을 완료했습니다.
클라이언트에서도 실행 가능한 공유 모듈로 작성했지만 실제 서비스의 전투 로직은 서버에서만 사용했습니다.
초기 구현 이후에는 AI Agent를 활용해 추가 구현·변경·버그 수정을 진행했습니다.
동시 진행 모드의 리소스 최적화
초기에는 일정과 구현 난이도를 고려해 모드별 오브젝트를 모두 생성하고 현재 모드에 따라 노출만 제어했습니다. 보이지 않는 오브젝트도 리소스를 점유하는 문제가 있었습니다.
공유 리소스와 모드별 리소스를 분리하고 보이지 않는 오브젝트 리소스를 해제하도록 변경했습니다. 모드별 로드·언로드 범위를 조정해 로딩 시간과 메모리 사용량을 줄였습니다.
모드별 비동기 로드·언로드 안정화
스테이지·던전 종료 패킷 처리와 로드 완료 간 순서 문제로 캐릭터 미표시와 애니메이션 오류가 발생했습니다.
로드 완료 시 현재 요청 버전인지 확인하고, 버전이 다른 결과는 적용하지 않도록 처리했습니다.
간헐적 오류를 일주일 동안 매일 수정하고 수정 내용을 확인할 테스트를 실행해 둔 채 퇴근했습니다. 수정과 검증을 반복한 뒤 다음 업데이트에 반영했습니다.
전투 플레이 로그의 전송 크기 개선
서버 전투 로그를 클라이언트가 재생하는 구조에서 서버 측 초당 데이터 전송량이 문제가 됐습니다.
MessagePack의 키 기반 표현을 인덱스 기반 표현으로 변경했습니다. 이동 좌표는 실수 값에 100을 곱해 정수화하고, x·y를 비트 연산으로 하나의 값에 결합했습니다. 복원 시 100으로 나누어 사용했습니다.
로그의 필드 표현과 이동 좌표의 데이터 표현을 함께 조정했습니다.
비업무 시간 전투 검증 자동화
Claude와 Codex를 활용해 테스트 코드를 생성했습니다. 전투 관련 엑셀 데이터, 스킬 효과와 PvP 결과를 검증했습니다.
매일 비업무 시간에 스테이지·던전·PvP 테스트 전투가 자동 실행되도록 구성했습니다.
Timeline 연출과 전투 이펙트 연결
라인게임즈에서 전달받은 Timeline 구성의 연출 리소스를 확인하고 전투 이펙트 관련 이벤트를 바인딩했습니다. 아트팀과 협업하며 연출 리소스를 게임에 연결했습니다.
Project TJ두 플레이어가 각각 최대 100개 유닛을 소환해 방어하는 인게임 콘텐츠를 구현했습니다.
담당과 프로젝트 상태
내부 평가 결과에 따라 프로젝트를 중단했습니다.
카오스 디펜스 머지그만 쫌 쳐들어와의 인게임 플레이 방식을 변경한 게임에서 인게임 외 모든 콘텐츠와 이벤트를 구현했습니다.
구현한 콘텐츠
도감, 아티팩트, 영웅 관리, 프로필, 패스, 퀘스트, 임무, 로비, 친구, 튜토리얼과 각종 이벤트를 개발했습니다.
그만 쫌 쳐들어와인게임을 제외한 모든 콘텐츠와 이벤트를 구현하고 장시간 플레이 성능 저하를 개선했습니다.
콘텐츠와 이벤트
도감, 유물, 마족 관리, 프로필, 패스, 퀘스트, 임무, 로비, 친구 및 각종 이벤트를 개발했습니다.
델리게이트 누적과 참조 생명주기
플레이 시간이 길어질수록 전투가 느려지는 현상을 Memory Profiler와 로그로 추적했습니다.
C#에 바인딩한 델리게이트가 누적됐고, C#과 스크립트 엔진 사이의 상호 참조로 메모리가 해제되지 않았습니다.
델리게이트 해제 처리를 수정하고 런타임 사이의 참조 수명을 정리해 메모리 미해제 문제와 시간 경과에 따른 전투 성능 저하를 수정했습니다.
픽셀팜클릭으로 골드를 파밍하는 클리커 게임을 개발했습니다.
개발과 서비스
Phaser로 텔레그램에서 실행하는 웹게임을 구현했고 수십만 명의 사용자를 확보했습니다.
ICO 이후 파밍한 골드를 코인으로 배포할 계획이었으나 다른 프로젝트 진행으로 서비스를 중단했습니다.
Tempest: Tower of Probatio마블스냅을 벤치마크한 CCG에서 인게임 서버 동기화와 연출 로직 연결을 구현했습니다.
개발 단계
2023.04–2023.11 지스타 버전을 개발했습니다. 2023.11–2024.02 지스타 이후 출시까지 개발에 참여했습니다.
022020.05–2023.03 · 2년 11개월제로게임즈클라이언트팀 / 사원 · 프로젝트 4개
C# 공통 개발 기반을 구축하고 하드코딩 중심 구조를 프레임워크로 전환했습니다. UI와 리소스 관리 등 반복해서 필요한 기능을 공통 구조로 정리했습니다.
Project BSL부대 명령과 UI, 대량 부대의 데이터·애니메이션·이동, 건축과 기반 시스템을 개발했습니다.
부대 명령과 데이터 관리
이동, 점령, 수비, 주둔 등의 부대 명령 시스템과 UI를 구현했습니다.
부대 수가 늘면서 GameObject 기반 관리 비용이 문제가 됐습니다. 부대 관리를 순수 C# 로직으로 바꾸고 직접 구현한 SparseSet으로 데이터를 관리했습니다.
컬링을 적용해 화면에 보이는 부대만 GameObject로 표현했습니다. 전체 부대 데이터 관리와 화면 표현을 분리했습니다.
대량 애니메이션과 이동 연산
대량 Animator 동시 실행 부하에 대응해 시간에 맞춰 스프라이트를 교체하는 커스텀 애니메이터를 구현했습니다.
대량 부대 이동 연산에 Burst Compiler와 Job System을 적용했습니다. 당시 ECS 도입 여건을 고려해 DOTS의 일부 기능인 Burst와 Job System만 활용했습니다.
함께 담당한 시스템과 상태
건물 건축, 기획 데이터·이벤트 이미지·Addressables 패치 시스템, 리소스·사운드 관리 시스템을 개발했습니다.
튜토리얼용 가상 전투를 구현했습니다. 회사 폐업으로 출시 전 프로젝트를 중단했습니다.
Project NAAUI·리소스 관리 프레임워크와 TypeScript 전투 로직, Spine 전투 연출을 개발했습니다.
구현과 진행 상태
PuerTS를 활용해 TypeScript로 전투 로직을 작성했습니다. Spine으로 전투 애니메이션과 이펙트 연출을 구현했습니다.
프로토타입 개발 후 내부 사정으로 다른 프로젝트를 지원하며 일정이 연기됐고, 이후 프로젝트를 중단했습니다.
이카루스 이터널튜토리얼·컷씬 시스템과 유적 보스 전투 시스템을 개발했습니다.
제작 도구와 전투
NodeCanvas로 비개발자도 튜토리얼을 제작할 수 있는 시스템을 개발했습니다.
컷씬 시스템과 컷씬 매니저를 구현했습니다. 유적 보스 전투 시스템과 Behavior Tree 기반 보스 AI를 개발했습니다.
기타 버그 수정과 출시 준비를 담당했습니다.
032019.04–2020.02 · 11개월몬스터엠소프트개발3팀 / 과장 · 프로젝트 2개
Wixoss 대표가 몬스터엠소프트를 창업할 때 영입 제안을 받았습니다.
프로젝트 GL메뉴와 인게임이 함께 보이는 화면과 싱글 플레이 카드 게임을 구현했습니다.
구현과 진행 상태
4분할 화면의 확대·축소로 메뉴와 인게임이 동시에 보이도록 구현했습니다.
네트워크 연동 없는 싱글 플레이 바카라·블랙잭과 아웃게임 UI를 구현했습니다. 내부 사정으로 무기한 연기됐습니다.
프로젝트 SK기본 이동·공격과 게임 규칙, 시연용 AI, 프로토타입 아웃게임 UI를 구현했습니다.
이동·전투·UI
좌우 이동, 점프, 대시, 매달리기, 블록 아래로 내려가기 등 기본 이동과 기본·스킬 공격을 구현했습니다. 시간 제한·게임 오버 규칙과 시연용 AI를 개발했습니다.
프로토타입용 아웃게임 UI 이동 이벤트와 세부 페이지 일부를 구현했습니다. 서버 연동 작업 중 내부 사정으로 프로토타입 단계에서 팀이 해체됐습니다.
공통 개발 기반
템플릿(데이터) 툴, 리소스 매니저, 내부 클래스 기반 씬 매니저, 게임 데이터 매니저와 UI 매니저를 개발했습니다.
042017.06–2019.02 · 1년 9개월오르투스게임즈퀘스트팀 / 대리 · 프로젝트 1개
데빌크래셔 Devil Crasher컷씬 시스템을 주 담당으로 개발하고 퀘스트와 다양한 콘텐츠 구현에 참여했습니다.
컷씬과 아트팀 협업
타이틀 컷씬을 제작하고 대화형 액션 다이얼로그를 컷씬 기반으로 전환했으며 가챠 연출에도 컷씬을 적용했습니다.
컷씬 관리 및 퀘스트 연동 기능, 컷씬 커스텀 트랙을 구현했습니다. 아트팀(애니메이션·모델)의 협업용 툴 제작 지원과 컷씬 관련 기술 지원을 담당했습니다.
퀘스트와 성장 콘텐츠
퀘스트 서브 프로그래머로 버그 대응, 스토리 추가·변경에 따른 퀘스트 완료 기능 구현·수정, 마을 퀘스트 구현을 담당했습니다.
운명(영웅) 퀘스트는 영웅별 스토리와 전투 완료 후 버프·보상을 제공하도록 구현했습니다. 인연 시스템은 수집한 특정 영웅 등급에 따라 버프 개수·효율을 적용했습니다.
UI와 모험 일지
백버튼, 사람찾기(영웅 수집), 진형(덱 설정·종류별 버프 설정·버프 업그레이드), 영웅 도감(보유 여부에 따른 정보 표시), 가방(아이템 정보)을 구현했습니다.
모험 일지를 구현해 진행한 스토리 퀘스트의 전투, 액션 다이얼로그와 컷씬을 다시 볼 수 있도록 구성했습니다.
052016.04–2017.05 · 1년 2개월Wixoss개발 / 대리 · 프로젝트 3개
기획자의 반복적인 몬스터·레벨 데이터 설정을 돕는 도구를 제작했습니다.
FileZilla FTP 서버를 구축·관리했습니다. VirtualBox의 Ubuntu Server 14 환경에 Jira·Confluence 서버를 구축·관리했습니다.
영웅의 후예기존 게임·데이터 툴 소스를 분석해 리소스와 UI를 교체하고 신규 콘텐츠를 추가했습니다.
개발과 출시 후 운영
천하제일 용병단의 게임·데이터 툴 소스를 분석했습니다.
출시 후 유지보수와 업데이트 이벤트·콘텐츠 개발을 담당했습니다. Android SDK·플러그인을 추가 개발하고 업데이트했습니다.
Project-M트래킹 장비 설정부터 VR 전투와 멀티플레이, UI·연출·환경 설정까지 담당했습니다.
장비와 공간 제어
Opti Track·Oculus·Gun Controller 구성의 트래킹 장비를 설정했습니다. 플레이 동선을 방 내부로 제한하고 경계 이탈 시 방에 맞는 그리드를 게임에 표시했습니다.
게임 구현
기존 FPS 총 구현을 VR에 맞게 변경했습니다. NavMesh, 라이트맵·라이트 프로브를 설정하고 이펙트·사운드·몬스터 레이더·튜토리얼을 구현했습니다.
NGUI UI, Cinema Director 컷씬과 Unity Network 멀티플레이 FPS를 구현했습니다.
RunVR베지어 곡선 기반 플레이어 이동과 게임 기반 매니저를 구현했습니다.
구현 범위
UI·Sound·Game·GamePlay 매니저와 uGUI UI를 구현했습니다. 라이트맵·라이트 프로브를 설정했습니다.
062016.01–2016.02 · 2개월넷마블에스티애니메이션2팀 / 사원 · 프로젝트 1개
072015.02–2015.11 · 10개월스튜디오캔지개발팀 / 사원 · 프로젝트 2개
SudogkuAndroid SDK 개발·연동과 다국가 로컬라이징, 서비스별 SDK 대응을 담당했습니다.
플랫폼과 지역 대응
스페인·포르투갈·중국 로컬라이징과 FileJo(한국)·XPlay(남미) SDK 대응을 진행했습니다.
보유 기술
직접 사용해본 언어, 엔진, 라이브러리와 에셋입니다.
프로그래밍 언어
사용 빈도 순
- C#
- TypeScript / JavaScript
- Java
- C/C++
- Go
게임 엔진
라이브러리와 제작 도구
오픈소스
소개와 이력
일하는 방식
새로운 팀의 개발 구조와 협업 방식을 먼저 이해하고 프로젝트에 필요한 역할을 맡겠습니다.
동료의 작업 흐름에서 반복되는 일을 살피고, 실제 개발에 쓰이는 도구로 개선하는 데 관심이 있습니다. 필요한 기능을 완성하는 것과 함께 동료의 작업을 편하게 만드는 것도 팀에 기여하는 방법이라고 생각합니다.
콘텐츠와 전투 개발, 공통 기반 구축, 작업 자동화 경험을 바탕으로 게임의 완성과 출시까지 책임 있게 참여하겠습니다.
기본 정보
- 이름
- 국성호
- 기본정보
- 1985년생 · 남성
- 총 경력
- 11년 1개월
- 주소
- 서울 은평구 역말로6길 11 (역촌동)
- 관련 링크
- sungho.super.site ↗
지원 분야와 희망 근무조건
- 지원 분야
- 게임개발(클라이언트) · 게임개발(모바일) · 게임AI 개발
- 고용 형태
- 정규직
- 희망 근무지
- 서울 전 지역 · 경기 성남시 분당구
- 게임 분야
- 모바일게임 / RPG · Casual · SNG · Simulation · 기타
학력과 교육
학력
- 2004.02–2010.02
- 경민대학 · 정보통신
졸업 · 4.1 / 4.5 - 2001–2004
- 충암고등학교
졸업
교육 이수
- 2014.08–2015.01
- KITRI
3D 콘텐츠 - 2014.02–2014.07
- ITWILL
Android 게임 개발자 과정 - 2010.07–2010.11
- ITWILL
Java 개발자 과정
어학 · 해외 경험 · 병역
- 어학
- 영어 · 간단한 대화 가능 · 하
- 해외 경험
- 2009.08–2009.12 · 호주 Dicker Data 내 Config Centre 인턴십. 어학원 1개월 및 근무 3개월.
- 병역
- 2006.01–2008.01 · 육군 병장 제대 · 군필