«entity-system» 태그된 질문

게임 오브젝트 (엔티티)가 구성 요소로 구성되어 시스템에 의해 운영되는 프로그래밍 패러다임입니다. 각 엔티티는 특정 구성 요소를 가리키는 ID입니다.

4
네트워크 게임에서 엔티티 ID를 어떻게 강력하게 할당 할 수 있습니까?
네트워크 게임을 위해 엔터티 시스템을 작업 중이며 엔터티 및 엔터티 자체에 대한 참조를 직렬화하는 데 사용할 수있는 고유 한 32 비트 정수 ID를 각 엔터티에 할당하고 있습니다. 현재 엔티티가 생성 될 때마다 카운터를 늘리고 있습니다. 나는 ID가 결국 없어 질 것이라고 생각하지만 실제로 40 억 엔터티가있을 것으로 기대하지는 않습니다. 또한 …

2
컴포넌트 기반 엔터티 시스템의 게임 상태 및 입력 처리
내 질문은 : 게임 상태 객체 스택을 유지하지 않고 엔티티 시스템에서 게임 상태를 어떻게 처리 할 수 ​​있습니까? 따라서 엔터티 시스템의 디자인은 엔터티가 입력 이벤트에 등록해야 할 때 입력 구성 요소가 입력 시스템을 호출하고 "이 엔터티에이 엔터티를 등록합니다"라는 의미입니다. 이것은 모두 훌륭하지만, 게임 상태 개념 (일시 정지 화면)을 추가하면 엔티티가 …

3
엔티티와 컴포넌트에 메소드를 저장하는 것은 왜 나쁜 생각입니까? (다른 엔티티 시스템 질문과 함께.)
이것은 후속 조치입니다 내가 대답 한이 질문에 이지만 훨씬 구체적인 주제를 다루고 있습니다. 이 답변을 통해 기사보다 엔티티 시스템을 더 잘 이해할 수있었습니다. 엔터티 시스템에 대한 기사를 읽었 으며 다음과 같이 말했습니다. 엔터티 는 ID와 구성 요소의 배열 일뿐입니다 (이 기사에서는 구성 요소에 엔터티를 저장하는 것이 좋은 방법은 아니지만 대안을 …

1
엔터티 구성 요소 시스템 게임 엔진에서 CPU 캐시를 활용하는 방법은 무엇입니까?
CPU 캐시를 현명하게 사용하기에 적합한 아키텍처 인 ECS 게임 엔진 설명서를 자주 읽습니다. 그러나 CPU 캐시의 이점을 어떻게 얻을 수 있는지 알 수 없습니다. 구성 요소가 연속 메모리에 배열 (또는 풀)로 저장된 경우 구성 요소를 순차적으로 읽는 경우에만 CPU 캐시 BUT을 사용하는 것이 좋습니다. 시스템을 사용할 때 특정 유형의 구성 …

3
구성 요소가 많은 OOP 대 순수 엔티티 구성 요소 시스템? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …

3
외부 구성 요소 관리자와 함께 엔티티 시스템을 구성합니까?
탑 다운 멀티 플레이어 2D 슈팅 게임용 게임 엔진을 디자인하고 있는데, 다른 탑 다운 슈팅 게임에도 합리적으로 재사용 할 수 있기를 원합니다. 현재 엔터티 시스템과 같은 것을 어떻게 디자인해야하는지 생각하고 있습니다. 먼저 나는 이것에 대해 생각했다. EntityManager라는 클래스가 있습니다. Update라는 메소드와 Draw라는 다른 메소드를 구현해야합니다. 논리와 렌더링을 분리하는 이유는 독립형 …

1
엔터티 / 구성 요소 시스템에서 재료를 처리하는 방법
내 E / C 구현은 엔터티가 단지 ID이고 구성 요소는 데이터이며 시스템은 데이터에 대해 행동하는 기본입니다. 현재 객체 재질과 렌더링에 문제가 있습니다. 나는이 간단한 objetcs를 들어 ModelComponentA와 묶여 RenderSystem, ModelComponent정점 버퍼 IDS 렌더링이 시스템의 사용이있다. 단순한 MaterialComponent것은 아마도 색이나 거울의 강도 등을 가지 겠지만, 둘 이상의 렌더 패스와 일반적인 "효과"에서 …

2
엔터티 시스템에서 충돌 감지 및 응답
ES로 더 재미있게 ... 현재 몇 가지 시스템이 있습니다. 렌더러 (렌더링 가능 속성, 변환 속성) 모션 (이동 가능 속성, 변형 속성, 렌더링 가능 속성 [경계 상자 등]) 입력 (InputReceiver 속성) 기타 충돌 감지를 추가하고 있습니다. 저의 첫 생각은 충돌을 수행하는 새로운 시스템을 추가하는 것이 었습니다. 그것은에서 고립이 계속 나에게 의미가 …

2
엔터티 시스템 프레임 워크의 타일 맵?
엔터티 시스템 프레임 워크, 특히 Artemis를 읽었습니다. 그것이 나에게 적합한 지 결정하려고합니다. 나는 타일 기반의 2D 픽셀 아트 게임을 엄격히 연구하고 있으며, 그것이 리소스를 많이 사용한다고 생각하지 않습니다. 나는 항상 과거에 많은 상속과 함께 표준 OOP를 사용했습니다. Entity System Framework에 대한 나의 이해는 (아직 내가 완전히 이해했는지는 확실하지 않습니다) : …

3
컴포넌트 기반 설계의 입력 처리
이 질문이 여러 번 요청 된 것을 알고 있지만 여전히 컴포넌트 기반 엔진에서 입력 처리를 구현하는 방법을 잘 모르겠습니다. 내가 사용한 컴포넌트 기반 디자인은 T = Machine 의 블로그 시리즈와 엔티티가 ID 인 Artemis 를 기반으로했다 . 입력 처리를 구현할 때 세 가지 주요 아이디어가 있습니다. 입력 구성 요소는 관심있는 …

3
동일한 구성 요소 세트의 엔티티를 선형 메모리로 그룹화
기본 시스템 구성 요소 엔터티 접근 방식 부터 시작합니다 . 구성 요소 유형에 대한 정보만으로 어셈블리 ( 이 기사 에서 파생 된 용어)를 작성해 봅시다 . 구성 요소를 하나씩 요소에 하나씩 추가 / 제거하는 것처럼 런타임에 동적으로 수행되지만 형식 정보에 관한 것이므로 더 정확하게 이름을 지정합시다. 그런 다음 모든 어셈블리 …

1
엔터티 구성 요소 시스템-객체의 변형을 구현하는 방법?
엔진 용 엔터티 구성 요소 시스템을 설계 할 때 특정 유형의 구성 요소를 저장하고 검색하는 방식에 약간의 걸림돌이 생겼습니다. 먼저이 질문에 사용할 용어를 약간 정리해 보겠습니다. 특정 시스템과 관련된 데이터를 저장하는 데이터 구조를 " 구성 요소 "라고합니다. " 시스템 "은 구성 요소를 사용하여 사용자와의 게임 상태 / 인터페이스를 업데이트하는 메서드 …

3
엔터티 / 컴포넌트 시스템에서 엔터티 동시 처리를위한 읽기 / 계산 / 쓰기 단계를 효율적으로 분리
설정 엔터티가 일련의 속성 (동작이없는 순수한 데이터)을 가질 수있는 엔티티 구성 요소 아키텍처를 가지고 있으며 해당 데이터에서 작동하는 엔티티 논리를 실행하는 시스템이 있습니다. 본질적으로 다소 의사 코드에서 : Entity { id; map<id_type, Attribute> attributes; } System { update(); vector<Entity> entities; } 일정한 속도로 모든 엔티티를 따라 이동하는 시스템은 MovementSystem extends …

2
컴포넌트 기반 엔터티 시스템에서 스크립트 및 "네이티브"컴포넌트 처리
현재 구성 요소 기반 엔터티 시스템을 구현하려고합니다. 엔터티는 기본적으로 단지 ID이며 여러 구성 요소를 묶어 게임 객체를 형성하는 도우미 메서드입니다. 그 목표는 다음과 같습니다. 컴포넌트에는 상태 만 포함됩니다 (예 : 위치, 상태, 탄약 수) => 로직은 "시스템"으로 들어가고 이러한 컴포넌트와 해당 상태 (예 : PhysicsSystem, RenderSystem 등)를 처리합니다. 순수한 C …

5
엔티티 구성을 스크립트 외부에 배치하는 이유는 무엇입니까?
스크립트 파일에서 엔터티 구성 요소를 정의하는 많은 게임을 보았지만 각 엔터티를 구성하고 구성 요소를 지정하면 XML과 같은 다른 파일 형식을 사용합니다. 왜 그렇게합니까? 나는 주로 다른 사람들의 이론적 근거가 무엇인지를 묻습니다. 나는 또한 (내가 JSON하지 XML을 선택하지만) 스크립트의 외부 나의 실체를 구성합니다. 이 작업을 수행하는 이유는 저장 게임을보다 쉽게 ​​구현할 …

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