Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Sil

Reply
 
Thread Tools Display Modes
Old September 20, 2014, 17:50   #11
half
Knight
 
half's Avatar
 
Join Date: Jan 2009
Posts: 898
half is on a distinguished road
I encourage people to look through automaton.c if they want to see how it works or to modify it. It is pretty much a skeleton at the moment (doing incredibly simple versions of most activities) and is easily extendable.

Of note, it doesn't use any of the Angband borg AI code, though it does use five low level functions from the borg in order to queue the keypresses etc.
half is offline   Reply With Quote
Old October 8, 2014, 20:27   #12
phaethon
Rookie
 
Join Date: May 2014
Posts: 14
phaethon is on a distinguished road
Wow, not bad. I didn't even know this command existed.

She made it to 300 feet. She died next to a shadow mold from an orc champion she couldn't see. She got stuck previously when a Mewlip made her afraid, but otherwise I didn't intervene. She just kept attacking and getting the message "you are too afraid". She was fearless about trying on armor, and spent a couple of minutes wearing boots of treacherous paths until she found boots of softest tread. Looks like she never picked up any skills, though she spent experience ASAP. Pretty fun bot.

*Edit: I see all these things in the "AI to-do list". For the benefit of forum readers, I'll paste it below from automation.c inside a spoiler tag


Code:
/*
 * AI to-do list:
 *
 * Exploring
 *  - be less completist with levels (don't walk 50 squares to explore one more room...)
 *  - be willing to use up stairs (or chasms/shafts) sometimes
 *
 * Stealth
 *  - stay away from nearby unalert monsters
 *  - stay near walls
 *
 * Combat
 *  - learn to rest properly (away from archers/molds)
 *  - fight from sensible locations
 *  - deal with 'Afraid' status
 *  - wield new arrows from pack when a quiver is empty
 *
 * Experience
 *  - gain abilities
 *
 * Darkness
 *  - ignores monsters in darkness (e.g. archers & shadow molds)
 *  - often dies while ignoring shadow molds
 *
 * Objects
 *  - can't deal with rings and amulets
 *  - can't deal with non-wieldable items
 *  - never drops items
 *
 * Loops
 *  - pillared rooms and archers which run can cause it to walk back and forth
 *  - stuck searching for a secret door to get to the down stairs
 *
 *
 * In general, I wrote most of the basic routine as an AI with no internal state.
 * I've added state in the form of its internal map and more state should be added
 * (for example so it can work out if it lost health since last turn, or to set its
 * own internal mode).
 */

Last edited by phaethon; October 8, 2014 at 20:41.
phaethon is offline   Reply With Quote
Old February 14, 2017, 02:09   #13
phylyc
Rookie
 
Join Date: Feb 2017
Posts: 6
phylyc is on a distinguished road
It apparently has been a while since people experimented with the automaton. I discovered it not long after finding out about Sil and got curious about it, so I had a look at the sourc code and made some extensions. It is now placing iself a bit smarter when fighting or fleeing, but there is still a lot of room for improvement. If you are interested in the changes, you can have a look at this git repository.

(I also included some other features which I personally found interesting, so in order to integrate it in your personal branch, you may want to cherry-pick the appropriate commits ... )

For quite some time now, I also had the idea of playing with artificial intelligence in terms of neural networks and deep learning and came up with the project of using Sil as a platform to learn about these things while having fun and creating an AI that learns how to play Sil. The git repo is basically exactly for that, so it may see some more changes in the future. In case this sounds like a thing to you, please feel invited to participate and give me a shout. The more the merrier
phylyc is offline   Reply With Quote
Old February 14, 2017, 04:41   #14
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 4,015
Donated: $40
Pete Mack is on a distinguished road
Ah, a roguelike AI, 'belligerent expert system.' That brings us full circle.
https://en.wikipedia.org/wiki/Rog-O-Matic
Looks like the code is still available.
https://britzl.github.io/roguearchive/#rogomatic
Pete Mack is offline   Reply With Quote
Old February 14, 2017, 05:04   #15
Patashu
Swordsman
 
Patashu's Avatar
 
Join Date: Jan 2008
Posts: 493
Patashu is on a distinguished road
Besides Rogue, the non-trivial roguelikes I know of with bots that can beat them are Nethack ( https://github.com/krajj7/BotHack ), Angband ( http://www.innovapain.com/borg/ ) and Dungeon Crawl Stone Soup ( https://github.com/elliptic/qw ).
__________________
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu
Patashu is offline   Reply With Quote
Old February 14, 2017, 05:09   #16
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 4,015
Donated: $40
Pete Mack is on a distinguished road
But at least some of them aren't using unrestricted learning the way rog-O-matic did. That really played by a highly optimized strategy, better than the very best players. It got home with Yendor something better than 1 in 3.
Pete Mack is offline   Reply With Quote
Old February 14, 2017, 05:15   #17
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 7,807
Derakon is on a distinguished road
Quote:
Originally Posted by Pete Mack View Post
But at least some of them aren't using unrestricted learning the way rog-O-matic did. That really played by a highly optimized strategy, better than the very best players. It got home with Yendor something better than 1 in 3.
What do you mean by "unrestricted learning"? Is that some kind of cheat mode, or an AI technique? All Google turns up is this meta-meta-analysis, which has to be some kind of joke.
Derakon is offline   Reply With Quote
Old February 15, 2017, 05:03   #18
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 4,015
Donated: $40
Pete Mack is on a distinguished road
Read the rogomatic article. The only thing the learning algorithm had to be taught was the rules and the basics of how the display works. All game play logic was determined via trial and error. No special rules for how to deal with encumbrance, only that loads of a certain weight slow you down.
Pete Mack is offline   Reply With Quote
Old February 15, 2017, 14:34   #19
phylyc
Rookie
 
Join Date: Feb 2017
Posts: 6
phylyc is on a distinguished road
Wow, thanks a lot for the references! I guess I have to dig into the rogomatic before venturing off on my own course. I'm really curious how it's implemented and how it compares to the modern neural network approach.
phylyc is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 05:36.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.