미리보기
- 직업
- 게임 클라이언트 프로그래머
- 이름
- 이도현
- 간단소개
- 취미로 시작한 즐거운 개발, 이제는 프로그래머로 전직하기 위한 무기! 안녕하세요, 게임 프로그래머로 일하기 위해 달리기를 시작했습니다. 파이썬, C, 자바, 웹 등 여러가지를 즐겨보았고 본격적인 취업을 위해 협업 중심 커리큘럼의 Unity 캠프를 2024년 5월 수료하였습니다. 앞으로도 배우고 싶은 게 많습니다. 잘 부탁드립니다!
기술 스택
- 기술 스택
- Unity
- C#
- Python
자기소개
- 자기소개
어릴 때부터 컴퓨터에 관심이 많았습니다. 카톡 테마를 직접 만들고, 블로그와 카페를 운영하는 것도 재미있었습니다.
고등학교 때 정보올림피아드의 존재를 알게 되고 프로그래밍을 접했습니다. 문제를 해결하며 성취감을 얻는 것이 재미있었습니다.
대학교는 컴퓨터공학을 전공하여 C언어와 Java등의 언어로도 실습을 하며 새로운 프로그래밍 언어 사용에 대한 적응력을 높일 수 있었고, 인공지능과 데이터베이스와 같은 컴퓨터 전반에 대한 시야를 넓혔습니다. 취미로는 Python 언어를 사용하여 웹 크롤링, 이미지 프로세싱 등 미디어를 다루는 프로그램을 작성하는 것이었습니다. 이러한 취미를 통해 웹과 미디어 그리고 게임을 파고들며 각각을 다루기 위해 어떤 기술을 필요로 하는지 이미지를 그려나갈 수 있었습니다.
다양한 표현 방법으로 재미와 감동을 전할 수 있는 게임이라는 분야에 특히 관심이 갔고, 평소에 여러 게임을 즐겨했던 경험과 함께 게임개발을 위한 프로그래밍에 힘을 쏟았습니다.
제게 부족한 팀 프로젝트 경험 그리고 게임 개발을 위한 전문적인 지식을 습득하기 위해 Unity를 사용한 팀 프로젝트를 메인 커리큘럼으로 하는 부트캠프에 참가하였습니다. 약 반 년 간의 활동에서 팀 경험과 개발 프로세스 경험 외에도, 개발자로써 겪게 될 잔업과 야근, 예상치 못한 상황이나 갈등에 대한 고민, 완성된 게임을 배포 할 때의 짜릿함 등 다양한 것을 경험했습니다. 이러한 경험을 발판삼아 현업에서도 더 나은 방향을 향해 나아가겠습니다.
프로젝트
- 프로젝트명
- Null Reference Exception
- 소속/기관명
- 내일배움캠프
- 프로젝트 기간
- 2024.03. - 2024.05.
- (3개월)
- 프로젝트 설명
- 프로젝트 소개 : 유니티엔진으로 만든 3D 탄막 슈팅 게임
- 사용 스킬 : 모듈식 SO 구조, 최적화, 커스텀 에디터, 오브젝트 풀링, 다국어 지원, Steam 배포
- 상세 내용
- (팀 전반)프로젝트의 목표 달성 : 실제 플레이가 가능한 게임의 완성과 배포
- 모듈식 플레이어 파츠의 구성과, 강화 시스템(Perk식)을 통한 플레이어의 능력치 반영
- 적 AI의 상태와 능력치, 탄막 요소의 조절, 스테이지 구성 등 밸런싱을 통해 높인 게임의 완성도
- itch.io에서 배포와 QA를 진행하고, 본격적인 서비스를 위해 Steamworks 의 검토 승인을 받아 Steam 플랫폼 출시에 성공.
- SO 모듈형 탄막 관리 시스템 및 커스텀 에디터
- SO의 데이터 저장방식을 통해 관리
- 탄막 패턴(PatternSO)을 조립하여 연속적이고 연쇄적인 절차를 구성하여 하나의 페이즈 단위(PhaseSO)로 관리
- 탄막 패턴 데이터의 직관적인 작성을 위한 커스텀 에디터 작성. Inspector에서의 변수명을 알기 쉽게 표기하거나, 조건부로 보여야 할 변수 등을 표시하는 유연함을 통해 데이터 작성 효율성을 증대
- SO 모듈형 업적 시스템
- TaskSO, RewardSO 등을 조립하여 하나의 AchievementSO를 구성
- 업적의 상태 변화에 따라 업적 달성 알림, 보상수령 가능 등으로 연계.
- Custom Advanced 오브젝트 풀링
- 오브젝트의 카테고리에 따라 서로 다른 Pooler에 속할 수 있도록 하여, 장면별로 필요한 Pooler를 배치하는 등 불필요한 Pool을 사용하지 않음.
- 풀 생성 갯수에 제한을 두어 씬 로딩을 최소화
- 탄막 그래픽 최적화
- 탄막에는 불필요한 Shadow를 제거
- GPU 인스턴싱 사용
- 다국어 지원과 배포
- 다국어 지원
- 세계의 다양한 의견을 듣기 위해, 어느 언어에서도 게임을 즐길 수 있도록 로컬라이징 작업을 진행
- 유니티의 Localization 패키지를 사용하고, csv 형식의 번역 데이터 관리
- 배포
- 게임 개발의 1차 마무리라고 할 수 있는 게임 출시의 경험을 얻고, 동시에 게임의 유지보수와 업데이트를 효율적으로 진행할 수 있도록 Steam 출시를 목표하였다.
- 1차적으로 itch.io의 페이지를 작성하여 배포. 해당 페이지의 배포판으로 게임 초기버전의 QA를 진행.
- 비교적 까다로웠던 Steamworks의 가입절차와 출시 준비 그리고 검토과정을 거쳐 성공적인 게임의 출시.
- 다국어 지원
- (팀 전반)프로젝트의 목표 달성 : 실제 플레이가 가능한 게임의 완성과 배포
포트폴리오
자격증
- 자격증명
- 정보처리기사
- 점수/급 | 발급 기관
- 5월 현재 가채점 합격 | 한국산업인력공단
- 취득월
- 2024.06
외국어
교육
- 소속/기관
- 요코하마국립대학
- 종류 | 전공명/전공계열
- 대학교(학사) | 이공학부 전자정보계학과 정보공학과정
- 재학 기간 (재학 상태)
- 2016.04. - 2023.03. (졸업)
- 소속/기관
- 내일배움캠프
- 종류 | 전공명/전공계열
- 사설 교육 | Unity 게임개발 3기
- 재학 기간 (재학 상태)
- 2023.12. - 2024.05. (졸업)