728x90 반응형 전체 글454 게임프로그래밍고급 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. 게임네트워크프로그래밍 11주차 - 키 입력 동기화 게임 실습 지난 주 시간 복습 객체 직렬화/ 역직렬화 키 입력 동기화 게임 만들기 키 입력 동기 구조, 상태 관리 키 입력 지연 키 입력 지연을 고려한 송수신과 상태 전환 정보가 버퍼에 저장된 상태 - 자신의 키 입력 정보를 송신 - 상대의 키 입력 정보를 수신 - 지연된 분량만큼 정보를 송수신하지 않은 상태 상태를 고려한 상태 전환 - 송수신하지 않은 상태 - 정보의 동기화 대기 상태 - 정보가 동기화된 상태 어떤 식으로 구현할지 고민 해 보아야 한다. 네트워크 게임 제작 실습 네트워크 통신을 위한 파트너 지정 플레이어 고양이를 움직여서 화살을 피하는 게임 : 서버를 경유한 게임 플레이 (예제) 2주간 실습 진행. 플레이어 고양이를 움직여서 과일을 얻는 게임 : 서버를 경유한 게임 플레이 두 번째 실습의 주요 목.. 2023. 5. 22. 게임레벨디자인 10주차 - 엑셀 사용 기초2 엑셀 학습 - 기본 엑셀 사용 1 : 유용한 메뉴 - 기본 엑셀 사용 2 : 엑셀 함수 활용 - 데이터 테이블 개념 - 레벨을 위한 기본 시스템 구조 - 레벨을 위한 데이터 기본 엑셀 사용 실습 Recipe Data.xlsx : FoodData - 요리 목록 작성. - 중복된 요리가 있는가 : 이것은 중복인가, 아닌가. - FoodData에 요리 아이디 부여. (숫자열, 문자열), UI 이름 작성. - 총 요리 개수는 몇 개인가. Recipe Data.xlsx : IngredientData - 재료 목록 작성 - 중복된 재료가 있는가. - 중복된 재료 삭제, 하나로 통합. - 총 재료 개수는 몇 개인가. - IngredientData에 요리 아이디 부여. (숫자열, 문자열), UI 이름 작성. Recip.. 2023. 5. 18. 게임음악작곡법 10주차 - Minor Key Minor Key (단조) 1. Minor Scale(단음계)에 관하여 - Minor Scale의 종류 a. Natural Minor Scale (자연적 단음계) b. Harmonic Minor Scale (화성적 단음계) c. Melodic Minor Scale (선율적 단음계) d. Jazz Minor d를 제외한 모든 단음계는 올라갈 때와 내려갈 때의 차이가 있다. 네츄럴 마이너를 추천한다. One Chord Tone (원 코드 톤) - 가장 간단한 멜로디는 코드 톤 하나로 구성된 것이다. 이러한 멜로디들은 3가지의 장점을 갖는데, 그것은 만들기 쉽고 부르기 쉽고 그리고 기억하기가 쉬워서 특히 청중에게 어필할 수 있다는 점이다. 이 마지막 장점은 특히 중요하다. 만약 청중들이 멜로디를 부를 수 있다.. 2023. 5. 18. 게임데이터설계 10주차 - 팔방미인 '가챠' 시스템 지난 시간 복습 시스템 기획을 하려면 구현을 위한 로직이 있다. 로직의 흐름을 완성하려면 값이 있어야 한다. 데이터와 시스템 기획은 밀접한 관계를 가지고 있다. 지난 주, 시스템 기획이 데이터와 친숙한 이유를 지난 시간 강화 시스템을 통해 설명했다. 아이템을 강화창 소켓에 올렸을 때, '강화 불가 아이템' 팝업창을 띄우고 싶다면? 이름만 가지고는 구현을 할 수 없다. 프로그래머는 강화 불가 아이템이 어떤 아이템인지 알 수 없기 때문. 해당 아이템이 '강화 불가 아이템' 인지를 알 수 있는 방법을 프로그래머에게 설명할 수 있어야 한다. * 강화가 가능한 아이템을 설명하는 것도 같은 맥락을 갖는다. ex) upgrade_type, upgrade_code로 구분 강화가 가능한 아이템을 강화창 소켓에 올렸을 때.. 2023. 5. 17. 게임알고리즘 9주차 - Binary Search Tree 지난시간 복습. 탐색 순회 - 전위, 중위, 후위, 깊이우선 탐색, 너비우선 탐색 Tree - 이진트리 - 레벨 - 높이 (height) : 가장 큰 레벨 = max(왼쪽 sub 높이, 오른쪽 sub 높이) - 비어있는 트리의 높이는 - 1 - 균형 (balance) : 좌우의 sub tree의 높이의 차. - 균형트리 : balance factor가 1 이하인 tree. - 포화이진트리 : balance factor가 0인 tree. - 완전이진트리 : balance factor가 0이거나 1인 tree. Binary Search Tree Dynamic Search using Tree - 정적 검색 (Static Search) : 데이터가 한꺼번에 저장되어 추후에 추가나 삭제가 이루어지지 않는 경우에 .. 2023. 5. 17. 게임프로그래밍고급 11주차 - Compute Shader 실습 진행. 빛의 종류 자연광 Ambient, 분산광 Diffuse, 반사광 Specular, 환경광 Global illumination invironment mapping Rendering Pipeline Local > World > View > Projection World space - 모든 연산은 특별한 경우를 제외하고는 월드 스페이스에서 이루어진다. - 벡터 공간의 연산을 해도 대부분은 월드 스페이스에서 진행한다. - 버텍스의 위치, Texture mapping file를 활용하기 위해서 TEXTURE COORDINATE 구조체를 사용한다. 두 벡터의 크기가 1일 경우 두 벡터의 내적은 cosθ와 같다. 이 과정을 통해 두 벡터의 사이값을 알 수 있다. 노말 값과 라이트 디렉션의 사잇 값이 θ라.. 2023. 5. 16. 이전 1 ··· 39 40 41 42 43 44 45 ··· 51 다음 728x90 반응형