디시인사이드 갤러리

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

갤러리 본문 영역

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

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


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

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

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

---

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

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

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

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

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

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

---

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

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

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

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

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

---

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

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

---

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

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

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

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

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
337984 프갤은 디시갤중에 제일현실적인 갤러리인것같다 [2] aa(211.244) 12.11.20 93 0
337982 오 블박 사업 쪽도 괜찮을 거 같다. [9] 영꼰이갤로그로 이동합니다. 12.11.20 78 0
337981 여기 사람들은 '컴퓨터'란 도구로 뭘 하고 싶은거야? [5] 69(202.30) 12.11.20 80 0
337980 j쿼리 책 추천좀 [2] ㅇㅁㄴㅇ(59.11) 12.11.20 53 0
337979 그러고 보면 많은 사람들이 자기 아이디어가 진짜 개쩌는 줄 알고 [3] 영꼰이갤로그로 이동합니다. 12.11.20 105 0
337978 요즘은 "어떡해" 라는 분 안오시나 69(202.30) 12.11.20 60 0
337977 아래 게임 기획 뭐 관련된 글 보니까 이게 생각났다. [2] 잇힝유후♪갤로그로 이동합니다. 12.11.20 66 0
337976 폰트 검색 서비스 어떰? [11] 영꼰이갤로그로 이동합니다. 12.11.20 168 0
337975 그래서 나랑같이 겜제작 공부할사람? d3d시방것(180.71) 12.11.20 34 0
337974 게임도 기술적 이해가 깊은 사람이 기획해야 된다. [1] 영꼰이갤로그로 이동합니다. 12.11.20 77 1
337973 혹시 폰트 잘 알아보는 매의눈 있쌈? [7] 부끄곰갤로그로 이동합니다. 12.11.20 93 0
337972 우리가 좋은 프로그램을 가질수없는이유 [1] ㅇㅇ(61.77) 12.11.20 62 0
337970 느덜 프로그래머인데 주식도 못하냐..? 난 200으로 8천 만들었다 [5] Margin Call갤로그로 이동합니다. 12.11.20 171 0
337969 솔직히 게임은 디자이너가 더 중요하지 프로그래머는 거들뿐 초딩6(59.13) 12.11.20 64 0
337967 대박아이디어있는데 월급은 못드림 그리고 고졸이라고? [1] 얼룩돼지갤로그로 이동합니다. 12.11.20 77 0
337966 기획자 - 개발자와 같은 일이 제조업에서도 벌어지는데.. ☎2.51™갤로그로 이동합니다. 12.11.20 49 0
337964 내가 만들어 보고 싶은 게임은.. ㅇㅇ [9] ☎2.51™갤로그로 이동합니다. 12.11.20 124 0
337963 내가 게임 기획자 하면 딱일 것 같은데. ㅇㅇ [5] ☎2.51™갤로그로 이동합니다. 12.11.20 89 1
337962 이거 자료구조 어케 짜야함?? [4] 도와줭(175.244) 12.11.20 73 0
337961 저격-사랑돋긔 [6] 69(202.30) 12.11.20 157 0
337959 밑에 앱창업 비전공자가 어쩌고저쩌고... [8] 안녕(175.192) 12.11.20 197 0
337958 하나만썼으면좋겠다 [4] 사랑돋긔갤로그로 이동합니다. 12.11.20 185 0
337956 혹시 NHN 맴버십 예비과정 붙으신분 'ㅡ' 헤헤 [2] 납땜왕(203.252) 12.11.20 146 0
337955 형들 뭐가 잘못된건지 모르겠어... [1] ㅎㅇ(112.186) 12.11.20 31 0
337954 간단하게 온라인게임만들려고하는데 감이 안잡히네요; [5] (121.145) 12.11.20 93 0
337953 앱 창업 하자고 하는 비전공자들이 자주 하는 소리들 [4] de(183.103) 12.11.20 301 0
337952 늦었따 [2] 정수정•‿•갤로그로 이동합니다. 12.11.20 75 0
337951 니가 하려는대로 공용체를 만들어서 하려면 이렇게 하면 되겠지만 [2] 영꼰이갤로그로 이동합니다. 12.11.20 68 0
337950 xigncode3 분리시켜버렸다 [3] ㅁㅁ(211.244) 12.11.20 571 0
337948 과제제출용 C언어코드 완성했는데 계산결과가 병맛으로 나오는데 조언좀;; [26] 롤미송면갤로그로 이동합니다. 12.11.20 189 0
337947 html후 웹하려면 자바가 답인가영? [2] 슈퍼맨(211.246) 12.11.20 86 0
337946 xigncode3 이라는 게임가드가 nprotect를 밀어냈네 ㅁㅁ(211.244) 12.11.20 215 0
337945 형들 내일 면접인데 내가 만드는 프로그램 소스 가져오라는데 왜이런거?? [8] ㅇㅇ(121.173) 12.11.20 186 0
337944 아따 오랜만 [1] ㄲㄹ(121.168) 12.11.20 30 0
337943 자료구조 인데 정말 이런 문제 막막하다 ㅡ.ㅡ; [11] 장무기님갤로그로 이동합니다. 12.11.20 201 0
337942 spring에서 Controller 필요 없는 View는 어떻게해? [1] 니 코 가 뭐갤로그로 이동합니다. 12.11.20 60 0
337941 플밍갤 성님들아 물어볼게 있어 c언어에 %fi 있던가? [3] 롤미송면갤로그로 이동합니다. 12.11.20 204 0
337939 아이피주소에 대해 설명좀해주세요 형님들 [11] 월야(175.208) 12.11.19 164 0
337937 횽 군대갔다오면 드림스팦크 짤리나요?? [1] 햏인(222.104) 12.11.19 74 0
337936 레퍼런스니 뭐니 클래스니 뭐니,,, ㅋㄱ(183.96) 12.11.19 49 0
337935 뇌를 자극하는 알고리즘에서 문자열 검색이요.. [3] 아오열빡쳐(121.153) 12.11.19 95 0
337934 아오 이런 미칀 교수야 [7] 아오열빡쳐(121.153) 12.11.19 142 0
337933 성대아싸님 [3] ㅂㅈㄷ(1.220) 12.11.19 127 0
337931 코더 구할수있을까요? [7] ㅋㄱ(183.96) 12.11.19 128 0
337930 C# case문 질문좀 할께요.. [10] C#(59.26) 12.11.19 286 1
337927 서비스팩 설치중 이모군(175.114) 12.11.19 27 0
337925 저 밑에 자유의 날개 같은 놈 하나 꼬셔다 대충대충 시간 떼우면서 [2] 영꼰이갤로그로 이동합니다. 12.11.19 76 0
337924 오랜만 [3] exploit갤로그로 이동합니다. 12.11.19 65 0
337921 쓰레드에 작동 주기 주는건 sleep으로 재우는거밖에 없음?? [30] 티버애니갤로그로 이동합니다. 12.11.19 235 0
337920 snes 게임을 어셈블리어로 만든다는 거 알고 충격받았다 [1] 에어로홍갤로그로 이동합니다. 12.11.19 108 0
뉴스 페노메코, 새 EP ‘RNSSNC TAPE’ 23일 발매…양동근과 다시 만난다 디시트렌드 07.18
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2