Re: sparse components

Richard Fabian <[email protected]>
Newsgroups gmane.games.devel.sweng
Message-ID <[email protected]>
On 28 May 2010 19:41, Conor Stokes <[email protected]>wrote:

> The idea of externally abstracted state machines that talk to each other
> via a limited message interface (OOP) is a very good way of providing
> unbreakable contracts so people don't have to think of every implementation
> detail when using your code (in many ways, it doesn't go far enough). The
> shortcuts placed on top of that for re-use (inheritance, polymorphism) are
> great for certain cases where you have to do the same thing across
> heterogeneous data with similar facets. However the simplest implementation
> of these ideas becomes very constricting when you're looking for the best
> performance. To get the most performance with current OOP languages you may
> end up encapsulating more and more complex state machines with more complex
> operations on what is really quite homogeneous data, in which case you are
> giving up the benefit of higher level abstractions for performance. At this
> stage, it may seem like the encapsulation is not really worthwhile, because
> you
>  have so much complexity underneath and so much exposed to escape the
> performance constraining encapsulation mechanism that you don't feel like
> you're gaining any benefit. However, this is when you most need the
> encapsulation around the complex system, to hide the implementation
> complexity from the rest of the world.
>
>
Something that's pushed me further towards the data processing route is the
number of times I've looked at an apparently complex system to manipulate
complex data, only to find that the data was merely overly complex and it
just needed a little cleaning up. At least if you don't have the clever
containers of OO development, you can't easily get into complex data
territory. You find that you automatically think like database engineers,
and start using normal form analysis. It's quite shocking if you're working
on a mature game/engine and just run a pretty basic normalisation over your
structures. If it's not, can I come and work at your company ;)


>
> I think Corrinne Yu put it best recently in her Channel 9 interview when
> she was contrasting C against other languages; C was successful vs a lot of
> higher level languages because it presented the most logical and clearest
> representation of what the computer (essentially a single state machine) was
> doing at a low level. Now these machines work best with data concurrency and
> local state the new systems language has to represent that reality.
>
>
Yes, the old languages have already had their "scope" bugs either fixed, or
patched so it doesn't matter. Which I think is why most of my findings seem
to link to old solutions in SQL or systems development.


> Cheers,
> Conor
>
>
> ----- Original Message ----
>

-- 
fabs();
Just because the world is full of people that think just like you, doesn't
mean the other ones can't be right.

_______________________________________________
Sweng-Gamedev mailing list
[email protected]
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.