[squeak-dev] Re: Embracing Projects

Andreas Raab andreas.raab at gmx.de
Thu Nov 26 19:11:28 UTC 2009


Michael Haupt wrote:
> I'd buy it immediately. Is there a tutorial somewhere that illustrates
> how to use these facilities?

Not much at this point, partly because there really isn't much to it 
(yet). The GamesProject is split into three parts: The installation, the 
standard Morphic project setup and the custom Games setup. In the 
installation (GamesProject>>install) we detect whether MorphicGames are 
installed and if not, download and install it (this is pretty adhoc). 
The default Morphic setup is simply setting up the project like any 
other project (default background, menu bar etc) - there is plenty of 
stuff that's still missing here, for example having the ability to 
customize the menu bar (you could conceivably do that in the custom 
setup step but then you'd be creating some of these twice). Lastly, the 
custom setup (GamesProject>>setupProject:) should really (as the comment 
says) live inside the MorphicGames package so that it can be updated 
when the Games package gets updated. It can do whatever it wants with 
the Morphic world, in our case just adding a few thumbnails to launch 
the game but it could also open some of them by default etc. Lotsa room 
for fun stuff.

Personally speaking, the biggest outstanding issue with projects (which 
will start biting us really soon now) is persistence. You can save one 
of these GamesProjects (whoopsie. or maybe not. it just blew up for me 
with something that looks like it might be crlf related) but the issue 
is that the way projects are persisted makes it difficult to ensure the 
proper dependencies are met (i.e., this needs to be loaded into a 
GamesProject which already implies that the MorphicGames package will be 
present etc). And ImageSegments are good for certain things, but as a 
general purpose long-term persistence mechanism they suck. Simply 
because by their very nature they can't store abstract descriptions but 
only the bits of the current implementation used. And if you've ever 
persisted stuff that you wanted to be able to load a year from now in 
the face of active development you know the latter is a recipe for disaster.

Anyway, that's where we are now. It's a starting point, not the end of 
the story.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list