140 reputation
4
bio website
location
age
visits member for 2 years, 5 months
seen Feb 18 at 22:21

Feb
28
awarded  Popular Question
Oct
10
answered The reasons behind Unity3D engine design (game object/transform component)
Oct
10
comment Dynamic Components
Thank you for replying, Coyote. In the scope of this project, memory and performance aren't very important since the paper describes mostly theoretical work; however, those words of advice are nevertheless true, and I will certainly keep them in the back of my mind.
Oct
9
comment Dynamic Components
Within due time, I will certainly share the architecture with the folks at gamedev.stackexchange. The architecture will be described in an academic paper I'm in the process of writing. Coyote's solution certainly works, depending on the architecture employed; however, I don't like the existing paradigm, which is why I'm writing a paper with new ideas :). To clarify: a method in a class derived from Component will be executed iff it's enabled. Aspect-oriented frameworks help me do exactly this by generically intercepting methods. Thanks again, and I'll keep you guys posted with updates.
Oct
9
comment Dynamic Components
Thank you for taking time to respond. Unfortunately, I don't believe your solutions solve my problem. For example, if object A is referencing Component B directly, removing B from an update loop will not affect B's inherent ability to make changes to A. When B is disabled, it is desired that nothing can be changed. After some Googling, it seems this problem is quite complicated and involves method-invocation interception and is language-specific. sharpcrafters.com/blog/post/deeper-into-aspect-inheritance.aspx details what would be needed for use in a C# system.
Oct
8
asked Dynamic Components
May
8
awarded  Supporter
May
8
answered Should iOS games use a Timer?
May
6
comment How can I store a set of concrete components and implement “GetComponent<T>()?”
I should mention that I am using C++, which made this problem non-trivial. However, using boost::any I was able to emulate C#'s functionality of Type. In conjunction with boost::any_cast and boost::any_bad_cast, I was able to solve the problem. I believe using boost::variant might be a better solution as it can emulate Java's wildcard abilities; however I'll look into that in a later date. For now, I might throw in some BOOST_STATIC_ASSERTS about T to ensure it is of type Component.
May
5
awarded  Student
May
4
comment How can I store a set of concrete components and implement “GetComponent<T>()?”
Thanks, Josh. I guess my brain wasn't functioning this morning.
May
4
accepted How can I store a set of concrete components and implement “GetComponent<T>()?”
May
4
asked How can I store a set of concrete components and implement “GetComponent<T>()?”
May
2
awarded  Scholar
May
2
accepted GameObject and Components
May
2
comment GameObject and Components
The messaging paradigm is taken care of by Qt's SIGNALs and SLOTs. However, the design pattern you are using (sort of like a Builder/Factory), in addition to referencing GameObjects by UID, can solve this problem. It's not the prettiest solution in the world, but it certainly is nifty and unique! When I am done implementing it (I just wrote it out on paper), I'll respond back with my code. Thanks, Nic!
May
2
asked GameObject and Components