디시인사이드 갤러리

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

갤러리 본문 영역

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

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


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

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

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

---

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

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

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

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

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

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

---

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

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

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

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

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

---

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

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

---

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

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

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

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

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
340965 듀얼 모니터 구성하려고 하는데, 피벗 자주 사용하나? [8] 몬테크리스토갤로그로 이동합니다. 12.12.17 101 0
340962 char형으로 숫자 못받아요? [7] 늅늅(116.41) 12.12.17 156 0
340958 영화보러가야지. 빌어먹을야옹갤로그로 이동합니다. 12.12.17 19 0
340957 아아 다시 솔로가 되니 공부가 안된다. [1] 멍청닭(182.211) 12.12.17 66 0
340956 으하하하하하하핫 크리스마스 일주일 남가고 쏠로 됐다 으하하하하하 멍청닭(182.211) 12.12.17 57 0
340955 크라이 엔진3 책이있었네... [1] ㄴㅁㅇ(59.11) 12.12.17 110 0
340954 어휴...... 애인과 헤어져 보니 이년이 얼마나 개년인지 알게 되었다. [3] 멍청닭(182.211) 12.12.17 217 1
340953 헐~ 자바 이거 뭐지 ㅡㅡ;; [7] efefefefefef(114.199) 12.12.17 240 0
340951 형들 쓰레드 쓸때요... [5] WannaParty갤로그로 이동합니다. 12.12.17 101 0
340950 수요일날 출근하는 사람? [2] 빌어먹을야옹갤로그로 이동합니다. 12.12.17 59 0
340949 절대 만나서는 안되는 년들 [4] 멍청닭(182.211) 12.12.17 204 5
340948 exe 디컴파일 [5] 개 혁갤로그로 이동합니다. 12.12.17 364 0
340947 알만툴 이거 신기하네 [1] 날개샀지예갤로그로 이동합니다. 12.12.17 94 0
340946 횽님들 컴공 학습문제 상담좀 해주세요ㅠㅠㅠ [7] ㅇㅇ(119.71) 12.12.17 129 0
340945 Woman Language vs Machine Language 뭐가쉬움? [6] 나리링갤로그로 이동합니다. 12.12.17 129 0
340944 횽들.. 혹시 이런프로그램도 있습니꽈..? [6] 우왕굳(124.56) 12.12.17 151 0
340943 C++] 이거 왜 출력 3 2 1 0인지가 궁금 [1] 12(59.12) 12.12.17 135 0
340942 static 변수에 재귀함수 내가 실험해본건데... 내가 개념을 모르나? [5] 상상(175.123) 12.12.17 824 0
340939 곽노현팀장 인서울 들어갔으면 좋겟네 Kyle(220.244) 12.12.17 61 0
340938 먼놈의 책은 이지롤 ? [4] ssonacy갤로그로 이동합니다. 12.12.17 124 0
340936 you know nothing john sno oh oh oh oh ow [1] Kyle(220.244) 12.12.17 65 0
340935 C언어 if문 안에 return; 적어주는게 좋냐 안적는게 좋냐 [2] geck갤로그로 이동합니다. 12.12.17 175 0
340934 아 씨발 해피해킹 왜 국내에서 안파냐 [1] ??(14.63) 12.12.17 121 0
340933 API 막시작했는데 하다보면 컴이 졸라 느려짐 [1] 이힝(1.254) 12.12.17 112 0
340932 망할c언어 씨발.. [1] (211.253) 12.12.17 104 0
340931 비베 쓸때없는아이에요? [4] 날개샀지예갤로그로 이동합니다. 12.12.17 127 0
340930 인터넷에서 파일을 다운받을때(다른이름저장) 최근저장폴더가 안열리고 어렵네(112.171) 12.12.17 67 0
340929 객체지향 파괴.jpg [2] 비밀의계곡갤로그로 이동합니다. 12.12.17 243 0
340928 채식 일주일짼데... ㄱㄴㄴ(183.102) 12.12.17 40 0
340927 채용공고보면 포트폴리오.. [5] ㅎㅎㅎ(39.121) 12.12.17 192 0
340926 3개월 다니던회사 그만두고 신입으로. [5] adsfa(39.121) 12.12.17 234 0
340925 프로그래밍 책은 인세를 얼마나 받아? [1] 몬테크리스토갤로그로 이동합니다. 12.12.17 81 0
340924 로봇을 만들려고 하는데 컴공이 나을까? 전자가 나을까? 기계가 나을까? [1] ☎2.52™갤로그로 이동합니다. 12.12.17 111 0
340923 오늘도 프갤은 평화롭습니다. d(1.210) 12.12.17 37 0
340922 윈도우에서 항상 떠있는 프로세스들 있잖냐 [7] ㅁㄴㄻㄹ갤로그로 이동합니다. 12.12.17 163 0
340921 크라이엔진 테스트 결과 [2] 초보리버서(49.1) 12.12.17 170 0
340919 배ㅗ프다 [1] elwlwlwk(165.194) 12.12.17 77 0
340916 헉 갑자기 알수 없는 에러가 생겼어... ㄷㄷㄷ [6] 멍청닭(182.211) 12.12.17 84 0
340915 같이 아이폰어플만들사람? [3] dㅁㄴ(220.120) 12.12.17 96 0
340913 안쏘니 피자 먹고싶다... ㅋㄱ(183.96) 12.12.17 94 0
340912 "Public Static Void" [1] 고랭?갤로그로 이동합니다. 12.12.17 159 0
340911 아직 이 갤러리 있네.. [4] ㅁㄴㅇㄹ(182.210) 12.12.17 109 0
340910 자바 개발툴 질문점 [8] 날개샀지예갤로그로 이동합니다. 12.12.17 141 0
340908 FTA랜드 이홍기(leehonkey) 셀카도 화보로 만든 이기적인 비주얼 에어로홍갤로그로 이동합니다. 12.12.17 66 0
340907 펌웨어를 잘하려면 전자 베이스가 좋을까? 컴공 베이스가 좋을까? [7] dfasf(218.48) 12.12.17 219 0
340906 님들 자료구조 꼭해야함? [5] sdasdas(220.120) 12.12.17 207 0
340905 이런 형태 텍스트 에디터.. ㅇㅇ(182.210) 12.12.17 87 0
340904 형들 정말 무례하고 개념없는소리인거 알지만 [4] (58.233) 12.12.17 133 0
340903 나훈아, 본명 최홍기(choihonkey) 조폭 관련설 에어로홍갤로그로 이동합니다. 12.12.17 291 0
340902 밑에 이어.. javafx로 만듬.. 텍스트 에디터.. [5] ㅇㅇ(182.210) 12.12.17 373 0
뉴스 ‘남겨서 뭐하게’ 박태환, 누나들 챙기는 스윗함으로 골드미스들에게 심쿵 연하 등극! 디시트렌드 07.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2