묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
send 함수 질문이 있습니다
send를 사용할 때 블로킹 모드는 모든 데이터를 다 보내고 논블로킹은 일부만 보낼 수가 있다고 하셨는데 이 보낸다는 게 send를 사용한 사용자 커널에 있는 송신 버퍼에 보낸다는 건가요? 아니면 받는 사용자 커널에 있는 수신 버퍼에 보낸다는 건가요?그리고 논블로킹 모드에서 데이터를 일부만 보낼 수가 있으면 UDP에서는 데이터 경계의 대한 개념이 있으니까 논블로킹을 사용할 수 없는 건가요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
Adressable그룹에서 Sprite부분에 . 을붙인이후 작동이안됩니다.
영상을 따라했는데 Object_Firewood.sprite를 추가한 이후부터 wizard_SkeletonData : 4/7 에서멈추고있어요 어드레서블을 다시 빌드해도 같은현상이 일어나고있습니다. 유니티버전은 2022.3.16f1에디터 타겟플렛폼 윈도우 입니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
LEndTickCount를 중복검사 하는 이유가 궁금합니다.
요즘에도 답 달아주시는지 궁금하네요.ㅎㅎDoGlobalQueueWork()랑 JobQueue::Execute()에서 LEndTickCount를 검사하는데 굳이 DoGlobalQueueWork()에서도 검사해야 할 특별한 이유가 있을까요?
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
강의 참여 질문
강의 수강 중인데 디스코드 채널 어떻게 참가할 수 있나요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
늦었지만 멘토링 한 자리 추가 가능한가요
라이브 토요일->일요일 변경사실을 모르고 오늘 업로드된 강의를 들으려고 왔더니 월요일 업로드로 바뀌었네요.평일에는 한번에 3시간 이상 내기가 어려워서, 멘토링 비용 지출하더라도 주말에 깔끔하게 강의를 다 듣고 싶은데 지금이라도 멘토링 한 자리 받아갈 수 있을까요..?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
라이브 강의 관련 질문 드리고싶습니다.
본 연재형 강의를 신청하면 라이브 강의도 같이 볼 수 있는 줄 알고 신청 기간을 놓쳤습니다.혹시 지금이라도 라이브 강의 신청이 가능한지, 또 라이브 강의 신청 비용은 어느정도 되는지 궁금합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
본 강의 코드에서 Event와 CV간의 논리적 순서 차이
Event는 커널 레벨에서 다른 쓰레드와 통신하기 위해 사용하는 것이고 (이런 점에서 IPC와 유사하다고 생각됩니다. 하지만 프로세스와 달리 쓰레드는 메모리를 공유하므로 더 효율적이겠구요...) Condition Variable은 유저 레벨에서 직접 구현하는 것이라 생각하면 굳이 OS API 및 커널의 도움을 받지 않고 조건을 체크한다는 것으로 이해하였습니다.CV에서...일단 락 받아조건 맞아? 조건 안 맞으면 락 풀어. 다음 기회에...다른 thread에서 신호 줄때까지 blocked위 처럼 설명하신 것 같은데, 이해가 가지 않는 부분이 몇 군데 있어 질문드립니다.Q1. unique_lock<mutex> lock(m)은 생성자에서 이미 락을 잡았을텐데, 왜 cv.wait()에서 "1) Lock을 잡고" 부분에서 다시 락을 잡는건지 궁금합니다. 100% 락을 잡았다는 보장이 없는 것인가요?? 생성자에서 락을 잡지 못하면 어차피 다음 코드 실행이 안되지 않나요? (혹은 조건을 불만족했을때 cv.wait()에 대한 루프를 돌아야 하기 때문에 락을 다시 잡는 것인가요?)Q2. 왜 예제 코드에서는 Event 방식보다 CV 방식이 효율적이라고 하신건지 궁금합니다.결국 CV방식에서도 Blocking된 쓰레드를 깨우려면 커널의 도움을 받아야 하는 것 아닌가요?로직 상으로도 둘 다 바쁜 대기가 존재하지 않고 같은 순서로 동작하는 것 같은데 코드의 길이가 줄어서 효율적이라고 하신 건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReleaseRef 질문이 있습니다!
WraightRef wraight(new Wraight());wraight->ReleaseRef();wraight = nullptr;wraight 에 nullptr을 넣어서 ReleaseRef가 수행하는 도중에 위처럼 (중간에 개입)을 써 놓은 부분에서 다른 WraightRef가 wraight를 참조를 시도한다면 reftCount는 0이 되지만_refCount는 1이 되어서 delete this가 실행이 되면 문제가 발생하지 않나요??
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
API 종속에서 자유로워지기
강의 초반부에 windows.h같은 헤더를 사용하게 되면 추후 바꿔야 될 부분이 많아 표준인 thread를 사용한다고 하셨습니다.강의가 window os기반으로 구성되어 있고, 제가 window os는 잘 사용해 보지 않아 막연한 걱정이 있는데, 그럼 window에서 작동하는 IOCP로 서버 구성시, 추후 리눅스로 옮겨갈때 epoll로 바꿔주는 과정에도 엄청한 자원이 소모되지 않나요? 현업에서는 대부분 window os로 서버를 구성하나요? epoll에 대해서도 꼭 공부가 필요한지, IOCP에 비해 중요도가 떨어지는지도 궁금합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
코어와 쓰레드의 매핑관계가 잘 이해가 가지 않습니다.
10:30부근에 말씀하시는 내용을 들어보면,쓰레드의 개수 = 코어의 개수 일때 가장 이상적이라고 하셨습니다.CPU가 4코어일때 하나의 프로세스(MMO서버)에 4개의 쓰레드가 가장 이상적이라는 의미인가요?멀티코어 프로세서에서 같은 프로세스여도 서로 다른 쓰레드이면 각 코어마다 같은 프로세스의 서로 다른 쓰레드 작업이 가능하다. 이게 가능한 이유는 유저모드 쓰레드가 아닌 커널 모드 쓰레드 이기 때문이다.제가 이해한 위 내용이 맞는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의 내용 깃허브 또는 블로그 정리 관련 질문
안녕하세요.강의 들은 내용을 전반적으로 깃허브에 정리하려고 합니다.강의 캡쳐본이나 강의 예시 코드를 정리하고 작성을 하면서 이해하는 방식으로 학습하려고 하는데, 공개된 공간에 출처를 남긴 후 강의 캡쳐본이나 예시 코드를 함께 작성하여 정리해도 되는 지 여쭤봅니다.
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
Rookiss 켠김에 출시까지 Live 멘토링 등록 관련
안녕하세요. 루키스님회사에서 교육비 지원 문제로 멘토링 강좌는 1월에 등록하기로 예약했었는데요. 지금 들어가서 등록할려고 보니깐 이미 마감되었다고 나오는데 어떻게 해야 하나요?
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
강의 제목의 날짜가 강의가 업로드되는 날짜인가요?
라이브 멘토링이 일요일로 변경되었다고 하여 문의드리게 됐습니다. 강의 업로드 날짜도 일요일로 변경되는 것인지 아니면 강의가 먼저 올라오고 라이브 멘토링을 하시는 건지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
shared_ptr을 사용해도 되지만 소멸자에서 pool에 있는 애들을
shared_ptr을 사용하는 이유가 Pop한 오브젝트나 메모리 청크를 반납하지 않을까봐 걱정되어서라고 이해했습니다.그런데 MemoryPool 클래스 소멸자에 이미 풀에 있던 애들을 모두 메모리 해제해주고 있는데 이것을 굳이 걱정할 필요가 있는지 궁금합니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
파트 6 서버연동에 대해 질문합니다.
파트4에서는 5장에서 간단하게 다루고 파트 6에서 연동에 대해서 제대로 다루는 것으로 알고 있는데 혹시 파트 6는 언제 나올까요?부트캠프로 하신다고 하셨는데 제가 대학생이라 부트캠프를 참가할 여력이 안되는데혹시 온라인 강의로는 언제 공개될까요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
서버 분산 처리 에 대해서는 혹시 다룰 예정이 없으신가요?
게임서버만 제작하셨는데 DB 서버나 채널 등등 scale-up 관련으로 혹시 다룰 생각 없으신가요? 그리고 다른 질문에서 "나머지 MMO 컨텐츠는 추후 실전 부트캠프 강의에서나 다룰 생각입니다."이렇게 대답해주신거를 들었는데 부트캠프 강의 일정은 혹시 언제쯤 가능할지 알수 있을까요?끝으로 좋은강의 너무 감사합니다 다른 강의도 너무 잘듣고 있습니다.,
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
강의는 유니티 버전 몇으로 진행하시나요?
안녕하세요이번에 진행하시는 강의는 유니티 버전 몇으로 진행하시나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의 7:42 에 해당하는 내용에 대해서 질문입니다
안녕하세요. 강의 7:42 부분에 대해서 질문이 있습니다.말씀해주신 내용처럼 _popCount 가 1인지 체크하고 oldHead를 delete 하는 사이에 다른 쓰레드에서 TryPop() 함수를 참조하게 되는 상황이 헷갈리는데요. 만약 1번 쓰레드가 TryDelete 함수 내부에서 oldHead를 delete 했는데, 2번 쓰레드가 compare_exchange_weak 함수를 콜하게 된다면 이미 지워버린 oldHead 에 대해서 참조를 하게되는 상황이 문제가 될 듯 하여 질문드립니다.
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
멘토링 한자리 남겨주실수 있을까요?
혹시 가능하다면 멘토링 한자리 남겨주심 안될까요?회사에서 지원하는 금액이 넘어가서 멘토링은 담달초에 등록할려고 합니다. 2인 개발을 목표로 하고 있는데 한명은 그래픽이고 제가 기획이랑 프로그래밍을 할 예정이라 꼭 듣고 싶습니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
언리얼엔진과 IOCP 서버 연동시
서버에서 언리얼엔진의 네비메시나 비헤이비어트리 같은건 사용을 할 수 없나요?아니면 언리얼엔진 내부 코드를 분석하고 뜯어와서 C++서버에 이식을 하는건가요?