Recommend
 
 Thumb up
 Hide
13 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
Ai Ai Game Candidates
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Maurizio De Leo
Singapore
Singapore
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 ?
4 
 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.
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
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.
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
More information on MGL here:
http://mrraow.com/index.php/aiai-home/mgl/
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Myron Samsin
Canada
flag msg tools
mbmbmb
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
Rex Moore
United States
Woodbridge
Virginia
flag msg tools
Avatar
mbmbmbmbmb
"Normal" Emergo board?
I seem to have trouble with the odd board for Emergo... is it a pain to allow a normal board as an option?
 
 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
orangeblood wrote:
I seem to have trouble with the odd board for Emergo... is it a pain to allow a normal board as an option?
No problem; It'll be in the next release.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
William Morris
msg tools
First, thank you so much for Ai Ai.

Lately I have been playing Dameo quite a bit. I'm not good, which means currently the AI is winning most (er, maybe all) the time, and is often able to put together multi-capture moves against me. When this occurs the multi-captures occur instantaneously so that it can feel somewhat mystifying and I have to trace the captures in the history to analyze what happened.

This works, but I was wondering if it would be possible to either add a setting which would allow a time delay or require a key press between consecutive AI moves during a single turn.

 
 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
Thanks for the kind words. I'll add it to the wish list, but that will be quite a bit of work to implement so don't hold your breath!

Meantimes, CTRL-T (on a PC) will bring up the thinking time menu - lower thinking time, dumber AI

swords_fesswise wrote:
First, thank you so much for Ai Ai.

Lately I have been playing Dameo quite a bit. I'm not good, which means currently the AI is winning most (er, maybe all) the time, and is often able to put together multi-capture moves against me. When this occurs the multi-captures occur instantaneously so that it can feel somewhat mystifying and I have to trace the captures in the history to analyze what happened.

This works, but I was wondering if it would be possible to either add a setting which would allow a time delay or require a key press between consecutive AI moves during a single turn.

1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
William Morris
msg tools
Yes, definitely put this behind implementing new great games

It's a quibble, and as I improve I'm finding it easier to track. I think it was especially bad at first, having never played an orthogonal draughts before.

As to dumbing down the Ai, I'm losing less bad now then I was at first, which is all that matters to me.

Thanks again, your efforts have provided me many hours of fun (mostly Blooms and Dameo).

1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls