안녕하세요. 루키스님! M2 코드를 분석하면서, 약간 다른 게임을 (브롤스타즈같은 모바일 탑뷰 슈팅게임) 만들고 있습니다. 선 이동으로 구현하고 있는데, 서버 판정 이후 해결되지 않는 부분이 있어 질문 드립니다. 현재까지 구현한건 키보드 기반 간단한 이동 동기화 입니다. 이동 방법은 키보드나 조이스틱 기반의 선 이동으로 구현하려 합니다. 지금 이동 코드는 루키스님 질의응답과 해외 커뮤 글을 토대로 아래 방식으로 구현 했습니다. 0.1초마다 동기화를 시도함 키보드 입력이 있으면 desirePos를 그 방향으로 0.1초동안 갈 수 있는 pos 를 찍음 클라 판단으로 갈 수 있는 곳(벽X, 장애물 X) 이면 destPos를 갱신 서버로 전송 서버에서 정당한 이동 요청인지 판정 맞으면 브로드캐스트 각 클라에서 이동 패킷 수신 후 캐릭터 갱신 여기까지 하면 어느정도 자연스럽게 작동은 합니다. 하지만 이동을 보낸 클라 입장에서 서버로 부터 받은 판정을 적용하는 부분에 어려운 부분이 있습니다. 아무래도 선 이동이 예측 이동 후 보정이라 네트워크 지연으로 예측과 판정이 너무 많이 틀어지는 경우가 있을 것 같습니다. 예를들어, 클라에서 단순 우측으로만 움직인다고 가정하고, x 축으로 10 -> 11 -> 12 -> 13 선 이동을 했다는 가정으로 시작하겠습니다. 네트워크 지연으로 13에 도달했을 때 서버에서 10 이동 동기화가 왔다면, 선 이동 클라는 10으로 튕겨 버립니다. 그 후 방향을 바꿔 왼쪽으로 움직이면 10 -> 9 -> 8 -> 7 로 먼저 움직이겠지만, 이미 서버로 보낸 이동 좌표로 인해 11, 12, 13이 또 오기 때문에 캐릭터는 퉁퉁 튀면서 움직이지 못하는 상태가 될 것 같습니다. 또한, 다른 클라에서 공격을 해도 히트 판정이 다 꼬여 게임이 이상해질 것 같습니다. 이 문제를 해결하기 위해 고민해보니, 클라에서 선 이동 버퍼(기록)을 둔다고 합니다. 이 버퍼는 아래 문제가 생겼을 때 서버 판정을 다시 replay 하고, 서버 판정을 완료하면 다시 저장된 선 이동 버퍼를 replay 해 클라에서 너무 앞서나가지 않도록 하더라구요. 선이동 버퍼의 index와 서버 판정의 index가 n 이상 벌어지면, 서버 판정 index의 pos 로 플레이어 위치를 되돌리고 클라 선 이동 판정을 다시 실행시킴. 서버 판정으로 이동할 수 없는 pos 라면, 해당 pos 로 되돌리고 그 그 이후 선 이동 버퍼를 replay 여기서부터 질문입니다만, 이런 방법이 쓰이는 이유는 게임 전체의 공정성 때문 일까요? 네트워크 문제가 있는 일부 클라는 계속 롤백되는 경험을 하지만, 다른 유저들은 서버에서 허가한 상태만 보니까요. 보통 선 이동 버퍼와 서버 판정은 어느정도로 갭을 두나요? 0.1초마다 동기화 한다고 가정 하고 이동 패킷은 ++1 인 정수형 인덱스로 구분한다고 했을 때, 저는 한 4 정도로 생각했습니다. 선 이동과 서버 판정이 약 0.4초이상 벌어지면 롤백하고 다시 동기화 한다 입니다. 히트 판정의 경우 클라들, 서버가 같은 ticktime을 공유하고 있고 서버에서 내려준 히트 시작 시간을 보내주면, 클라에서 timejob queue에 넣어두었다가 해당 시간이 되면 애니메이션을 시작하면 되지 않을까? 라는 생각 입니다. 고민을 많이 해보았는데, 이 이상 생각이 안되어 질문 드립니다. 바쁘시겠지만 답변 주시면 감사히 학습에 사용하겠습니다.
The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법
현재 수강 진도를 함께 알려주세요! "1주차 3강까지 완료" 또는 "2주차 실습 중"처럼 어디까지 들으셨는지 적어주시면 맞춤형 답변을 드릴 수 있어요 구체적인 상황과 함께 질문해주세요! "AI가 안 된다"보다는 "Claude에서 이런 프롬프트를 입력했는데 이런 에러가 나와요"처럼 상세하게 적어주시면 더 정확한 답변을 드릴 수 있어요 스크린샷이나 코드를 첨부해주세요. 에러 화면, 현재 진행 상황을 보여주시면 문제 해결이 10배 빨라집니다! 마크다운 코드 블록(```)을 활용하면 더 깔끔하게 정리할 수 있어요 커뮤니티 검색을 먼저 해보세요. 같은 문제로 고민하신 분들이 이미 해결책을 찾았을 수도 있어요. 검색 후 못 찾으시면 언제든 새로 질문해주세요! 서로 도우며 함께 성장해요. 나도 모르는 건 "저도 궁금해요!"라고 댓글 달아주시고, 아는 건 적극적으로 공유해주세요. 가르치면서 더 잘하게 됩니다 바이브코딩 관련 질문은 환영, 기술 세부사항은 GPT 활용! 프롬프트 작성법, AI 도구 사용법은 여기서, 복잡한 코딩 문법은 ChatGPT에게 물어보시는 게 더 빨라요 진도나 과제 관련 문의는 1:1 문의를 이용해주세요. 개인적인 학습 계획, 환불, 수강 기간 연장 등은 따로 문의해주시면 더 자세히 상담드릴게요 실패 사례도 공유해주세요! "이렇게 했더니 망했어요" 같은 경험담도 다른 수강생들에게 큰 도움이 됩니다. 실패도 소중한 학습 자료예요 1-7강에서 hook을 배우고 있는데 window 환경에서 cursor를 이용해서 선생님 수업 따라가는 중에 전달자료대로 세팅을 해도 claude가 setting.json을 일고 실행한 뒤에 실행 되는 게 아니고 그냥 hook 자체가 적용이 안되는데 이 문제에 대한 해결 방법을 알려주시면 감사드리겠습니다
작업형 2에서 만약 회귀 문제이고 평가지표가 RMSE라면, 점수를 매길때 RMSE값으로 점수를 매기는건가요? 만약 그렇다면 어느정도로 차이가 나야 잘 나온건지 가늠이 안갑니다,, 선생님의 답이 RMSE값이 825일때, 제가 구한값이 800~850정도라면 평가가 잘된거라고 봐도 될까요
예제로 만들어주신 데이터에서 추가적으로 데이터를 변경하여 테스트를 하고 싶은데요 아래 데이터를 가져 올 수 있을가요? Fred에서 제공하는 지표 코드 Yahoo 에서 제공하는 지표와 티커 나스닥 100의 티커 해당 정보를 어떻게 가져오는지 알아야 추후- 응용하면서 사용할 수 있을것 같습니다. 감사합니다.
2번 문제를 풀다가 sum을 쓰는 방법에 대해서 궁금한 점이 있어 문의 드리빈다. 저는 print((a.sum(axis=1) > 0.1).sum()) 이렇게 풀었는데, 선생님께서는 print(sum(a.sum(axis=1) > 0.1)) 이렇게 푸셨더라구요. 답은 같은데, 두 방법의 차이가 있을까요?
절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part3) : Netcode로 개발하는 2D RPG
이번 강의에서 RPC를 통해 클라이언트의 클라이언트의 캐릭터들이 죽는것을 보았는데 만일 클라이언트의 캐릭터를 리스폰 해야 한다면 Network Manager 컴포넌트에 설정된 Default Player Prefab을 spawn 하는 방법이 있는건가요? 아니면 32강의 고블린 생성 방식처럼 Instantiate()로 워리어나 아처 캐릭터를 생성시킨 뒤 NetworkObject 컴포넌트의 Spawn()를 사용하는건가요?
안녕하세요, score 기반 서치를 할 때 특정 유사도 미만이면 결과를 출력해주지 않았는데요 물론.... 프로젝트의 종류, 성질에 따라 다르지겠지만, 보통 스코어가 0.X 이상일 때 부터 그나마 관련이 있는 문서여서 사용자에게 보여줘도 된다 ! 라는 그런 수치가 혹시 있을까요? 본 강의에서는 0.6이라고 정의를 하셨는데 실제 도입할 때는 몇으로 하는지 궁금합니다
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 자료형 1을 푸는데 df에 덮어쓴 수식이 잘못되서 시험에서 제공하는 처음 데이터 상태로 되돌릴 수는 없나요?
두 가지 질문이 있습니다. 1. 아래 코딩부분 강의에서는 유형별로 0,1 로 나오는데 제꺼는 true, false 로 나옵니다. 문제 없는건가요? 왜 다르게 나오는지 알고싶습니다. #원핫인코딩 df2 = pd.get_dummies ( df ) df2.head () model.summary 했을 때 나오지 않은 유형(강의에서는A)를 drop하면 되는건가요? 전부 다 나온다고 하면... 어떤 기준으로 드롭해야할까요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요! 기출2회 작업형1 2번문제 문의드립니다. std1과 std2가 같게 나왔는데, 한번에 돌리다보니 덮어써진 것 같습니다. 질문들을 찾아보니 코드를 다시 쓰면 된다고 답변을 다셨던데, 어디에 어떤 코드를 쓰면 될까요? 그리고 처음 std1을 찾을 때도 강의와는 다른 값이 나오던데, 이거는 이유가 있을까요?
안녕하세요, 강의 너무나 잘 듣고 있습니다. 다름이 아니라 지금 제가 듣고 있는 mm_faster_rcnn_train_kitti를 다루고 있는 수업에서 old colab버전과 new kaggle 버전을 비교하는 과정에서 차이가 있는데, 이것이 저와 같이 컴뷰터 비전이 처음인 사람들에게 너무 큰 이슈여서 강사님께 이 부분을 개선시키면 어떨까 제안드리고픈게 있어서 제보드립니다. old colab 버전에는 ms coco데이터셋의 annotation 버전에서 변환한 mmdetection의 중립데이터형태 (mid point)에 대한 텍스트와 이미지를 활용한 설명이 꽤 자세하게 들어가 있는데, kaggle버전으로 넘어오면서 이 셀이 통째로 사라진듯하여 kaggle 버전에도 이것을 넣어주시는건 어떨까요? 강의를 봐도 이해가 가지 않아 여러번 돌려보다가 찾아서 제보드립니다 .