From: Brett L. <wak...@gm...> - 2007-08-03 19:09:48
|
On Fri, 2007-08-03 at 20:39 +0200, Erik Vos wrote: > > > > This would also allow us to add a property to define the number of > > > > minimum and maximum players, and have the Options() > > dialog dynamically > > > > add or subtract name boxes based on this data. > > > > > > In that case, the game selection should precede player entry. > > > > > > > > > No. Starting a game must not happen in forced steps. This is > > simply not > > an acceptable approach. > > I would say that things that are game-dependent can't be displayed > before a game is selected... > > That refers to min/max # of players, game options, > and other things that you are talking about. > That's one possibility, but even with reading the game files on game selection, we can still default to having a selected game on startup and reading that game's information. The other possibility is simply reading the Game.xml for all available games as defined by game.properties. Note that I say read, and not parse. There's nothing that requires us to actually use all of the data that's available to us. Either way we do it (read selected or read all), we still must divorce reading and parsing the XML from actually setting up the game objects. > ---- > > Well, while you are thinking about how the UI should really look like and > work, > I'll finish the basic version I'm doing now, and then leave it to you. > > Just a warning that the order in which things are presented to > the game engine *is* critical. And that's essentially the issue I'm raising. Right now the game engine dictates when the XML is read and parsed. This is forcing us to bend the UI to the game engine's processing. This is causing us to sacrifice the usability of the UI for the inflexibility of the game engine. This trade-off makes no sense at all. While the game engine may need certain data in a specific order, that doesn't mean that retrieving the data from the XML must happen in that order. All it means is that the data must be available when the game engine needs it. There's no good reason why we can't load more of that data first so that the UI can use it and present it in a user-friendly way, and then pass the data to the game engine in the format and order the game engine requires. ---Brett. When the least they could do to you was everything, then the most they could do to you suddenly held no terror. (Small Gods) |