- 슈퍼마리오 메이커 모작
- 유저가 에디터로 맵을 제작하고 온라인 플레이
- 파이어베이스로 맵데이터를 저장하고 포톤으로 온라인 플레이 구현
- 조장을 맡아 기획, 소스 병합, 오류 수정 및 전체적인 시스템 구현
-
로그인 씬
-
로비 씬
-
에디터 씬
3-1. 오브젝트 설치
3-2. 그 밖의 에디터 기능
-
방 만들기 & 방 입장
-
게임 플레이
5-1. 채팅
5-2. 클리어
- 닉네임을 입력하고 포톤 마스터 서버 입장
- 마스터 서버에서 바로 로비상태로 변환하게 되어있으며 로비씬으로 전환
- 로비에 있는 네트워크 인원을 표시
- 방 리스트가 나오는 스크롤뷰와 맵 만들기, 룸 만들기 버튼
- 방 목록은 3초에 한번 새로고침 하게 되어있으며, 방 목록이 수정된 내용이 있다면 그 즉시 새로고침
- 마리오 플레이에 필요한 오브젝트를 설치
- 타일맵을 3개 준비
- 그리드 타일맵 : 격자 무늬를 표현한 타일맵
- 오브젝트 타일맵 : 실제 오브젝트 타일을 설치한 타일맵
- 가상 타일맵 : 마우스 포지션으로 따라오는 가상 타일을 설치할 타일맵
3-1. 오브젝트 설치
- 아이템이 들어가는 박스 설치
- 아이템 박스에는 아이템을 넣을 수 있도록 작업
- 파이프 설치
- 파이프의 짝을 라인 렌더러로 결정
- 게임 캐릭터 스폰 위치 지정
- 그 밖의 오브젝트들
3-2. 그 밖의 에디터 기능
-
마우스 위치에 따른 카메라 이동
- 마우스로 화면을 이동하며 오브젝트 설치 기능
-
좌클릭 설치, 우클릭 제거
-
배경 바꾸기 기능
-
UNDO, REDO
- 명령에 대한 오브젝트를 리스트에 기억해뒀다가 UNDO와 REDO
-
모의 플레이
- 에디터에 설치할때 실제 오브젝트를 같이 설치하고 Play했을때 그리드를 끄고 오브젝트를 Enable
- 오브젝트는 포톤네트워크가 적용된 오브젝트를 Instantiate 시키며 이를 위해 에디터는 포톤 개념상 InRoom 상태
-
전체적인 맵 형태보기
- 렌더텍스쳐로 전체 맵을 비추는 카메라의 이미지를 렌더
-
맵 저장
- 파이어베이스에 맵데이터, 썸네일 데이터 저장
- 썸네일은 맵 형태보기와 같은 방식으로 렌더텍스쳐의 RawImage를 저장하고 업로드한다.
-
맵 저장 디테일
- 파이어베이스 Storage 는 파일 목록에 대한 정보를 주지 않기 때문에 각 클라이언트는 어떤 맵이 업로드 되어 있는지 알 수 없음
- 때문에 Text파일에 직접 파일 목록을 정리하며 업로드 하는 방식을 채택
- 저장 프로세스 : 파일리스트 로드 → 맵데이터 생성 → 썸네일데이터 생성 → 파일리스트에 내용 추가 → 맵데이터, 썸네일데이터, 파일리스트 파이어베이스 업로드
- 방 이름과 인원 설정하고 포톤 Room Make and Join
- 방 입장하면 포톤으로 동기화된 캐릭터 조작 가능
- 방장만 맵 선택이 가능하고 선택시 RPC로 방에 있는 모든 인원들의 맵 정보가 바뀌도록 작업
- 모두 레디하면 방장이 START 가능
5-1. 채팅
- 캐릭터가 상속한 캔버스로 채팅을 입력하면 RPC로 해당 클라이언트의 캐릭터 메시지를 띄움
5-2 클리어
- 깃발대에 닿으면 나머지 클라이언트들은 1등한 유저로 카메라가 이동하고 포커스 인
- 우승자 아이디가 표시되며 로비로 다시 이동














