728x90

프로젝트 35

VV 트러블 슈팅 1. MSB3073 에러, NewObject with empty name can't be used to create default subobjects 에러

MSB3073 에러MSB3073에러가 발생해서 빌드가 안되는 문제를 겪었다.VS를 다시 켜보거나 Binaries를 삭제하고 리빌드 하는 과정을 거쳤지만 문제가 해결되지 않았다.해결 방법Build.cs 파일 수정FSocket 및 네트워킹 관련 기능을 사용하기 위해서는 프로젝트의 .Build.cs 파일에 필요한 모듈을 추가해야 했다.프로젝트 폴더에서 .Build.cs 파일을 열어서 PublicDependencyModuleNames에 필요한 모듈을 추가해주었다.나는 Sockets 와 Networking 모듈이 필요했기에 추가해주었다.PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "S..

Study/Project 2024.10.24

슬레이어즈_구분자 프레이밍 피드백

슬레이어즈 트러블 슈팅 관련 피드백패킷이 뭉쳐서 들어오는 문제 관련구분자 프레이밍으로 문제를 해결했는데, 잘은 동작하지만 확장성이 낮고, 문제가 생길 가능성이 크다.그런 이유로 구분자 프레이밍이 아닌 헤더-바디 프로토콜을 사용하면 이러한 문제를 해결할 수 있다.구분자 프레이밍에 문제가 있다.구분자의 충돌 가능성데이터 내용에 구분자와 동일한 패턴이 포함될 수 있다. 이 경우, 실제 데이터와 구분자를 혼동할 수 있어 데이터 패킷의 경계가 잘못 인식될 수 있다.이 문제를 해결하기 위해 데이터를 전송하기 전에 구분자를 이스케이핑(escaping)하거나, 데이터 인코딩 방식을 변경해야 하는데, 이는 추가적인 처리 비용을 초래한다.비효율성구분자가 포함된 데이터를 처리할 때, 구분자를 찾아야 하므로 문자열 검색 연산..

Study/Project 2024.06.18

24.06.18 면접

면접인생 첫 면접을 봤다.엄청 긴장했고, 같이 들어오신 인사담당자분께서도 여러번 너무 긴장하지 않아도 된다고 하신만큼 티가 났던 것같다.준비를 한다고 했지만 그래도 부족한게 많았고, 부족한건 확실하게 면접에서 문제가 됐다.그래도 그런 문제점을 그냥 있구나 하고 넘어가는게 아니라 적어 놓고 다시 보고 하면 도움이 될 것이라고 생각해서 이렇게 적어본다.Set정의set은 균형 이진 트리(일반적으로 레드-블랙 트리)로 구현된 정렬된 집합이다.특징정렬된 순서 : 원소들이 자동으로 정렬된 상태로 저장된다.탐색 시간 : 삽입, 삭제 검색 연산의 평균 시간 복잡도는 O(log n)이다.순회 : 원소들을 순회할 때 항상 정렬된 순서로 순회한다.사용 예데이터가 항상 정렬된 상태로 필요할 때특정 범위의 원소들을 빠르게 찾을..

나만무 슬레이어즈 정리

슬레이어즈한 줄 소개설산에서 썰매를 타고 즐기는 멀티 레이싱 게임장르캐주얼, 멀티플레이,레이싱사용 ToolUnity, C#, Node.js, Github, AWS, EC2, Amazon RDS(MYSQL), AWS CodeDeploy, ExpressJS팀 구성클라이언트 개발자 3, 서버 개발자 2일정2024.04.28 - 2023.05.25깃허브 링크https://github.com/SnowRail트러블 슈팅 및 개발일지트러블 슈팅 및 개발일지 모음 링크들어가서 트러블 슈팅 토글을 열어보면 볼 수 있다.지금까지 슬레이어즈 1-26까지의 글에 적혀있는 트러블 슈팅, 개발일지 내용이다.

Study/Project 2024.05.29

나만무 슬레이어즈 26

나만무클라이언트 접속 종료시 닉네임으로 표시되게 변경.접속 종료시 어떤 상태에서 종료되었는지 출력하게 변경했다.socket이 터져도 log가 출력되지 않았던 문제eventhandler 284-285 log와 socket 순서가 엇갈려 있었다.순서를 바꿈으로서 log가 출력되게 변경해주었다.최종 발표 연습오늘 최종 발표연습이 끝났다.이제는 이틀뒤에 최종 발표만이 남았다.진짜루 넘모링 무서운 것!!어쩌다보니 내가 해설을 맡게 됐는데, 팀원도 나를 믿고, 나도 나를 믿으니 잘할 수 있을 것이라고 생각한다. 난 최고잖아!구라다. 너무 떨려!! 오늘 최종발표 연습때도 그냥 심장이 입 밖으로 튀어나올뻔 했다. 두려워!!암낭너마ㅣ언마ㅣ언마 그래도 잘할거야. 내가 우리팀의 마무리를 최고의 순간으로 이끌고 싶다.오히려 ..

Study/Project 2024.05.24

나만무 슬레이어즈 25

나만무EC2 인스턴스 좋은걸로 테스트 → vCPU 크고 네트워크 대역폭 높은 것t3.small → c5.2xlarge로 변경했다.큰 차이는 보이지는 않지만 그래도 전보다 더 괜찮아진듯하다.인스턴스를 중지하고 성능을 바꾸는 형식으로 진행했다. 이때 인스턴스를 중지하고 키는 과정에서 ip가 변경되는 문제를 겪었는데, 탄력적 IP를 사용하여 다음에 그런일이 있더라도 다른곳에서 IP주소를 변경하지 않고 그대로 이용할 수 있도록 했다.해설 맹 연습 중이다.쉽지않다.크아아아악

Study/Project 2024.05.23

나만무 슬레이어즈 24

나만무네트워크 안좋으면 매칭 입장 안됨. 다른 플레이어 눈에는 입장한 걸로 보여서 Ready 패킷을 보내지 않아 게임이 시작되지 않음.매치메이킹과 같이 일정 시간이 끝난 후 게임이 시작되게 만들었다.그렇게 할 시 socket.write에서 문제가 생겼다.아직 받아오지 않은 socket에도 write를 하려고 하기 때문에 문제가 생겼는데, if(socket)으로 null 검사를 해주는 예외처리를 통해서 이 문제를 해결했다.리스폰 이펙트 추가gameObject의 material을 Fade와 Opaque 두 가지 버전으로 저장, 리스트로 관리했다.리스폰 후 코루틴으로 깜박깜박하게 구현한다.Opaque는 투명해지지 못하므로 StartCoroutine시 Fade로, StopCoroutine시 Opaque로 Mat..

Study/Project 2024.05.22

나만무 슬레이어즈 23

나만무다양한 사운드 추가endcount 사운드goalrespawnretire사운드를 추가하고 그에 따라 사운드를 사용하는 코드를 구현했다.SledFrictionAudioEffectGameManager에서 함수를 생성하고, 쓰는 것에서 soundmanager에서 끄도록 구현을 바꿨다.prefab 모터스키로 변경플레이어 생성 시 material 다양하게 설정하도록 구현했다.현재 material 4개 밖에 없어서 추가해야 한다.텍스쳐 확인해서 그림판을 사용해야 한다.카메라 포지션 변경다른 사람과의 테스트 필요하다.

Study/Project 2024.05.20

나만무 슬레이어즈 22

나만무폴리싱 위주timer 크기를 조정했다.속도계 배경 추가하고, 글씨 흰색으로 변경했다.리타이어 인원 - 게임 결과에 표시되도록 추가게임 도중에 클라이언트가 disconnect 되면 broadcast가 먹통되던 것 수정PlayerDisconnect() : socket이 속한 플레이어 리스트에서 플레이어 삭제하고, 다른 플레이어들에게 알린다종료 카운트다운이 끝난 직후 완주하면 골인 처리가 되는 상황gameRoomList에 state를 추가하고, 게임 진행 상황을 저장했다.GameStartCountDown 과 함께 state = true로 변경했다.GameEnd 와 함께 state = false로 변경했다.PlayerGoal : room.state == true 인 경우에만 Goal 처리가 가능하도록 조건..

Study/Project 2024.05.20

나만무 슬레이어즈 21

나만무 서버에서 안쓰는 함수들을 정리했다. 인게임 UI 글씨들이 배경과 같은 색이여서 가시성이 좋지 않아 검정색으로 수정했다. 속도가 100 이상일 때, Speed UI의 색상을 빨간색으로 변화 시키는 코드를 추가했다. 매칭이 두 번 안 눌리게 수정했다. 한글 폰트가 깨지는 문제.한글 폰트의 사이즈를 줄여 해결했다. 체크 포인트 너비가 얇아서 다른 사람이 길게 Position이 이동되면 체크포인트를 넘어가는 문제체크포인트의 너비를 1→7로 수정했다. 사운드 에셋을 찾고 있다.현재 불꽃의 땅 무스펠하임이 좋아보인다.

Study/Project 2024.05.18
728x90