728x90

정글 128

나만무 슬레이어즈 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.25 최종 기획

최종 기획드디어 최종 기획 발표가 끝났다.지금까지의 기획 발표는 코치님들 앞에서 하는 기획 발표였는데, 이번에는 원장님도 참여한 기획 발표였다. 지금까지 원장님이 게임을 엄청 반대하신다고 들었다. 게임을 너무 좋아하시는 만큼 게임에 대해 가볍게 생각하고 접근하는 것을 싫어하시고, 사실 이 짧은 기간동안 완성도 있는 게임을 개발하는게 당연 어려운일이기 때문에 그것에 대해서는 이상하게 생각하지는 않았다.물론 생각이 이런거지 무척 긴장되고, 무서웠다.반려 당하면 또 기획하면 되지라는 생각은 항상 있지만, 사람이라는게 기계가 아닌 이상 지치게 되고, 내 마음 한켠에서도 이럴거면 그냥 웹이나 다른거 할걸 이라는 생각이 나올 수 있다고 생각해서 걱정이 됐다. 아마 우리 팀 모두 같은 생각을 했을 것 같다.특히 발표..

24.04.23 3차 기획 발표

3차 기획 발표해냈다~ 해냈어~어제 새벽 아니네 오늘이네 오늘 새벽까지 진행했던 기획을 발표하는 시간을 또 가졌다.사실 나도 그렇고 우리 팀 또한 불안했을거다. 아니면 강심장…아무튼 애써 불안함을 숨기며 이번에도 반려되면 또 기획하면 되지!! 라는 생각과 말을 하며 불안함을 숨겼다.우리 팀장이 발표를 마치고 코치님이 기획 아이디어에 대해서 말씀을 해주셨는데, 둘 다 좋은데 어제 우리가 하나부터 열까지 기획한 3D 멀티 테트리스가 참신하고 더 괜찮아 보인다고 말씀을 해주셨다.대박승리했다이겼어!!!!!!코치님은 아마 레퍼런스가 많이 없고, 뷰포트 관련이 어려울 것이라 말씀하셨지만 그래도 우리가 아이디어를 짜내고 기획을 한것이기 때문에 열심히 하고 잘 할것이라고 생각한다.야호!!

24.04.22 2차 기획발표

2차 기획발표 반려 당했다. 흑흑 두 개의 아이 지구침공과 캐치 크라운이라는 기획을 가져갔고, 혹평을 받고 반려 당했다. 처음에는 이해되는 부분과 이해 안되는 부분이 있었지만, 다시 기획에 대해서 곰곰이 생각하고 구멍들을 찾아보니 다 이해가 되면서 아 이런 이런게 정말 중요하고 우리가 이런 부분을 놓치고 있었구나 라는 생각이 들었다. 그 뒤로 부터는 무한 기획 회의에 들어갔다. 기획을 하면서 여러 아이디어가 나오고 이 기획의 기술적 챌린지나 코치님들이 바라봤을 때 어떨지 등등 여러가지를 생각하며 기획 회의를 했고, 여러가지 중 두 가지의 기획안을 완성했다. 첫 번째는 원래 캐치 크라운과 폴가이즈 그리고 코치님의 조연을 야무지게 버무린 슬레이어즈라고 하는 썰매 레이싱 게임을 기획했다. 두 번째는 멀티 3d..

24.04.19 C++

C++ C++ 입출력 성능 향상 ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); c++에서 ios::sync_with_stdio, cin.tie, cout.tie를 사용하는 주된 이유는 입출력 성능을 향상시키기 위해서 이다. ios::sync_with_stdio(false); 이 함수는 c++ 표준 입출력 스트림(cin, cout)과 c 표준 입출력 버퍼(stdin, stdout)의 동기화를 해제한다. 기본적으로 c++ 표준 입출력은 c의 표준 입출력과 동기화되어 있어서 입출력 작업 시 버퍼를 공유하고 동기화하는 과정에서 오버헤드가 발생한다. ios::sync_with_stdio(false);를 호출하면 c++과 c의 입출력 버퍼가 분리되어 동기..

24.04.17 서버 개발기, git readme 작성

서버 개발기 어제 제대로 정리 못한것을 정리하면서 시작해보자. 일단 게임씬으로 이동 후 게시판 post를 만들어야 했다. 클라이언트의 대부분은 치타단 동료 뿌추님이 만들어줬기 때문에 서버, db연동만 하면 됐다. 포스트 ui에 title, author, content를 입력하고 post버튼을 누르면 db에 전송이 되게 만들었다. 그에 따라서 db에 post라는 테이블을 만들고 후에 만들 댓글을 위해서 id를 primary key, 그리고 comment의 id를 foreign key로 지정했다. 이제 이 보드와 상호작용을 하면 지금까지 post한 게시글들을 불러와서 보여주어야 했다. 동적생성을 사용하기 위해서 unity instantiate 함수를 사용해주고, 새로 생긴 오브젝트들이 스크롤뷰로 차례대로 정..

24.04.16 서버 개발기

서버 개발기 회원가입을 구현하고 회원가입의 예외처리를 구현했다. 예외처리 목록 비밀번호가 다를 때 중복된 닉네임이 존재할 때 중복된 아이디가 존재할 때 이에 경우에는 그에 맞는 panel이 띄워지게 코드를 작성했다. !https://blog.kakaocdn.net/dn/XKJWl/btsGG6Ytezb/jr3GwPFw8tco31ngowdNkK/img.png 회원가입 부분 코드 비밀번호 확인은 유니티 클라이언트에서 처리했고, 회원가입 부분에서는 닉네임 아이디를 검사하고 문제가 없다면 회원가입을 진행했다. !https://blog.kakaocdn.net/dn/cK2c60/btsGGmHsimV/4KRlukV8KTJtogwG9yF6K0/img.png 닉네임 중복 확인 !https://blog.kakaocdn.ne..

728x90