Re: Software Architecture/Design

"Morten Brodersen" <[email protected]>
Newsgroups gmane.games.devel.sweng
Message-ID <D9EBC887617A4E56BF4F170002674C0B@QUAD>
Yes that is pretty much correct.

The high level SO's (State Objects) are typically just container objects
keeping collections of lower level SO's.

And the high level PO's (Process Objects) simply call a number of lower
level PO's, feeding the output from one PO as input to one or more other
PO's.

In other words, this high level architecture:

S0_1 -> [PO_1] -> SO_2

Might be implemented this way:

SO_1 -> [PO_2] -> SO_3 -> [PO_3] -> SO_2

(I am again just showing a linear chain because of the limitations of
email. In reality the path from SO_1 to SO_2 is typically a graph that
may contain cycles/loops).

Morten

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Phill Djonov
Sent: Friday, 4 June 2010 6:07 AM
To: [email protected]
Subject: Re: [Sweng-Gamedev] Software Architecture/Design


On Thu, Jun 3, 2010 at 9:35 AM, Richard Fabian <[email protected]> wrote:
> Something I've been worrying about with my stuff is how unwieldy does 
> it get the higher you go, but you're saying that higher level stuff 
> turns out fine too? Can you go a bit deeper into how higher level and 
> lower level stuff gets figured out?

Not sure if Morten is talking about the same thing, but what I find
works well is to think of "high-level data" as "bag of low-level
data"* and "high-level logic" as "high-level data in disguise"**.

* Usually refined into a hierarchy of bags of related subsets of that
data. It helps keep data dependencies from creeping in when MoveMovers
takes an array of MoverState objects and a GameTime, rather than the
whole damn GameState.
** Decision graphs are great! I can write a bit more about these later
when I've got more time, if anyone's interested.

Cheers!
Phill
_______________________________________________
Sweng-Gamedev mailing list [email protected]
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.
com

_______________________________________________
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.