- Email: rladyddnrl a-t gmail . com
- Github: 2wind
기술
유니티3D 엔진과 C#을 이용해 게임을 제작하고 있습니다. C#과 유니티3D를 다룰 수 있으며 이를 이용해 인게임 로직, 캐릭터 전투, 전투 중 캐릭터가 가지는 여러 속성 등을 구현할 수 있습니다. 유니티 에디터를 확장하여 여러 직군이 활용하는 게임 툴, 데이터 검증기 등을 제작할 수 있습니다. 형상관리 도구(Git)를 사용하여 별도의 브랜치에서 작업하고 추후 Peer review를 거쳐 머지하는 등 파트 내 / 파트간 협업 경험이 있습니다. 유닛 테스트, 게임 전투 데이터 덤프 등을 활용하여 실수를 줄이고, 혹시 모를 오류를 미리 검출하고자 노력합니다. 게임 제작의 다양한 단계에서 활발하게 의견을 내고 소통하며 최적의 결과물을 내기 위해 팀원과 소통합니다.
경험(경력)
데브시스터즈 쿠키런 킹덤 클라이언트 프로그래머 - 2022년 7월 ~ 현재
- 데브시스터즈
- 2022년 7월 18일부터 (주)데브시스터즈의 산하 회사인(주)스튜디오킹덤에서 쿠키런: 킹덤 프로젝트의 클라이언트 프로그래머로 근무하고 있습니다.
- 쿠키런: 킹덤은 나만의 왕국을 디자인하고 가꿔 나가면서, 쿠키런 IP에 등장하는 다양한 쿠키들을 수집하고 성장시켜 쿼터뷰 환경에서 PvE / 비대칭 PvP 플레이를 즐길 수 있는 수집형 RPG / SLG 게임입니다.
- 쿠키런: 킹덤의 핵심 콘텐츠인 “쿠키” 를 기획자와 함께 제작하고, 필요한 신기능을 제작하고 있습니다. 새로운 콘텐츠에 필요한 제반 기능들을 제작하면서 다양한 파트의 게임 개발자들과 협업하고 있습니다. 복잡한 로직이나 독특한 신기능을 팀의 의도에 맞춰 구현하면서, 새로운 경험을 플레이어들에게 제공하고자 합니다.
- 쿠키런: 킹덤을 개발하면서 필요한 인하우스 툴들을 제작하고, 동료 개발자들의 업무 효율성을 높입니다. 플레이어들이 체험하는 게임만큼이나 중요한 것이 개발 환경이라고 생각하며, 주위 동료들의 의견을 경청하여 업무 환경을 개선하기 위해 노력하고 있습니다.
엔씨소프트 2022 동계 산학협력 인턴십 - 2022년 1월 ~ 2월
- 엔씨소프트
- 2022년 1월 10일에서 2월 25일까지, 엔씨소프트 R&D센터 Vision AI Lab에서 산학협력 인턴으로 근무했습니다.
- “Unity 엔진 기반 배경 데이터셋 구축” 이라는 주제로 인턴십 과제를 수행했습니다.
- 오픈 소스 드론 시뮬레이션 라이브러리인 AirSim을 이용하여 과제를 진행하였습니다. 그 과정에서 유니티 엔진 백엔드의 기능을 언리얼 엔진과 동등한 수준으로 개선하였으며, AirSim 라이브러리를 이용해 캡쳐를 원활하게 할 수 있는 파이썬 기반 프로그램을 제작하였습니다.
- 유니티 Built-in 렌더러의 특성 및 데이터셋 정보 수집을 위해 이용되는 Replacement Shader의 작동 방식을 분석하였습니다. 유니티 셰이더(ShaderLab, HLSL) 문법을 이해하고, 이를 유니티 엔진 백엔드 기능 구현 및 각종 버그 수정, 개선에 활용하였습니다.
- 유니티 엔진에서 구현된 장면별 특성을 이해하고 분석하여, 각 Scene을 데이터셋 수집에 최적화하는 과정을 거쳤습니다.
- 해당 과제 결과 언리얼 엔진에서만이 아니라 유니티 엔진으로 제작된 장면에서도 고품질의 인공 풍경 데이터셋을 수집할 수 있게 되었습니다. 해당 데이터셋에는 실제 데이터셋으로는 수집이 어려운 Pixel-perfect depth, segmentation data가 포함되어 있어 Image Synthesis 등에 유용하게 활용 가능할 것으로 예상합니다.
- 해당 인턴십의 작업물을 컴퓨터공학부 졸업논문 대체 인턴보고서로 활용하여 제출하였습니다.
군입대(공군 병 만기전역) - 2018년 10월 ~ 2020년 8월
- ROKAF
- 2018년 후반기에 군입대를 하여, 2020년 8월 21일 전역했습니다. 정보통신대대에서 정보보호 체계를 관제하면서 사무자동화에 대해 관심을 가지게 되었습니다. 또한 자세한 내용은 밝힐 수 없으나 파이썬과 자바스크립트의 범용성 및 유용성을 체감하게 되었습니다. 회사의 분위기가 노동의 강도와 사기에 중요한 역할을 한다는 것도 깨달았습니다.
- Python(2|3) 및 HTML/JS/CSS를 활용해 주업무의 효율성을 높였습니다.
서울대학교 게임개발동아리 SNUGDC 입회 - 2014년 3월 ~ 2022년 8월(졸업)
- SNUGDC
- 게임 개발에 대해 평소에 관심을 가지고 있었고, 다른 회원들과 협업 작업을 통해 게임을 비평하고 직접 만들어보고자 서울대학교 게임개발동아리인 SNUGDC에 입회하여 현재까지 활동중입니다.
- 게임을 여러 각도에서 비평해보거나, 새로운 게임에 대한 아이디어를 발표하거나, 직접 다른 회원들과 같이 게임을 제작해보았습니다.
- 넥슨, 라인플러스, 데브시스터즈 등에서 진행했던/진행중인 동아리 후원 프로그램에 참여하여 다른 동아리와 교류하고 게임업계에 종사하는 현업 개발자로부터 멘토링을 받기도 했습니다.
- 주로 유니티3D와 C#을 활용해 게임을 제작했습니다.
프로젝트
프로젝트 (정규직 근무 이전)
컴퓨터그래픽스 HW 5, GPU 가속 레이트레이싱 렌더링 - 2021년 2학기(9월 ~ 12월 초)
- 컴퓨터그래픽스 최종 과제
컴퓨터그래픽스 과목의 최종 과제로, “복잡한 사물들이 존재하는 배경을 레이트레이싱하기"를 구현했습니다.
- C++과 GLSL, OpenGL 4.6을 이용하여 일반적인 Phong shading과 레이트레이싱을 모두 구현했습니다.
- 평면, 구 등의 Primitive shape, 스플라인을 이용해 정의되는 Swept Surface Polygon, .OBJ 파일들로 이루어진, 20만 폴리곤 정도의 복잡한 장면을 렌더링합니다.
- 마우스와 키보드를 이용해 자유롭게 장면 내부를 이동하고, 오브젝트를 회전하는 카메라를 구현하였습니다.
- FoV 조정 및 와이어프레임 렌더링, 반투명 오브젝트 렌더링 등도 지원합니다.
- Swept Surface 및 .OBJ 파일 파서를 직접 구현하였으며, 스플라인 테셀레이션을 위해 테셀레이션 셰이더를 이용합니다.
- 레이트레이싱은 컴퓨트 셰이더를 이용하며, 다단계 재귀적 레이트레이싱 및 텍스쳐, Soft Shadow를 지원합니다.
- 800x600의 화면에 대해 타일드 렌더링을 적용하여 hang이 되는 것을 방지합니다.
- AABB를 이용한 기본적인 최적화를 적용하였습니다.
- UBO / SSBO 등의 자료구조를 이용해 폴리곤의 데이터를 저장하고, 호출 “스택"을 구현하여 재귀적 레이트레이싱을 구현했습니다.
- GPU에서 연산하기 때문에 수십만 폴리곤 장면도 (수십 분 이상이 소요되는 CPU 연산 대비) 수십 초 정도면 렌더링이 완료됩니다.
- 렌더링한 프레임버퍼에 대해 FXAA를 적용할 수 있습니다.
GridUnlocker, 레이저를 맞추는 간단한 VR 퍼즐 게임 - 2021년 1월 ~ 8월
GridUnlocker는 레이저를 적절하게 한쪽 끝에서 다른 쪽에 있는 목표까지 인도하는 게임입니다. 한 쪽에서 쏘아진 레이저는 중간에 여러 판들에 의해 가로막히는데, 특정한 방식으로 판을 배열해서 반대쪽에 놓인 목표까지 레이저를 쏘아 보내야 합니다. 이 게임은 제가 처음 만들어보는 VR 게임이자 혼자 만들어보는 게임으로써, 이동과 팔 휘두르기 없이 정적인 분위기에서 퍼즐을 풀 수 있도록 기획되었습니다. (의도적으로 게임의 스코프를 제한했습니다) 이 게임이 어떤 게임인지 자세히 알아보려면 이전 글{:target="_blank”}을 참조하시기 바랍니다.
VR 게임을 처음부터 기획하고 만들어보면서, 기획 / 프로그래밍 / 아트 분야의 작업을 직접 체험할 수 있었습니다. VR이라는 생소한 플랫폼과 조작 방식을 익힐 수 있었고, VR 공간에서 적절한 UI와 조작 방식을 시험해볼 수 있었습니다. 또한 Unity3D에서 제공하는 오브젝트 조작 코드만으로는 만족스럽게 게임을 구현할 수 없어서 해당 부분을 직접 만들어 보았습니다.
개발 과정에서의 좌충우돌 과정은 블로그 게시글 12들을 참조 바랍니다.
클러스터노이드, 수많은 주인공 캐릭터를 조종하는 탑 뷰 슈터 - 2017년 겨울
클러스터노이드는 수많은 플레이어 캐릭터를 한 번에 조종하면서 적들을 무찌르는 탑뷰 슈터 게임입니다. Unity3D 엔진과 C# 언어를 이용했습니다. 휴학 기간에 갈고 닦은 프로그래밍 실력을 활용해보기 위해 메인 프로그래머 중 한 명으로 참여했습니다. 플레이어 캐릭터들의 유기체와 같은 작동 방식, UI, 적 인공지능, 맵 구성 및 실제 구현 테스트를 담당했습니다. NDM 및 데브시스터즈 동아리 후원에 참여하여 높은 평가를 받았습니다.
던전 엔지니어, 물건의 속성을 조합하는 모바일 로그라이크 - 2015년 여름
던전 엔지니어는 고전적 로그라이크를 지향하는 턴제 모바일 게임으로, 맵 상에 등장하는 아이템들의 다양한 “태그"를 이용해 다양한 물건을 제작하면서 던전을 돌파하는 게임입니다. 프로그래머로 참여했으며 아이템 구현 및 태그 시스템을 이용한 합성을 구현하였고 UI 제작에도 일부 참여했습니다. (위에 보이는)홍보 영상도 더빙했습니다. 처음으로 제대로 된 게임 엔진과 형상관리를 사용했던 게임으로, 매일같이 동아리방에 출근해 게임을 제작했던 추억이 생각납니다.
교육
서울대학교 농업생명과학대학 산림과학부 환경재료과학과, 공과대학 컴퓨터공학부 컴퓨터공학과에 복수전공하였습니다.
서울대학교 졸업 - 2022년 8월
- 서울대학교에서 산림과학부 환경재료과학과(농학사), 컴퓨터공학부 컴퓨터공학과(공학사) 학사 학위를 받았습니다.
- 2022년 졸업년도 기준, 학점 평균 3.44점입니다.
서울대학교 컴퓨터공학부 복수전공 신청 - 2015년 9월
- 컴퓨터공학에 대해 관심을 가지게 되어, 2학년 2학기에 컴퓨터공학부에 복수전공을 신청하였습니다.
서울대학교 입학 - 2014년 3월
- 2014년 3월 서울대학교 농업생명과학대학 산림과학부에 합격하였습니다.
관심 분야 및 기타 참고 사항
- 정보처리산업기사 및 정보기기운용기능사를 취득했습니다.
- 직접 DIY 하는 것도 좋아합니다. 그래서인지 프로그래밍도 좋아합니다.
- 클라이언트(개인 노트북 및 데스크탑) 및 서버(Raspberry pi)에서 리눅스 사용 경험이 있습니다.