717 reputation
18
bio website
location Tennessee, USA
age
visits member for 1 year, 8 months
seen Aug 19 at 1:26

Aug
10
answered How to send components in an ECS System?
Jul
20
comment Decoupling the entity from whatever controls it
@Prog Creating a controller who is responsible for some movement interaction is fine, but I would not have any movement API on the entity class itself. Remember, you will likely have some entities that are stationary but can be used such as doors, chests, perhaps some form of mine/herb nodes, etc. The benefit of a component entity system is that specialized functionality is abstracted out to either a component or a system that operates on components and facilitates that functionality. The idea behind a movement component was to give you an abstracted movement API w/varying controller types.
Jul
16
revised Decoupling the entity from whatever controls it
added 251 characters in body
Jul
16
answered Decoupling the entity from whatever controls it
Mar
1
answered Alternatives to storing all my entities in an SQL database
Mar
1
answered Save “Explored Area” to SQL Database
Feb
27
revised How best to apply Quad-tree based LOD to terrains loaded in a paged fashion?
deleted 6 characters in body
Feb
27
asked How best to apply Quad-tree based LOD to terrains loaded in a paged fashion?
Feb
25
comment How to create a vertex buffer that provides this pattern?
@concept3d I considered tri-strips only because it would likely be compact than tri-lists. Plus given I've seen this pattern in several AAA games, I thought they'd also would have considered tri-strips over lists since they're more compact and from my reading, better performance.
Feb
25
comment How to create a vertex buffer that provides this pattern?
@Byte56 I thought about just doing four triangles per quad but was wondering if there was a more optimal way or compact way to represent the pattern.
Feb
25
asked How to create a vertex buffer that provides this pattern?
Jan
21
awarded  Editor
Jan
21
revised How are scripted camera usually managed?
added 32 characters in body
Jan
21
answered How are scripted camera usually managed?
Jan
16
comment Why are entities in a component system composed at run time?
Actually a freeze spell most likely intercepts the input actions to the entity and merely causes specific movement actions not to be fired, thus giving you the illusion that the movement component doesn't exist. Adding/Removing components come at a certain amount of cost, particularly if they're components which have dependencies in the hierarchy. Its usually better to intercept & block things temporary (aka disable) rather than completely remove & readd (just an FYI).
Dec
24
comment How to associate entities in a Entity Component System (Artemis)
Based on your original question, you're treating an Empire as the entity much like a traditional game treats an NPC or player. Therefore, an Empire can have a many-to-many relationship on faction standing with other empires and thus would hold a map of empire ids that it has come into contact with throughout its lifetime and the current standing with them or any other pertinent information. As for the system, there isn't necessarily a need for it to tick each frame but it could somehow listen for specific game events to be raised and respond accordingly by manipulating the faction data.
Dec
23
answered How to associate entities in a Entity Component System (Artemis)
Dec
16
answered Synchronization between game logic thread and rendering thread
Dec
16
awarded  Commentator
Dec
16
comment Synchronization between game logic thread and rendering thread
The problem you'll eventually face is this setup doesn't scale particularly well on a multi-core machine. Yes, there are aspects of a game which generally are best served in their own thread such as audio but much of the remainder of the game loop can actually be managed serially in conjunction with thread pool tasks. If your thread pool supports affinity masks, you can easily queue up say render tasks to be executed on the same thread and have your thread scheduler manage thread work queues and do work stealing as needed giving you multi-threading and multi-core support.