본문 바로가기

프로젝트55

24/11/20 ~ 21 - [팀] 최종: 트러블 슈팅 - 방 나가기 noti 전달 오류 문제 상황방을 빠져나갔을 때, 방에 남아있는 유저들에게 누가 방에서 나갔는지 알려줘야 한다.그러나 leaveRoomNotification 패킷을 클라이언트에게 전달하고, 클라이언트는 이를 제대로 받았음에도 불구하고 화면 갱신이 안되는 문제가 생겼다.    원인 파악 정확한 테스트를 위해 로그를 남겨보았다.상황을 설명하자면, 1, 2, 3 유저가 있고, 그중 3번 유저가 방을 만든 상태이다. 그리고 차례대로 2, 1이 입장했으며, 이후 2번이 방을 나가고(첫번째 이미지), 다시 1번이 방을 나갔다.(두번째 이미지) 서버 쪽도 확인을 하면, 제대로 동작하는 걸 볼 수 있다. 해서, 제대로 된 원인을 파악할 수 없을 때 즈음.다른 곳에서 발생한 오류를 해결한던 팀원 중 한 분이 다음과 같은 채팅을 남겼다. 하.. 2024. 11. 20.
24/11/13 ~ 15 - [팀] 최종: Bang 게임 기획 Bank or Bang보드게임 '뱅'을 모티브로, 마피아 게임의 느낌을 살려 턴제 진행이 아닌 페이즈(낮 & 밤) 형태로 진행되는 실시간 게임.낮 기간(3분)에는 소유하고 있는 카드를 사용할 수 있으며, 밤 기간(1분)에는 토론을 진행하여 서로의 역할을 추리한다. 장르실시간 추론 보드게임 (2 ~ 7 인) 프로젝트 핵심 기술(추가 가능성 있음Node.js (서버)Unity (클라이언트)플로우 차트 ERD 기획전체적인 게임 구성은 보드게임 '뱅'과 비슷하다.각각의 캐릭터가 9개('뱅' 7 + 오리지널 2) 존재하며, 4개의 역할이 존재하고, 플레이어가 사용할 수 있는 공격, 방어, 유틸, 장비, 디버프 카드가 존재한다. 유저의 입장 순서에 따라 사거리가 정해지며, 1칸 거리의 유저는 미니맵에 위치가 표시된.. 2024. 11. 17.
24/11/05 - [개인] 멀티 플레이 과제: 멀티 플레이어 이동 테스트 몸상태 이슈로 강의를 겨우 듣고, 이제서야 과제를 진행하게 되었다.팀 프로젝트도 있어 조금이라도 빨리 제출을 해야 했기 때문에, 올라온 해답 영상을 보면서 진행하하게 되었다.해서, 이번에는 필요한 부분만 정리해서 게시물을 올리고자 한다. 먼저, 과제의 내용을 설명하자면 지난 프로젝트 내용과 비슷하다.한가지 다른 점이 있다면 이번에는 유니티로 클라이언트를 열고, 플레이어의 움직임을 직접 확인한다는 점일까.그렇다보니 전반적으로 코드는 이전과 유사한 부분이 많았다. 그러나 2인 이상의 클라이언트가 서버에 접속을 하고자 했을 때, 아래와 같은 상황이 발생했다.  TypeError [ERR_INVALID_ARG_TYPE]: The "string" argument must be of type string or an.. 2024. 11. 5.
24/11/04 - [실습] Node.js 플러스(2 - 12): 상태 동기화(위치 정보 교환) 지금까지 각 유저들의 라운트 트립 레이턴시를 저장하는 것까지 진행했다. 이번에는 유저의 위치 정보를 업데이트 해야 한다.그러기 위해선 먼저 두 가지 사항을 고려해야 하는데, 첫번째로는 유저가 본인의 위치를 서버에 업데이트 해야하고, 두번째는 서버가 가지고 있는 유저들의 정보를 다른 유저에게 보내줄 때, 즉, 상태 정보를 동기화 시켜야 한다. 따라서 먼저 유저에게 알림을 보내야 한다.   게임 시작 알림먼저, 유저에게 어떠한 형태로 알림을 보내야 할지 정해야 한다. 하여, .proto 파일을 만들고, 이를 등록한 뒤에 PACKET_TYPE에 현재 패킷들을 추가한 후 패킷을 만드는 함수를 추가해야 한다. protobuf/notification/game.notification.proto 더보기syntax = .. 2024. 11. 4.