목록분류 전체보기 (107)
rabbit97 님의 블로그
# 오늘의 개발 진행 상황 오늘은 테스트 중 발견한 문제 - 흡수나 신기루 카드 중 그냥 선택 없이 나가거나 서로 다른 공격카드를 동시에 받은 경우 무한 로딩에 빠지는 현상, 디버프 감금 장치가 다음 날 낮이 되어 풀리면 디버프가 사라져야하는데 삭제되지 않고 남아있는 현상디버프 쪽 로직을 도움을 많이 받았지만 내가 맡고 진행을 했기에 내일 오전까지 수정을 목표로 할 예정 - 오늘 새벽 바로 수정// debuff가 있는지 체크debuffCheck(userCharacter, debuff) { return userCharacter.debuffs.includes(debuff);}// 디버프 들고 있는 유저들을 찾는 방식.getDebuffUsers(debuff) { const users = this.get..
# 오늘의 개발 진행 상황 클라이언트에서 생겼던 글자 깨지는 문제랑 게임 종료시 브금 끄기를 추가하였다. ( 완전 노가다…. 기존 클라이언트에서 있던 텍스쳐 출력 부분을 모두 복사 붙여넣기 했다. ) 원인은 맥 유니티 환경에서 스크립트 파일이 인코딩 오류로 주석을 포함한 한글 모든 글자가 깨졌었는데 사운드 작업 중 변경 사항을 깃에 커밋하고 푸시하다가 기본 클라이언트에 이 인코딩 안된 글자들이 합쳐진 현상 인 게임 내에 택스쳐를 출력하는 부분을 전부 직접 입력해서 해결시간이 너무 많이 남아 서버쪽에서 테스트 코드를 더 작성해보았다. import net from 'net';import path from 'path';import protobuf from 'protobufjs';import { PACKET_T..
# 오늘의 개발 진행 상황팀원분이 사운드를 추가적으로 가져와주셔서 모든 사운드를 넣었다. using System.Collections;using System.Collections.Generic;using UnityEngine;using Ironcow;using UnityEngine.UI;using Ironcow.WebSocketPacket;using Google.Protobuf;using static GamePacket;using Unity.VisualScripting;using System;using System.Linq;using UnityEngine.SceneManagement;using System.Threading.Tasks;using static UnityEngine.UIElements.Uxm..
# 개발 진행상황 기록이 많이 비어있는데 3~4일 동안 한 것 - 테스트 코드 작성 - 클라이언트 사운드 적용 - 오류 개선 팀원 분들은 레디스 적용에 성공한 듯 하고 내가 진행 했던 부분들은 일단 2일 동안은 테스트 코드를 노드에 기본으로 내장되어있는 모듈로만 작성을 진행 해보았다. 유닛 테스트나 부하 테스트, 경계 테스트 라는걸 해보려했는데 유닛 테스트는 패킷을 주고 받는거만 했을땐 잘 되었고 부하 테스트는 로그인 과정에서 자꾸 서버가 꺼지는 현상이 있어 실패했다. 잘 되진 않았다.테스트 코드에 대해서 공부를 계속 하다가 팀원 분 중 한분이 사운드를 적용하려고 하는데 유니티가 실행이 되지 않아 적용이 어렵다 해서 일단 시간이 비는 내가 도와주기로 했다.남은 2일 동안은 사운드 적용에 집중 했는데 딱..
# 오늘 개발 진행 상황 금요일에 중간 발표가 끝나고 아직까지 의문인 점 왜 클라이언트는 패킷을 똑바로 받지 못하는가...?? 오늘도 그 문제에 봉착했다. 혹시나 하면서 생각해본 내용 1. 서버 문제? 2. 코드 구조 최적화? 3. 너무 많은 패킷을 보내 밀려서 안되는거라면 우선순위를 정해보기? 코드 최적화는 천천히 해 나가면 되는거고 1, 3번을 한번에 확인 할 수 있는 방법! 브렌치를 따로 파고 서버를 내가 열어보자! 일단 브렌치를 따로 테스트로 하나 만들었다. import CustomError from './../utils/errors/customError.js';import ErrorCodes from './../utils/errors/errorCodes.js';import config from ..
# 오늘의 개발 진행 상황 추측 항법을 적용 했으나 보내는 주기가 0.1초 이상으로 넘어가면 여전히 움직임이 끊기기는 함 클라이언트에서 보내는 패킷번호 4번 빈 내용의 로그인 리스폰스로 서버에 일정 주기만큼 보내서 그 받는 시간을 저장해 평균값으로 레이턴시를 구하는 방법import { getGameSessionBySocket } from '../../sessions/game.session.js';import { createResponse } from '../../utils/packet/response/createResponse.js';import config from '../../config/config.js';import { getUserBySocket } from '../../sessions/user..
# 오늘의 개발 진행 상황추측 항법 로직 구현 중 레이턴시 값을 어떻게 줘야하나 고민 중 핑을 보내서 퐁을 받고 레이턴시 값을 구하자 결정하고 클라이언트 코드를 확인하니 패킷을 받아서 처리하는 부분이 컴파일된 파일이였고 원본 파일이 없어 어떻게 처리하지 고민 중 일단 튜터님께 질문을 드리러가 이걸 어떻게 해야하나 조언을 구해보기 추측 항법을 구현하려는 이유가 배포된 서버에서 패킷이 너무 많아 늦게 도착한다고 추측하고 위치 값을 일정 주기로 보내고 추측 항법을 사용해서 트래픽을 줄여보자는 의견이였는데 튜터님의 답변은 네트워크 트래픽때문에 추측 항법을 구현하는건 맞지 않다는 답변. 근본적인 문제를 찾기 위해서 최대한 트래픽을 줄일 수 있는 방법을 찾고 다시 테스트 시작 위치이동 업데이트, 유저 업데이..
# 오늘의 개발 진행 상황 일단 전체적인 구현이 끝나고 남은 세세한 작업들만 남아있어 지금 팀원 중 한분이 담당하고 계시고 나머지 팀원들은 추가기능으로 어떤걸 구현해야할지 고민 중 한명은 게임 중 음성채팅 기능 한명은 데이터베이스 레디스 적용 여부 설계 남은 한명은 예비군 이슈로 금요일 부터 출석 가능 나는 남은 중간발표까지 개발을 완료할 자신이 없어 미뤄두었던 테스트 코드를 작성하기 시작 추가된 내용이 엄청 많아서 기록은 안하고 브렌치에 테스트로 따로 파놓고 작업을 진행했다. https://github.com/10-simhi-haja/bang_game/commit/4e2d252ae69a46e7afb6f2fdbe8b49a7ea1726c0 (김우섭) add: "테스트코드 임시 작성" · 10-simhi-h..
# 개발 진행 상황 모든 패킷 명세가 클라이언트가 원하는대로 작성이 완료 되었다. 나의 마무리 작업은 감금장치 마무리하기 잘 안풀려서 팀원의 도움을 받았지만 덕분에 정상적으로 잘 합칠 수 있었고 이제 남은 개발은 명세는 끝났고 리펙토링 및 추가 구현만 남았다. 오늘 진행한 감금장치 로직처음에는 인터벌로 매 순간 감금장치 상태인지 확인하는 로직을 작성했었는데 이미 매 초마다 유저의 정보를 관리하는 유틸 함수가 있어서 팀원 중 한분이 거기에 작성하는게 좋을 것 같다 추천 그래서 유저 업데이트에 감금 장치와 관련된 로직을 추가하고 (사실 이해를 못해서 도움을 많이 받았다.)gameUpdate() { // 체력이 0이되면 죽도록 없데이트. const userDatas = this.getAllUserDatas..

# 오늘의 개발 상황위성 타겟 다 클라이언트 상황에서 문제 발견기존 작성 된 로직 이 방식은 위성 타겟이라는 디버프를 가진 유저를 찾은 다음에 페이즈가 낮이 되면 전달할 다음 유저를 찾아서 확률을 발동 시키고 트루면 데미지 및 이펙트, 펄스면 자신에게 디버프를 지우고 내 다음 유저(방 입장 순서)에게 이 디버프를 전달매일 낮마다 반복 이였는데 문제는내 다음 유저에게 디버프를 전달 후 내 다음 유저에게 디버프가 존재해 또 디버프를 다음 유저에게 전달하고를 반복해서 방장에게만 디버프가 전달되는 상황 ** 관련 로그 요약 - 한 턴에 일어난 상황 User 9 '3': 디버프가 User 9 에게 전이되었습니다. \현재 좌표: x: -21.622, y: -6.936User 10 '4': 디버프가 User 10 에..