미리보기
기본 정보

새롭고 재미있는 게임을 만드는 개발자 이윤상 입니다.
기술 스택
TypeScript, Unity, Express, C#, JavaScript, OpenGL, DirectX, Git, GitHub, github-actions, Jenkins, JIRA, C++, Confluence
경력
(주)이스트게임즈
사원 | MM팀 | 재직 중
2023.05. ~ 재직 중 (1년 10개월)
고양이다방2
플레이 스토어 링크: https://play.google.com/store/apps/details?id=com.estgames.mm.tunaforest&pcampaignid=web_share
앱 스토어 링크: https://apps.apple.com/kr/app/%EA%B3%A0%EC%96%91%EC%9D%B4%EB%8B%A4%EB%B0%A92-%ED%8F%AC%EB%A0%88%EC%8A%A4%ED%8A%B8/id1497268875
수습 기간동안 주어진 라이브 서비스에 들어갈 미니게임을 작업하는 동시에,
게임에 최적화할 요소가 보여, 먼저 팀장님께 건의드리고 작업을 진행하였습니다.
- 에셋번들의 종속성 세팅 x -> 종속성 관리 추가와 타 작업자 분들과의 협업 및 가이드라인 제공 (기존 사이즈 660mb -> 110mb 34% 감소)
- screen effect 사용 메모리량 개선 -> 해상도 감소 및 쉐이더 계산 간략화 (80mb -> 20mb)
- 기존 Visual Basic 으로 된 csv -> json 파서 수정 및 개선
- 개발문화 정착 건의 및 도입
- git branch 전략 (github model)
- PR 없이 배포 브랜치에 커밋 안 되도록 처리
- 기록 및 문서화 시스템의 부재로 confluence 문서 구성 및 안내
- 게임 내 미니게임 개발 및 버그 트러블 슈팅
신규 프로젝트
수습 기간 종료 3개월 이후, 기존 프로젝트
기존에 클라이언트 개발자 3명, 서버 개발자 1명 구성으로 되어 있는 체제에 실시간 멀티플레이이 게임으로 신규 프로젝트의 가닥이 잡힐때쯤 빠른 진행이 필요하겠다고 판단하여, 유동적으로 클라이언트-서버 작업 및 지원을 하기 위해, 서버개발자로의 전직을 요청드렸고, 잘되어 비동기 서버 작업을 주로하게 되었습니다.
- NHN GameBase SDK Unity 셋업
- 인증, 광고
- 기존 node(express.js), visual studio, commonJS 환경의 레거시를 개선.
- typescript 적용
- mvc 프로젝트 구조 설정 및 InversifyJS (IOC) 적용하여 유지보수를 초점으로 설계.
- visual studio -> npm 중심의 환경 구성으로 DX 증진.
- stateful 서버 작업도 조금씩 진행하게 되어, 로직 설계 및 C# 레거시 코드를 개선하게 되었습니다.
- packet generator 작성 (unsafe C++)
- client-server 모델 적용하여 컨텐츠 구현
- dummy client 테스트용 클라이언트 개발
- electron.js, typescript, tailiwindcss, daisyUI 사용
- winform 보다 쉬운 개발을 위해 electron.js 을 사용하여 개발하였습니다.
주식회사라이프페스타
인턴 | -
2022.11. ~ 2023.05. (7개월)
이전 프리랜서로 메타버스 산업군에 관심을 가지고있어서, 유니티를 활용한 NFT + 소셜 + 만보기 앱을 작업하게 되었습니다.
먼저 사내에서 진행중이던 외주 프로젝트에서 UI 작업을 주로하였습니다.
Drun
플레이 스토어 링크: https://play.google.com/store/apps/details?id=io.drun.app&pcampaignid=web_share
앱 스토어 링크: https://apps.apple.com/kr/app/runner-x/id1660721425
- MVVM 프레임워크 환경에서 개발
- UI/UX 디자이너 와 협업 (Figma 활용)
- UGUI 이용하여 반응형 UI 구현
- Keyframe, DOTween 으로 UI Animation 구현
- FB SDK 연결 (Objective-C, Java)
- 이모티콘 동적 생성 기능 개발 (TMPro Sprite 추가없는 이모티콘 사용을 위한 동적 생성, Objective-C, Java)
- 스크린샷 crop 기능 개발
사업의 종료 이후 회사 프로덕트인 액티블리에 작업하였습니다. UI 를 위주로 작업했습니다.
Actively
지도 기반 위치추적 + 라이프스타일 앱입니다.
플레이 스토어 링크: https://play.google.com/store/apps/details?id=com.lifefesta.actively&pcampaignid=web_share
- Mapbox 활용 지도상의 건물 로직 구현
- 지도상의 전장의 안개 글리치 수정 (stencil)
- 인스타그램의 피드 형태의 UI 구현
- 사운드 기능 구현
KTds
프리랜서
2021.07. ~ 2022.09. (1년 3개월)
교육 플랫폼 Etoos 프로젝트에 투입되어
유니티 클라이언트 프로그래머로 메타버스 플랫폼 작업을 주로 하였습니다.
Elifun
홍보영상: https://youtu.be/awwmCZNsavI?si=keh07W2e04EIWkOW&t=49
- 반응형 UGUI UI 작업
- 아바타 시스템 (옷입히기), 상점
- 세션 단위 멀티플레이 구현 (Photon Bolt)
- 외부 업체(아트 에셋) 관리 및 연락.
- Restful API 구현
- 사용할 API 직접 구현 및 DB 데이터 서빙 (MySQL)
- ASP.NET Core
내부 메타버스 솔루션 작업
- 다중 씬 환경 구성으로 변경 (작업자간 씬 충돌 방지 및 개념적인 분리로 유지보수 초점)
- UniTask 로 비동기 개발 변경
- 기존 Coroutine 이 가진 한계점을 개선 (try-catch, Garbage, 가독성)
- Addressable Assets 적용
- MVP UI 패턴 기반 개발
프로젝트
단비
서강대학교 영상대학원 학사연구원
2019.12. ~ 2022.06.
반사경과 벽에 빛의 반사의 원리를 응용한 레이 트레이서를 직접 구현하고, 소프트웨어 쪽의 전시 리소스 제작과 실제 전시를 통합하는 시뮬레이터.
논문 게시링크: https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE10402813
시연영상: https://www.youtube.com/watch?v=PD8_OHyeJ2k
- 실제 전시 용으로 제작된 반사체, 투사체, 영사기의 물리적 스펙을 구현
- 레이 트레이서 를 이용한 3d 공간상의 고정 물체로 부터 무게 중심 좌표계 까지 공간 변환 및 공간 맵핑 유도 및 결과를 Image, Panorama Image, Video, Panorama Video 로 변환하여 저장
- 저장된 리소스를 실제 영사기(프로젝터) 투사 시 정확한 결과를 위해 DSLR 카메라 파라미터 보정
- Kinect V2 를 이용하여 동작 인식을 통한 인터렉션 구현
- Open CV 로 카메라 왜곡 보정, 수차 보정, 비디오 편집
- .obj parser 구현
Madness Rally
서강대학교 게임교육원
2018.03. ~ 2018.12.
Dead by daylight + 어몽어스 같은 1인칭 게임
시연영상: https://youtu.be/519LTacoyKY?si=SLwMOO-alFUSYZzP&t=4
창의인재지원사업 참가팀으로
12명 팀에서 클라이언트 개발자로 작업했습니다
unity3d
배경 프랍들을 전량 상용에셋에 의존하여 터칭없이 draw call, filterate 이슈가 있어 최적화에 집중하였습니다
- simplygon 으로 작업자없이 빠른 LOD 모델 생성
- Imposter LOD 로 원거리 물체 최적화
- Occulusion Culling 컨픽을 조정하여 메모리 사용량 절감
- Gestner Wave 쉐이더 구현
- SSS 쉐이더 구현으로 괴물 모델 피부질감 표현
- 서버 개발자 협업하여 멀티플레이 게임 개발
- 라이팅 베이킹 시간 절약 및 생산성 증진을 위해 컨픽 조정
Last Piece
서강대학교 게임교육원
2019.12. ~ 2020.04.
보스 사냥을 컨셉으로 구성했던 FPS 어드벤쳐 게임입니다.
Unreal Engine 4 로 구현했습니다.
UE4 공부 목적으로 c++, blueprint 섞어서 사용하였습니다.
Wandering Knights
서강대학교 게임교육원
2017.12. ~ 2018.04.
4인 포메이션 핵앤 슬래시 게임입니다.
시연영상: https://youtu.be/gpE37MVH_fU?si=ofw6UlVkzrg-_hqA
게임 AI 쪽을 공부하고자
GOAP (Goal Oriented Action Planning) + FSM 을 섞어 유닛, 보스 패턴을 구현하였습니다. (Fear AI Article 분석)
- 로우폴에 노력대비 퀄리티를 높이기 위해 HDRP 적용
- 컴포넌트간 디커플링을 위해서 Pub-Sub 패턴으로 메시징 시스템 구현
Arch Viz
서강대학교 게임교육원
카메라워크 영상1: https://www.youtube.com/watch?v=eDqeXsXVFYI
카메라워크 영상2: https://www.youtube.com/watch?v=9zfAOLrEoko
아티스트 친구와 함께 새로운 시도를 해보고자 가구 전시 프로젝트를 진행하게 되었습니다.
- 모델링된 가구 배치 확인 후 렌더링 퀄리티 설정
- 유니티 타임라인을 이용한 카메라 워크
WReader
외주
유저 참여형 e-book reader 앱입니다.
취준기간에 지인을 통해 받은 외주 작업입니다.
React Native 로 크로스플랫폼 앱 개발하였고, Android 만 출시되었습니다.
플레이 스토어링크: https://play.google.com/store/apps/details?id=com.wreader.wreader_resource&hl=en&gl=US
- zeplin 이용 디자이너와 협업
- 재귀적 렌더링으로 grid 구조의 json 데이터 서빙
- formik -> form validation
- react native
- redux 으로 상태관리
포트폴리오
교육
서강대학교게임교육원
대학교(학사) | 게임소프트웨어개발
2014.01. ~ 현재 | 재학 중
대외활동
NDM 넥슨 대학생 공모전 1위 (Animal Escape)
서강대학교 게임교육원
학교 친구들과 함께 재미있는 게임을 만듬을 목적으로
스타크래프트의 유즈맵 "혈압마라톤" 같은 게임을 만들었습니다.
넥슨 대학생 공모전에서 1위를 수상하였습니다.
Unity C#
자격증
정보처리산업기사
2019.05.
외국어
프랑스어
일상 회화 가능
영어
비즈니스 회화 가능
자기소개
중학교떄부터 패키지 게임에 감동하여 게임개발자가 되기로 하였습니다.
재미있는 게임을 만들고 싶어 직접 게임을 만들며 공부를 할 수 있는 서강대학교 게임교육원에 진학하여 유니티와 그래픽스 프로그래밍 위주로 공부를 하였습니다. 교내 프로젝트를 진행하며 최소 도전적으로 적용이 가능할만한 기술들을 1개는 포함하려고 노력하였으며, 게임 클라이언트 개발자로서 그래픽스 지식도 중요하다 생각하여 조금씩 공부를 해왔습니다. 중간에 다른 개발도 해보고 싶어 1년간 휴학하며 웹 프로그래밍에 대해서 공부하고, 메타버스 산업군에 관심이 생겨 회사생활을 이어가다가 다시 게임 개발에 집중하게 되었습니다.
저는 "결과가 좋으면 돌아보니 과정도 즐겁게 기억할 수 있다" 라는 말이 정말 공감이 많이 됩니다.
어떠한 일이든 맺음이 있어야하고, 성과도 좋아야 게임을 더 재미있게 만들수 있기 떄문에, 이를 위해서는 게임 개발자들간의 의사소통 그리고 창의적인 아이디어, 힘있는 진행, 의사소통이 수반되어야 하고. 저는 클라이언트 개발자로서 구성원의 몫을 충분히 할 수 있다고 생각합니다.