cost 148 ms
設計實體系統時如何避免在C中使用虛函數

[英]How to avoid virtual functions in C when designing an Entity System

我想僅使用C和一小部分C ++為我的游戲設計一個實體系統。 許多人使用繼承來做到這一點,但我偶然發現了帶標簽的聯合,並了解到您可以通過這種方式獲得類似的結果,因為虛擬功能對游戲的運行很慢(所以我從Casey Mouratori和Jon Blow那里聽說了這兩個游戲開發人員很多靈感)。 ...

實體組件架構:想要拆分大實體->難以重構

[英]Entity component architecture : want to split big entity -> hard to refactor

在開發的第一步中,我將Car和AI設計為一個實體。 它很好用(偽代碼):- 稍后,我想要一個新功能:切換進出驅動程序(影響AI)。 我如下圖所示拆分實體: 上面的代碼將更新為: 問題 在更改之前和更改之后,它都很好用,但是很難維護。 如果有N類型V ...

實體組件系統-相互需求的組件

[英]Entity Component System - Components requiring each other

我已經為我的游戲(C ++)編寫了一個實體組件系統。 然后,我將渲染系統重構為可與Entities / RenderComponents一起使用,而不是與某些虛擬可繪制界面一起使用。 對於某些類,我認為強迫它們成為組件沒有太大意義。 這些類之一是地圖。 我的地圖類包括一個平鋪的地形類 ...

ECS / CES共享和依賴組件以及緩存位置

[英]ECS / CES shared and dependent components and cache locality

當有共享或依賴的組件時,我一直試圖圍繞ECS如何工作。 我讀過很多關於ECS的文章,似乎無法找到明確的答案。 假設以下場景: 我有一個實體,它有一個ModelComponent(或MeshComponent),一個PositionComponent和一個ParticlesCompo ...

ECS(實體組件系統)中的交錯系統?

[英]Interleaving systems in ECS (entity component system)?

我正在向實體系統添加物理,但對 ECS 的系統部分感到困惑。 例如,在一個非 ECS 項目中,我可能有這樣的事情: 但是,在 ECS 項目中,我將有一個在 PositionComponent 和 VelocityComponent 上運行的 MovementSystem 以及一個在 Posit ...

Java-如何讀取自定義地圖格式

[英]Java - How to read a custom map format

我正在嘗試為自己的小型2D RPG創建自定義地圖格式,所以我的問題是,如何正確,靈活地管理閱讀和創建自定義地圖格式。 首先,我正在用Java編寫代碼。 這個想法是要創建一個名為“ TileMap”的類。 此類定義了一個二維整數數組,用於存儲我的所有實體(我使用實體系統來實現我的游戲)。 ...

C ++模板函數導致循環依賴

[英]C++ template function causes circular dependancy

如何解決模板函數引起的循環依賴? 例如,我定義了一個存儲實體列表的Engine類,並負責創建實體並從中添加/刪除組件。 然后我還在實體類中添加了“包裝”這些函數的函數,允許一個很好的語法來向實體添加組件。 這允許我編寫這樣的代碼 而不是必須直接引用引擎對象到處 ...

甚至可以在Erlang中實現組件實體系統嗎?

[英]Is a Component Entity System implemented in Erlang even possible?

最近幾天,我對Erlang有了很多了解,並且熟悉組件實體系統。 使用Erlang的以過程為中心的方法,我建議每個實體都是一個Erlang流程實例。 至於CES(組件實體系統)方法,我將擁有一個過程,例如對擁有一個MovementComponent的實體使用“ MovementSystem ...

具有單例容器的C ++工廠模式組件創建者

[英]c++ factory pattern component creator with singleton container

我正在實現用於組件創建的工廠模式,並希望為工廠創建的每種類型的所有實例實現單例容器。 理想情況下,對於工廠中創建的每種類型,這將是一個向量。 如果我可以將基類指針保留在向量中,這將真的很容易,但是可惜我的用例非常希望所有實例都連續存儲,而不是在新實例放置在何處以獲得盡可能多的緩存命中。 ...

將Artemis ESF與JRuby一起使用

[英]Use Artemis ESF with JRuby

我正在嘗試使用JRuby的Artemis實體系統框架 。 這是我要轉換為JRuby的Java代碼: 當我執行此操作時,輸出為: ConsoleOutputSystem.process()方法被調用十次。 這是我的JRuby代碼: 輸出為: 因此,將調用Cons ...

ECS與Go - 循環進口

[英]ECS with Go - circular imports

我正在探索Go和Entity-Component-Systems。 我理解ECS是如何工作的,我試圖復制似乎是ECS的首要文件,即http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/ 為了提高性能,本文檔建議使用每種組 ...

實體組件系統框架,CPU緩存友好

[英]Entity Component System Framework that is CPU cache friendly

我找不到一個CPU緩存友好的框架實現, 這意味着每個游戲循環周期中系統遍歷的數據存儲在連續的內存中 。 讓我們看看,系統遍歷滿足其條件的特定實體,即實體應包含要由X系統處理的A,B,C組件。 這意味着我需要一個包含所有實體和組件的連續內存(不是引用,只要引用不是緩存友好的,並且你將有很多 ...

如何在Box2D中使用實體系統?

[英]How to use entity systems with Box2D?

使用實體系統開發游戲的方法非常明確。 您有組件,您將它們添加到實體。 根據您擁有的不同類型的組件,系統會開始處理每個實體的狀態。 例如,您將Position和Velocity組件添加到實體,實體正在處理我的Movement和Collision系統。 運動系統正在進行歐拉積分(這是一個基本 ...

Artemis實體系統框架

[英]Artemis Entity System Framework

我是Artemis Entity Systems框架的新手,我想知道是否有辦法讓所有具有特定組件的實體都在其中? (應該有,但我找不到。) 例如,我想找到所有具有EnemyComponent實體,並檢查它們是否與其中包含BulletComponent任何實體發生沖突。 我怎樣才能做到這 ...

在整個系統中,如何在libgdx中將實體組件系統與舞台,組和演員一起用於游戲設計?

[英]How to use entity component system for game design with stage, group and actor in libgdx for a whole system?

實體組件系統能夠解決游戲開發中OO編程過程中可能出現的規模問題。 我對ECS的查詢很少: 概述一下:有些實體包含一些組件(具有數據)和系統,這些邏輯具有行走邏輯,戰斗邏輯等邏輯。因此,在任何游戲中,敵人都是一個實體,英雄是一個具有自己系統的實體等。 每個玩家/敵人成為一個實體。 ...

C ++游戲引擎中的復合,組件和實體

[英]Composite, component and entities in C++ game engine

我正在開發一個開發游戲的學校項目。 我們使用由我們擁有的一個團隊制造的引擎。 發動機的堆積對我來說還不清楚,似乎是一種反模式。 然而,似乎沒有人可以讓我明白設計選擇。 該引擎應該使用“基於組件”的設計,但我沒有看到它。 下面是Component,Composite和Entity類的代碼 ...

C ++中的實體系統

[英]Entity System in C++

我最近發現了實體系統架構,我在使用C ++ /了解實現方面遇到了一些困難。 我如何看待實體系統: 組件 :具有attributs,set和get的類。 雪碧 Physicbody 飛船 ... 系統 :包含組件列表的類。 項目清單 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM