728x90

프로젝트 35

나만무 슬레이어즈 4

나만무순환참조 문제InGameServer.js의 broadcast()를 ProtocolHandler.js에서 사용하기 위해 InGameServer를 import했는데, InGameServer에서 이미 ProtocolHandler를 참조(import)하고 있었기에 순환 참조 문제가 발생했다.broadcast() 함수를 ProtocolHandler로 옮겨서 해결했다.코드 아키텍쳐 설계의 중요성을 다시 한 번 알게됐다.변수 수정 문제유저를 id로 관리할 때, 기존에는 간단하게 구현했었다.sockets의 size를 id 삼아서 사용했었는데, 이를 id를 랜덤으로 생성하도록 변경한 후, 이 부분을 다시 변경해주지 않아서 문제가 발생했다.변수를 잘못 사용하던 부분을 수정하여 해결했다.협업 문제클라이언트와 소통하는 ..

Study/Project 2024.04.30

나만무 슬레이어즈 3

나만무Buffer issue다른 플레이어가 접속했을 때, 33번 프로토콜을 전송했는데, 이상한 프로토콜을 받아오는 문제가 있었다.보내고 받을 때, 비슷한 형식의 코드를 쓰고 있었기 때문에 코드에 문제점은 없었고, 실제로 console.log를 찍어봤을 때에도 문제가 없었다.유니티에서 스트림이 쌓여 있을 때, ReceiveData() 함수를 실행한다.이것을 보고 혹시 버퍼의 다른 값이 들어가 있어서 새로운 값이 들어 왔을 때, 버퍼가 합쳐지면서 값이 달라졌을 것이라고 생각했다.서버쪽의 코드를 확인해보았는데, 확인용으로 써놨던 broadcast(”newPlayer”,socket) 함수가 있었고, 클라이언트 쪽에서는 이 부분이 프로토콜이 없다보니 읽지 않아서 스트림에서 빠져나가지 않고, 차있는 상태였다. 그래..

Study/Project 2024.04.30

나만무 슬레이어즈 2

나만무멀티접속 구현, 동기화 x멀티 접속까지는 구현에 성공했다.같은 씬 안에 들어온 다른 캐릭터가 구현이 됐지만, 현재 같은 플레이어 이동 스크립트를 가지고 있기 때문에, 내 캐릭터를 움직이면 이 멀티 캐릭터도 움직이는 문제가 발생했다.이 부분은 프리팹에서 스크립트를 제거해주고, 움직임을 동기화하는 방법으로 해결하면 될 것같다.

Study/Project 2024.04.30

나만무 슬레이어즈 1

슬레이어즈설레일팀의 슬레이어즈로 기획이 컨펌되고, 여러 환경설정이나 맞춰가는 시간을 가졌다.멘토님이 정해져서 멘토님과의 면담도 진행했다.멘토님은 5민랩의 CTO님이셨고, 여러 걱정이나 그런것들이 있었는데, 면담 시간을 갖고나서 그런것들이 싸그리씨그리싸그리 없어졌다.너무 친절하게 다 집어주시고, 중요한 부분 아키텍처나 프로젝트의 시간적인 그런 부분까지 다 고려해서 말씀해 주시는 부분이 너무 좋았다.서버에 대해서도 말씀해주셨는데, 말씀을 듣고 여러 생각을 해본 결과 C++에서 Node.js로 옮기게 됐다. 아마 서버 구현이 끝나고, 시간이 남으면 c++로 그 서버 그대로 짜보는 연습이나 시간을 가질듯하다.면담을 통해 큰 줄기 잡힌것같고, 그 큰 줄기에 여러 타임라인이 새겨진 느낌이다.잘 해 나갈 수 있을 것..

Study/Project 2024.04.26

24.04.20 VeryBadChild

VeryBadChild 나만무가 시작은 했지만 아직 우리의 기획이 결정되지 않았기 때문에 기초적인 세팅만 완료했다. 기획을 해서 일단 2개로 압축했다. 첫 번째는 지구침공이라는 게임이고, 두 번째는 캐치크라운이라는 이름의 게임이다. 아직 정해진게 없기 때문에 자세한 내용은 나중에 올리겠지만 그래도 잘 진행되고 있는 것 같다. 오늘은 기획과 폴리싱을 진행했다. 생각보다 더 잘나오고 재미있게 나와서 좋은 것같다. 기획이 통과되야할텐데~~ 서버 서버는 분산서버로 구현할 생각이다. 인증 인게임 아웃게임 으로 기획했다. 그에 따라 DB에 어떠한 데이터가 들어가야할지도 기획했다. 패킷을 어떻게 할지 로그인 방식을 어떻게할지 정했다.

728x90