Since this subjet has popped up a few time, I thought I should open a new thread.
A Scenegraph is a distinct type of data structure and although the second paragraph of the Wikipedia article states that the defination is “fuzzy”, the third paragraph states exactly the form of the data structure and the remainder of the article works with that defination. The exception is the section on spatial partitioning which doesn’t really say anything and is mostly nonsense. For example: it talks about Quake, which is based on spatial partitioning (specifically a BSP) from the editor to the game…no scenegraph is ever involved. Stealing the defination from Wikipedia (in case of changes):
The problem with calling methods which are not based on this method Scenegraphs is twofold. The first is it makes it difficult to talk about things that are and secondly it’s a source of confusion. To jump problem spaces, hashtables and search trees are examples of methods one can use to implement dictionaries. Calling a splay-tree a hashtable is just silly.
(edit for topic steering)
When I say that scenegraphs are a very bad idea for games, I’m talking about being the “primary” spatial database for a 3D game (the runtime portion). The problems are not bad in the 2D case. In 3D scenegraphs are reasonable (if not good) choices for art packages and rapid prototyping. Thus they can also be reasonable for any associated construction tool for a 3D game, but the big issue here will be the conversion process required to generate the runtime data. The choice(s) of the runtime database system will dictate if this is reasonable or not.
Choosing a spatial database representation is difficult and very game (or rather types of supported enviornments) dependent. However the primary form should virtually always be some form of spatial partitioning.