묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
리니지 클래식 ECS
리니지 클래식처럼 대규모 전투가 가능하고 심리스 MMO를 만들려면 유니티의 ECS를 필수로 해야 하나요? 리니지 클래식은 ECS 기법인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Memory Pool에서 오버플로우 질문입니다.
이전에 StompAllocator에서 오버플로우를 대비하여 할당받은 페이지의 끝에 데이터를 위치하도록 하였는데, 라이브 서비스에서 메모리 풀을 사용할 때 데이터 뒤에 오버플로우 방지를 위해 가드를 붙이기도 하나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
포토폴리오 및 진로 관련하여 고민입니다.
프로카데미 3코스를 마치고, 포토폴리오 구성 및 취업 준비에 들어가는 중입니다 프로카데미 덕분에 기본기 및 컴퓨팅적 사고력은 많이 향상된 상태이고, 완전한 형태이진 않지만 네트워크 라이브러리도 직접 만들수 있었습니다, 부족한 부분이 있으면 루키스 님의 강의를 보며 포토폴리오를 구성하려고 합니다 서버 개발자의 포토폴리오는 어떤 점을 중점적으로 구성해야 할까?단순 어떤 기능 구현.... 어떤 라이브러리 사용 이런 부분은 의미 없는것 같고뭔가 병목 구간을 잡아 트러블 슈팅하는 과정을 중점적으로 작성해야 할까요?또한 포폴을 구성했을 떄 최소한의 들어가야 하는 컨텐츠가 궁금합니다. 요즘 신입 공고는 씨가 말라 3년차 공고에 지원을 넣어보려 하는데변별럭을 가지고 어필을 하기위해선 어떤 점을 중심으로 포폴을 구성해야 하는지 조금이라도 조언 주시면 정말 감사할 것 같습니다+ 최근 게시글을 살펴보니 서버 올인이 상당히 위험하다. 라고 평가해 주셨는데 이유가 궁금합니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
포토폴리오 관련 고민입니다.
현재 프로카데미 3코스를 수료하고, 포토폴리오 구성 및 취업 준비에 들어가는 중입니다 프로카데미 덕분에 기본기 및 컴퓨팅적 사고력은 많이 향상된 상태이고, 완전한 형태이진 않지만 네트워크 라이브러리도 직접 만들었고, 부족한 부분이 있으면 루키스 님의 강의를 보며 포토폴리오를 구성하려고 합니다 서버 개발자의 포토폴리오는 어떤 점을 중점적으로 구성해야 할까? 단순 어떤 기능 구현.... 어떤 라이브러리 사용 이런 부분은 의미 없는것 같고 뭔가 병목 구간을 잡아 트러블 슈팅하는 과정을 중점적으로 작성해야 할까요? 또한 포폴을 구성했을 떄 최소한의 들어가야 하는 컨텐츠가 궁금합니다. 요즘 신입 공고는 씨가 말라 3년차 공고에 지원을 넣어보려 하는데 변별럭을 가지고 어필을 하기위해선 어떤 점을 중심으로 포폴을 구성해야 하는지 조금이라도 조언 주시면 정말 감사할 것 같습니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.
강의에서는 직접 만들어서 쓰기도 한다고 언급하셨는데, 그게 업계에서 대부분이 그렇게 쓰는건지, 아니면 특수한 경우에서만 그렇게 썼던 것인지 궁금합니다.강의에서 나온 xnew 같은 것들을 만약 디버깅이나 개발의 편의성을 위해서 직접 쓴다면, 제가 개인 프로젝트를 할 때 강의에서 나온 주요 서버 엔진 코드(매크로 등)를 기본 베이스로 깔고 해도 되는건가요? 아니면 만들다가 필요한 부분이 있으면 그때 그때 엔진도 같이 발전시켜 나가는 형태로 개발이 되는건가요? 이 강의를 다 듣고 추후에 포트폴리오를 만들 때 강의에 나온 코드를 이용하여도 되는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
성능 테스트 결과
SList로 구현한 코드와 Lock을 걸며 큐에 pop push를 하는 코드의 실행시간을 스레드의 수와 일의 반복수(for문의 반복횟수)를 늘려서 시간을 측정해보았더니 Lock을 걸어 실행한 시간이 더 짧게 나오는데 둘다 어쨋든 CAS연산을 해주기 때문에 그런것일까요? 그렇다고 하면 굳이 LockFree로 구현하는 이유가 뭔지 궁금합니다Lock을 쥔 스레드가 데드락이 되어 다른 스레드들도 통과를 못하는 경우가 있어서 그런건가요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
게임 서버 Stateful, Stateless 진로 고민
먼저 강의 재밌게 보고 있습니다. 감사합니다.이 강의를 사면서 좋아하는 게임 개발을 위해 어떤 장르든 만들 수 있는 능력을 키우는게 목표였습니다.강의를 공부하면서 진로를 생각해보니, Stateless로 취직을 하게 된다면 (예. C#을 사용하는 수집형 게임) 경력의 문제 때문에 Stateful로 갈 수 없다는 생각이 들게 되었습니다. 또한 요즘은 Stateless 공고도 많이 없어서 이쪽으로 갈 경우 나중에 경력이 망할 수도 있는게 아닌지 불안합니다. (실력이 아닌 기술 스택에 의한 경력을 안쳐준다든지...)제가 만들고 싶은 게임이 아니라도 Stateful로 경력을 시작해서 원하는 곳으로 이직을 할 기반을 만드는 것이 맞는지, 그냥 Stateless여도 이직할 곳이 꽤 있으니 원하는 회사로 지원하는게 맞는지 너무 어렵습니다.공부만 생각하고 싶은데, 집중이 안되서 질문 드립니다...
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
WaitOnAddress와 Sleep의 차이 질문
Sleep()은 현재의 타임 슬라이스를 모두 포기하고 인자로 들어온 값 만큼 스케쥴링을 포기하는 것은 맞지만 여전히 'Ready 상태'인 반면 WaitOnAddress()는 아예 'Blocked 상태'로 빠져 버려서, 스레드가 깨어나는 상황이라면 Dispatcher가 직접 Ready Queue로 스레드를 넣어줘서 Ready 상태가 됨에 따라 다시 스케쥴링이 되는 상황으로 이해했는데 올바른 방향으로 이해한 것일까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
질문 있습니다.
안녕하세요. 강사님.이전 강의에서 VisionCube::Update 함수에서Spawn패킷 처리할 때 MergeFrom으로 복사를 하셨습니다.이번 강의의GameRoom::EnterGame 에서는Spawn패킷을 참조형식으로 Add 했습니다. 제 생각에는현재 잡방식이기 때문에 비동기로 처리되어 있고,2) EnterGame보다 빈번하게 발생하는 VisionCube::Update에서는 복사로 Add를 진행한 것이고, 3)자주 발생하지 않는 EnterGame 함수여서참조 값으로 Add 한것 인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
심리스 존 방식 난이도
심리스하고 존 방식 난이도에 비교 할때심리스를 100이라고 한다면 존 방식은주관적으로 몇이라고 생각 하세요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
궁금한거 있습니다.
ClientSocket 즉 Session 의 소켓을 CreateIoCompletionPort 를 이용하여 등록해주어야지만 IOCP 큐로 부터 통지가 오지않나요? WSARecv 만 걸었는데 어떻게 통지가 오는지 궁금합니다.
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
학습 전 커리큘럼 관련 질문 드립니다
안녕하세요강의 커리큘럼에 대해 알고 싶은 게 있어 질문 드립니다 저는 현직 웹개발자인데1인 방치형 rpg 게임을 만들고 싶어서작년에 M1+C1 강의를 구매했다가 다시 듣기 시작했습니다 그런데 학습 전 수강평을 살펴보는데 M1 강의가 무산됐다는 글이 많더라구요그래서 무산된 프로젝트를 참고하는 것보단 완성된 프로젝트를 참고하고 싶어서컨셉이 MMO RPG라서 구매를 하지 않았던 M2 강의를 구매했습니다 그런데 이 프로젝트도 제 기억엔 작년 하반기나 올해 상반기쯤 마감 예정이었던 듯한데마지막 업로드가 얼마 전인 12월 17일이더라구요 그래서 강의 시작 전 조금 더 확신을 갖고 싶어서 질문 드리고 싶습니다바쁘시겠지만 긴 답변을 원하는 게 아닌 만큼퀄리티 떨어지는 AI답변 말고현 시점에서의 강사님의 직접적인 답변을 받아보고 싶습니다 강의 구매목록M1 + C1M2C# 개발시리즈 part1(C# 기초)C# 개발시리즈 part3(유니티 엔진)C# 개발시리즈 part4(게임서버)C# 개발시리즈 part7(Unity + C# 서버 연동 기초) 현재 언어는 다르지만 개념이 겹치는 걸 제외하고 위 강의들을 구매하였고 따로 unity 에셋 정도를 구매한 상태인데강의 금액도 금액이고 제가 이 강의를 수강하려면 적지 않은 시간이 들 거 같아서시작 전 강사님의 시선에서 제 학습 방향이 가능한 것인지 답변을 들어보고 싶습니다 질문 1위 강의들을 완강하고 기획과 아트 리소스를 변경할 수 있게 되면게임을 출시할 수 있을 정도의 완성 구조 소스코드를 제공받을 수 있는 것 맞을까요? 질문 2unity 에셋스토어에서 캐릭터 등의 리소스를 구매하여 사용하려는데가능할지 여부와 만약 그렇게 할 경우 주의 또는 참고해야 될 사항이 있을지 궁금합니다
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
강의 커리큘럼 질문 드립니다
안녕하세요강의 커리큘럼에 대해 알고 싶은 게 있어 질문 드립니다 저는 현직 웹개발자인데1인 방치형 rpg 게임을 만들고 싶어서작년에 M1+C1 강의를 구매했다가 다시 듣기 시작했습니다 그런데 학습 전 수강평을 살펴보는데 M1 강의가 무산됐다는 글이 많더라구요그래서 무산된 프로젝트를 참고하는 것보단 완성된 프로젝트를 참고하고 싶어서컨셉이 MMO RPG라서 구매를 하지 않았던 M2 강의를 구매했습니다 그런데 이 프로젝트도 제 기억엔 작년 하반기나 올해 상반기쯤 마감 예정이었던 듯한데마지막 업로드가 얼마 전인 12월 17일이더라구요 그래서 강의 시작 전 조금 더 확신을 갖고 싶어서 질문 드리고 싶습니다바쁘시겠지만 긴 답변을 원하는 게 아닌 만큼 강사님의 직접 답변을 부탁드립니다 강의 구매목록M1 + C1M2C# 개발시리즈 part1(C# 기초)C# 개발시리즈 part3(유니티 엔진)C# 개발시리즈 part4(게임서버)C# 개발시리즈 part7(Unity + C# 서버 연동 기초) 현재 언어는 다르지만 개념이 겹치는 걸 제외하고 위 강의들을 구매하였고 따로 unity 에셋 정도를 구매한 상태인데강의 금액도 금액이고 제가 이 강의를 수강하려면 적지 않은 시간이 들 거 같아서시작 전 강사님의 시선에서 제 학습 방향이 가능한 것인지 답변을 들어보고 싶습니다 질문 1위 강의들을 완강하고 기획과 아트 리소스를 변경할 수 있게 되면게임을 출시할 수 있을 정도의 완성 구조 소스코드를 제공받을 수 있는 것 맞을까요? 질문 2unity 에셋스토어에서 캐릭터 등의 리소스를 구매하여 사용하려는데가능할지 여부와 만약 그렇게 할 경우 주의 또는 참고해야 될 사항이 있을지 궁금합니다
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
JobTimer 구동 스레드
모든 스레드가 distribute하지 않고, 메인 스레드만 담당하게 해주면 락을 잡을 필요도 없지 않나요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
수업질문은 아닌데요^^
켠출 수강생 리뷰 이벤트] M1, M2, D1→ 여기에 이메일 주소 남겼는데 한번 확인해주시면 감사드리겠습니다^^ rookiss@naver.com 여기로도 보내드렸습니다^^ 감사합니다!
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
수업질문은 아닌데요^^
켠출 수강생 리뷰 이벤트 M1, M2, D1 → 여기에 이메일주소 남겼는데, 한번 확인해주시면 감사드리겠습니다^^ rookiss@naver.com 여기로도 보내드렸습니다^^ 감사합니다!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TryPop() 동작 관련 질문
0이 아닌 -countIncrease와 비교하는 이유가 다른 쓰레드들에 의해 internalCount가 이미 음수가 되어있는 경우 countIncrease의 증가로 인해 정확히 0이 되는 상황일때, 삭제 할 수 있도록 처리하기 위함이 맞나요? compare_exchange_strong에 의해서 oldHead가 최신 _head로 갱신되므로, 이미 pop된 객체에 대해 다시 접근한다거나, 쓰레드가 함수의 무한 루프에 빠지는 경우가 배제되는 것으로 이해했는데 맞을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
로드맵 C#서버 C++서버 방향성 질문
안녕하세요 강사닙 C++ IOCP강의 정말 감탄하면서 잘 들었습니다. ( 되새김질 50번은 한거같네요 ) 양질의 강의 제공해주신 점 정말 감사합니다.현재 저는 대학교 3학년 복학 준비중이고, 졸업작품 제작을 염두에 두고 있는 상태입니다.로드맵 관련해서 질문하고 싶은게 있습니다. Unity의 part4 C#목차를 보면 C++서버와 동일하더라고요.근데 굳이 후순위에 배치하신점이 궁금합니다.( C++서버와 구조가 같아보이는데 들어야할까요? ) ( JobQueue같은 스레드 배치항목만 이해했다면 굳이? 싶어서요 ) 또한 unity시리즈의 데베쪽 강의와 연동쪽 (part 5~9 )를 듣고 싶은데, unity엔진에 대한 경험이 없어도 될까요?UE로 포폴을 작성할 생각인데, C++연동 강의를 듣고 UE공부를 할려고 합니다. (GAS 등 ) 이 때, 공부 순서를 어떻게 해야할지 감이 안잡혀서요...C#으로 데베연동쪽으로 컨텐츠 구현감을 잡고나서 하는게 좋을까요?분산서버의 경우 C#과 C++을 혼용해서 개발할 수 있을거 같은데, 이걸 위해서라도 C#을 공부하는게 좋을까요? ( 인증서버는 C#으로 구현하는 경우가 많으니 )
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
스레드 id를 출력할떄 메인스레드 id도 출력되나요?
메인스레드가 1번을 먹는것까지는 이해했는데 그 이후에 원래 1부터 6까지 전부 출력되는것이 맞나요? 루키스님 화면에서는 2에서 6까지만 출력이 되는걸로 보여서 질문드립니다 해결했습니다 감사합니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
생명주기를 위한 의도적 복사
안녕하세요 강의 정말 감탄하면서 잘 수강하고 있습니다. Job에서 보편참조로 받았는데 forward로 하지 않은 것은 Ref들의 생명연장을 해주기 위해 의도적으로 복사하기 위한 의도일까요?JobSerializer로 인터페이스를 제공한 쪽에서는 어차피 Job내부에서 복사를 일으키고 있으니 forwad로 전달하는 의도가 맞을까요?강의 코드를 매일 복기하면서 보고 있는데 정말 감탄이 나오네요 항상 감사드립니다.