디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

혹시 게임프로그래밍 하는 사람 없나 내가 처음으로 프로그래밍 질문올린다.

영꼰이갤로그로 이동합니다. 2012.11.22 18:58:02
조회 279 추천 0 댓글 21


1. 나는 그냥 프로그래머고 게임 프로그래밍을 하는 사람은 아닌데 그냥 2D 게임을 만들어 보려고 생각 중이다.

2. 대부분의 게임에서 가장 본질적이고 핵심적인 부분이라고 할 수 있는 '충돌체크'에 대한 질문을 하려고 한다.

3. 프로그래밍 언어나 게임프로그래밍에 대한 기초적인 지식은 가지고 있으니 적당히 설명해 주면 알아 들을 수 있다.

---

자, 우선 나는 일반적으로 2D 게임에서 쉽게 통용되는 '두 사각형 객체 간의 충돌체크'에 대해서는 무리 없이 알고 있다.

이 경우는 객체 간의 관계가 '일대일'일 때고, 다음으로 생각해 봐야 하는 상황은 객체 간의 관계가 '일대다'인 경우이다.

즉, 슈팅 게임에 나오는 '플레이어가 조종하는 캐릭터 하나와 다수의 적들의 관계' 정도를 생각하면 된다. 다시 말해,

내 캐릭터와 적들 간의 충돌체크는 필요하지만, 적들 서로 간의 충돌체크는 필요하지 않은 그런 상황을 말하는 것이다.

이런 경우에는 그냥 상대 객체의 수만큼(적의 수만큼) 체크를 반복하면 된다. 그렇게까지 연산 횟수가 많이 늘어나지 않아

(상대 객체가 100이면 100번만 하면 되니까) 이렇게 해도 사실 큰 무리가 없어 보인다.

---

문제는 객체 간의 관계가 '다대다'일 때이다. 다시 말해, "적군과 아군이 30대 30으로 전투를 벌이는 게임"에서는 아군과 적군

사이의 충돌체크 뿐만 아니라, 아군과 아군 사이에서도 충돌체크가 필요하다. (겹치면 안되니까) 다시 말해 화면 내에 있는

모든 객체들이 서로에 대한 충돌체크가 필요한 것이다. 이런 경우에 위와 같은 방법을 적용하면 생각보다 많은 연산횟수가

필요하게 된다. 중복된 체크를 피하더라도 객체의 수 n에 따라 n!이라는 횟수로 증가하게 되는데, 내가 실제로 구현해보지

않은 상태라 이게 어느정도의 부하를 가져 올 지는 모르겠지만, 누가 생각해 봐도 결코 좋은 방법은 아니다.

---

그렇다면 결론적으로 "다수의 객체들이 실시간으로 자신을 제외한 모든 객체와 충돌체크를 할 수 있는 효율적인 알고리즘 혹은 그 방법"

이 있다면 어떤 방법이 있을까? 그리고 일반적인 2D 게임들은 어떤 방법을 이용하는 것일까? 그것이 궁금하다.

---

구체적인 구현 방법에 대해서 설명하지 않아도 개괄적으로 이런 방식이 효율적이다 정도만 제시해 줘도 충분히 구현 할 수 있을 거 같은데

어디 그런 거 물어볼 데가 없다. 저번에 보니까 영역을 여러개로 나눠서 각 영역 내에 있는 것들끼리만 연산한다던데, 그러면 경계면에 있는

두 객체는 연산이 안되거나 하는 문제가 발생할 수 있지 않나? 거기에 뭐 이진탐색 같은 걸 활용한다는 거 같기도 하고 여튼 모르겠다.

누구 좀 잘 가르쳐 줄 사람 없을까?

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
338437 그런데 보통 2년 일하면 보직 바꿔주지 않냐? [1] 사리돈(112.171) 12.11.22 74 0
338436 이직하려면 최소한 면접을 해야하는데 어떻게 하루 빠져?? [2] 프겔러(182.211) 12.11.22 124 0
338435 전산직 공뭔 vs 구글코리아 [4] 프겔러(182.211) 12.11.22 235 0
338431 취업은 무조껀 큰 회사에서 해야한다. [2] 프겔러(182.211) 12.11.22 117 0
338430 마치 저자 같은데 "프로그래머로 산다는 것" 이라는 책 빌려서라도 봐봐 [2] 프겔러(182.211) 12.11.22 117 0
338428 프리랜서는 어떻게 일하는거임? [5] 123(112.165) 12.11.22 148 0
338427 상사가 조낸 까칠하고 그러면 횽들은 어찌 극복해?? [3] 프겔러(182.211) 12.11.22 70 0
338426 내용은 대략 이렇다 [28] ㅁㄴㅇㄹ8ㅠ(121.140) 12.11.22 217 0
338425 자바 할줄아는사람 2만원짜리 숙제알바 문제 더럽게쉬움 [2] ㅁㄴㅇㄹ8ㅠ(121.140) 12.11.22 113 0
338424 요즘 프로그래머로 산다는 것 이라는 책을 보고 있는데 [4] 프겔러(182.211) 12.11.22 112 0
338423 아오 자바 빢치네 [1] 에릭슈미트갤로그로 이동합니다. 12.11.22 55 0
338422 비주얼 2010 express에 비트맵 어떻게 넣어요? [2] 1234(211.51) 12.11.22 39 0
338421 프겔러들이여 여자를 만나고 싶으면 교회를 가라~!! 프겔러(182.211) 12.11.22 68 0
338419 내가 처음 만든 프로그램 ㅋㅋ [7] 상상(211.246) 12.11.22 145 0
338418 형들 졸업작품으로 해보려고 하는 앱인데 구현가능성,난이도 등 상담해줘 [9] 123(118.36) 12.11.22 175 0
338417 형님들 마지막 질문 (포인터) [6] 섹스킹(121.150) 12.11.22 83 0
338415 c형 감사. 형들도움좀(182.218) 12.11.22 33 0
338414 에미넴머리 하고왔다 질문받는다 [5] 티버애니갤로그로 이동합니다. 12.11.22 480 0
338413 지극히 정상적인 질문하나 던질터이니 정상적인 답변 기다리겠습니다 [5] 씨앗(175.125) 12.11.22 64 0
338412 형님들 포인터 질문좀 할게요 [6] 섹스킹(121.150) 12.11.22 64 0
338411 안드로이드 프로그래밍 할때.. [4] 프램천사(210.112) 12.11.22 84 0
338410 프갤님들 도움의 손길을좀.. [2] 나는야잦정(119.71) 12.11.22 28 0
338409 열혈강의 라는 책 상당히 도움됨? [4] 형들도움좀(182.218) 12.11.22 128 0
338408 정말 궁금해서그러는데요.... [1] 뒷간(125.129) 12.11.22 40 0
338407 c언어 공부하는데 도움되는 책 추천좀해줘요 형들. [2] 형들도움좀(182.218) 12.11.22 76 0
338406 소스점검좀.. [14] 답답해(210.119) 12.11.22 124 0
338405 아 씨발 산수 다시 배워야 하나봐. [1] 영꼰이갤로그로 이동합니다. 12.11.22 69 0
338402 너무 피곤하다 피로에쩔어(182.211) 12.11.22 16 0
338401 이런 똥같은 일이 있나... [3] 영꼰이갤로그로 이동합니다. 12.11.22 92 0
338399 이거 도대체 왜 안되는건지 [22] appllee갤로그로 이동합니다. 12.11.22 163 0
338398 하나만 더 물어보자면, 충돌체크 매니져를 만들어서 거기 모든 객체의 [7] 영꼰이갤로그로 이동합니다. 12.11.22 70 0
338397 회사에서 사준 노트북 도착한 김에 야근중 ㅋㅋ [2] 생각놀이갤로그로 이동합니다. 12.11.22 116 0
338396 걍 이런거 생각하고 있는 건데, [11] 영꼰이갤로그로 이동합니다. 12.11.22 133 0
338395 영꼰이형 여기 허접한 답변이염 WannaParty갤로그로 이동합니다. 12.11.22 43 0
338393 좆같은 새끼들.. [4] 영꼰이갤로그로 이동합니다. 12.11.22 143 0
338392 내 질문 답변 안 해주면 징기스칸4급으로 계속 올릴거임. 영꼰이갤로그로 이동합니다. 12.11.22 48 0
혹시 게임프로그래밍 하는 사람 없나 내가 처음으로 프로그래밍 질문올린다. [21] 영꼰이갤로그로 이동합니다. 12.11.22 279 0
338390 내가 사수 였던 시절... [1] 노비(115.94) 12.11.22 83 0
338386 일반 회사는 어떤지 궁금하다.. [7] (112.169) 12.11.22 160 0
338385 파일 및 폴더 복사 좀 도와주세요 Help(58.103) 12.11.22 36 0
338382 열혈강의보고 이해 안간다는새끼는 프로그래밍 때려쳐라 [2] 학자갤로그로 이동합니다. 12.11.22 234 0
338381 c언어는 2차원배열부터 조금씩 힘들어진다. 뱅신아 ㅋㅋ 학자갤로그로 이동합니다. 12.11.22 64 0
338380 구직중아 니스펙이랑 분야 희망연봉등 적어봐 ㅁㅁ(211.246) 12.11.22 58 0
338379 프로그래밍 처음 공부하려고하는데 바로 자바 공부해도 되냐? [3] 학자갤로그로 이동합니다. 12.11.22 90 0
338378 야 c언어 printf 함수 배우는데 생각보다 재미있는데? ㅎ [3] 상상(175.123) 12.11.22 82 0
338376 프갤 찌질이들이 싸는내용이 지들이 구현가능한거라면 ㅇㅇㅇ(165.244) 12.11.22 38 0
338375 프갤 형님들 도와주세요(3번쨰 재업) 님들아(1.247) 12.11.22 29 0
338373 피곤 [5] 정수정•‿•갤로그로 이동합니다. 12.11.22 89 0
338372 오늘 완성한 가장 뿌듯한 코드 [3] 천회장(118.131) 12.11.22 100 0
338371 형들 C++창크기설정하는 함수잇나요? WannaParty갤로그로 이동합니다. 12.11.22 26 0
뉴스 정동원, ‘걍남자’서 임영웅과 1박 2일 캠핑 여행 "찐형제 케미" 디시트렌드 07.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2