thread smell new
I made the highlights? That's a first for me
I've made plenty of progress on iris (the Source hack), I'll post an update later when I'm not lazy.
remove me from the highlights
"nullsquared's getrich quick app hurr durr" way to remove the entire point of that post i made regarding water pressure and phun's implementation
why would you even edit the highlights to your own liking, destroying some posts and keeping other posts intact
Yay, made the highlights! :D
Motivation *= 50;
-snip- we don't need this drama.
null is literally the only person on the planet who could be upset at being highlighted.
I shall make the March 2012 highlights.
You will see.
Not many people like being drawn on though.
You guys making an issue of it isn't exactly helping either though. Lets talk about something else like...
Have any of you attempted a component based design for entities/items/etc in your games/projects? If so, how'd you like it?
I ask because I'm going to try and implement component based design for my stuff for the first time, and haven't read a lot about it.
for example, i have a couple of components called GameRenderable, GamePhysical, and GameTransformable ... you could easily guess their functionality
now, a regular prop (like a box) uses the same components as a constraint (like a spring) - even though they have completely different functionality, they both render a sprite, they both allow the user to click on them, and they both have a concept of position/rotation, etc.
this leads to very strong separation of responsibilities and very clean code - when i write code for a spring, i'm writing code for a spring, not a completely new entity derived from a long chain
my only suggestion is, don't get too caught up in complicated "messaging systems"
make strong use of PIMPL, keep your header files clean, and just include whatever component you need to interact with:
#include "GameTransformable.h" // a minimal header file with no private variables or anything GameTransformable* trans = Parent()->Get<GameTransformable>(); trans->Position.x += 5; // etc.
You can take a look at my code at http://code.google.com/p/protozed/, although I wouldn't brag about my implementation.
Audio Portal didn't make the highlights :(
FP for iOS will. Oh it will...
I recommend this series of articles: http://t-machine.org/index.php/2007/...opment-part-1/. I think they thought me the most out of any articles I've found about the subject.
This site has some more examples also: http://entity-systems.wikidot.com/
Wheee, made the highlights :D
Been away from the project for a few days because of coursework and whatnot, but I'm taking the night off to work on this again. Procedures are truly first-class now (albeit always passed by reference) - fiddled with the parser a bit too, you can call them from arrays now too:
I haven't been in the highlights for months :(
I've done worse things than my lighting simulator or Mars Miner that made the highlights
You should remove mine from highlights, that has nothing to do with programming at all..
Just about to start on my component implementation, but I needed to touch up my quad tree so I wouldn't have to go back to it later on (hopefully).
Was very annoyed that XNA didn't have a float Rectangle which made the quad tree display a little weird due to rounding issues with normal rectangles, so I made my own and It's looking a lot better IMHO. All entities aside from the face aren't being drawn (that's why the quad tree has other nodes, but nothing there)
Man I've been so lazy.
First time since like 5 versions that I'm not in OP.
Have you tried implementing parenting in a component based system?
For example, one shape might have the MouseInteraction component but it's parent doesn't, yet when the mouse goes over the shape, it's parent also intersects with the mouse because the shape is it's child. Unfortunately, the parent doesn't need the MouseInteraction component to do what it does but you have to add it anyway so it can tell you if child intersected.
It all turns into a giant clusterfuck very fast when you have to include a ton of components just because they must support everything their children support.
It's either that or having to deal with unintuitive functionality.
Instead of checking every one with every one, you only need to check each one and it's neighbors.
what do you mean by parenting? and why are you doing it at the entity level? that defeats the purpose of using a component based design to begin with!