Yet another desperate bot: qw's suffering


Yet Another Stupid Death - Find a particularly innovative way to get killed? Share your pain!
Yet Another Victory Post - Brag about your bad-ass character and all your runes and whatnot.
Characters in Progress - share promising or interesting characters that are not dead yet.

User avatar

Zot Zealot

Posts: 991

Joined: Monday, 15th April 2013, 15:10

Location: Augsburg, Germany

Post Saturday, 28th March 2015, 12:12

Yet another desperate bot: qw's suffering

qw, elliptic's bot, already won 6 games in the 0.16 tournament which has been mentioned in the topic qw bot in CYC.

Today I wanted to have a look at qw and saw he was trapped...

  Code:
7736 | D:7      | 7736 ||| Stepping randomly (stuck).

He was stumbling around in water, obviously surrounded by walls, without any means of digging or teleporting out.

  Code:
~~~~~##~~~~~##~~~#  **       ,
.~#.##~~~~~~~#~~~#
#..##~~~~~~~~#~~~#  ***
#.##~~~~~~)~~~~~~# ,*  , *  *
.##~~~~~~~(~~~~~~#,
##~~~~~~~(#~~~~~~#   ,
#~~.~~~~.P#~~~~~~#     ,     *
~~~P.~~..P#~~~~~~# ,  *
~~.######.#~~#~~@#      *  *    *
P..#....#.#~~#~~~#   ,
..P#....'P#~~##~##,, ,  ,
################# *     *
.#    #.#<######     ,
##    ##.......#
#      #..####.#     ,
       #..## #.#    *,
       #...# #.#  * * *


I didn't see how he got into this situation. After more than 5000 desperate turns he quit the game (not sure if by code or manually by elliptic).

The morgue file is here.
User avatar

Zot Zealot

Posts: 991

Joined: Monday, 15th April 2013, 15:10

Location: Augsburg, Germany

Post Saturday, 28th March 2015, 12:21

And I think I found something of importance:

  Code:
  7228 | D:6      | 7228 ||| REMOVING ring of teleportation.
  7229 | D:6      | 7229 ||| DROPPING ring of teleportation (value -1).

Blades Runner

Posts: 548

Joined: Monday, 23rd March 2015, 05:29

Post Saturday, 28th March 2015, 12:22

Re: Yet another desperate bot: qw's suffering

me too

  Code:
 
  8329 | D:7      | 8329 ||| Stepping randomly (stuck).
  8330 | D:7      | 8330 ||| Stepping randomly (stuck).
  8331 | D:7      | 8331 ||| Stepping randomly (stuck).
  8332 | D:7      | 8332 ||| Stepping randomly (stuck).
  8333 | D:7      | 8333 ||| Stepping randomly (stuck).
  8334 | D:7      | 8334 ||| EATING 2 slices of pizza.
  8335 | D:7      | 8335 ||| Stepping randomly (stuck).
  8336 | D:7      | 8336 ||| Stepping randomly (stuck).
  8337 | D:7      | 8337 ||| Stepping randomly (stuck).
  8338 | D:7      | 8338 ||| Stepping randomly (stuck).
  8339 | D:7      | 8339 ||| Stepping randomly (stuck).
  8340 | D:7      | 8340 ||| Stepping randomly (stuck).
  8341 | D:7      | 8341 ||| Stepping randomly (stuck).
  8342 | D:7      | 8342 ||| Stepping randomly (stuck).
  8343 | D:7      | 8343 ||| Stepping randomly (stuck).
  8344 | D:7      | 8344 ||| Stepping randomly (stuck).

Ziggurat Zagger

Posts: 6454

Joined: Tuesday, 30th October 2012, 19:06

Post Saturday, 28th March 2015, 17:37

Re: Yet another desperate bot: qw's suffering

Why doesn't he just autoexplore when stuck, I mean let the already-existing pathing algorithm get him somewhere?
Spoiler: show
This high quality signature has been hidden for your protection. To unlock it's secret, send 3 easy payments of $9.99 to me, by way of your nearest theta band or ley line. Complete your transmission by midnight tonight for a special free gift!

Dungeon Master

Posts: 585

Joined: Sunday, 9th June 2013, 17:13

Post Saturday, 28th March 2015, 19:19

Re: Yet another desperate bot: qw's suffering

I spoke with elliptic about this, and it turns out that this is an issue with qw not having a great understanding of dungeon topology. Sometimes levels have multiple connected components, each component being a contiguous region or section the player can fully autoexplore within, but with no direct path on the level between the components. You see this a lot with layouts used in Orc and Slime. The only way to go between them is by taking stairs to the level above or below, and then taking another stair to get to a new component.

Sometimes one of these components has none of the downstairs to the next level. In this case the only way to proceed to the next level is to go up to the previous level and take a different downstairs to another component that does contain downstairs. Unfortunately qw doesn't yet know how to recognize this situation, so it gets stuck after finishing autoexplore. This problem happens fairly infrequently, so it doesn't stop qw from winning games. I think recognizing these situations is on the qw TODO list, but in the meantime think of it as qw going through a bought of depression, like in Dwarf Fortress.

Edit: And to be clear this issue didn't actually have anything to do with teleport, as the ttyrec shows qw just wandering into that vault (wad_lake_hut), clearing the vault, and finishing autoexplore on the level before declaring itself stuck and beginning random movement.
User avatar

Zot Zealot

Posts: 991

Joined: Monday, 15th April 2013, 15:10

Location: Augsburg, Germany

Post Saturday, 28th March 2015, 19:55

gammafunk wrote:And to be clear this issue didn't actually have anything to do with teleport

My point was that dropping the ring of teleportation was a mistake. He should have kept it! Well, the next question is if he had "known" that he had to evoke the ring to continue the game.

Dungeon Master

Posts: 585

Joined: Sunday, 9th June 2013, 17:13

Post Sunday, 29th March 2015, 00:25

Re: Yet another desperate bot: qw's suffering

The correct thing for qw to do would be to simply go back up the stairs and then go down a new set of stairs, not to use a ring of teleportation, so dropping the ring wasn't a mistake. qw just needs to be programmed to handle the situation correctly. I'm told that it's harder to fix this aspect of qw's behavior in Orc (and it does have three quits of this kind there).

Vestibule Violator

Posts: 1601

Joined: Sunday, 14th July 2013, 16:36

Post Sunday, 29th March 2015, 00:59

Re: Yet another desperate bot: qw's suffering

gammafunk wrote:The correct thing for qw to do would be to simply go back up the stairs and then go down a new set of stairs, not to use a ring of teleportation, so dropping the ring wasn't a mistake.

Teleporting out still has better odds of victory than quitting. Probably easier to program too.

Dungeon Master

Posts: 585

Joined: Sunday, 9th June 2013, 17:13

Post Sunday, 29th March 2015, 01:26

Re: Yet another desperate bot: qw's suffering

I dunno, quitting seems pretty easy to implement to me.

But in all seriousness I'm guessing that elliptic would rather just fix the behavior when he has time and not worry about a very small number of quits that result until he does. Working random teleport with the ring into qw's "stuck" behavior would probably be good, but it's a separate issue.

Vestibule Violator

Posts: 1601

Joined: Sunday, 14th July 2013, 16:36

Post Sunday, 29th March 2015, 01:38

Re: Yet another desperate bot: qw's suffering

gammafunk wrote:I dunno, quitting seems pretty easy to implement to me.

But in all seriousness I'm guessing that elliptic would rather just fix the behavior when he has time and not worry about a very small number of quits that result until he does. Working random teleport with the ring into qw's "stuck" behavior would probably be good, but it's a separate issue.

I meant to compare teleporting to the correct fix you were alluding to. If it's as infrequent as you suggest, then making a very quick fix like patching in random teleports might be preferable to a more involved solution.

Dungeon Master

Posts: 585

Joined: Sunday, 9th June 2013, 17:13

Post Sunday, 29th March 2015, 02:09

Re: Yet another desperate bot: qw's suffering

I think those keen on suggesting how qw should be modified should check out the repository and submit a patch:

https://github.com/elliptic/qw

Contributions from others have been incorporated in the past.

Return to YASD! YAVP! and characters in progress too

Who is online

Users browsing this forum: No registered users and 54 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.