IOCP 멀티 게임에서 Collsion 충돌 처리는 어떻게 구현하나요?
321
작성자 없음
작성한 질문수 0
본 강의에서는 제가 못찾고 있는지는 모르겠지만 멀티 게임 구현시 타일맵을 이용한 충돌 구현만 있는 것 같습니다. (혹시 만약 있다면 어디에서 언급되는지 모르겠네요..)
얼핏 기억하기로는 충돌 처리는 서버에서 해야 한다고 했던 기억이 있습니다.
그러면 클라이언트에 있는 CollisionManager, Collison클래스와 같이 충돌과 관련된 클래스를 서버 쪽에도 복붙하여 충돌 처리를 하는 방향이 맞을까요?
만약 그렇다면 현재까지는 클라이언트에서 Collision 범위를 네모 박스와 같은 형태로 그려서 눈으로 직관적으로 확인 가능하니까 쉽게 디버깅할 수 있었는데, 서버에서 충돌을 구현하면 눈에 보이지 않는거 아닌가요? (그렇다면 디버깅이 굉장히 어렵겠네요...)
서버에서 충돌을 구현하면 클라이언트에서는 충돌 처리를 안하니까 클라이언트의 Bullet과 벽은 Collision은 제거하면 될까요?
멀티 게임에서 충돌을 어떻게 처리해야 할지 방향을 잘 모르겠습니다.
그리고 강의 너무 잘 보고 있습니다!
답변 1
1
그러면 클라이언트에 있는 CollisionManager, Collison클래스와 같이 충돌과 관련된 클래스를 서버 쪽에도 복붙하여 충돌 처리를 하는 방향이 맞을까요?
네 그렇습니다.
만약 그렇다면 현재까지는 클라이언트에서 Collision 범위를 네모 박스와 같은 형태로 그려서 눈으로 직관적으로 확인 가능하니까 쉽게 디버깅할 수 있었는데, 서버에서 충돌을 구현하면 눈에 보이지 않는거 아닌가요? (그렇다면 디버깅이 굉장히 어렵겠네요...)
네 그렇습니다. 온라인 게임 개발에 오신 것을 환영합니..
서버에서 충돌을 구현하면 클라이언트에서는 충돌 처리를 안하니까 클라이언트의 Bullet과 벽은 Collision은 제거하면 될까요?
그건 선택사항입니다. 양쪽에 동시에 충돌 판정을 하는 경우도 있고요
(예를 들어 RPG 게임에서 벽 충돌은, 클라에서 먼저 처리합니다)
0
그럴 때는 공용 라이브러리를 파서 만드시고
lib이나 dll로 서버/클라에서 끌어다 쓰시면 됩니다.
너무 어려우면 그냥 당분간 복붙을 해보세요.
그리고 양쪽에 다 동일한 충돌 코드가 있다 한들,
이동 동기화가 정확히 되지 않으면 그 또한 많은 문제를 야기할 수 있습니다.
마지막으로 질문은 어지간하면 하지 않고
혼자 해결하는 습관을 들여보세요.
제가 10년 넘게 하면서 느낀 부분이기도 한데
성장을 하는 프로그래머/학생들은 처음부터 질문을 거의 안 합니다.
잘못된 방법일 수도 있겠지만 본인이 생각한 하나의 방법을 고안하고
그것을 구현해보고, 또 안 되면 다른 방법으로 해보고
이런 식으로 계속 반복해서 하면 정말 얻는 것이 많습니다.
그럼 힘내세요!
0
수학 문제를 풀 때 오랫동안 고민한 문제는 평생도록 기억에 남지만,
순간적으로 답을 본 문제는 금방 잊는 것과 유사합니다.
프로그래밍 또한 초급 레벨만 벗어나도, 혹은 회사를 가면
더 이상 나의 질문에 대답해줄 사람이 없습니다.
따라서 스스로 답을 찾는 것이 성장의 지름길이고,
이 부분은 일일히 선을 제가 제시하는 것이 아닙니다.
문제집은 없나요 수업을 어떻게 들어야 할지 모르겠어요
0
106
2
동적배열 Vector의 push_back 함수에서 조건문 질문
0
74
1
디버깅할때 메모리보는법 단축키가 뭐죠??
0
89
1
113-충돌처리 강의에서 22:26 부근의 SetPos()를 적용해도 충돌되지 않고 뚫고 지나가게 됩니다.
0
87
1
SaveFile에서 크래시 발생하는 분들 체크해보세요
1
70
1
수업자료 확인 부탁드립니다.
0
105
3
explicit을 붙였을 때 빨간줄이 뜨는 이유가 맞는지 궁금합니다.
0
100
0
22강에서 구조체와 포인터로 설명해주셨는데 패딩의 경우는 어떻게 되나요?
0
88
2
리소스 매니저 강의 18분 부근
0
89
1
[Service강의] owner -> shared_ptr
0
80
2
C#에서 생성자 관련 질문
0
83
2
특정 조건에서만 함수를 반환할 때
0
90
2
스택 empty
0
105
2
섹션4 배열실습 질문입니다.
0
132
1
섹션3 '파일분할' 강의 질문입니다.
0
99
1
Defines.h의 DECLARE_SINGLE관련 질문입니다.
0
110
1
세션8 우선순위 큐 pop함수의 Predicate 적용 관련 질문이 있습니다.
0
180
3
섹션9 함수 포인터 관련 질문입니다.
0
137
1
exercise_A 번 문제 해결방법에 대한 질문.
0
150
1
[강의명: virtual 소멸자] 자식 클래스의 소멸자에도 virtual 을 붙이시는 이유가 궁금합니다
0
198
2
Scene과 SceneManager 강의 수강 중 키보드 입력 오류
0
146
1
Window API 강의 수강 중 LARGE_INTEGER 타입 변환 오류
0
198
3
섹션15 스마트 포인터 20:00 질문이요!
0
127
1
55강 수업자료 빌드를 하면 이상합니다.
0
132
1





