안녕하세요. 서강대학교 게임&평생교육원 프로그래밍과정의 도관목입니다.
[Stardust]
개발엔진 | Unity | 플랫폼 | PC |
담당역할 | 클라이언트 프로그래머 | 장르 | 멀티플레이 2D Roguelike |
게임 영상 | 팀 구성 | 기획 2, 아트 3, 클라이언트 1, 서버 1 | |
Github | 제작기간 | 약 3개월 반(114일) |
장애물을 피해 아이템을 획득하여, 아이템을 조합하여 무기 및 방어구를 제작, 보스를 처치하는 게임입니다.
■ LitJson Library를 이용하여 서버와 통신하는 멀티플레이 게임입니다.
공격, 피격, 이동 등의 프로토콜을 구조체로 만들어, 각 프로토콜에 이름을 정한 뒤 서버에서 그 이름에 따라 내용을 처리한 후 클라이언트로 브로드캐스팅하는 방식의 통신을 사용하였습니다.
왼쪽 코드 사진 - 서버와 통신할 프로토콜의 규약 제정
가운데 코드 사진 - 프로토콜을 이용한 데이터 전송 방식
오른쪽 코드 사진 - 서버에서 브로드캐스팅하는 패킷을 클라이언트에서 받는 코드
■ 개인/공유 인벤토리 및 아이템 조합 기능 구현 개인 인벤토리를 통해 획득한 아이템의 정보를 확인할 수 있고, 공유 인벤토리를 통해 파티원 간에 아이템을 교환할 수 있습니다. 또한 조합 시스템을 통해 획득한 아이템으로 무기 및 방어구를 제작할 수 있습니다.
- 아이템 획득 후 이를 처리하는 함수 정의
■ 보스 패턴 슈팅게임 [1945]와 유사한 형태의 뿌려지는 원형 탄환 패턴과 플레이어끼리 붙어있어야 생존할 수 있는 장판 패턴, 계속 도망다녀야 하는 유도탄 패턴, 회전하는 레이저 패턴, 다른 플레이어가 붙으면 해제되는 속박 패턴을 구현하였습니다. 패턴은 서버에서 랜덤으로 정하여 브로드캐스팅해주고, 클라이언트에서는 일부 패턴의 오브젝트 이동값과 피격 유무를 체크하여 서버로 송신합니다.
왼쪽 사진 - 탄환 난사 패턴의 방향 및 회전값 계산
오른쪽 사진 - 유도 탄환의 위치 계산 및 충돌 처리
■ 게임 스크린샷
[Gun Survival War]
개발엔진 | Unity | 플랫폼 | Mobile(Android) |
담당역할 | 전체 프로그래밍 | 장르 | 2D 슈팅 어드벤쳐 |
게임 영상 | 팀 구성 | 기획 1, 아트 3, 프로그래밍 1 | |
Github | 제작기간 | 약 3개월(99일) |
라운드별로 몬스터를 처치하여 스테이지를 클리어해나가는 게임입니다.
플레이어는 6가지의 무기들을 획득하여 사용할 수 있습니다.
무기들은 커맨드 패턴을 사용하여 구현해 재사용성을 높이고, 보유 재화 및 업그레이드 상태를 보존하기 위해 CSV File을 이용한 I/O를 구현하였습니다. ■ Command Pattern을 사용한 6가지의 무기 구현 유사한 특성을 가진 무기들을 추상화하여 우선 구현한 후, 이를 통틀어 관리하는 WeaponManager를 만들어 플레이어가 선택한 무기를 매번 알아낼 필요 없이 요청사항만 처리할 수 있도록 구현해 보았습니다.
- Weapon의 부모 클래스 일부와 무기 중 기관단총을 정의한 클래스
■ CSV 확장자를 이용한 데이터 관리
게임이 종료된 이후에도 스테이지 클리어여부, 업그레이드 현황, 무기 해금 현황 등을 저장하는 기능을 구현했습니다.
- File의 읽기/쓰기를 관리하는 FileManager 클래스
■ Github & Sourcetree를 이용한 기획자와의 협업 진행
프로그래밍에 조금 더 집중하고자, 기획자에게 Unity의 기초 사용법과 Sourcetree를 활용하여 직접 맵디자인 및 레벨디자인을 할 수 있도록 해주어 기획자의 생각을 게임에 직접적으로 넣을 수 있게 했습니다.
- 프로젝트 기간 중 기획자와 프로그래머 간의 Commit 기록
■ 게임 스크린샷
[마왕성에서 춤춰요!]
개발엔진 | Unity, C# Windows Form | 플랫폼 | Mobile(Android) |
담당역할 | 전체 프로그래밍 | 장르 | 2D 슈팅 어드벤쳐 |
게임 영상 | 팀 구성 | 기획 2, 아트 3, 프로그래밍 1 | |
Github | 제작기간 | 약 3개월(92일) |
음악에 맞추어 캐릭터의 춤에 따라서 노트가 생성됩니다. 캐릭터의 춤과 노트의 움직임이 함께하기 때문에 플레이어가 캐릭터와 함께한다는 느낌이 들 수 있도록 구현하였습니다.
■ 롱노트 및 슬래쉬 노트 구현
드래그 형식의 LongNote를 구현하여 캐릭터가 춤을 추는 방향으로 유도할 수 있게 구현하였습니다. LongNote는 모양이 정해져 있지 않고, 방향과 길이를 자유롭게 제작할 수 있도록 하였습니다.
- 왼쪽 사진 : 슬래시 노트
- 오른쪽 사진 : 자유롭게 커스터마이징이 가능한 롱노트
■ C# Windows Form을 이용한 채보 메이커 툴 제작
Unity에서 채보 파일을 읽을 프로토콜을 구성한 후, 이를 툴에 적용하여 기획자가 노트 제작을 보다 쉽고 편리하게 할 수 있도록 하였습니다.
- 활성화되는 노트의 종류별로 색깔을 다르게 보여줌을 나타내는 사진
■ 게임 스크린샷
- 기본 스테이지 플레이 화면 사진
- 왼쪽에서 첫 번째 사진 : 플레이 중 등장 컷씬 연출
- 왼쪽에서 두 번째 사진 : 게이지 스테이지 플레이 화면
- 가운데 사진 : 플레이어와 악마의 듀얼 댄스 플레이 화면 1
- 오른쪽에서 두 번째 사진 : 플레이어와 악마의 듀얼 댄스 플레이 화면 2
- 오른쪽에서 첫 번째 사진 : 컷씬 이후 특정시점 통과시 배경 전환 후 플레이 화면
Comentarios