by Kent » Thu Jun 05, 2003 1:24 pm
Good question about what a "world model" actually is. I've had this discussion with a few people since you asked, and a good working idea of what a world model entails probably revolves around exactly what a programmer has to do in order to make certain things happen in a game: i.e., how the player is implemented, how actions are interpreted, what the default behavior of the game is (meaning, probably, what the library does) for a given situation and what opportunity there is to customize that behavior, etc.
In that sense, Hugo is more similar to Inform in terms of world model. There is a "physical" representation of containment (using the object tree, although Hugo doesn't have to depend on it) and behavior is mostly governed globally by pre-existing library routines, with opportunities for the player to intercept default behavior . (In Hugo, the means of intercepting behavior are somewhat more flexible. At least that's my probably biased take.) This differs somewhat from TADS, which has a more object-oriented approach to default behavior using methods on the individual classes and objects. (If you're familiar with C and C++, TADS is closer in many ways to C++ than Inform or Hugo are. But then again they all support objects, classes, multiple inheritance, and the ability to affect default processing is tied to objects/classes, and so on.)
(Written in a rush, so hopefully I didn't confuse anyone, including myself.)
Good question about what a "world model" actually is. I've had this discussion with a few people since you asked, and a good working idea of what a world model entails probably revolves around exactly what a programmer has to do in order to make certain things happen in a game: i.e., how the player is implemented, how actions are interpreted, what the default behavior of the game is (meaning, probably, what the library does) for a given situation and what opportunity there is to customize that behavior, etc.
In that sense, Hugo is more similar to Inform in terms of world model. There is a "physical" representation of containment (using the object tree, although Hugo doesn't have to depend on it) and behavior is mostly governed globally by pre-existing library routines, with opportunities for the player to intercept default behavior . (In Hugo, the means of intercepting behavior are somewhat more flexible. At least that's my probably biased take.) This differs somewhat from TADS, which has a more object-oriented approach to default behavior using methods on the individual classes and objects. (If you're familiar with C and C++, TADS is closer in many ways to C++ than Inform or Hugo are. But then again they all support objects, classes, multiple inheritance, and the ability to affect default processing is tied to objects/classes, and so on.)
(Written in a rush, so hopefully I didn't confuse anyone, including myself.)