Recommend
 
 Thumb up
 Hide
8 Posts

Stephen Tavener» Forums » General Creator Forum

Subject: Ai Ai suggestions thread rss

Your Tags: Add tags
Popular Tags: AiAi [+] [View All]
Stephen Tavener
United Kingdom
London
England
flag msg tools
designer
The overtext below is true.
badge
The overtext above is false.
Avatar
mbmbmbmbmb
Want a new feature? See a way that an existing feature can be improved? Let me know. Please don't post bug reports here - there is a separate thread for that.

Ai Ai links all in one place:
Announcements
Bug reports
FAQ
Ai Ai Home Page
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Maurizio De Leo
United States
Minden
Nevada
flag msg tools
badge
Avatar
mbmbmbmbmb
I know it is a bit a "shoot-the-moon" request, but any chances this program could read the zillions game files ?
3 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Stephen Tavener
United Kingdom
London
England
flag msg tools
designer
The overtext below is true.
badge
The overtext above is false.
Avatar
mbmbmbmbmb
megamau wrote:
I know it is a bit a "shoot-the-moon" request, but any chances this program could read the zillions game files ?

It's not impossible; I could process the files and generate suitable bits of java code then compile them on the fly. It would, however, be a lot of work. My main concern is that .ZRF is a proprietary format so I may need permission from Jeff or Mark... and I have no way of contacting them at present.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Carlos Luna
Spain
Rubí
Catalunya
flag msg tools
designer
badge
Avatar
mbmbmbmb
mrraow wrote:
megamau wrote:
I know it is a bit a "shoot-the-moon" request, but any chances this program could read the zillions game files ?

It's not impossible; I could process the files and generate suitable bits of java code then compile them on the fly. It would, however, be a lot of work. My main concern is that .ZRF is a proprietary format so I may need permission from Jeff or Mark... and I have no way of contacting them at present.


What constitutes a "game definition" in AiAi now? I'm not talking about a complex generic language to define games (as in Zillions or Ludi) but just the few practical functions that you can plug in your framework to create a new game:

Starting position definition
Hash function to store board positions
Function returning available moves from a given player+position pair
Function evaluating end-game state of a given position

Something else?

Perhaps you can provide an API that allows us to write these 4 functions in JAVA. It won't be optimized at all an perhaps is too slow for real games but will allow exploration of new ideas.
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Stephen Tavener
United Kingdom
London
England
flag msg tools
designer
The overtext below is true.
badge
The overtext above is false.
Avatar
mbmbmbmbmb
CarlosLuna wrote:
What constitutes a "game definition" in AiAi now? I'm not talking about a complex generic language to define games (as in Zillions or Ludi) but just the few practical functions that you can plug in your framework to create a new game:

Actually, there is such a language. Cameron and I devised an MGL (Modular Game Language) format based on JSON that allows you to stick bits of java code together to make games.

You can see some examples in the "mgl/unoptimised" folder in the latest release(s) if you want to try to figure out what's going on/make some simple tweaks. There are also some functions in the Help menu which may be useful.

I will produce some documentation on MGL in the near future.

Quote:
Perhaps you can provide an API that allows us to write these 4 functions in JAVA. It won't be optimized at all an perhaps is too slow for real games but will allow exploration of new ideas.

Several people have been asking about programming in java, so I am cleaning up the interfaces in the background - anything I supply at the moment on the java side is likely to change, so I don't want to expose too much. Once I have the interfaces as clean as possible, I'll release them.

Quote:
Starting position definition

init function, yes

Quote:
Hash function to store board positions

Not needed for UCT (but possibly for Alpha-Beta seach when I support it properly).

Quote:
Function returning available moves from a given player+position pair

Required...

Quote:
Function evaluating end-game state of a given position

Possibly - you need a function to apply the move to the current position (at present, though could be optimised away), which can evaluate the new state and assign a winner.

Quote:
Something else?

Yep... at present, some GUI-type functions. I need to implement default versions so these are an optional requirement.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Stephen Tavener
United Kingdom
London
England
flag msg tools
designer
The overtext below is true.
badge
The overtext above is false.
Avatar
mbmbmbmbmb
More information on MGL here:
http://mrraow.com/index.php/aiai-home/mgl/
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
M Samsin
Canada
flag msg tools
mbmb
Hi, I'm not sure if this is the right place to ask, but would someone be able to help me understand the syntax for implementing piece moves? I've looked through the MGL Developers Guide and some gamefiles, and sort of understand the file structure. It has to do with the rules.generate operation, I'm thinking, but I don't know how the syntax of this would work.

Stephen seems like a busy guy and I'm not sure about bothering him

In case it matters, this is for a Ludus Latrunculorum reconstruction I'm working on. I've made a Zillions file, but Zillions seems to make positional mistakes and isn't satisfying for playtesting this.

Thanks for any help.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Stephen Tavener
United Kingdom
London
England
flag msg tools
designer
The overtext below is true.
badge
The overtext above is false.
Avatar
mbmbmbmbmb
Quote:
It has to do with the rules.generate operation, I'm thinking, but I don't know how the syntax of this would work.

MGL isn't complete, so the functions you'd need don't necessarily exist - though I can add them on request. MGL is glue. In this case, you'd define the board, then define the pieces, and the pieces would generate the moves. I'd have to create the pieces for you if they don't already exist. After that' you'd just need to define the end goal. Again, if there isn't one (or a combination) that fit your needs, I may have to create one.

Quote:
I've made a Zillions file, but Zillions seems to make positional mistakes and isn't satisfying for playtesting this.


To be honest, it is usually quite a lot of work to get Ai Ai to play better than Zillions at movement/capture games... but it can be done.

I'd suggest learning Java, and implementing the game directly - the code will run about 10x faster than the equivalent implementation in MGL, and you can hand-tune the heuristics so Ai Ai plays well. Drop me a GM if you're interested.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Front Page | Welcome | Contact | Privacy Policy | Terms of Service | Advertise | Support BGG | Feeds RSS
Geekdo, BoardGameGeek, the Geekdo logo, and the BoardGameGeek logo are trademarks of BoardGameGeek, LLC.