«data-structure» 태그된 질문

데이터를 특정 방식으로 구성하여 효율적으로 사용할 수있는 엔티티입니다. 예는 배열, 객체, 레코드, 구조체입니다.

5
수평 확장 가능한 MMORPG와 같은 역동적 인 세상을 만드는 방법이 있습니까?
초당 20 번의 업데이트 속도로 데이터가 변경되는 500여 명의 오픈 월드 플레이어를 상상해보십시오. 마지막으로 비슷한 MMORPG에서 일할 때 SQL을 사용했기 때문에 DB를 항상 쿼리 할 수 ​​없었습니다. 대신, DB에서 모든 플레이어를 C ++ 객체로 메모리에로드하여 사용했습니다. 즉, 세로로 확장됩니다. 대신 서버를 수평 확장 가능하게 만들 수 있습니까? 해당 양의 업데이트를 …

3
빠르고 정확한 2D 충돌 탐지를 어떻게 구현할 수 있습니까?
두 개 이상의 2D 객체가 충돌하는지 감지하는 방법을 잘 알고 있지만 충돌 여부를 결정하는 방법에 관심이 있습니다. 이전 프로젝트에서는 다른 모든 객체 (O (n ^ 2) 수준의 어리 석음)에 대해 모든 객체 검사를 수행했으며 유동적이지 않은 게임 플레이를 만들었습니다. 다양한 포럼에서 Quadtrees, B-Trees 및 기타 생각할 수있는 다른 종류의 트리 …

5
논리 게임 / 공제 규칙 / 충분한 단서에 대한 데이터 구조?
나는 Einstein 's Puzzle 과 유사한 논리 게임을 개발하는 것에 대해 흥겨워 왔는데 , 새로운 게임 재생마다 다른 단서가 있습니다. 제공하는 단서가 고유 한 솔루션을 가리 키도록 보장하기 위해 다양한 엔티티 (애완 동물, 주택의 색상, 국적 등), 공제 규칙 등을 처리하기 위해 어떤 데이터 구조를 사용 하시겠습니까? 가능한 단서와 함께 …

3
적 AI가들을 수있는 소리를 추가하는 방법?
주어진: 2D 하향식 게임 타일은 2D 배열에만 저장됩니다 모든 타일에는 속성이 있습니다-댐핑하십시오 (따라서 벽돌은 -50db, 공기는 ​​-1 일 수 있습니다) 이것으로부터 나는 x1, y1 지점에서 소리가 발생하고 그것을 "리플 아웃"시키기 위해 그것을 추가하고 싶습니다. 아래 이미지는 더 잘 설명되어 있습니다. 분명히 최종 목표는 AI의 적이 소리를 "듣게"할 수 있다는 것입니다. …

3
게임 개체 파괴를 처리하는 올바른 방법
엔터티의로드와로드가 항상 동적으로로드되는 게임 세계를 상상해보십시오. 엔터티 목록으로 표시 할 수 있지만 제거하는 것은 어떻습니까? 추가 할 때 새 엔티티를 밀 수 있지만 컨테이너의 아무 곳이나 제거해야 할 수 있습니다. 제거 할 위치를 찾기 위해 요소를 검색하지 않으려면 어떤 선택을해야합니까? 엔티티 ID를 컨테이너에 위치로 저장하여 직접 제거 할 수있는 경로를 …

1
쿼드 트리에서 모양 (사각형)은 어떻게 작동합니까?
쿼드 트리가 내 게임에 이상적인 데이터 구조라고 들었지만, 쿼드 트리 내에서 정확히 모양이 작동하는 방식을 이해하는 데 어려움이 있습니다. JavaScript 로이 작업을 수행하고 있지만이 질문이 모든 언어의 쿼드 트리에 적용될 수 있다고 생각합니다. 나는 기본 (x, y) 포인트 와 포인트 삽입 이 쿼드 트리에서 어떻게 작동하는지 이해 하고 종이에서 할 …

2
오래된 게임의 데이터 구조
NES 용 Super Mario Brothers 및 SNES 용 Super Mario World와 같은 오래된 게임을 프로그래밍 할 때 사용되는 데이터 구조가 궁금합니다. 나는이시기의 게임들이 집회에서 작성되었다는 것을 이해하고있다. 프로그래머가 데이터 구조를 정의 / 사용 했습니까? 예를 들어, 동전 그룹이 화면에 나타나면 어떻게 저장됩니까? 프로그래머가 방금 배열을 사용 했습니까? 아니면 연결 목록이 …

1
16 × 16 픽셀 타일이 왜 일반적입니까?
타일 ​​(예 : Minecraft )이 16 × 16이어야 하는 충분한 이유가 있습니까? 16이 이진수이기 때문에 10000이진과 관련이 있다고 생각하지만 우연의 일치 일 수 있습니다. 저는 지형 생성으로 게임을 만들고 싶어하기 때문에 타일이 얼마나 큰지 또는 실제로 중요하지 않은지 알고 싶습니다.

2
점과 크기는 언제 구조로 표현해야합니까?
간단한 Ruby 2D 게임 개발 프레임 워크의 일부로 게임 오브젝트는 위치 (x 및 y 값)와 크기 (너비 및 높이)를 갖습니다. class MyGameObject attr_accessor :x attr_accessor :y attr_accessor :width attr_accessor :height ... 내가 본 또 다른 접근법은 위치를 Point구조 로 취급 하고 크기를 Size구조 로 취급하는 것입니다 . Point = Struct.new(:x, …

2
물로 채워진 영역을 어떻게 정의 할 수 있습니까?
멋진 물 시뮬레이션으로 작은 게임 엔진을 향상시키고 싶습니다. 그 작업을 시작하려면 게임에서 물을 나타내는 적절한 방법을 찾아야합니다. 불행히도 나는 다른 표현을 잘 모르므로 물어볼 것입니다. 얼마 전에 내가 물었던 비슷한 질문 이 있습니다 . 그러나이 문제를 명확하게 공식화하지 않았기 때문에 대답은 정확하지만 내가 찾던 것이 아닙니다. 일부 게임에서 물은 높이 …

3
부울을 압축하여 D3D 상수 버퍼에 정렬 할 수없는 이유는 무엇입니까?
좋아, 부울을 포장하고 hlsl 상수 버퍼에 맞추는 데 어려움을 겪고 있으며 왜 그런지 잘 모르겠습니다. hlsl의 버퍼는 다음과 같습니다 cbuffer MaterialBuffer : register(b1) { float3 materialDiffuseAlbedo; float materialSpecularExponent; float3 materialSpecularAlbedo; bool isTextured; }; 그리고 여기에 C ++ struct GeometryBufferPass_MaterialBuffer { XMFLOAT3 diffuse; float specularExponent; XMFLOAT3 specular; bool isTextured; }; 나는 …

2
2D 타일 기반 게임에서 NPC와 타일은 어떻게 서로 참조해야합니까?
하향식 2D 게임을위한 타일 엔진을 만들고 있습니다. 기본적으로 세계는 타일 그리드로 구성됩니다. 이제 맵에서 움직일 수있는 NPC를 예로 들어 보겠습니다. 무엇이 가장 좋다고 생각하십니까? 각 타일에는 타일에있는 NPC에 대한 포인터 또는 NULL 포인터가 있습니다. NPC 목록이 있고 타일의 좌표가 있습니다. 다른 것? 나는 생각한다 충돌 감지 속도는 빠르지 만 훨씬 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.