|
Post by ethaneldridge on Sept 24, 2015 6:11:43 GMT -8
What are the practical limitations of the types of games that can be expressed in GDL? For example, is a game like "Settler of Catan" (https://en.wikipedia.org/wiki/Catan) a realistic candidate? If so, are there examples of GDL that express complex board games? If not, what are the impediments?
|
|
|
Post by Andrew Rose on Sept 24, 2015 9:13:18 GMT -8
By design, GDL can only be used for deterministic games with complete information (*). Settlers fails on both counts.
- It's a dice-rolling game, so isn't deterministic. - If players draw Development Cards, these are kept secret from the other players until played. Therefore, it doesn't have complete information.
Games as complex as e.g. Chess have been coded up.
Combinatorial explosion in the number of possible moves makes some games (e.g. Diplomacy) impractical to express in GDL. Also, the language (GDL is a Datalog variant, which is fairly Prolog-like) is unfamiliar to many and some concepts that are naturally expressed in other languages are difficult (but not impossible) to express in GDL.
(*) GDL-II was proposed in a paper some years ago. This removed both the determinism and complete information requirements. However, it hasn't caught on at all. I remain hopeful that we'll remove the determinism restriction because the mechanism for doing so is pretty uncontroversial and has support from most of the active actors in the field. It can be done in a way that wouldn't require updates to existing players (although players could certainly play better if they were updated).
|
|
|
Post by ethaneldridge on Sept 24, 2015 18:01:30 GMT -8
Many thanks for the speedy and helpful reply! I suppose it follows that, even if GDL-II were broadly adopted, Settlers-type games will always require custom development. The idea of expressing games in something like GDL breaks-down at a certain complexity level (given the combinatorial explosion).
|
|
|
Post by alandau on Sept 24, 2015 18:56:06 GMT -8
I'd say the breakdown occurs in terms of simulation performance before it becomes a huge problem in terms of the game description (if the author is well-versed in GDL, anyway).
Right now, the fastest game simulation comes from propositional networks, and those require storing all possible relations describing the game in memory. This is feasible for simpler games, but becomes unfeasible when certain types of complexity are scaled up.
This could change given new breakthroughs in applying analysis to games and using that to improve simulation performance. (Knowing that certain sets of propositions are mutually exclusive, for example, can dramatically simplify the network.) Right now there aren't many more advanced games to begin with, so there's still a lot of room for improvement in this area.
Another practical limitation (which could change in the near-ish future) is the timing system, which overly discourages long games or games with uneven amounts of activity between logical moves. Changes to that system could lead to making games that take more than 100-200 logical turns practical.
|
|