«component-based» 태그된 질문

컴포넌트 기반 디자인은 비즈니스 오브젝트 및 게임 오브젝트의 여러 논리 속성을 특정 태스크 전용의 작은 컴포넌트로 분리하는 데 의존합니다. 게임 오브젝트는 일반적으로 "실제"오브젝트의 속성과 동작을 함께 모아서 특수 오브젝트를 일반 오브젝트에서 상속 할 수 있도록 모델링하는 반면, 컴포넌트 기반 디자인은 상속이 아닌 컴포지션에 의존합니다.

5
컴포넌트 기반 게임에서 충돌을 올바르게 처리하는 방법은 무엇입니까?
구성 요소를 중심으로 설계된 게임에서 충돌을 올바르게 처리하는 방법으로 머리를 감싸려고합니다. 많은 예제 PhysicsComponent에 엔티티의 구성 요소 목록에 추가되는 종류가 있지만 실제 구현은 혼란 스럽습니다. 이것이 작동 PhysicsComponent하려면 주변 세계에 액세스해야합니다. 이것은 나에게 직관적이지 않습니다. 컴포넌트가 컨테이너 (엔터티)뿐만 아니라 컨테이너의 컨테이너 (세계)를 인식하지 않아야합니까? 나에게 레벨이나 장면은 이러한 엔티티와 모든 …

4
엔터티 당 단일 유형의 한 구성 요소를 손상시키지 않고 엔터티 당 여러 메시를 사용하려면 어떻게해야합니까?
계층 기반 게임 엔진에서 컴포넌트 기반 게임 엔진으로 전환하고 있습니다. 내 문제는 메쉬 계층 구조가있는 모델을로드 할 때 이해하는 방식은 구성 요소 기반 시스템의 엔티티가 동일한 유형의 여러 구성 요소를 가질 수 없지만 각 구성 요소에 대해 "meshComponent"가 필요하다는 것입니다 모델의 메쉬. 그래서이 문제를 어떻게 해결할 수 있습니까? 이 사이트에서 …

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

4
단일 플레이어 엔진이 유효하지 않은 데이터를 얼마나 강력하게 거부해야합니까?
싱글 플레이어 게임에서 외부 스크립트에 지정된 구성 요소로 엔티티를 만들려고 할 때 구성 요소 중 하나가 잘못 구성되었을 때 발생하는 것이 더 바람직하다고 생각합니다. 엔진이 해당 구성 요소를 건너 뛰고 엔터티가 잘 작성된 구성 요소만으로 게임 세계에 살도록해야합니까? 아니면 구성 요소 중 하나만 잘못 구성되어 있으면 엔터티를 세상에 전혀 추가해서는 …

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

1
게임 서브 시스템에 게임 오브젝트 구성 요소를 등록 하시겠습니까? (컴포넌트 기반 게임 오브젝트 디자인)
컴포넌트 기반 게임 오브젝트 시스템을 만들고 있습니다 . 몇 가지 팁 : GameObject단순히의 목록입니다 Components. 있습니다 GameSubsystems. 예를 들어, 렌더링, 물리 등 각각 GameSubsystem에 대한 포인터가 포함되어 있습니다 Components. GameSubsystem매우 강력하고 유연한 추상화입니다. 게임 세계의 모든 조각 (또는 측면)을 나타냅니다. 등록하는 메카니즘의 필요가 Components있는 GameSubsystems(언제 GameObject만들어 구성된다). 있다 4 접근 …

2
엔티티 / 컴포넌트 기반 시스템에서 게임 상태를 구성하는 방법
여기에 설명 된대로 시스템을 사용하여 구성 요소간에 통신하는 엔티티 구성 요소 패러다임으로 설계된 게임을 만들고 있습니다 . 개발 단계에서 게임 상태 (일시 중지, 재생, 레벨 시작, 라운드 시작, 게임 오버 등)를 추가해야하는 시점에 도달했지만 내 프레임 워크로 어떻게해야하는지 잘 모르겠습니다. 모든 사람들이 참조하는 게임 상태 에서이 코드 예제를 살펴 보았지만 …

2
libGDX에서는 Table.drawDebug가 더 이상 사용되지 않으므로 대신 무엇을 사용해야합니까?
간단한 학습을 ​​위해 "Learning LibGDX Game Development"책을 따르고 있습니다. 메뉴 생성 섹션에서 스테이지를 만들고 디버그 테두리로 렌더링합니다. 이 책은 사용한다고 말 Table.drawDebug(stage)했지만이 정적 메소드는 프레임 워크 Table클래스에서 완전히 제거 된 것으로 보입니다 . 가져 오는 중입니다 com.badlogic.gdx.scenes.scene2d.ui.Table. 아래는 내 코드입니다. @Override public void render(float deltaTime) { Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); …

1
엔터티 구성 요소 시스템에 전역 컨텍스트 데이터를 어떻게 저장합니까?
내 질문은 이것입니다 : 어떻게 글로벌 컨텍스트 데이터를 저장하겠습니까? 엔터티 구성 요소 시스템의 월드 데이터 정보, 현재 월드 타임 등? 저는 C ++에서 Dwarf Fortress 스타일의 개방형 세계 시뮬레이션 게임을 구축하려고 노력하고 있습니다. 나는 재미를 위해 엔터티 구성 요소 스타일의 게임 엔진을 구축했으며 현재 내가 원하는 모든 기능에서 어떻게 작동하는지 …

3
엔터티 구성 요소 시스템에서 "Blob-Systems"를 피하는 방법은 무엇입니까?
현재 다음 문제에 직면하고 있습니다. 엔터티 구성 요소 시스템 (ECS) 을 사용하여 퐁 클론을 작성하려고합니다 . 나는 스스로 "프레임 워크"를 썼습니다. 따라서 모든 구성 요소로 엔티티를 관리하는 클래스가 있습니다. 그런 다음 구성 요소 클래스 자체가 있습니다. 마지막으로 시스템에 필요한 구성 요소가있는 모든 엔티티를 얻는 시스템이 있습니다. 예를 들어 내 이동 …

2
구성 요소를 업데이트 할시기 및 위치
일반적인 상속 무거운 게임 엔진 대신 더 많은 구성 요소 기반 접근 방식을 사용하고 있습니다. 그러나 구성 요소가 수행 할 수있는 위치를 정당화하는 데 어려움을 겪고 있습니다. 구성 요소 목록이있는 간단한 엔티티가 있다고 가정 해보십시오. 물론 기업은 이러한 구성 요소가 무엇인지 모릅니다. 엔터티에 화면상의 위치를 ​​제공하는 구성 요소가있을 수 있으며 …

3
컴포넌트 기반 게임에서 엔티티 상태 및 애니메이션을 업데이트하는 방법은 무엇입니까?
학습 목적으로 (그리고 나중에 일부 게임에서 사용하기 위해) 구성 요소 기반 엔터티 시스템을 설계하려고하는데 엔터티 상태를 업데이트하는 데 문제가 있습니다. 구성 요소 사이에 종속성을 방지하기 위해 구성 요소 안에 update () 메서드를 원하지 않습니다. 현재 내가 생각하는 것은 구성 요소에 데이터가 있고 시스템이 구성 요소를 업데이트한다는 것입니다. 따라서 Transform, Movement, …

3
구성 요소 엔티티 시스템-업데이트 및 호출 주문
구성 요소가 모든 프레임 을 업데이트 할 수있게하고 (필요하지 않은 구성 요소에서이 기능을 사용하지 않도록) UpdateComponent 구성 요소를 만드는 아이디어를 얻었습니다. MovableComponent속도를 유지하는 것과 같은 다른 구성 요소 는 IUpdatable추상 클래스 에서 상속됩니다 . 이렇게 하면에 대한 포인터를 제공 MovableComponent하는 Update(gametime dt)메소드와 다른 메소드를 강제 로 구현 합니다 . 많은 …

3
엔티티를 집계로 작성
나는 최근에 엔티티와 그들의 행동 을 분리 하는 방법에 대해 물었다. 과 과이 기사에 링크 된 주요 답변 : http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/ 여기에 쓰여진 궁극적 인 개념은 다음과 같습니다. 순수한 합의로서의 목표. C #을 사용하여 게임 엔터티를 순수한 집계로 만드는 방법에 대해 궁금합니다. 나는 이것이 어떻게 작동하는지에 대한 개념을 파악하지 못했습니다. (아마도 …

2
캐시 친화적 인 구성 요소 저장소를 사용하여 구성 요소 간 통신을 안전하게 지원하려면 어떻게해야합니까?
구성 요소 기반 게임 개체를 사용하는 게임을 만들고 있는데 각 구성 요소가 해당 게임 개체와 통신하는 방법을 구현하는 데 어려움을 겪고 있습니다. 한 번에 모든 것을 설명하는 대신 관련 샘플 코드의 각 부분을 설명하겠습니다. class GameObjectManager { public: //Updates all the game objects void update(Time dt); //Sends a message to …

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