Simon McGregor on Thu, 22 Jul 2010 15:24:16 -0700 (MST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [game-lang] a survey of previous work |
Hi Joel, Thought I'd put my 2p in,. > * GDL: I don't know much about logic programming, and GDL looks like it comes from this stable. I like the declarative aspect to GDL, but it really really needs to incorporate some basic spatial and arithmetical concepts. These could conceivably be in the form of a library, but I suspect GDL is not very extensible. > * RGL: This is a stab at formalising spatial relations for games. The idea is that pieces sit on a directed labelled graph, and that a regular language can be used to specify relevant board concepts (e.g. a line of 3 in noughts-and-crosses). I'll say right away that I am a bit skeptical of this specific regular language approach (as a foundation); it's not clear to me that it's general enough to encompass ideas like surrounding a group of spaces or forming a square. That said, most boards are indeed just graphs (and usually planar graphs, at that), and the proposed RGL has some merit as a simple (if incomplete) description. A few games are played on continuous boards (e.g. miniatures wargames). I know this it's ambitious, but I'd like to keep cases like this in mind and try to make the language general enough to deal with them if possible. > * Extended General Gaming Model > > http://www.lamsade.dauphine.fr/~cazenave/papers/extendedggmodel.pdf I can't make sense of this yet. > * Drools: > > Dave, you mentioned this. Could you point us to where we can read about > it? Drools is a framework which, among other things, provides a rule engine (I suspect it uses the Rete algorithm). http://www.jboss.org/drools/drools-expert.html Dave can tell us more about it... What do we want our game representation language to do? I'd like the following features: - 1) A playable GUI version of a game can be automatically generated from its description, assuming that the game is composed of standard generic components (e.g. dice, cards, counters, tiles, board, etc.). If the game features some weird component like a card which changes appearance depending on the polarisation of ambient light, it should be possible to write a plugin for it. 2) The description of a game is sufficient for appropriate AI algorithms to play the game, prove things about the game, assess the dynamics of the game, and so on. (Given appropriate plugins for nonstandard components, obviously). 3) Any existing turn-based game which a computer could conceivably play can be represented in the language. Personally I'd prefer this to include games with continuous boards (although I don't play any games like this!) but I'm not too bothered if we don't model games which have real-time gameplay. 4) The description of a game is sufficient in principle to automatically generate printed rules for the game in any supported language. (Perhaps badly written rules, but formally correct ones.) This is a colossal, ambitious undertaking. I think one good way to start would be to propose specific games which might pose a challenge to represent. Then we can ask, do we want to be general enough to handle all of them, or do we want to start off with a restricted subset and worry about the harder stuff later. NON-SPATIAL CONCEPTS Poker: patterns which make poker hands Schotten-totten: proof that a hand can't be beaten Scrabble: English words SPATIAL CONCEPTS Chess: lines, diagonals, forwards, backwards Go: surroundedness Hex wargames: line-of-sight, range HUGE MOVE LISTS Scrabble: make any English word from your letters Simon _______________________________________________ game-lang mailing list game-lang@xxxxxxxxx http://lists.ellipsis.cx/mailman/listinfo/game-lang