728x90 반응형 분류 전체보기460 게임알고리즘 11주차 - Balanced Tree, AVL Tree 효율적인 사용을 위해 균형 트리를 만들어야 한다. binary search tree는 균형을 보장하지 않는다. 검색 시간 향상을 위한 트리 구조 - 디스크에 접근하는 시간(외부검색:external search)은 RAM에 접근하는 시간(내부검색:internal search)보다 훨씬 느림. - 외부검색의 경우 선형시간 보장은 나쁜 성능을 초래함 > 항상 균형을 유지하는 이진트리 활용. - 주기적으로 최적이진트리 구축 알고리즘을 이용하여 트리를 유지할 수 있음. Balanced Tree AVL 트리 : 아이템의 추가, 삭제, 검색 - 모두 0(log n) B-트리 / 2-3트리 : 잎마디들의 깊이(수준)을 항상 같게 유지. 아이템의 추가, 삭제, 검색 - 모두 0(log n) red-black tree :.. 2023. 5. 31. 게임프로그래밍고급 13주차 - 군집 시뮬레이션 군집 시뮬레이션 - 개체들의 행동 패턴 활용 Boids 알고리즘 군집을 이루는 각각의 개체가 시각이나 청각 등의 감각을 이용해 주변 개체들의 움직임에 따라 자신의 움직임을 수정함으로써, 군집의 복잡한 움직임을 만들어 내는 알고리즘. 각각의 개체는 세 가지 간단한 규칙을 진행한다. - 분리 (Seperation) - 정렬 (Alignment) - 결합 (Cohesion) Boid - 대상 : 무리에 있는 단일 개체 - 변수 : 위치와 속도 - 방식 : 행동 규칙 3개를 이용해서 가속도 계산 - 가속도는 현재 속도에 영향을 미치고, 속도에 의해 다음 위치가 결정됨. - 너무 빨라지지 않도록 최고 속도를 정해놓고, 그보다 높아지지 않도록 조종이 필요. Boids 알고리즘 - Alignment (정렬) - 무리.. 2023. 5. 30. 게임기획크리틱 13주차 - 캐릭터 설계와 세계관 설정 캐릭터 설계 스토리를 짤 때 처음 하는 것 : 주요 사건에서부터 시작한다. 캐릭터 : 사건에 등장하여 스토리를 끌고가는 주체. 캐릭터는 어떤 지향점을 가지고 행동한다. - 캐릭터의 목표는 무엇인가? : 마왕 퇴치 - 목표에 다가가기 위해 어떤 노력을 해야 하는가? : 검술을 익힌다. 필요한 인물들을 모은다. - 목표로 다가가기 위해 결핍된 것은 무엇인가? : 몬스터를 잡으면서 경험치를 얻는다. 결핍된 것을 채워나가는 과정 : 게임 플레이 캐릭터의 결핍을 채워나가는 것은 두 가지 방법으로 접근이 가능하다. - 처음부터 결핍을 채워나가는 방식 - 캐릭터의 완성형 버전을 만들고 하나씩 빼면서 결핍을 만든다. 결핍을 채워나가는 과정을 처음부터 채워나가는 방식으로 설계하면 초반에는 잘 되다가도 중후반부에는 확장에.. 2023. 5. 30. 게임레벨디자인 11주차 - 엑셀 응용, 레벨 시스템 레벨 디자이너들이 어떤 식으로 시스템을 잡는지 흐름에 대한 이야기 지난 시간의 수업 내용과 과제 재료 (목록) > 요리 (목록) > 조합식(Recipe) 재료에 해당하는 것들에 대해서 중복 없이 이름과 리스트를 나열했고 요리도 이름, 제작시간을 제작하면서 요리 단위로 무언가를 할 수 있는 특성을 정의했다. 조합식에서는 재료의 종류와 재료의 수량으로 만들 수 있는 요리를 정의했다. 항상 모든 것은 하나의 기준이 있어야 한다. 기본적으로 무언가를 수정해야 한다면 한 곳에서만 수정되게끔 설계해야한다. 재료는 어떻게 구하는가? 사냥 : 동물성 재료 (전투) > Monster & 물고기 채집 : 식물성 재료 & 광물성 재료 구매 : 상점 & NPC 재료 특성 정의 - 재료 목록, 이름, 수급 유형 요리 특성 정의.. 2023. 5. 25. 게임데이터설계 11주차 - 가챠 시스템 심화 가중치 랜덤에 대한 복습 - 문어발 8개 중에서 3개는 몇 %일까? 37.5% - 8개를 100%를 볼 때, 3개는 몇 %인가? 각 해산물이 실제로 나올 확률은 얼마일까. 가중치 전체 중에서 몇 퍼센트를 기여하고 있는지를 의미한다. 클래시 로얄 게임의 시스템 각 상자는 어떻게 만들었을까? 실제로 이런 상자들을 만든다면 어떤 것을을 데이터에서 처리할 수 있을까? 클래시 로얄의 카드에는 다양한 정보가 들어있다. 실습을 위해 클래시 로얄의 카드를 추가. 클래시 로얄의 상자 시스템 1. 실버, 골드, 마법상자 등... 다양한 상자가 아레나에 따라 구성된다. 2. 골드를 랜덤하게 줄 수 있다. (최소, 최대값 설정 가능) 3. 제공되는 전체 카드 수가 정해져 있다. 4. 반드시 포함되는 카드를 설정할 수 있다. .. 2023. 5. 24. 게임알고리즘 10주차 - Heap Heap Dictionary meaing Heap : 쌓아놓은 더미, 가장 위에 놓인 것이 우선순위가 높다. Heap property 어떤 마디에 저장된 값은 그 마디의 자식 마디에 저장된 값보다 크거나 같다. (max heap) 반대의 경우 min heap이다. Heap Structure - 힙의 성질을 만족하는 실질적인 완전 이진트리 - 검색 시간이 logN을 보장한다. - Heap은 최대값 또는 최소값을 빠르게 찾을 수 있도록 고안된 완전이진트리구조. (Priority Queue를 구현하는데 적합) - sorting 비용이 저렴하다는 장점이 있다. - 우선순위에 해당하는 데이터만 관리 해 주는 자료구조. 힙의 조건 - 빈 트리이거나 - 루트의 키가 왼쪽과 오른쪽 자식의 키보다 크거나 같다. - 왼쪽.. 2023. 5. 24. 게임프로그래밍고급 12주차 - Geometry Shader Geometry Shader GPU를 이용해서 동적으로 기본 도형들에 대해서 모양을 바꾸거나 새롭게 생성하거나 삭제할 수 있는 Shader 중에 하나. DirectX10과 OpenGL3.2부터 Geometry Shader 기능 추가. 기본 도형을 동적으로 변경할 때 기존에 사용 한 방법 - CPU상에서 선행해서 처리한 후 GPU에서 처리 Geometry Shader의 - Rendering Pipeline에서 Vertex Shader 다음에 위치 - Rasterizer와 Fragment(Pixel) Shader 전에 위치 - Fragment Shader 입장에서는 Vertex Shader에서 전달된 정점 정보나 Geometry Shader에서 전달한 정점 정보나 동일하게 처리 Vertex Shader > .. 2023. 5. 23. 게임기획크리틱 12주차 - 게임 스토리와 게임 시나리오 게임 스토리 게임 스토리는 다른 미디어의 스토리와 어떻게 다른가? 게임 스토리는 플레이가 부각된다. 영화나 애니메이션처럼 장르를 넘나드는 시도가 쉽지 않다. 게임 스토리의 지향점 게임 플레이로 만들어 낼 수 있는 스토리인가가 중요하다. 게임으로 만들어낼 수 없다면 아무런 의미가 없다. 스토리와 게임 플레이의 제작 순서 스토리를 먼저 만들고 그 스토리로 게임을 만드는 것보다 게임을 만들고 거기에 스토리를 입히는 게 쉬운 편이다. (이미 게임 플레이를 만들어 냈으므로) 스토리 만드는 방법 1. 주요 사건을 기술한다. 2. 사건에 등장하는 인물을 만든다. 3. 인물 간에 갈등을 정리한다. 4. 갈등을 만들거나 해소한다. Last of us 게임 시나리오 예시 1. 주요 사건을 기술한다. 좀비가 창궐하여 세상이.. 2023. 5. 23. 게임그래픽프로그래밍기초 11주차 - 렌더링파이프라인 렌더링파이프라인 이해 렌더링이라는 것은 무엇인가? 렌더링 : 컴퓨터 그래픽스에서 3D 모델, 2D 이미지를 화면에 보여지는 과정 전체를 의미한다. - 2D 렌더링 : 2D 이미지를 기반으로 색상, 위치 등의 속성을 통하여 화면에 표현하는 과정. - 3D 렌더링 : 3D 장면을 기반하여 카메라를 통해 장면을 어떻게 볼 것인지 계산하고 광원, 재질 등의 속성을 통하여, 화면에 표현하는 과정. 게임은 2D 렌더링부터 시작한다. (스페이스워, 슈퍼마리오 브로스) 게임은 3D 렌더링에서 고도화된다. (울펜슈타인 3D, 버추어 파이터) GPU의 가속을 받으면서 렌더링도 발달했다. 렌더링 파이프라인 그래픽데이터가 Modeling, Lighting. Shading 등의 핵심 과정 등을 거쳐 화면에 2차원 픽셀로 표시되.. 2023. 5. 22. 이전 1 ··· 39 40 41 42 43 44 45 ··· 52 다음 728x90 반응형