반응형

여태 기회가 닿지를 않아 포톤을 깊게 파보지를 않았는데, 작년 플랙프라이데이에 구매한 포톤 상품이 곧 만료라(11월까지 ㅠㅠ..) 이번 기회에 깊게 파보려고 이 일지 작성을 시작하게 되었다.

 

포톤에 붙일 게임도 프로토타입으로 한번 만들어보긴했는데, 동작관련 문제를 아직 해결하지 못해서 시스템 먼저 만들어보게 되었다. 그래서 만들기 시작한것이 로비, 방 구현이다.

 

이 일지에 작성된 로비, 방 스타일은 옛날에 서비스를 했던 서바이벌 프로젝트에서 가져왔다.

어릴때 했던 게임중 가장 재미있게 했었던 게임이고, 시스템 자체도 꽤 괜찮다고 판단해서 작업을 시작하게되었다.

 

작업은 저번달 22일부터 조금씩 진행하기 시작해서 짬짬히 작업을 해왔다.

 

1. 입장

입장을 시작하게 되면, 로비 화면이 노출된다.

하단의 화살표 버튼과 우측 버튼들은 아직 기능구현이 되지 않았다.

포톤 콜백을 통해 방이 생성되면 파티클이 없어지고 방에 대한 옵션을 프리뷰 형태로 볼 수 있다.

 

2. 방 만들기

방을 생성하고 싶으면 비어있는 방들(파티클들)을 클릭하면 방 생성창이 열린다.

일단 시험삼아 커뮤니티, 팀, 서바이벌모드와 인원을 선택해서 방을 생성 할 수 있다.

 

3. 생성된 방의 프리뷰 확인

다른 클라이언트가 방을 생성하면 포톤 콜백을 통해 생성된 방의 리스트를 갱신해 로비에 있는 유저에게 생성된 방의 옵션 등을 프리뷰로 볼 수 있다. (방의 모드, 입장한 유저의 캐릭터 정보, 팀 정보 확인 가능)

 

4. 방 입장 및 캐릭터, 팀 선택

생성되어 있는 방을 누르면 입장이 시작되며, 캐릭터 선택이 가능하고, 팀 모드에서는 팀 선택이 가능하다.

상대랑 같은 슬롯을 선택할 경우를 대비해서 마스터 클라이언트에서 정보를 받아 슬롯정보를 다른 클라이언트에게 뿌려주고 일반 클라이언트들은 갱신만 하게되는 형태로 했다.

(ExpectedValues를 써볼까 고민하긴 했지만, 위와 같은 형태에선 괜히 코드만 더 복잡해질거같아서 배제했다.)

 

이 작업을 거의 20일간 했는데, 그래픽 리소스 문제도 그렇고 포톤 콜백이나 함수 활용에 대해 일일히 로그 찍고 확인하다보니 생각보다 많은 시간이 소요됨... 그래도 나름 형태도 어느정도 잡혔고, 다음 작업은 로비 쪽의 구현하지 못한 기능 완성과 방의 기능 완성을 할 예정이다!

반응형

+ Recent posts