Recommend
18 
 Thumb up
 Hide
49 Posts
1 , 2  Next »   | 

Falling Sky: The Gallic Revolt Against Caesar» Forums » General

Subject: Beginnings of an app for FS - bot. rss

Your Tags: Add tags
Popular Tags: [View All]
Michael Auton
United Kingdom
flag msg tools
mbmbmbmbmb
Hi,

I have been working on a Python script to replicate the AI for the non-player / bots within FS.

I have a project already going for GMT's Liberty or Death - here

I am currently working through the non-player Aedui and need some help on the implementation of BATTLE logic.

I already have everything in place for storing the current situation / numbers / attributes etc of the map. I could do with a bit of help moving forward.

Unfortunately this is not paid - it's off my own back in personal time, although I am dedicating a lot of my evenings to this (and LoD project).


If you are genuinely interested, know a bit of Python and also have played & understand the BOTS of FS - then please get in touch.

I can share the code via GitHub etc.

If you cant help with the code, then please do help by trying to answer my questions here:
http://boardgamegeek.com/article/23452956#23452956

UPDATE:

VIDEO TIME

Some videos of progress so far:

1) Recordings should be watched in sequence.

2) Show the non-payer Aedui flow in action !!

3) Remember that you will manually have to update the Map within Vassal manually... what we are writing here is the state of the map being passed to our scripts, which process the state, outputs in the Vassal window the results and ACTIONS for you to carry out.

4) Apologies for the pronunciations of regions / factions etc whistle

5) If you spot any issues / errors - then great let me know.

6) I'll work with Bart on getting things to a state where we can release a test version to everyone... things wont be perfect first time round, we are open to constructive feedback and guidance - once you get your hands on it.


Videos:

Intro - https://youtu.be/1Vsl2QcXCNQ

Battle - https://youtu.be/tjEjZGwhZII

Rally - https://youtu.be/VeA4PANjCYg

Raid - https://youtu.be/5NAjTS_nDHU

Next Steps - https://youtu.be/PjK0Y-4QywM


Enjoy !

Michael (Aedui) / Bart (Roman)

Thanks
  • [+] Dice rolls
A K Vikhagen
Sweden
Gothenborg
flag msg tools
Avatar
mbmbmbmbmb
Subscribed, with high anticipation
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Alex P
France
La Plaine St-Denis
Ile-de-France
flag msg tools
mbmbmbmbmb
If you were a real fan you would subscribe to the whole game...
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Niko
Canada
Calgary
Alberta
flag msg tools
badge
mbmbmbmbmb
Jesse Custer wrote:
If you were a real fan you would subscribe to the whole game...
But that would either alert you every time there is a reply to a thread or not alert you to replies.
I subscribe to the game/COIN family to see new threads and then to each thread where I want to keep being updated. Presumably tilde72 does it similarly.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Didier Renard
France
Saint-Louis
flag msg tools
mbmbmbmbmb
Thanks for developing this, Michael!
All I can give for now are my encouragements, as Python is a foreign language to me!
I hope this tool will be useful beyond the "programmers" community... I had a bad experience trying something similar for Labyrinth war on terror.

 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
A K Vikhagen
Sweden
Gothenborg
flag msg tools
Avatar
mbmbmbmbmb
Jesse Custer wrote:
If you were a real fan you would subscribe to the whole game...


But I do - except once you have read a new thread for a game you are subscribed to it won't turn up again unless you subscribe to the thread. It depends a little on your settings, though.
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
A K Vikhagen
Sweden
Gothenborg
flag msg tools
Avatar
mbmbmbmbmb
Ze_German_Guy wrote:
Presumably tilde72 does it similarly.


Yes, I do
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Michael Auton
United Kingdom
flag msg tools
mbmbmbmbmb
boulou wrote:
Thanks for developing this, Michael!
All I can give for now are my encouragements, as Python is a foreign language to me!
I hope this tool will be useful beyond the "programmers" community... I had a bad experience trying something similar for Labyrinth war on terror.



the tool will be open to everyone - infact it's easy to use / run - no fancy programming knowledge is needed to get this up and running.

2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
trevor

Missouri
msg tools
badge
Avatar
mbmbmbmbmb
Thanks for this, sounds great!

Presumably, it wouldn't be hard for GMT to make a 'bot app', they already have a fairly in depth algorithm for control of the bots.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Michael Auton
United Kingdom
flag msg tools
mbmbmbmbmb
Not sure .. but after all these COIN games - none have appeared, hence I started myself.

On the Liberty or Death app I have - the game designer Harold Buchanan and Volko himself have commented. So GMT may not be directly aware - however the people that author the games do

The majority of my efforts on the LoD bot was setting up the and tracking the resources and basically the state of the map. This took a bit of time, but I now have this sorted - and my implementation in the code is currently working 2nd time round with FS too !!

Where the time is taken - is trying to decipher the BOT Flows themselves... I am writing another thread asking for help / clarification on the various questions I have right now for Aedui Bot - I hope people help, as this will speed up my development.

I'll link out to that thread when it's posted.
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Alex P
France
La Plaine St-Denis
Ile-de-France
flag msg tools
mbmbmbmbmb
Ah.... I didn't know there were settings for that.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Michael Auton
United Kingdom
flag msg tools
mbmbmbmbmb
link to my questions in Rules for the Aedui bot:

http://boardgamegeek.com/article/23452956#23452956


Thanks for any help - in towards the work on my side.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Michael Auton
United Kingdom
flag msg tools
mbmbmbmbmb
thanks for the help and encouragement so far.

I have added a % complete against all the areas, before I give everyone access to an initial test release.

Next - continue with Raid & March ... then i'll probably circle back to Battle.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Michael Auton
United Kingdom
flag msg tools
mbmbmbmbmb
leave with you all with some screenshots of things in action around the Rally.





2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Ronald Tin
Hong Kong
Hong Kong
flag msg tools
Avatar
mbmbmbmbmb
I am a Perl person who recently started learning Python. So if you don't mind my amateurish Python skills, I could try and see if I can manage to submit test reports and / or bug fixes.

I presume the first thing I need is to signup for a Github account?
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Didier Renard
France
Saint-Louis
flag msg tools
mbmbmbmbmb
autonm wrote:
boulou wrote:
Thanks for developing this, Michael!
All I can give for now are my encouragements, as Python is a foreign language to me!
I hope this tool will be useful beyond the "programmers" community... I had a bad experience trying something similar for Labyrinth war on terror.



the tool will be open to everyone - infact it's easy to use / run - no fancy programming knowledge is needed to get this up and running.



I can see your approach is similar to the Labyrinth tool, using a script to enter responses about the state of the game. Where it left me disappointed is that the program would return an error at some point and could no longer be used for the game that was started. Not really a satisfactory experience as a user
I will definitely try your tool when it is ready, and meanwhile will follow your other threads to give input where I can!
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Michael Auton
United Kingdom
flag msg tools
mbmbmbmbmb
boulou wrote:

I can see your approach is similar to the Labyrinth tool, using a script to enter responses about the state of the game. Where it left me disappointed is that the program would return an error at some point and could no longer be used for the game that was started. Not really a satisfactory experience as a user
I will definitely try your tool when it is ready, and meanwhile will follow your other threads to give input where I can!


Thanks for the follow. I to used to use the Labyrinth tool a few years back. I think a 'script' is good enough for what is needed - otherwise development times for myself adding a GUI would added months and by then - everyone has probably moved onto the next hot game of the moment.

The problem that all 'us' solo developers have is lack of resource or the capability to test all extremes. Also in the world of software development one of the rules is (outside of light testing) - is not to test and sign of your own work. Thats what out my company we have a team of developers and a team of dedicated QA people.

Bottom line - the more people to help test / trial this, the more feedback and fixes I can make where needed.

Again thanks for your follow & interest though.



... one final thought, is that if this script for FS does crash, then you can restart and use a 'map' command to update the regions. You can also adjust the availability & resources etc. May take 5 mins or so to update the information into the script - but it is do-able.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Didier Renard
France
Saint-Louis
flag msg tools
mbmbmbmbmb
autonm wrote:


... one final thought, is that if this script for FS does crash, then you can restart and use a 'map' command to update the regions. You can also adjust the availability & resources etc. May take 5 mins or so to update the information into the script - but it is do-able.


This would be a great feature!
I certainly understand the limitations on your side that prevent you to develop a full-blown tool, and I hope I didn't come across too negatively in my comment. I *really* am thankful for your efforts and I'd be happy to serve as a play tester when you are ready to share!
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Michael Auton
United Kingdom
flag msg tools
mbmbmbmbmb
boulou wrote:
autonm wrote:


... one final thought, is that if this script for FS does crash, then you can restart and use a 'map' command to update the regions. You can also adjust the availability & resources etc. May take 5 mins or so to update the information into the script - but it is do-able.


This would be a great feature!
I certainly understand the limitations on your side that prevent you to develop a full-blown tool, and I hope I didn't come across too negatively in my comment. I *really* am thankful for your efforts and I'd be happy to serve as a play tester when you are ready to share!


Thanks - I didnt take it negatively at all - so let's put that to the side.

This 'map' feature is already in ... and yes it's a great feature. LOOOONG term my thoughts are to write out to a logfile, which you could just 'load' back into the script or a record of the last known state is saved out. That way you can stop / start the script over time - rather than having to keep it running until your game is done.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Bart de Groot
United Kingdom
Oxfordshire
flag msg tools
badge
Avatar
mbmbmbmbmb
I have been working on an implementation to run ADP bots as a script from VASSAL using the VASSAL module instead of a command line. When I found this thread (I don't own LoD so missed that script), I contacted Michael to see how it could be applied to FS as well. My implementation uses VASSAL as the input/output for the script instead of the command line, so no manual typing of game changes is needed. I have modified my VASSAL extension so it works for FS and can run Python (which Michael uses) in addition to JavaScript (which I use). There are still many challenges left to solve, and I will also try to help out by attempting one of the factions.

For my ADP bot see: Automated Bot in VASSAL for ADP

12 
 Thumb up
7.00
 tip
 Hide
  • [+] Dice rolls
Didier Renard
France
Saint-Louis
flag msg tools
mbmbmbmbmb
Sounds promising Bart!
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Michal K
Poland
Otwock
Mazowieckie
flag msg tools
badge
mbmbmbmbmb
Looking forward to your work!
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
chuck reaume
United States
Michigan
flag msg tools
designer
badge
Avatar
mbmbmbmbmb
Excellent work, Michael and Bart!
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Tully Elliston
United Kingdom
flag msg tools
I think if you finish this bot, the popularity of FS will probably increase 100-fold.

The only thing that really holds back the COIN single player is how tedious calculating the bot actions can be. If it were automated like this it would become accessible

How long have you been working on it so far?
How much work is left to do?
Would it help keep you motivated if people pledged donations for the finished product?
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Bart de Groot
United Kingdom
Oxfordshire
flag msg tools
badge
Avatar
mbmbmbmbmb
ivoryking wrote:
How long have you been working on it so far?
How much work is left to do?
Would it help keep you motivated if people pledged donations for the finished product?


Michael has been working on the bots, but I don't know for how long.

I joined the project just over a week ago. I have mostly been working on the framework I made for ADP rather than the FS bots though, adding the VASSAL interface to the bot script and expanding it for Python and FS needs. I've had to do some more of that now because I always intended the interface to be non-interactive (VASSAL calls the bot, bot does its thing, print output), but with FS it's impossible. You need to ask the human player(s) things during the bot flow (e.g. do you allow retreat? is the event effective? do you want to roll for losses when defender is human player? ...).

Work left? More than I like to think about. Humans can take a quick look and make decisions. Or look up combinations of board positions and capabilities as they happen. The bots need to take everything into account up front, every exception, every rare situation.

I think it would be better to have people help out with programming (know Python? join the fun!) and testing (not there yet), or even just trying to figure out bot logic.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
1 , 2  Next »   | 
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.