Jumper 디자인 계획서
- 과제 개발 요약
과제의 목표는 Unity Photon PUN2 엔진과, 생성형 AI를 활용한 2D 플랫포머 다중 멀티플레이 게임 구현하는 것이다. 플레이어들은 횡스크롤 방식으로 맵을 달리며, 가장 먼저 끝에 도달한 플레이어가 승리하고, 이후 제한시간 이내로 도착하지 못하는 플레이어는 탈락하게된다. 게임 중에는 랜덤 이벤트가 발생하여 플레이어에게 도움이 되거나 방해가 될 수 있는 요소가 존재한다. 또한 싱글플레이어 모드에서, 혼자 연습플레이를 할 수 있다.
- 과제 도출 과정
1. 게임 아이디어 도출
2. Unity를 사용하여 멀티플레이어 게임을 개발하는 방법 조사
3. 플랫포머 게임의 기본적인 구조 및 기능 조사
- 해당 개발과제의 필요성 및 기대효과
Unity 엔진을 활용하여 멀티 플레이어 게임을 개발함으로써 게임 개발 및 네트워킹 기술에 대한 이해를 높이고, 협업과 팀 프로젝트 경험을 쌓는 데 도움을 줄 것으로 기대된다.
Jumper
- 프로젝트 요약
Unity Photon PUN2엔진과, 생성형AI를 활용한 2D 플랫포머 다중 멀티플레이 게임 구현하는 것이다. 플레이어들은 횡스크롤 방식으로 맵을 달리며, 가장 먼저 끝에 도달한 플레이어가 승리하고, 이후 제한시간 이내로 도착하지 못하는 플레이어는 탈락하게된다. 게임 중에는 랜덤 이벤트가 발생하여 플레이어에게 도움이 되거나 방해가 될 수 있는 요소가 존재한다. 또한 싱글플레이어 모드에서, 혼자 연습플레이를 할 수 있다.
- 개발 목표
Unity Phothon Pun2 + 생성형 AI활용
= 2D 플랫포머 다중 멀티플레이 게임
(횡스크롤+장애물피하기+레이싱시스템) +연습모드(싱글플레이)
- 개발 과정
계획 및 디자인 설계 > 담당기능 구현 > 베타테스트
- 핵심 기능
(1) 내비게이션 기능
(2) 랜덤 효과 부여
(3) 게임 내 채팅
(4) 캐릭터 선택
(5) 랜덤 맵 선택
- 인게임 화면
(1) 메인화면
(2) 환경설정
사운드 조절 바 기능(0%~100%)
(3) 싱글플레이어 모드(연습모드)
캐릭터는 기본 2단 점프까지 가능
싱글플레이 모드에서는 스스로 생각하여 움직이는 몬스터 추가!!
피니쉬 깃발에 도달하면 다음 스테이지로 이동하는 방식으로 구현.
(4) 멀티플레이 입장 화면
닉네임 입력 후 접속하면 로비 화면으로 전환
(5) 게임 룸 화면으로 전환
다른 플레이어가 이름을 입력해 방을 만들거나 'Quick Play' 버튼을 눌러 빠른 방생성 또는 참여 가능
만들어진 게임 방에 입장하게 되면 캐릭터 선택버튼, 채팅, 방에 있는 인원수 확인이 가능. 게임 시작버튼은 방을 생성한 방장에게만 클릭버튼이 활성화되게 구현.
(6) 채팅 화면
서로 채팅을 주고 받는 모습.
(7) 게임 시작화면
게임 시작 후 5초 후 플레이어들에게 랜덤 효과 부여.
플레이어를 따라 시작지점과 피니쉬지점 거리를 계산해 플레이어 위치를 확인시켜주는 내비게이션기능.
인게임에서도 채팅가능
플레이어가 피니쉬 오브젝트에 닿으면 도착한 해당 플레이어의 동작을 멈추게 하고 10초의 카운트다운시작. 카운트다운이 종료되면 그대로 게임 종료.
(8) 게임 종료화면
게임 종료화면에서는 플레이어의 도착시간 그리고 계속하기 버튼과 나가기 버튼이 존재.
계속하기 버튼을 누른 경우 해당 게임을 진행한 모든 플레이어들이 계속하기 버튼을 누른 게 확인되면 게임 재시작.
Jumper
- photon의 장점
(1) 최대 20명까지 동시접속 가능한 서버를 무료로 사용 가능하기 때문에 간단한 프로젝트 진행 시 사용하기 좋습니다.
- Photon 사이트
글로벌 크로스 플랫폼 실시간 게임 개발 | Photon Engine
EssentialPhoton Details Discover a summary of our product range, notable features, the power of the Photon Cloud, and our cost-effective pricing plans. HAVE A LOOK
www.photonengine.com
- 진행 방법
(1) Photon 홈페이지 접속
(2) 회원가입 진행 후 관리 화면으로 이동 후 새 어플리케이션 만들기 클릭.
(3) 멀티 플레이어 게임 부분 선택 후 Photon 종류는 Realtime으로 설정.
(4) 서버이름과 어디에 사용될건지 알아볼 수 있게 간단히 설명 적고 생성.
(5) 생성 후 관리화면을 클릭.
(6) 어플리케이션 ID 선택 후 복사.
(7) Unity로 접속 후 Package Manager선택.
(8) My Assets부분 Asset Store에서 받아온 PUN2-FREE Import.
(9) Import 후 Photon 폴더 선택 후 PhotonUnityNetworking 폴더 클릭.
(10) Resources 폴더 선택.
(11) Resource Server Settings 파일 선택 후 App Id PUN 부분에 복사해 둔 ID 붙여 넣기.
(12) 연결 완료.