미리보기
기본 정보
재미있고 몰입감 있는 게임을 만드는 데 열정을 쏟고 싶은 게임 개발자입니다. 객체지향 설계와 확장 가능한 개발 방식을 고민하며 꾸준히 공부하고 있습니다. 약 2년간의 앱개발 경험을 가지고 있습니다.
기술 스택
C#, Unity, Flutter, visual-studio
프로젝트
DemonSlayer
내일배움캠프
2024.06. ~ 2024.08.
마왕을 물리치기 위한 주인공의 여정인 2D 플랫포머 메트로베니아 게임입니다.
팀의 부팀장을 맡아 주도적으로 회의를 진행하고 Jira를 사용하여 담당업무를 분배하였습니다.
레퍼런스 : 엔더릴리즈, 할로우나이트, 나인솔즈
사용기술 : Unity, C#
인원 : 4명
개발기간 : 8주
Github : https://github.com/ckd0dn/DemonSlayer
다운로드 : https://ckd0dn.itch.io/demonslayer
시연영상 : https://www.youtube.com/watch?v=qa3rMl8b4eE
팀노션 : https://spotty-cabbage-9f0.notion.site/Project-M-6832b1314ca141a2a5ed1ae9f57f25fb
[담당한 부분]
매니저 설계 : 제네릭 싱글톤을 상속받아 GameManger, DataManager, SoundManager
등 다양한 매니저를 설계
맵 : Z축과 Order in Layer, Parallax Scrolling를 활용한 배경 원근감 조절, 맵 디자인 맵의
각각의 방설계
저장기능 : JsonUtility를 활용하여 게임 저장, 불러오기 구현
UI : 시작씬 UI, 체크포인트 UI 등 구현, Dotween 활용
체크포인트 : 게임의 저장, 스킬, 아이템, 빠른이동 기능이 있는 상호작용 구현
아이템 파티클 : Particle System 과 Animation을 사용한 아이템 효과 구현
스탯 : SO에서 받은 Data를 StatHandler에서 관리하여 플레이어, 몬스터, 보스 몬스터의 스탯을 공통적으로 관리하도록 설계
[트러블 슈팅]
원근감이 느껴지는 배경 구현
문제 : Parallax scrolling 을 사용하여 원근감을 구현하려고 했지만 원하는대로 표현이 되지 않음
해결 : 카메라의 Projection 모드를 Orthographic 에서 Perspective 변경하고 배경이미지를 OrderLayer와 Z축을 함께 사용하는 방법
데이터 저장 및 불러오기 이슈
문제 : 스킬의 아이콘을 ScriptableObject를 사용하여 PlayerSkillSO에서 Sprite에서 가져오고 있었는데 SO 자체를 저장하고 있었고 SO가 직렬화가 되지 않아 문제가 발생
해결 : PlayerSkillSO를 Resources 폴더에 넣어두고 SO의 이름만 저장하여 해당이름을 가진 SO를 LoadSkillSO 메서드를 사용하여 불러오는 방식을 사용
SpartaWars
내일배움캠프
2024.06. ~ 2024.06.
2D 횡스크롤 디펜스 게임입니다.
레퍼런스 : 냥코 대전쟁, 전쟁 시대, 카툰 워즈, 팔라독
사용기술 : Unity, C#
인원 : 5명
개발기간 : 1주
Github : https://github.com/ckd0dn/SpartaWars_A4
다운로드 : https://drive.google.com/file/d/1Fg2afUwuRyrWdG07Zkfw5MECnEG907sO/view
시연영상 : https://www.youtube.com/watch?v=YSRE-nxQai8&t=302s
[담당한 부분]
유닛 배치 및 업그레이드 : 인벤토리와 유사하게 유닛의 배치와 업그레이드 기능을 구현, UI 작업
씬병합 : 씬 병합 충돌을 방지 하기위해 팀원들의 작업물을 GameScene에서 병합
BlackOut
내일배움캠프
2024.06. ~ 2024.06.
괴물에게 잡아먹히기 전에 폐병원을 탈출하는 게임, 3D 탈출 게임
레퍼런스 : 파피 플레이타임, 반반의 어린이집
사용기술 : Unity, C#
인원 : 4명
개발기간 : 1주
Github : https://github.com/ckd0dn/BlackOut_A9
다운로드 : https://drive.google.com/file/d/1M51F9OV4YV5qtE7uZMI2PW7Te4Jl5ety/view
시연영상 : https://www.youtube.com/watch?v=LP1gmp7ruwg&t=202s
[담당한 부분]
키패드 : 에셋스토어의 키패드 사용
몬스터 : mixamo를 사용하여 플레이어가 죽을때 출현하는 몬스터 구현
인벤토리 : 아이템을 담을수 있는 인벤토리 구현
퍼즐 : 특정 렌즈를 가진 손전등을 비출때 힌트가 보이는 퍼즐구현
게임오버 및 클리어 등 : UI 및 Fade Out 구현
경력
아이씨엔캐스트
주임 | 개발팀
2023.08. ~ 2024.04. (9개월)
WEB3.0 기반의 블록체인 DID 기술을 활용한 전자신분증 앱
MVP 모델을 보완, 플레이스토어와 앱스토어에 출시
UI/UX 개선, SNS 로그인, 푸시 알림(FCM), 앱 번역, 파일 업로드 기능 등 개발
로그인네트웍
사원 | 개발팀
2021.07. ~ 2022.11. (1년 5개월)
사내 직원 및 거래처 메신저 개발
백엔드 개발자와의 협업 및 Spring Boot를 활용한 API 수정 경험
통신사 API 를 사용한 통화 기록 조회기능을 메신저에 통합
포트폴리오
교육
성결대학교
대학교(학사) | 미디어소프트웨어
2015.03. ~ 2021.06. | 졸업
코리아 IT 아카데미
사설 교육 | 웹앱개발과정
2020.07. ~ 2021.01. | 졸업
스파르타코딩클럽 내일배움캠프
사설 교육 | Unity 게임개발 트랙
2024.04. ~ 2024.08. | 졸업
자기소개
[동기부여]
어느 날, 문득 저는 대표님이 시키는 일만을 하고 있다는 생각이 들었습니다. 10년 후의 나를 그려보았을 때, 앱 개발자로서의 모습이 확신이 서지 않았습니다. 반면, 게임 개발에 대한 열정은 넘쳐났습니다. 앱 개발을 위해 레퍼런스를 찾아보던 중, 게임들은 오히려 제가 만들고 싶은 것들로 가득 차 있었습니다.
특히 "P의 거짓"이라는 게임을 즐기며, 엔딩 크레딧에 올라간 개발자들의 이름을 보면서 저도 그 자리에 제 이름을 올리고 싶다는 생각이 들었습니다. 이 순간부터 게임을 통해 제 열정을 담아내고 싶다는 확신을 갖게 되었습니다.
[강점]
2년간의 앱 개발 경험을 통해 서버 관련 지식과 실무 경험을 쌓았습니다.
Jira와 같은 협업 툴을 사용하여 팀원들과 효과적으로 소통하였으며, Git과 SVN 버전 관리 툴 사용 경험도 있습니다.
Rest API 통신을 활용하여 다양한 기능을 구현하였으며, WebSocket을 사용한 실시간 채팅 기능 개발 경험도 있습니다.
사수가 없는 환경에서 독학으로 문제를 해결하고, 스스로 공부하는 방법을 터득하여 주어진 업무들을 성공적으로 완수한 경험이 있습니다.
[현재]
현재는 개인 프로젝트로 구글 로그인을 위한 GPGS와 뒤끝 서버를 도입하여 방치형 게임을 개발 중입니다. 다양한 디자인 패턴을 학습하고 있으며, Addressable Asset 시스템을 도입하여 더욱 효율적인 자원 관리를 목표로 하고 있습니다.