Recommend
2 
 Thumb up
 Hide
11 Posts

Fury of Dracula (Second Edition)» Forums » Variants

Subject: Virtual-Vampire : Dracula playing AI for solo play rss

Your Tags: Add tags
Popular Tags: [View All]
Ben Turner
Australia
Melbourne
VIC
flag msg tools
badge
Avatar
mbmbmbmbmb
Inspired by Steve Post's idea of using a computer program to run the Dracula player, I decided it would be great to not just have a program to move Dracula and track his trail, but also to manage his event cards and encounters and try and play them somewhat skillfully.

Now, I am getting ahead of myself, and estimate a first cut of the tool would simply move and throw things out fairly randomly - which could be more confusing that a human opponent at points, as you cannot second guess the system based on it's "playing style". But I would be aiming to write the tool so new strategies and gambits could be added to create a challenging opponent indeed.

Technically, I was aiming to write the tool in Java, so it should run on any computer, and initially make it a text based (e.g. command line) tool, then develop a nice GUI front end later on.

From this, I was wondering if anyone had any suggestions for features such a tool might need. Looking at Steve's Perl script forum post, I have added "mutli-language support" to the features list, although I might need some help when I get there as meine Deutsche ist nicht so gut

Secondly, I wondered if this was a tool that would interest many people ? Whilst I am primarily writing it for myself and for the challenge of putting something like this together, it would be good to think others might use this at some point for solo Fury of Dracula play.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Patrik Kruse
Sweden
Malmö
flag msg tools
badge
Avatar
mbmbmbmbmb
Great idea!!! I would like it!
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Bruce Moffatt
Australia
Ipswich
Queensland
flag msg tools
badge
Avatar
mbmbmbmbmb
I don't always have the time to finish a game at a sitting or have access to a gaming group so anything that makes a game I own solo playable sounds great!
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Mark McEvoy
Canada
Mountain
Ontario
flag msg tools
badge
Avatar
mbmbmbmb
Just to reprise my AI-related thoughts from the other thread:

It would be nice if the AI were 'configurable' : for instance, you could weight Dracula's tendencies to move away from all followers versus trying to engage a weakened or unequipped hunter at night. Whether he's apt to try to travel far and fast or more likely to hide/feed to try to mature New Vampire encounters without leaving a long trail. Whether he'll wilfully allow himself to be seen (by going to his Castle, for instance). How likely he is to travel by sea.


So as a matter of 'command line parameters' you could dictate some behavioural decisions into the algorithm. You might want to play against a "Always run and hide and keep as far as possible from hunters and try to win by passage of time" Dracula one game, an "Engage the weakest or most poorly equipped hunter by night" Dracula the next game, and a "Dark Call as early as convenient and mature new vampires while covering minimal ground, taking to sea if necessary to keep the maturable events moving". It'd be nice if the one program could 'support' all three of these strategies and if the user could either specify which strategy to folow (as well as leave it unspecified and allow the program to randomly determine its AI parameters).




As for the effort being described here: two things you may want to consider on the long term; probably not first release, but designing your code such that you don't close off the possibilities in the future:


1. Allow the software to run as a FoD 'manager' software - be it simply to be usable as a laptop-based player aid (and game-state-saving tool) on gamenight, and possibly eventually, an online multiplayer game.

2. Don't just plan for it as "Human hunters vs AI Dracula"... plan to write the inverse as well (human Dracula vs AI hunters).
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Ben Turner
Australia
Melbourne
VIC
flag msg tools
badge
Avatar
mbmbmbmbmb
Excellent - glad to get some interest early on. Should initally set some expectations for this not being around for a few months especially as I have a house move coming up soon, but knowing there is interest will get me coding more often (and watching TV show repeats less...)

Regarding Mark's points, I am hoping to get the AI as configurable as possible, in terms of risk-taking, aggression and thinking time. And having the AI's "personality" being random on startup would be great - the ideal situation being you might play a game and "recognise" dracula is playing cautiously, so spread your hunters out and try and dragnet him into a corner, knowing he most likely won't chance running inbetweeen two hunters.

I also like the idea of supporting plugable "gambits", composed as an "if this circumstance occurs, consider playing the following moves, aborting should this happen". E.g. the "ireland vampire" gambit might be "if hunters have not started in the UK, then start in Ireland, play a vampire (Dark call if needed), hide and move for the next two turns. Abort gambit if hunters move into surrounding sea zones". This would allow a scripted set of moves to be played within the overal general AI, and could encompass specific play styles or known good tactics.

I had considered coding to allow the computer to play the hunters instead of Dracula with little change, but hadn't thought about an FoD manager program. Good idea, I'll look at some of the design documents (otherwise known as notebook scribblings / UML doodles) and see if that's easy to design for. Hopefully it should be, as I like the idea, and following it through it would imply you could save games, and share the state of games with other players.

Once again, thanks for comments - they really add the extra validation I need to get this project out of my notebook and into real code. Further comments / ideas / features all welcomed too !
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Vaughn Sandor
United States
Monroe Township
New Jersey
flag msg tools
The BBC series is far better than the excellent NBC one. Now go watch it.
badge
This is not me but I have been known to dance like David Brent on occasion.
Avatar
mbmbmbmbmb
This would be much appreciated.

I am hesitant to introduce my gaming group to this one because even after multiple readings of the manual I'm still iffy on the whole thing.

 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Loren P
United States
Winston-Salem
North Carolina
flag msg tools
Avatar
mbmb
Wow. This would be awesome.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Steve Post
United States
flag msg tools
Avatar
mbmbmbmbmb
It's good to have lots of ideas. But be careful to not put everything in at once. I originally had grand plans, but realized I wasn't getting anywhere. So start slow, then grow.

If you have an idea on how to make the AI, I would suggest you get that worked out first. I think this is the hardest part. Oh I can say that another way: Make an ugly, working version first. Get all the bugs out. THEN clean it up.

You would want some modular parts to avoid rewriting stuff.

Keep the interface easy to use. Avoid special requirements to the pc/laptop. I would expect a klunker laptop would be used for running the program.

I would expect the laptop to NOT be hooked to the internet. This is a pet peeve of mine. I hate it when something requires I be constantly hooked to the internet. I feel that is the same as making sure my front door is wide open before I am allowed to use my own toaster.

On Multi-languages, I expect you would have to have some type of text-id for various languages. So printing "hello" would be more like printing text index id number 78, language type=English.
id language
78 English Hello
78 Hawaian Aloha

If you use the artwork from Fury of Dracula, you might have copywrite issues. I would contact the authors of the game just in case.

One last thing. There is a play-by-mail program called gamebox.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Ben Turner
Australia
Melbourne
VIC
flag msg tools
badge
Avatar
mbmbmbmbmb
Work continues on the great Dracula AI project - at the moment we have a rather simple Dracula who looks ahead and ensures he won't get caught by his own trail, laying encounters at random and feeding / hiding when he's trapped.

The game allows mutliple hides for now (as it doesn't support Wolf Form or double back yet) to prevent Dracula charging into the hunters.

Just got to allow some user input (e.g. telling the system where the hunters are now standing) and then I might have a first draft release to play about with.

Will reply here if and when further developments happen, but for now just wanted to announce that my long "not dead, just sleeping" project is now pretty darn active again.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Marco Sabatino
Italy
flag msg tools
mbmb
Where can I download the file? thanks a great idea!
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Ben Turner
Australia
Melbourne
VIC
flag msg tools
badge
Avatar
mbmbmbmbmb
Ah sorry - it died a death in pre-alpha. Maybe one day... but it's going to be a long way away.
 
 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.