gameboy_worlds.emulation.deja_vu.trackers

   1from gameboy_worlds.utils import log_info
   2from gameboy_worlds.emulation.tracker import (
   3    DummySubGoalMetric,
   4    StateTracker,
   5    TestTrackerMixin,
   6    make_subgoal_metric_class,
   7)
   8from gameboy_worlds.emulation.deja_vu.parsers import AgentState
   9from gameboy_worlds.emulation.deja_vu.base_metrics import (
  10    DejaVuTestMetric,
  11    CoreDejaVuMetrics,
  12    DejaVuOCRMetric,
  13)
  14from gameboy_worlds.emulation.deja_vu.test_metrics import *
  15# # import metrics for the test trackers
  16# from gameboy_worlds.emulation.deja_vu.test_metrics import (
  17#     Bought2ChipsTerminationMetric,
  18#     BoughtNewspaperTerminationMetric,
  19#     BoughtTicketTerminationMetric,
  20#     CashedOutTerminationMetric,
  21#     ChattedSellerTerminationMetric,
  22#     ChattedTaxiDriverTerminationMetric,
  23#     CheckedCoatTerminationMetric,
  24#     CheckedDeadManTerminationMetric,
  25#     CheckedGirlTerminationMetric,
  26#     CheckedGunTerminationMetric,
  27#     CheckedMapTerminationMetric,
  28#     CheckedNewsclip1TerminationMetric,
  29#     CheckedNote2TerminationMetric,
  30#     CheckedPhotoTerminationMetric,
  31#     CheckedSignTerminationMetric,
  32#     CheckedSnapshotTerminationMetric,
  33#     CheckedTimetableTerminationMetric,
  34#     ClosedColdTapTerminationMetric,
  35#     ClosedDashbrdTerminationMetric,
  36#     ClosedDoorFromMapTerminationMetric,
  37#     ClosedElevatorDoorTerminationMetric,
  38#     ClosedPantsPocketTerminationMetric,
  39#     ClosedPocketTerminationMetric,
  40#     ClosedWallet1TerminationMetric,
  41#     ClosedWalletTerminationMetric,
  42#     EnteredCellarTerminationMetric,
  43#     EnteredChicagoTaxiTerminationMetric,
  44#     EnteredConnectingRoomTerminationMetric,
  45#     EnteredElevatorTerminationMetric,
  46#     EnteredEmptyRoomFromMapTerminationMetric,
  47#     EnteredHallwayTerminationMetric,
  48#     EnteredMiddleRoomTerminationMetric,
  49#     EnteredPlatformTerminationMetric,
  50#     EnteredShermanTerminationMetric,
  51#     EnteredTaxiTerminationMetric,
  52#     EnteredTrainTerminationMetric,
  53#     EnteredWestendTerminationMetric,
  54#     ExitedCasinoTerminationMetric,
  55#     ExitedGrimyOfficeTerminationMetric,
  56#     GoNewsstandTerminationMetric,
  57#     HitBoardTerminationMetric,
  58#     LoadedGunTerminationMetric,
  59#     MadeMedicineTerminationMetric,
  60#     OpenedBoxTerminationMetric,
  61#     OpenedCabinetTerminationMetric,
  62#     OpenedCarTrunkTerminationMetric,
  63#     OpenedDeskTerminationMetric,
  64#     OpenedDiaryTerminationMetric,
  65#     OpenedDoorByKnifeTerminationMetric,
  66#     OpenedElevatorDoorTerminationMetric,
  67#     OpenedLobbyDoorTerminationMetric,
  68#     OpenedLockTerminationMetric,
  69#     OpenedPocketKnifeTerminationMetric,
  70#     OpenedTelephoneTerminationMetric,
  71#     OpenedWallSafeTerminationMetric,
  72#     OutsideApartmentTerminationMetric,
  73#     PaidTaxiTerminationMetric,
  74#     ReturnedToCashierTerminationMetric,
  75#     ShotDoorTerminationMetric,
  76#     ShotGrimyOfficeDoorTerminationMetric,
  77#     ShotLockTerminationMetric,
  78#     TakenMedicineTerminationMetric,
  79#     TakenNewsclip4TerminationMetric,
  80#     TakenPamphletTerminationMetric,
  81#     TalkedInTrainStationTerminationMetric,
  82#     UnlockedOfficeDoorTerminationMetric,
  83#     VisitedCounterTerminationMetric,
  84#     WenttoOfficeTerminationMetric,
  85#     WenttoWestendTerminationMetric,
  86#     HitBottleTerminationMetric,
  87#     HitMuggerTerminationMetric,
  88#     MadeBetTerminationMetric,
  89#     MeetMuggerTerminationMetric,
  90#     OpenedBathroomDoorTerminationMetric,
  91#     OpenedColdTapTerminationMetric,
  92#     OpenedDashbrdTerminationMetric,
  93#     OpenedDoorFromMapTerminationMetric,
  94#     OpenedDoorTerminationMetric,
  95#     OpenedPantsPocketTerminationMetric,
  96#     OpenedPocketTerminationMetric,
  97#     OpenedSpigotTerminationMetric,
  98#     OpenedTrenchCoatPocketTerminationMetric,
  99#     OpenedWallet1TerminationMetric,
 100#     OpenedWalletTerminationMetric,
 101#     PutOnPantsTerminationMetric,
 102#     PutOnTrenchCoatTerminationMetric,
 103#     TakenCoatTerminationMetric,
 104#     TakenGumTerminationMetric,
 105#     TakenGunTerminationMetric,
 106#     ClosedDoorTerminationMetric,
 107#     TakenLicense1TerminationMetric,
 108#     TakenNewsclip1TerminationMetric,
 109#     TakenPantsTerminationMetric,
 110#     TakenRing1TerminationMetric,
 111#     TalkedToTaxiDriverTerminationMetric,
 112#     UnlockedCarDoorTerminationMetric,
 113#     UnlockedFrontDoorTerminationMetric,
 114# )
 115# # import subgoal classes for the subgoal metrics
 116# from gameboy_worlds.emulation.deja_vu.test_metrics import (
 117#     InWallet1MenuSubGoal,
 118#     PointedAtPantsSubGoal,
 119#     SelectedOpenActionInMenuSubGoal,
 120#     SelectedOpenActionInNormalSubGoal,
 121#     SelectedTakeActionInNormalSubGoal,
 122#     SelectedCloseActionInNormalSubGoal,
 123#     SelectedCloseActionInMenuSubGoal,
 124#     InCoatPocketMenuSubGoal,
 125#     InWalletMenuSubGoal,
 126#     PointedAtCoatSubGoal,
 127#     PointedAtWalletSubGoal,
 128#     InGoodsMenuSubGoal,
 129#     SelectedHitActionInNormalSubGoal,
 130#     SockoOnScreenSubGoal,
 131#     OpenedCellarDoorOnScreenSubGoal,
 132#     PointedAtGumSubGoal,
 133#     SelectedTakeActionInMenuSubGoal,
 134#     InTrenchCoatPocketMenuSubGoal,
 135#     SelectedOutfitButtonSubGoal,
 136#     SelectedUseActionInMenuSubGoal,
 137#     PointedAtTrenchCoatSubGoal,
 138#     PointedAtWallet1SubGoal,
 139#     PointedAtNewsclip1SubGoal,
 140#     PointedAtLicense1SubGoal,
 141#     SelectedWatchActionInMenuSubGoal,
 142#     PointedAt21OnMapSubGoal,
 143#     Selected2ChipsSubGoal,
 144#     PointedAtCoinSubGoal,
 145#     UsingCoinSubGoal,
 146#     PointedAt13OnMapSubGoal,
 147#     UsingKey3SubGoal,
 148#     UsingKey2SubGoal,
 149#     PointedAt11OnMapSubGoal,
 150#     SelectedTalkActionInNormalSubGoal,
 151#     PointedAtWestendAddressSubGoal,
 152#     NoActionInCellarSubGoal,
 153#     NoActionInEmptyRestaurantSubGoal,
 154#     NoActionOnPeoriaStSubGoal,
 155#     PointedAt25OnMapSubGoal,
 156#     PointedAt35OnMapSubGoal,
 157#     NoActionInLobbySubGoal,
 158#     SelectedWatchActionInNormalSubGoal,
 159#     PointedAt45OnMapSubGoal,
 160#     PointedAt52OnMapSubGoal,
 161#     PointedAt41OnMapSubGoal,
 162#     OpenedWestendDoorSubGoal,
 163#     NoActionInShermanLobbySubGoal,
 164#     NoActionInWestendLobbySubGoal,
 165#     UsingBulletSubGoal,
 166#     OpenedShermanDoorSubGoal,
 167#     UsingCashSubGoal,
 168#     PointedAt24OnMapSubGoal,
 169#     UnlockedMiddleRoomDoorSubGoal,
 170#     UsingKey1SubGoal,
 171#     UsingKey2SubGoal,
 172#     NoActionInGrimyOfficeSubGoal,
 173#     UsingNote3SubGoal,
 174#     UsingKey4SubGoal,
 175#     UsingKnifeSubGoal,
 176# )
 177
 178
 179class CoreDejaVuTracker(StateTracker):
 180    """
 181    StateTracker for core Deja Vu metrics.
 182    """
 183
 184    _REMOVE_GRID_OVERLAY = False
 185    """ Whether to remove the grid overlay drawn by the state parser when the agent is in FREE ROAM. This is useful for VLM based agents may need a coordinate grid overlayed onto the frame, but may cause issues for agents that do not understand that it is not a part of the game. """
 186
 187    def start(self):
 188        super().start()
 189        self.metric_classes.extend([CoreDejaVuMetrics, DejaVuTestMetric])
 190
 191    def step(self, *args, **kwargs):
 192        """
 193        Calls on super().step(), but then modifies the current frame to overlay the grid if the agent is in FREE ROAM.
 194        """
 195        super().step(*args, **kwargs)
 196
 197        if self._REMOVE_GRID_OVERLAY:
 198            state = self.episode_metrics["dejavu_core"]["agent_state"]
 199            # if agent_state is in FREE ROAM, draw the grid, otherwise do not
 200            if state == AgentState.FREE_ROAM:
 201                screen = self.episode_metrics["core"]["current_frame"]
 202                screen = self.state_parser.draw_grid_overlay(current_frame=screen)
 203                self.episode_metrics["core"]["current_frame"] = screen
 204                previous_screens = self.episode_metrics["core"]["passed_frames"]
 205                if previous_screens is not None:
 206                    self.episode_metrics["core"]["passed_frames"][-1, :] = screen
 207
 208
 209class DejaVuOCRTracker(CoreDejaVuTracker):
 210    def start(self):
 211        super().start()
 212        self.metric_classes.extend([DejaVuOCRMetric])
 213
 214
 215class DejaVuTestTracker(TestTrackerMixin, DejaVuOCRTracker):
 216    """
 217    Inherit this class and set TERMINATION_TRUNCATION_METRIC to create a TestTracker for Deja Vu games.
 218    """
 219
 220    TERMINATION_TRUNCATION_METRIC = TakenCoatTerminationMetric
 221    SUBGOAL_METRIC = DummySubGoalMetric
 222
 223# deja_vu_1 test trackers
 224class DejaVu1CoatTestTracker(DejaVuTestTracker):
 225    """
 226    A TestTracker for Deja Vu games that terminates when the agent takes the coat.
 227    """
 228
 229    TERMINATION_TRUNCATION_METRIC = TakenCoatTerminationMetric
 230    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])
 231
 232class DejaVu1TakeGunTestTracker(DejaVuTestTracker):
 233    """
 234    A TestTracker for Deja Vu games that terminates when the agent takes the gun.
 235    """
 236
 237    TERMINATION_TRUNCATION_METRIC = TakenGunTerminationMetric
 238    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])
 239
 240class DejaVu1OpenDoorTestTracker(DejaVuTestTracker):
 241    """
 242    A TestTracker for Deja Vu games that terminates when the agent opens the door.
 243    """
 244
 245    TERMINATION_TRUNCATION_METRIC = OpenedDoorTerminationMetric
 246    SUBGOAL_METRIC = DummySubGoalMetric
 247    # make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal, NoActionSelectedInNormalSubGoal])
 248
 249class DejaVu1CloseDoorTestTracker(DejaVuTestTracker):
 250    """
 251    A TestTracker for Deja Vu games that terminates when the agent closes the door.
 252    """
 253
 254    TERMINATION_TRUNCATION_METRIC = ClosedDoorTerminationMetric
 255    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedCloseActionInNormalSubGoal])
 256
 257class DejaVu1OpenPocketTestTracker(DejaVuTestTracker):
 258    """
 259    A TestTracker for Deja Vu games that terminates when the agent opens the pocket.
 260    """
 261
 262    TERMINATION_TRUNCATION_METRIC = OpenedPocketTerminationMetric
 263    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInMenuSubGoal])
 264
 265class DejaVu1OpenWalletTestTracker(DejaVuTestTracker):
 266    """
 267    A TestTracker for Deja Vu games that terminates when the agent opens the wallet.
 268    """
 269
 270    TERMINATION_TRUNCATION_METRIC = OpenedWalletTerminationMetric
 271    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInMenuSubGoal])
 272
 273class DejaVu1ClosePocketTestTracker(DejaVuTestTracker):
 274    """
 275    A TestTracker for Deja Vu games that terminates when the agent closes the pocket.
 276    """
 277
 278    TERMINATION_TRUNCATION_METRIC = ClosedPocketTerminationMetric
 279    SUBGOAL_METRIC = make_subgoal_metric_class([
 280        InGoodsMenuSubGoal,
 281        SelectedCloseActionInMenuSubGoal,
 282        PointedAtCoatSubGoal,
 283    ])
 284
 285class DejaVu1CloseWalletTestTracker(DejaVuTestTracker):
 286    """
 287    A TestTracker for Deja Vu games that terminates when the agent closes the wallet.
 288    """
 289
 290    TERMINATION_TRUNCATION_METRIC = ClosedWalletTerminationMetric
 291    SUBGOAL_METRIC = make_subgoal_metric_class([
 292        InCoatPocketMenuSubGoal,
 293        SelectedCloseActionInMenuSubGoal,
 294        PointedAtWalletSubGoal,
 295    ])
 296
 297class DejaVu1CheckCoatTestTracker(DejaVuTestTracker):
 298    """
 299    A TestTracker for Deja Vu games that terminates when the agent checks the coat.
 300    """
 301
 302    TERMINATION_TRUNCATION_METRIC = CheckedCoatTerminationMetric
 303    SUBGOAL_METRIC = DummySubGoalMetric
 304
 305class DejaVu1CheckGunTestTracker(DejaVuTestTracker):
 306    """
 307    A TestTracker for Deja Vu games that terminates when the agent checks the gun.
 308    """
 309
 310    TERMINATION_TRUNCATION_METRIC = CheckedGunTerminationMetric
 311    SUBGOAL_METRIC = DummySubGoalMetric
 312
 313class DejaVu1OpenSpigotTestTracker(DejaVuTestTracker):
 314    """
 315    A TestTracker for Deja Vu games that terminates when the agent opens the spigot.
 316    """
 317
 318    TERMINATION_TRUNCATION_METRIC = OpenedSpigotTerminationMetric
 319    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])
 320
 321class DejaVu1HitBottleTestTracker(DejaVuTestTracker):
 322    """
 323    A TestTracker for Deja Vu games that terminates when the agent hits the bottle.
 324    """
 325
 326    TERMINATION_TRUNCATION_METRIC = HitBottleTerminationMetric
 327    SUBGOAL_METRIC = make_subgoal_metric_class([
 328        SelectedHitActionInNormalSubGoal,
 329        SockoOnScreenSubGoal,
 330    ])
 331
 332class DejaVu1EnterCellarTestTracker(DejaVuTestTracker):
 333    """
 334    A TestTracker for Deja Vu games that terminates when the agent enters the cellar.
 335    """
 336
 337    TERMINATION_TRUNCATION_METRIC = EnteredCellarTerminationMetric
 338    SUBGOAL_METRIC = make_subgoal_metric_class([OpenedCellarDoorOnScreenSubGoal])
 339
 340class DejaVu1EnterConnectingRoomTestTracker(DejaVuTestTracker):
 341    """
 342    A TestTracker for Deja Vu games that terminates when the agent enters the connecting room.
 343    """
 344
 345    TERMINATION_TRUNCATION_METRIC = EnteredConnectingRoomTerminationMetric
 346    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInCellarSubGoal])
 347
 348class DejaVu1MakeBetTestTracker(DejaVuTestTracker):
 349    """
 350    A TestTracker for Deja Vu games that terminates when the agent makes a bet in casino.
 351    """
 352
 353    TERMINATION_TRUNCATION_METRIC = MadeBetTerminationMetric
 354    SUBGOAL_METRIC = make_subgoal_metric_class([
 355        SelectedUseActionInMenuSubGoal,
 356        PointedAtCoinSubGoal,
 357        UsingCoinSubGoal,
 358    ])
 359
 360class DejaVu1EnterEmptyRoomFromMapTestTracker(DejaVuTestTracker):
 361    """
 362    A TestTracker for Deja Vu games that terminates when the agent enters an empty room from the map.
 363    """
 364
 365    TERMINATION_TRUNCATION_METRIC = EnteredEmptyRoomFromMapTerminationMetric
 366    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt13OnMapSubGoal])
 367
 368class DejaVu1UnlockFrontDoorTestTracker(DejaVuTestTracker):
 369    """
 370    A TestTracker for Deja Vu games that terminates when the agent unlocks the front door.
 371    """
 372
 373    TERMINATION_TRUNCATION_METRIC = UnlockedFrontDoorTerminationMetric
 374    SUBGOAL_METRIC = make_subgoal_metric_class([
 375        UsingKey3SubGoal,
 376        SelectedUseActionInMenuSubGoal,
 377    ])
 378
 379class DejaVu1MeetMuggerTestTracker(DejaVuTestTracker):
 380    """
 381    A TestTracker for Deja Vu games that terminates when the agent meets the mugger.
 382    """
 383
 384    TERMINATION_TRUNCATION_METRIC = MeetMuggerTerminationMetric
 385    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInEmptyRestaurantSubGoal])
 386
 387class DejaVu1HitMuggerTestTracker(DejaVuTestTracker):
 388    """
 389    A TestTracker for Deja Vu games that terminates when the agent hits the mugger.
 390    """
 391
 392    TERMINATION_TRUNCATION_METRIC = HitMuggerTerminationMetric
 393    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedHitActionInNormalSubGoal])
 394
 395class DejaVu1UnlockCarDoorTestTracker(DejaVuTestTracker):
 396    """
 397    A TestTracker for Deja Vu games that terminates when the agent unlocks the car door.
 398    """
 399
 400    TERMINATION_TRUNCATION_METRIC = UnlockedCarDoorTerminationMetric
 401    SUBGOAL_METRIC = make_subgoal_metric_class([UsingKey2SubGoal])
 402
 403class DejaVu1OpenDashbrdTestTracker(DejaVuTestTracker):
 404    """
 405    A TestTracker for Deja Vu games that terminates when the agent opens the car dashboard.
 406    """
 407
 408    TERMINATION_TRUNCATION_METRIC = OpenedDashbrdTerminationMetric
 409    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])
 410
 411class DejaVu1CloseDashbrdTestTracker(DejaVuTestTracker):
 412    """
 413    A TestTracker for Deja Vu games that terminates when the agent closes the car dashboard.
 414    """
 415
 416    TERMINATION_TRUNCATION_METRIC = ClosedDashbrdTerminationMetric
 417    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedCloseActionInNormalSubGoal])
 418
 419class DejaVu1CheckNote2TestTracker(DejaVuTestTracker):
 420    """
 421    A TestTracker for Deja Vu games that terminates when the agent checks note 2.
 422    """
 423
 424    TERMINATION_TRUNCATION_METRIC = CheckedNote2TerminationMetric
 425    SUBGOAL_METRIC = make_subgoal_metric_class([
 426        SelectedWatchActionInMenuSubGoal,
 427        InGoodsMenuSubGoal,
 428    ])
 429
 430class DejaVu1CheckMapTestTracker(DejaVuTestTracker):
 431    """
 432    A TestTracker for Deja Vu games that terminates when the agent checks the map.
 433    """
 434
 435    TERMINATION_TRUNCATION_METRIC = CheckedMapTerminationMetric
 436    SUBGOAL_METRIC = make_subgoal_metric_class([
 437        SelectedWatchActionInMenuSubGoal,
 438        InGoodsMenuSubGoal,
 439    ])
 440
 441class DejaVu1CheckSnapshotTestTracker(DejaVuTestTracker):
 442    """
 443    A TestTracker for Deja Vu games that terminates when the agent checks the snapshot.
 444    """
 445
 446    TERMINATION_TRUNCATION_METRIC = CheckedSnapshotTerminationMetric
 447    SUBGOAL_METRIC = make_subgoal_metric_class([
 448        SelectedWatchActionInMenuSubGoal,
 449        InGoodsMenuSubGoal,
 450    ])
 451
 452class DejaVu1GoNewsstandTestTracker(DejaVuTestTracker):
 453    """
 454    A TestTracker for Deja Vu games that terminates when the agent goes to the newsstand.
 455    """
 456
 457    TERMINATION_TRUNCATION_METRIC = GoNewsstandTerminationMetric
 458    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt11OnMapSubGoal])
 459
 460class DejaVu1EnterTaxiTestTracker(DejaVuTestTracker):
 461    """
 462    A TestTracker for Deja Vu games that terminates when the agent enters the taxi.
 463    """
 464
 465    TERMINATION_TRUNCATION_METRIC = EnteredTaxiTerminationMetric
 466    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionOnPeoriaStSubGoal])
 467
 468class DejaVu1TalkToTaxiDriverTestTracker(DejaVuTestTracker):
 469    """
 470    A TestTracker for Deja Vu games that terminates when the agent talks to the taxi driver.
 471    """
 472
 473    TERMINATION_TRUNCATION_METRIC = TalkedToTaxiDriverTerminationMetric
 474    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTalkActionInNormalSubGoal])
 475
 476class DejaVu1GotoWestendTestTracker(DejaVuTestTracker):
 477    """
 478    A TestTracker for Deja Vu games that terminates when the agent goes to westend.
 479    """
 480
 481    TERMINATION_TRUNCATION_METRIC = WenttoWestendTerminationMetric
 482    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAtWestendAddressSubGoal])
 483
 484class DejaVu1PayTaxiTestTracker(DejaVuTestTracker):
 485    """
 486    A TestTracker for Deja Vu games that terminates when the agent pays the taxi fare.
 487    """
 488
 489    TERMINATION_TRUNCATION_METRIC = PaidTaxiTerminationMetric
 490    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
 491
 492class DejaVu1GotoApartmentTestTracker(DejaVuTestTracker):
 493    """
 494    A TestTracker for Deja Vu games that terminates when the agent goes to the apartment.
 495    """
 496
 497    TERMINATION_TRUNCATION_METRIC = OutsideApartmentTerminationMetric
 498    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt25OnMapSubGoal])
 499
 500class DejaVu1EnterShermanTestTracker(DejaVuTestTracker):
 501    """
 502    A TestTracker for Deja Vu games that terminates when the agent enters Sherman.
 503    """
 504
 505    TERMINATION_TRUNCATION_METRIC = EnteredShermanTerminationMetric
 506    SUBGOAL_METRIC = make_subgoal_metric_class([OpenedShermanDoorSubGoal])
 507
 508class DejaVu1GotoOfficeTestTracker(DejaVuTestTracker):
 509    """
 510    A TestTracker for Deja Vu games that terminates when the agent goes to the office.
 511    """
 512
 513    TERMINATION_TRUNCATION_METRIC = WenttoOfficeTerminationMetric
 514    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInShermanLobbySubGoal])
 515
 516class DejaVu1EnterWestendTestTracker(DejaVuTestTracker):
 517    """
 518    A TestTracker for Deja Vu games that terminates when the agent enters Westend.
 519    """
 520
 521    TERMINATION_TRUNCATION_METRIC = EnteredWestendTerminationMetric
 522    SUBGOAL_METRIC = make_subgoal_metric_class([OpenedWestendDoorSubGoal])
 523
 524class DejaVu1OpenElevatorDoorTestTracker(DejaVuTestTracker):
 525    """
 526    A TestTracker for Deja Vu games that terminates when the agent opens the elevator door.
 527    """
 528
 529    TERMINATION_TRUNCATION_METRIC = OpenedElevatorDoorTerminationMetric
 530    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
 531
 532class DejaVu1EnterElevatorTestTracker(DejaVuTestTracker):
 533    """
 534    A TestTracker for Deja Vu games that terminates when the agent enters the elevator.
 535    """
 536
 537    TERMINATION_TRUNCATION_METRIC = EnteredElevatorTerminationMetric
 538    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInWestendLobbySubGoal])
 539
 540class DejaVu1CloseElevatorDoorTestTracker(DejaVuTestTracker):
 541    """
 542    A TestTracker for Deja Vu games that terminates when the agent closes the elevator door.
 543    """
 544
 545    TERMINATION_TRUNCATION_METRIC = ClosedElevatorDoorTerminationMetric
 546    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
 547
 548class DejaVu1CheckPhotoTestTracker(DejaVuTestTracker):
 549    """
 550    A TestTracker for Deja Vu games that terminates when the agent checks the photo.
 551    """
 552
 553    TERMINATION_TRUNCATION_METRIC = CheckedPhotoTerminationMetric
 554    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])
 555
 556class DejaVu1ShootDoorTestTracker(DejaVuTestTracker):
 557    """
 558    A TestTracker for Deja Vu games that terminates when the agent shoots the door.
 559    """
 560
 561    TERMINATION_TRUNCATION_METRIC = ShotDoorTerminationMetric
 562    SUBGOAL_METRIC = make_subgoal_metric_class([UsingBulletSubGoal])
 563
 564class DejaVu1OpenDeskTestTracker(DejaVuTestTracker):
 565    """
 566    A TestTracker for Deja Vu games that terminates when the agent opens the desk.
 567    """
 568
 569    TERMINATION_TRUNCATION_METRIC = OpenedDeskTerminationMetric
 570    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])
 571
 572class DejaVu1UnlockOfficeDoorTestTracker(DejaVuTestTracker):
 573    """
 574    A TestTracker for Deja Vu games that terminates when the agent unlocks the office door.
 575    """
 576
 577    TERMINATION_TRUNCATION_METRIC = UnlockedOfficeDoorTerminationMetric
 578    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
 579
 580class DejaVu1MakeMedicineTestTracker(DejaVuTestTracker):
 581    """
 582    A TestTracker for Deja Vu games that terminates when the agent makes the medicine.
 583    """
 584
 585    TERMINATION_TRUNCATION_METRIC = MadeMedicineTerminationMetric
 586    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
 587
 588class DejaVu1TakeMedicineTestTracker(DejaVuTestTracker):
 589    """
 590    A TestTracker for Deja Vu games that terminates when the agent takes the medicine.
 591    """
 592
 593    TERMINATION_TRUNCATION_METRIC = TakenMedicineTerminationMetric
 594    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
 595
 596class DejaVu1ShootLockTestTracker(DejaVuTestTracker):
 597    """
 598    A TestTracker for Deja Vu games that terminates when the agent shoots the lock.
 599    """
 600
 601    TERMINATION_TRUNCATION_METRIC = ShotLockTerminationMetric
 602    SUBGOAL_METRIC = make_subgoal_metric_class([
 603        UsingBulletSubGoal,
 604        SelectedUseActionInMenuSubGoal,
 605    ])
 606
 607class DejaVu1OpenDiaryTestTracker(DejaVuTestTracker):
 608    """
 609    A TestTracker for Deja Vu games that terminates when the agent opens the diary.
 610    """
 611
 612    TERMINATION_TRUNCATION_METRIC = OpenedDiaryTerminationMetric
 613    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInMenuSubGoal])
 614
 615class DejaVu1ShootGrimyOfficeDoorTestTracker(DejaVuTestTracker):
 616    """
 617    A TestTracker for Deja Vu games that terminates when the agent shoots the grimy office door.
 618    """
 619
 620    TERMINATION_TRUNCATION_METRIC = ShotGrimyOfficeDoorTerminationMetric
 621    SUBGOAL_METRIC = make_subgoal_metric_class([UsingBulletSubGoal])
 622
 623class DejaVu1CheckDeadManTestTracker(DejaVuTestTracker):
 624    """
 625    A TestTracker for Deja Vu games that terminates when the agent checks the dead man.
 626    """
 627
 628    TERMINATION_TRUNCATION_METRIC = CheckedDeadManTerminationMetric
 629    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])
 630
 631class DejaVu1OpenCabinetTestTracker(DejaVuTestTracker):
 632    """
 633    A TestTracker for Deja Vu games that terminates when the agent opens the cabinet.
 634    """
 635
 636    TERMINATION_TRUNCATION_METRIC = OpenedCabinetTerminationMetric
 637    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])
 638
 639class DejaVu1ExitGrimyOfficeTestTracker(DejaVuTestTracker):
 640    """
 641    A TestTracker for Deja Vu games that terminates when the agent exits the grimy office.
 642    """
 643
 644    TERMINATION_TRUNCATION_METRIC = ExitedGrimyOfficeTerminationMetric
 645    SUBGOAL_METRIC = make_subgoal_metric_class([
 646        NoActionInGrimyOfficeSubGoal,
 647        PointedAt13OnMapSubGoal,
 648    ])
 649
 650class DejaVu1OpenWallSafeTestTracker(DejaVuTestTracker):
 651    """
 652    A TestTracker for Deja Vu games that terminates when the agent opens the wall safe.
 653    """
 654
 655    TERMINATION_TRUNCATION_METRIC = OpenedWallSafeTerminationMetric
 656    SUBGOAL_METRIC = make_subgoal_metric_class([UsingNote3SubGoal])
 657
 658class DejaVu1OpenCarTrunkTestTracker(DejaVuTestTracker):
 659    """
 660    A TestTracker for Deja Vu games that terminates when the agent opens the car trunk.
 661    """
 662
 663    TERMINATION_TRUNCATION_METRIC = OpenedCarTrunkTerminationMetric
 664    SUBGOAL_METRIC = make_subgoal_metric_class([UsingKey4SubGoal])
 665
 666
 667# deja_vu_2 test trackers
 668class DejaVu2OpenTrenchCoatTestTracker(DejaVuTestTracker):
 669    """
 670    A TestTracker for Deja Vu 2 that terminates when the agent opens the trench coat pocket.
 671    """
 672
 673    TERMINATION_TRUNCATION_METRIC = OpenedTrenchCoatPocketTerminationMetric
 674    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])
 675
 676class DejaVu2OpenBathroomDoorTestTracker(DejaVuTestTracker):
 677    """
 678    A TestTracker for Deja Vu 2 that terminates when the agent opens the bathroom door.
 679    """
 680
 681    TERMINATION_TRUNCATION_METRIC = OpenedBathroomDoorTerminationMetric
 682    SUBGOAL_METRIC = DummySubGoalMetric
 683
 684class DejaVu2TakeGumTestTracker(DejaVuTestTracker):
 685    """
 686    A TestTracker for Deja Vu 2 that terminates when the agent takes the gum.
 687    """
 688
 689    TERMINATION_TRUNCATION_METRIC = TakenGumTerminationMetric
 690    SUBGOAL_METRIC = make_subgoal_metric_class([
 691        SelectedTakeActionInMenuSubGoal,
 692        PointedAtGumSubGoal,
 693        InTrenchCoatPocketMenuSubGoal,
 694    ])
 695
 696class DejaVu2OpenPantsPocketTestTracker(DejaVuTestTracker):
 697    """
 698    A TestTracker for Deja Vu 2 that terminates when the agent opens the pants pocket.
 699    """
 700
 701    TERMINATION_TRUNCATION_METRIC = OpenedPantsPocketTerminationMetric
 702    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])
 703
 704class DejaVu2TakePantsTestTracker(DejaVuTestTracker):
 705    """
 706    A TestTracker for Deja Vu 2 that terminates when the agent takes the pants.
 707    """
 708
 709    TERMINATION_TRUNCATION_METRIC = TakenPantsTerminationMetric
 710    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])
 711
 712class DejaVu2ClosePantsPocketTestTracker(DejaVuTestTracker):
 713    """
 714    A TestTracker for Deja Vu 2 that terminates when the agent closes the pants pocket.
 715    """
 716
 717    TERMINATION_TRUNCATION_METRIC = ClosedPantsPocketTerminationMetric
 718    SUBGOAL_METRIC = make_subgoal_metric_class([
 719        InGoodsMenuSubGoal,
 720        SelectedCloseActionInMenuSubGoal,
 721        PointedAtPantsSubGoal,
 722    ])
 723
 724class DejaVu2PutOnTrenchCoatTestTracker(DejaVuTestTracker):
 725    """ 
 726    A TestTracker for Deja Vu 2 that terminates when the agent puts on the trench coat.
 727    """
 728
 729    TERMINATION_TRUNCATION_METRIC = PutOnTrenchCoatTerminationMetric
 730    SUBGOAL_METRIC = make_subgoal_metric_class([
 731        SelectedUseActionInMenuSubGoal,
 732        PointedAtTrenchCoatSubGoal,
 733        SelectedOutfitButtonSubGoal,
 734    ])
 735
 736class DejaVu2PutOnPantsTestTracker(DejaVuTestTracker):
 737    """ 
 738    A TestTracker for Deja Vu 2 that terminates when the agent puts on the pants.
 739    """
 740
 741    TERMINATION_TRUNCATION_METRIC = PutOnPantsTerminationMetric
 742    SUBGOAL_METRIC = make_subgoal_metric_class([
 743        SelectedUseActionInMenuSubGoal,
 744        PointedAtPantsSubGoal,
 745        SelectedOutfitButtonSubGoal,
 746    ])
 747
 748class DejaVu2OpenWallet1TestTracker(DejaVuTestTracker):
 749    """
 750    A TestTracker for Deja Vu 2 that terminates when the agent opens wallet1.
 751    """
 752
 753    TERMINATION_TRUNCATION_METRIC = OpenedWallet1TerminationMetric
 754    SUBGOAL_METRIC = make_subgoal_metric_class([
 755        InGoodsMenuSubGoal,
 756        SelectedOpenActionInMenuSubGoal,
 757        PointedAtWallet1SubGoal,
 758    ])
 759
 760class DejaVu2TakeNewsclip1TestTracker(DejaVuTestTracker):
 761    """
 762    A TestTracker for Deja Vu 2 that terminates when the agent takes newsclip1.
 763    """
 764
 765    TERMINATION_TRUNCATION_METRIC = TakenNewsclip1TerminationMetric
 766    SUBGOAL_METRIC = make_subgoal_metric_class([
 767        SelectedTakeActionInMenuSubGoal,
 768        InWallet1MenuSubGoal,
 769        PointedAtNewsclip1SubGoal,
 770    ])
 771
 772class DejaVu2TakeLicense1TestTracker(DejaVuTestTracker):
 773    """
 774    A TestTracker for Deja Vu 2 that terminates when the agent takes license1.
 775    """
 776
 777    TERMINATION_TRUNCATION_METRIC = TakenLicense1TerminationMetric
 778    SUBGOAL_METRIC = make_subgoal_metric_class([
 779        SelectedTakeActionInMenuSubGoal,
 780        InWallet1MenuSubGoal,
 781        PointedAtLicense1SubGoal,
 782    ])
 783
 784class DejaVu2CloseWallet1TestTracker(DejaVuTestTracker):
 785    """
 786    A TestTracker for Deja Vu 2 that terminates when the agent closes wallet1.
 787    """
 788
 789    TERMINATION_TRUNCATION_METRIC = ClosedWallet1TerminationMetric
 790    SUBGOAL_METRIC = make_subgoal_metric_class([
 791        InGoodsMenuSubGoal,
 792        SelectedCloseActionInMenuSubGoal,
 793        PointedAtWallet1SubGoal,
 794    ])
 795
 796class DejaVu2OpenColdTapTestTracker(DejaVuTestTracker):
 797    """
 798    A TestTracker for Deja Vu 2 that terminates when the agent opens the cold tap.
 799    """
 800
 801    TERMINATION_TRUNCATION_METRIC = OpenedColdTapTerminationMetric
 802    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])
 803
 804class DejaVu2CloseColdTapTestTracker(DejaVuTestTracker):
 805    """
 806    A TestTracker for Deja Vu 2 that terminates when the agent closes the cold tap.
 807    """
 808
 809    TERMINATION_TRUNCATION_METRIC = ClosedColdTapTerminationMetric
 810    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedCloseActionInNormalSubGoal])
 811
 812class DejaVu2CheckNewsclip1TestTracker(DejaVuTestTracker):
 813    """
 814    A TestTracker for Deja Vu 2 that terminates when the agent checks newsclip1.
 815    """
 816
 817    TERMINATION_TRUNCATION_METRIC = CheckedNewsclip1TerminationMetric
 818    SUBGOAL_METRIC = make_subgoal_metric_class([
 819        SelectedWatchActionInMenuSubGoal,
 820        InGoodsMenuSubGoal,
 821    ])
 822
 823class DejaVu2TakeRing1TestTracker(DejaVuTestTracker):
 824    """
 825    A TestTracker for Deja Vu 2 that terminates when the agent takes ring1.
 826    """
 827
 828    TERMINATION_TRUNCATION_METRIC = TakenRing1TerminationMetric
 829    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])
 830
 831class DejaVu2OpenDoorFromMapTestTracker(DejaVuTestTracker):
 832    """
 833    A TestTracker for Deja Vu 2 that terminates when the agent opens the door from the map.
 834    """
 835
 836    TERMINATION_TRUNCATION_METRIC = OpenedDoorFromMapTerminationMetric
 837    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt21OnMapSubGoal])
 838
 839class DejaVu2CloseDoorFromMapTestTracker(DejaVuTestTracker):
 840    """
 841    A TestTracker for Deja Vu 2 that terminates when the agent closes the door from the map.
 842    """
 843
 844    TERMINATION_TRUNCATION_METRIC = ClosedDoorFromMapTerminationMetric
 845    SUBGOAL_METRIC = make_subgoal_metric_class([
 846        PointedAt21OnMapSubGoal,
 847        SelectedCloseActionInNormalSubGoal,
 848    ])
 849
 850class DejaVu2EnterHallwayTestTracker(DejaVuTestTracker):
 851    """
 852    A TestTracker for Deja Vu 2 that terminates when the agent enters the hallway.
 853    """
 854
 855    TERMINATION_TRUNCATION_METRIC = EnteredHallwayTerminationMetric
 856    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt21OnMapSubGoal])
 857
 858class DejaVu2Buy2ChipsTestTracker(DejaVuTestTracker):
 859    """
 860    A TestTracker for Deja Vu 2 that terminates when the agent buys 2 chips.
 861    """
 862
 863    TERMINATION_TRUNCATION_METRIC = Bought2ChipsTerminationMetric
 864    SUBGOAL_METRIC = make_subgoal_metric_class([Selected2ChipsSubGoal])
 865
 866class DejaVu2ReturnToCashierTestTracker(DejaVuTestTracker):
 867    """
 868    A TestTracker for Deja Vu 2 that terminates when the agent returns to the cashier after buying chips.
 869    """
 870
 871    TERMINATION_TRUNCATION_METRIC = ReturnedToCashierTerminationMetric
 872    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt35OnMapSubGoal])
 873
 874class DejaVu2CashOutTestTracker(DejaVuTestTracker):
 875    """
 876    A TestTracker for Deja Vu 2 that terminates when the agent cashes out in the casino.
 877    """
 878
 879    TERMINATION_TRUNCATION_METRIC = CashedOutTerminationMetric
 880    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
 881
 882class DejaVu2OpenLobbyDoorTestTracker(DejaVuTestTracker):
 883    """
 884    A TestTracker for Deja Vu 2 that terminates when the agent opens the locked door in the casino.
 885    """
 886
 887    TERMINATION_TRUNCATION_METRIC = OpenedLobbyDoorTerminationMetric
 888    SUBGOAL_METRIC = make_subgoal_metric_class([
 889        SelectedOpenActionInNormalSubGoal,
 890        PointedAt13OnMapSubGoal,
 891    ])
 892
 893class DejaVu2ExitCasinoTestTracker(DejaVuTestTracker):
 894    """
 895    A TestTracker for Deja Vu 2 that terminates when the agent exits the casino.
 896    """
 897
 898    TERMINATION_TRUNCATION_METRIC = ExitedCasinoTerminationMetric
 899    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInLobbySubGoal])
 900
 901class DejaVu2TalkInTrainStationTestTracker(DejaVuTestTracker):
 902    """
 903    A TestTracker for Deja Vu 2 that terminates when the agent talks to the person in the train station.
 904    """
 905
 906    TERMINATION_TRUNCATION_METRIC = TalkedInTrainStationTerminationMetric
 907    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTalkActionInNormalSubGoal])
 908
 909class DejaVu2VisitCounterTestTracker(DejaVuTestTracker):
 910    """
 911    A TestTracker for Deja Vu 2 that terminates when the agent visits the counter in the casino.
 912    """
 913
 914    TERMINATION_TRUNCATION_METRIC = VisitedCounterTerminationMetric
 915    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt25OnMapSubGoal])
 916
 917class DejaVu2TakePamphletTestTracker(DejaVuTestTracker):
 918    """
 919    A TestTracker for Deja Vu 2 that terminates when the agent takes the pamphlet in the casino.
 920    """
 921
 922    TERMINATION_TRUNCATION_METRIC = TakenPamphletTerminationMetric
 923    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])
 924
 925class DejaVu2CheckTimetableTestTracker(DejaVuTestTracker):
 926    """
 927    A TestTracker for Deja Vu 2 that terminates when the agent checks the timetable in the train station.
 928    """
 929
 930    TERMINATION_TRUNCATION_METRIC = CheckedTimetableTerminationMetric
 931    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])
 932
 933class DejaVu2EnterPlatformTestTracker(DejaVuTestTracker):
 934    """
 935    A TestTracker for Deja Vu 2 that terminates when the agent enters the platform.
 936    """
 937
 938    TERMINATION_TRUNCATION_METRIC = EnteredPlatformTerminationMetric
 939    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt41OnMapSubGoal])
 940
 941class DejaVu2EnterTrainTestTracker(DejaVuTestTracker):
 942    """
 943    A TestTracker for Deja Vu 2 that terminates when the agent enters the train.
 944    """
 945
 946    TERMINATION_TRUNCATION_METRIC = EnteredTrainTerminationMetric
 947    SUBGOAL_METRIC = DummySubGoalMetric
 948
 949class DejaVu2BuyTicketTestTracker(DejaVuTestTracker):
 950    """
 951    A TestTracker for Deja Vu 2 that terminates when the agent buys a ticket for the train.
 952    """
 953
 954    TERMINATION_TRUNCATION_METRIC = BoughtTicketTerminationMetric
 955    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
 956
 957class DejaVu2CheckGirlTestTracker(DejaVuTestTracker):
 958    """
 959    A TestTracker for Deja Vu 2 that terminates when the agent checks the girl in the train station.
 960    """
 961
 962    TERMINATION_TRUNCATION_METRIC = CheckedGirlTerminationMetric
 963    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])
 964
 965class DejaVu2CheckSignTestTracker(DejaVuTestTracker):
 966    """
 967    A TestTracker for Deja Vu 2 that terminates when the agent checks the sign in the train station.
 968    """
 969
 970    TERMINATION_TRUNCATION_METRIC = CheckedSignTerminationMetric
 971    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])
 972
 973class DejaVu2ChatSellerTestTracker(DejaVuTestTracker):
 974    """
 975    A TestTracker for Deja Vu 2 that terminates when the agent chats with the seller in the train station.
 976    """
 977
 978    TERMINATION_TRUNCATION_METRIC = ChattedSellerTerminationMetric
 979    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTalkActionInNormalSubGoal])
 980
 981class DejaVu2BuyNewspaperTestTracker(DejaVuTestTracker):
 982    """
 983    A TestTracker for Deja Vu 2 that terminates when the agent buys the newspaper in the train station.
 984    """
 985
 986    TERMINATION_TRUNCATION_METRIC = BoughtNewspaperTerminationMetric
 987    SUBGOAL_METRIC = make_subgoal_metric_class([UsingCashSubGoal])
 988
 989class DejaVu2TakeNewsclip4TestTracker(DejaVuTestTracker):
 990    """
 991    A TestTracker for Deja Vu 2 that terminates when the agent takes newsclip4.
 992    """
 993
 994    TERMINATION_TRUNCATION_METRIC = TakenNewsclip4TerminationMetric
 995    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])
 996
 997class DejaVu2EnterChicagoTaxiTestTracker(DejaVuTestTracker):
 998    """
 999    A TestTracker for Deja Vu 2 that terminates when the agent enters the taxi in Chicago.
1000    """
1001
1002    TERMINATION_TRUNCATION_METRIC = EnteredChicagoTaxiTerminationMetric
1003    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt24OnMapSubGoal])
1004
1005class DejaVu2ChatTaxiDriverTestTracker(DejaVuTestTracker):
1006    """
1007    A TestTracker for Deja Vu 2 that terminates when the agent chats with the taxi driver in Chicago.
1008    """
1009
1010    TERMINATION_TRUNCATION_METRIC = ChattedTaxiDriverTerminationMetric
1011    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTalkActionInNormalSubGoal])
1012
1013class DejaVu2EnterMiddleRoomTestTracker(DejaVuTestTracker):
1014    """
1015    A TestTracker for Deja Vu 2 that terminates when the agent enters the middle room in the apartment.
1016    """
1017
1018    TERMINATION_TRUNCATION_METRIC = EnteredMiddleRoomTerminationMetric
1019    SUBGOAL_METRIC = make_subgoal_metric_class([
1020        UnlockedMiddleRoomDoorSubGoal,
1021        UsingKey1SubGoal,
1022    ])
1023
1024class DejaVu2LoadGunTestTracker(DejaVuTestTracker):
1025    """
1026    A TestTracker for Deja Vu 2 that terminates when the agent loads the gun.
1027    """
1028
1029    TERMINATION_TRUNCATION_METRIC = LoadedGunTerminationMetric
1030    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
1031
1032class DejaVu2OpenLockTestTracker(DejaVuTestTracker):
1033    """
1034    A TestTracker for Deja Vu 2 that terminates when the agent opens the lock in the middle room.
1035    """
1036
1037    TERMINATION_TRUNCATION_METRIC = OpenedLockTerminationMetric
1038    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
1039
1040class DejaVu2HitBoardTestTracker(DejaVuTestTracker):
1041    """
1042    A TestTracker for Deja Vu 2 that terminates when the agent hits the board in the middle room.
1043    """
1044
1045    TERMINATION_TRUNCATION_METRIC = HitBoardTerminationMetric
1046    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedHitActionInNormalSubGoal])
1047
1048class DejaVu2OpenTelephoneTestTracker(DejaVuTestTracker):
1049    """
1050    A TestTracker for Deja Vu 2 that terminates when the agent opens the telephone in the middle room.
1051    """
1052
1053    TERMINATION_TRUNCATION_METRIC = OpenedTelephoneTerminationMetric
1054    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])
1055
1056class DejaVu2OpenBoxTestTracker(DejaVuTestTracker):
1057    """
1058    A TestTracker for Deja Vu 2 that terminates when the agent opens the box in the middle room.
1059    """
1060
1061    TERMINATION_TRUNCATION_METRIC = OpenedBoxTerminationMetric
1062    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])
1063
1064class DejaVu2OpenPocketKnifeTestTracker(DejaVuTestTracker):
1065    """
1066    A TestTracker for Deja Vu 2 that terminates when the agent opens the pocket knife
1067    """
1068
1069    TERMINATION_TRUNCATION_METRIC = OpenedPocketKnifeTerminationMetric
1070    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInMenuSubGoal])
1071
1072class DejaVu2OpenDoorByKnifeTestTracker(DejaVuTestTracker):
1073    """
1074    A TestTracker for Deja Vu 2 that terminates when the agent use the knife to open the door
1075    """
1076
1077    TERMINATION_TRUNCATION_METRIC = OpenedDoorByKnifeTerminationMetric
1078    SUBGOAL_METRIC = make_subgoal_metric_class([UsingKnifeSubGoal])
1079
1080class DejaVu2PutOnFlashlightTestTracker(DejaVuTestTracker):
1081    """
1082    A TestTracker for Deja Vu 2 that terminates when the agent puts on the flashlight.
1083    """
1084
1085    TERMINATION_TRUNCATION_METRIC = PutOnFlashlightTerminationMetric
1086    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])
1087
1088class DejaVu2EnterJoePlaceTestTracker(DejaVuTestTracker):
1089    """
1090    A TestTracker for Deja Vu 2 that terminates when the agent enter joe's place.
1091    """
1092    TERMINATION_TRUNCATION_METRIC = EnteredJoePlaceTerminationMetric
1093    SUBGOAL_METRIC = make_subgoal_metric_class([OpenedJoePlaceDoorSubGoal])
1094
1095class DejaVu2OpenSlotLockTestTracker(DejaVuTestTracker):
1096    """
1097    A TestTracker for Deja Vu 2 that terminates when the agent open the lock of slot.
1098    """
1099    TERMINATION_TRUNCATION_METRIC = OpenedSlotLockTerminationMetric
1100    SUBGOAL_METRIC = make_subgoal_metric_class([UsingKey4SubGoal])
1101    
1102class DejaVu2TurnOffFlashlightTestTracker(DejaVuTestTracker):
1103    """
1104    A TestTracker for Deja Vu 2 that terminates when the agent turn of the flashlight.
1105    """
1106    TERMINATION_TRUNCATION_METRIC = TurnOffFlashlightTerminationMetric
1107    SUBGOAL_METRIC = make_subgoal_metric_class([UsingFlashlightSubGoal])
1108
1109class DejaVu2GetLocationFromCardTestTracker(DejaVuTestTracker):
1110    """
1111    A TestTracker for Deja Vu 2 that terminates when the agent read the card and get the location in it.
1112    """
1113    TERMINATION_TRUNCATION_METRIC = GotLocationFromCardTerminationMetric
1114    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInMenuSubGoal])
1115
1116class DejaVu2OpenBagWithKnifeTestTracker(DejaVuTestTracker):
1117    """
1118    A TestTracker for Deja Vu 2 that terminates when the agent open the bag in vacuum with knife.
1119    """
1120    TERMINATION_TRUNCATION_METRIC = OpenedBagWithKnifeTerminationMetric
1121    SUBGOAL_METRIC = make_subgoal_metric_class([InVacuumMenuSubGoal])
1122
1123class DejaVu2AskAboutNametag2TestTracker(DejaVuTestTracker):
1124    """
1125    A TestTracker for Deja Vu 2 that terminates when the agent open the bag in vacuum with knife.
1126    """
1127    TERMINATION_TRUNCATION_METRIC = AskedAboutNametag2TerminationMetric
1128    SUBGOAL_METRIC = make_subgoal_metric_class([UsingNametag2SubGoal])
class CoreDejaVuTracker(gameboy_worlds.emulation.tracker.StateTracker):
180class CoreDejaVuTracker(StateTracker):
181    """
182    StateTracker for core Deja Vu metrics.
183    """
184
185    _REMOVE_GRID_OVERLAY = False
186    """ Whether to remove the grid overlay drawn by the state parser when the agent is in FREE ROAM. This is useful for VLM based agents may need a coordinate grid overlayed onto the frame, but may cause issues for agents that do not understand that it is not a part of the game. """
187
188    def start(self):
189        super().start()
190        self.metric_classes.extend([CoreDejaVuMetrics, DejaVuTestMetric])
191
192    def step(self, *args, **kwargs):
193        """
194        Calls on super().step(), but then modifies the current frame to overlay the grid if the agent is in FREE ROAM.
195        """
196        super().step(*args, **kwargs)
197
198        if self._REMOVE_GRID_OVERLAY:
199            state = self.episode_metrics["dejavu_core"]["agent_state"]
200            # if agent_state is in FREE ROAM, draw the grid, otherwise do not
201            if state == AgentState.FREE_ROAM:
202                screen = self.episode_metrics["core"]["current_frame"]
203                screen = self.state_parser.draw_grid_overlay(current_frame=screen)
204                self.episode_metrics["core"]["current_frame"] = screen
205                previous_screens = self.episode_metrics["core"]["passed_frames"]
206                if previous_screens is not None:
207                    self.episode_metrics["core"]["passed_frames"][-1, :] = screen

StateTracker for core Deja Vu metrics.

def start(self):
188    def start(self):
189        super().start()
190        self.metric_classes.extend([CoreDejaVuMetrics, DejaVuTestMetric])

Sets up the metrics for the tracker by creating the list self.metric_classes

Child classes must FIRST call super().start() and THEN set up their own metric classes.

def step(self, *args, **kwargs):
192    def step(self, *args, **kwargs):
193        """
194        Calls on super().step(), but then modifies the current frame to overlay the grid if the agent is in FREE ROAM.
195        """
196        super().step(*args, **kwargs)
197
198        if self._REMOVE_GRID_OVERLAY:
199            state = self.episode_metrics["dejavu_core"]["agent_state"]
200            # if agent_state is in FREE ROAM, draw the grid, otherwise do not
201            if state == AgentState.FREE_ROAM:
202                screen = self.episode_metrics["core"]["current_frame"]
203                screen = self.state_parser.draw_grid_overlay(current_frame=screen)
204                self.episode_metrics["core"]["current_frame"] = screen
205                previous_screens = self.episode_metrics["core"]["passed_frames"]
206                if previous_screens is not None:
207                    self.episode_metrics["core"]["passed_frames"][-1, :] = screen

Calls on super().step(), but then modifies the current frame to overlay the grid if the agent is in FREE ROAM.

class DejaVuOCRTracker(CoreDejaVuTracker):
210class DejaVuOCRTracker(CoreDejaVuTracker):
211    def start(self):
212        super().start()
213        self.metric_classes.extend([DejaVuOCRMetric])

StateTracker for core Deja Vu metrics.

def start(self):
211    def start(self):
212        super().start()
213        self.metric_classes.extend([DejaVuOCRMetric])

Sets up the metrics for the tracker by creating the list self.metric_classes

Child classes must FIRST call super().start() and THEN set up their own metric classes.

216class DejaVuTestTracker(TestTrackerMixin, DejaVuOCRTracker):
217    """
218    Inherit this class and set TERMINATION_TRUNCATION_METRIC to create a TestTracker for Deja Vu games.
219    """
220
221    TERMINATION_TRUNCATION_METRIC = TakenCoatTerminationMetric
222    SUBGOAL_METRIC = DummySubGoalMetric

Inherit this class and set TERMINATION_TRUNCATION_METRIC to create a TestTracker for Deja Vu games.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CoatTestTracker(DejaVuTestTracker):
225class DejaVu1CoatTestTracker(DejaVuTestTracker):
226    """
227    A TestTracker for Deja Vu games that terminates when the agent takes the coat.
228    """
229
230    TERMINATION_TRUNCATION_METRIC = TakenCoatTerminationMetric
231    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent takes the coat.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1TakeGunTestTracker(DejaVuTestTracker):
233class DejaVu1TakeGunTestTracker(DejaVuTestTracker):
234    """
235    A TestTracker for Deja Vu games that terminates when the agent takes the gun.
236    """
237
238    TERMINATION_TRUNCATION_METRIC = TakenGunTerminationMetric
239    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent takes the gun.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenDoorTestTracker(DejaVuTestTracker):
241class DejaVu1OpenDoorTestTracker(DejaVuTestTracker):
242    """
243    A TestTracker for Deja Vu games that terminates when the agent opens the door.
244    """
245
246    TERMINATION_TRUNCATION_METRIC = OpenedDoorTerminationMetric
247    SUBGOAL_METRIC = DummySubGoalMetric
248    # make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal, NoActionSelectedInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CloseDoorTestTracker(DejaVuTestTracker):
250class DejaVu1CloseDoorTestTracker(DejaVuTestTracker):
251    """
252    A TestTracker for Deja Vu games that terminates when the agent closes the door.
253    """
254
255    TERMINATION_TRUNCATION_METRIC = ClosedDoorTerminationMetric
256    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedCloseActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent closes the door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenPocketTestTracker(DejaVuTestTracker):
258class DejaVu1OpenPocketTestTracker(DejaVuTestTracker):
259    """
260    A TestTracker for Deja Vu games that terminates when the agent opens the pocket.
261    """
262
263    TERMINATION_TRUNCATION_METRIC = OpenedPocketTerminationMetric
264    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInMenuSubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the pocket.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenWalletTestTracker(DejaVuTestTracker):
266class DejaVu1OpenWalletTestTracker(DejaVuTestTracker):
267    """
268    A TestTracker for Deja Vu games that terminates when the agent opens the wallet.
269    """
270
271    TERMINATION_TRUNCATION_METRIC = OpenedWalletTerminationMetric
272    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInMenuSubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the wallet.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1ClosePocketTestTracker(DejaVuTestTracker):
274class DejaVu1ClosePocketTestTracker(DejaVuTestTracker):
275    """
276    A TestTracker for Deja Vu games that terminates when the agent closes the pocket.
277    """
278
279    TERMINATION_TRUNCATION_METRIC = ClosedPocketTerminationMetric
280    SUBGOAL_METRIC = make_subgoal_metric_class([
281        InGoodsMenuSubGoal,
282        SelectedCloseActionInMenuSubGoal,
283        PointedAtCoatSubGoal,
284    ])

A TestTracker for Deja Vu games that terminates when the agent closes the pocket.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CloseWalletTestTracker(DejaVuTestTracker):
286class DejaVu1CloseWalletTestTracker(DejaVuTestTracker):
287    """
288    A TestTracker for Deja Vu games that terminates when the agent closes the wallet.
289    """
290
291    TERMINATION_TRUNCATION_METRIC = ClosedWalletTerminationMetric
292    SUBGOAL_METRIC = make_subgoal_metric_class([
293        InCoatPocketMenuSubGoal,
294        SelectedCloseActionInMenuSubGoal,
295        PointedAtWalletSubGoal,
296    ])

A TestTracker for Deja Vu games that terminates when the agent closes the wallet.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CheckCoatTestTracker(DejaVuTestTracker):
298class DejaVu1CheckCoatTestTracker(DejaVuTestTracker):
299    """
300    A TestTracker for Deja Vu games that terminates when the agent checks the coat.
301    """
302
303    TERMINATION_TRUNCATION_METRIC = CheckedCoatTerminationMetric
304    SUBGOAL_METRIC = DummySubGoalMetric

A TestTracker for Deja Vu games that terminates when the agent checks the coat.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CheckGunTestTracker(DejaVuTestTracker):
306class DejaVu1CheckGunTestTracker(DejaVuTestTracker):
307    """
308    A TestTracker for Deja Vu games that terminates when the agent checks the gun.
309    """
310
311    TERMINATION_TRUNCATION_METRIC = CheckedGunTerminationMetric
312    SUBGOAL_METRIC = DummySubGoalMetric

A TestTracker for Deja Vu games that terminates when the agent checks the gun.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenSpigotTestTracker(DejaVuTestTracker):
314class DejaVu1OpenSpigotTestTracker(DejaVuTestTracker):
315    """
316    A TestTracker for Deja Vu games that terminates when the agent opens the spigot.
317    """
318
319    TERMINATION_TRUNCATION_METRIC = OpenedSpigotTerminationMetric
320    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the spigot.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1HitBottleTestTracker(DejaVuTestTracker):
322class DejaVu1HitBottleTestTracker(DejaVuTestTracker):
323    """
324    A TestTracker for Deja Vu games that terminates when the agent hits the bottle.
325    """
326
327    TERMINATION_TRUNCATION_METRIC = HitBottleTerminationMetric
328    SUBGOAL_METRIC = make_subgoal_metric_class([
329        SelectedHitActionInNormalSubGoal,
330        SockoOnScreenSubGoal,
331    ])

A TestTracker for Deja Vu games that terminates when the agent hits the bottle.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1EnterCellarTestTracker(DejaVuTestTracker):
333class DejaVu1EnterCellarTestTracker(DejaVuTestTracker):
334    """
335    A TestTracker for Deja Vu games that terminates when the agent enters the cellar.
336    """
337
338    TERMINATION_TRUNCATION_METRIC = EnteredCellarTerminationMetric
339    SUBGOAL_METRIC = make_subgoal_metric_class([OpenedCellarDoorOnScreenSubGoal])

A TestTracker for Deja Vu games that terminates when the agent enters the cellar.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1EnterConnectingRoomTestTracker(DejaVuTestTracker):
341class DejaVu1EnterConnectingRoomTestTracker(DejaVuTestTracker):
342    """
343    A TestTracker for Deja Vu games that terminates when the agent enters the connecting room.
344    """
345
346    TERMINATION_TRUNCATION_METRIC = EnteredConnectingRoomTerminationMetric
347    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInCellarSubGoal])

A TestTracker for Deja Vu games that terminates when the agent enters the connecting room.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1MakeBetTestTracker(DejaVuTestTracker):
349class DejaVu1MakeBetTestTracker(DejaVuTestTracker):
350    """
351    A TestTracker for Deja Vu games that terminates when the agent makes a bet in casino.
352    """
353
354    TERMINATION_TRUNCATION_METRIC = MadeBetTerminationMetric
355    SUBGOAL_METRIC = make_subgoal_metric_class([
356        SelectedUseActionInMenuSubGoal,
357        PointedAtCoinSubGoal,
358        UsingCoinSubGoal,
359    ])

A TestTracker for Deja Vu games that terminates when the agent makes a bet in casino.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1EnterEmptyRoomFromMapTestTracker(DejaVuTestTracker):
361class DejaVu1EnterEmptyRoomFromMapTestTracker(DejaVuTestTracker):
362    """
363    A TestTracker for Deja Vu games that terminates when the agent enters an empty room from the map.
364    """
365
366    TERMINATION_TRUNCATION_METRIC = EnteredEmptyRoomFromMapTerminationMetric
367    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt13OnMapSubGoal])

A TestTracker for Deja Vu games that terminates when the agent enters an empty room from the map.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1UnlockFrontDoorTestTracker(DejaVuTestTracker):
369class DejaVu1UnlockFrontDoorTestTracker(DejaVuTestTracker):
370    """
371    A TestTracker for Deja Vu games that terminates when the agent unlocks the front door.
372    """
373
374    TERMINATION_TRUNCATION_METRIC = UnlockedFrontDoorTerminationMetric
375    SUBGOAL_METRIC = make_subgoal_metric_class([
376        UsingKey3SubGoal,
377        SelectedUseActionInMenuSubGoal,
378    ])

A TestTracker for Deja Vu games that terminates when the agent unlocks the front door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1MeetMuggerTestTracker(DejaVuTestTracker):
380class DejaVu1MeetMuggerTestTracker(DejaVuTestTracker):
381    """
382    A TestTracker for Deja Vu games that terminates when the agent meets the mugger.
383    """
384
385    TERMINATION_TRUNCATION_METRIC = MeetMuggerTerminationMetric
386    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInEmptyRestaurantSubGoal])

A TestTracker for Deja Vu games that terminates when the agent meets the mugger.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1HitMuggerTestTracker(DejaVuTestTracker):
388class DejaVu1HitMuggerTestTracker(DejaVuTestTracker):
389    """
390    A TestTracker for Deja Vu games that terminates when the agent hits the mugger.
391    """
392
393    TERMINATION_TRUNCATION_METRIC = HitMuggerTerminationMetric
394    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedHitActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent hits the mugger.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1UnlockCarDoorTestTracker(DejaVuTestTracker):
396class DejaVu1UnlockCarDoorTestTracker(DejaVuTestTracker):
397    """
398    A TestTracker for Deja Vu games that terminates when the agent unlocks the car door.
399    """
400
401    TERMINATION_TRUNCATION_METRIC = UnlockedCarDoorTerminationMetric
402    SUBGOAL_METRIC = make_subgoal_metric_class([UsingKey2SubGoal])

A TestTracker for Deja Vu games that terminates when the agent unlocks the car door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenDashbrdTestTracker(DejaVuTestTracker):
404class DejaVu1OpenDashbrdTestTracker(DejaVuTestTracker):
405    """
406    A TestTracker for Deja Vu games that terminates when the agent opens the car dashboard.
407    """
408
409    TERMINATION_TRUNCATION_METRIC = OpenedDashbrdTerminationMetric
410    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the car dashboard.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CloseDashbrdTestTracker(DejaVuTestTracker):
412class DejaVu1CloseDashbrdTestTracker(DejaVuTestTracker):
413    """
414    A TestTracker for Deja Vu games that terminates when the agent closes the car dashboard.
415    """
416
417    TERMINATION_TRUNCATION_METRIC = ClosedDashbrdTerminationMetric
418    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedCloseActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent closes the car dashboard.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CheckNote2TestTracker(DejaVuTestTracker):
420class DejaVu1CheckNote2TestTracker(DejaVuTestTracker):
421    """
422    A TestTracker for Deja Vu games that terminates when the agent checks note 2.
423    """
424
425    TERMINATION_TRUNCATION_METRIC = CheckedNote2TerminationMetric
426    SUBGOAL_METRIC = make_subgoal_metric_class([
427        SelectedWatchActionInMenuSubGoal,
428        InGoodsMenuSubGoal,
429    ])

A TestTracker for Deja Vu games that terminates when the agent checks note 2.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CheckMapTestTracker(DejaVuTestTracker):
431class DejaVu1CheckMapTestTracker(DejaVuTestTracker):
432    """
433    A TestTracker for Deja Vu games that terminates when the agent checks the map.
434    """
435
436    TERMINATION_TRUNCATION_METRIC = CheckedMapTerminationMetric
437    SUBGOAL_METRIC = make_subgoal_metric_class([
438        SelectedWatchActionInMenuSubGoal,
439        InGoodsMenuSubGoal,
440    ])

A TestTracker for Deja Vu games that terminates when the agent checks the map.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CheckSnapshotTestTracker(DejaVuTestTracker):
442class DejaVu1CheckSnapshotTestTracker(DejaVuTestTracker):
443    """
444    A TestTracker for Deja Vu games that terminates when the agent checks the snapshot.
445    """
446
447    TERMINATION_TRUNCATION_METRIC = CheckedSnapshotTerminationMetric
448    SUBGOAL_METRIC = make_subgoal_metric_class([
449        SelectedWatchActionInMenuSubGoal,
450        InGoodsMenuSubGoal,
451    ])

A TestTracker for Deja Vu games that terminates when the agent checks the snapshot.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1GoNewsstandTestTracker(DejaVuTestTracker):
453class DejaVu1GoNewsstandTestTracker(DejaVuTestTracker):
454    """
455    A TestTracker for Deja Vu games that terminates when the agent goes to the newsstand.
456    """
457
458    TERMINATION_TRUNCATION_METRIC = GoNewsstandTerminationMetric
459    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt11OnMapSubGoal])

A TestTracker for Deja Vu games that terminates when the agent goes to the newsstand.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1EnterTaxiTestTracker(DejaVuTestTracker):
461class DejaVu1EnterTaxiTestTracker(DejaVuTestTracker):
462    """
463    A TestTracker for Deja Vu games that terminates when the agent enters the taxi.
464    """
465
466    TERMINATION_TRUNCATION_METRIC = EnteredTaxiTerminationMetric
467    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionOnPeoriaStSubGoal])

A TestTracker for Deja Vu games that terminates when the agent enters the taxi.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1TalkToTaxiDriverTestTracker(DejaVuTestTracker):
469class DejaVu1TalkToTaxiDriverTestTracker(DejaVuTestTracker):
470    """
471    A TestTracker for Deja Vu games that terminates when the agent talks to the taxi driver.
472    """
473
474    TERMINATION_TRUNCATION_METRIC = TalkedToTaxiDriverTerminationMetric
475    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTalkActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent talks to the taxi driver.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1GotoWestendTestTracker(DejaVuTestTracker):
477class DejaVu1GotoWestendTestTracker(DejaVuTestTracker):
478    """
479    A TestTracker for Deja Vu games that terminates when the agent goes to westend.
480    """
481
482    TERMINATION_TRUNCATION_METRIC = WenttoWestendTerminationMetric
483    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAtWestendAddressSubGoal])

A TestTracker for Deja Vu games that terminates when the agent goes to westend.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1PayTaxiTestTracker(DejaVuTestTracker):
485class DejaVu1PayTaxiTestTracker(DejaVuTestTracker):
486    """
487    A TestTracker for Deja Vu games that terminates when the agent pays the taxi fare.
488    """
489
490    TERMINATION_TRUNCATION_METRIC = PaidTaxiTerminationMetric
491    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu games that terminates when the agent pays the taxi fare.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1GotoApartmentTestTracker(DejaVuTestTracker):
493class DejaVu1GotoApartmentTestTracker(DejaVuTestTracker):
494    """
495    A TestTracker for Deja Vu games that terminates when the agent goes to the apartment.
496    """
497
498    TERMINATION_TRUNCATION_METRIC = OutsideApartmentTerminationMetric
499    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt25OnMapSubGoal])

A TestTracker for Deja Vu games that terminates when the agent goes to the apartment.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1EnterShermanTestTracker(DejaVuTestTracker):
501class DejaVu1EnterShermanTestTracker(DejaVuTestTracker):
502    """
503    A TestTracker for Deja Vu games that terminates when the agent enters Sherman.
504    """
505
506    TERMINATION_TRUNCATION_METRIC = EnteredShermanTerminationMetric
507    SUBGOAL_METRIC = make_subgoal_metric_class([OpenedShermanDoorSubGoal])

A TestTracker for Deja Vu games that terminates when the agent enters Sherman.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1GotoOfficeTestTracker(DejaVuTestTracker):
509class DejaVu1GotoOfficeTestTracker(DejaVuTestTracker):
510    """
511    A TestTracker for Deja Vu games that terminates when the agent goes to the office.
512    """
513
514    TERMINATION_TRUNCATION_METRIC = WenttoOfficeTerminationMetric
515    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInShermanLobbySubGoal])

A TestTracker for Deja Vu games that terminates when the agent goes to the office.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1EnterWestendTestTracker(DejaVuTestTracker):
517class DejaVu1EnterWestendTestTracker(DejaVuTestTracker):
518    """
519    A TestTracker for Deja Vu games that terminates when the agent enters Westend.
520    """
521
522    TERMINATION_TRUNCATION_METRIC = EnteredWestendTerminationMetric
523    SUBGOAL_METRIC = make_subgoal_metric_class([OpenedWestendDoorSubGoal])

A TestTracker for Deja Vu games that terminates when the agent enters Westend.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenElevatorDoorTestTracker(DejaVuTestTracker):
525class DejaVu1OpenElevatorDoorTestTracker(DejaVuTestTracker):
526    """
527    A TestTracker for Deja Vu games that terminates when the agent opens the elevator door.
528    """
529
530    TERMINATION_TRUNCATION_METRIC = OpenedElevatorDoorTerminationMetric
531    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the elevator door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1EnterElevatorTestTracker(DejaVuTestTracker):
533class DejaVu1EnterElevatorTestTracker(DejaVuTestTracker):
534    """
535    A TestTracker for Deja Vu games that terminates when the agent enters the elevator.
536    """
537
538    TERMINATION_TRUNCATION_METRIC = EnteredElevatorTerminationMetric
539    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInWestendLobbySubGoal])

A TestTracker for Deja Vu games that terminates when the agent enters the elevator.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CloseElevatorDoorTestTracker(DejaVuTestTracker):
541class DejaVu1CloseElevatorDoorTestTracker(DejaVuTestTracker):
542    """
543    A TestTracker for Deja Vu games that terminates when the agent closes the elevator door.
544    """
545
546    TERMINATION_TRUNCATION_METRIC = ClosedElevatorDoorTerminationMetric
547    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu games that terminates when the agent closes the elevator door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CheckPhotoTestTracker(DejaVuTestTracker):
549class DejaVu1CheckPhotoTestTracker(DejaVuTestTracker):
550    """
551    A TestTracker for Deja Vu games that terminates when the agent checks the photo.
552    """
553
554    TERMINATION_TRUNCATION_METRIC = CheckedPhotoTerminationMetric
555    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent checks the photo.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1ShootDoorTestTracker(DejaVuTestTracker):
557class DejaVu1ShootDoorTestTracker(DejaVuTestTracker):
558    """
559    A TestTracker for Deja Vu games that terminates when the agent shoots the door.
560    """
561
562    TERMINATION_TRUNCATION_METRIC = ShotDoorTerminationMetric
563    SUBGOAL_METRIC = make_subgoal_metric_class([UsingBulletSubGoal])

A TestTracker for Deja Vu games that terminates when the agent shoots the door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenDeskTestTracker(DejaVuTestTracker):
565class DejaVu1OpenDeskTestTracker(DejaVuTestTracker):
566    """
567    A TestTracker for Deja Vu games that terminates when the agent opens the desk.
568    """
569
570    TERMINATION_TRUNCATION_METRIC = OpenedDeskTerminationMetric
571    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the desk.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1UnlockOfficeDoorTestTracker(DejaVuTestTracker):
573class DejaVu1UnlockOfficeDoorTestTracker(DejaVuTestTracker):
574    """
575    A TestTracker for Deja Vu games that terminates when the agent unlocks the office door.
576    """
577
578    TERMINATION_TRUNCATION_METRIC = UnlockedOfficeDoorTerminationMetric
579    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu games that terminates when the agent unlocks the office door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1MakeMedicineTestTracker(DejaVuTestTracker):
581class DejaVu1MakeMedicineTestTracker(DejaVuTestTracker):
582    """
583    A TestTracker for Deja Vu games that terminates when the agent makes the medicine.
584    """
585
586    TERMINATION_TRUNCATION_METRIC = MadeMedicineTerminationMetric
587    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu games that terminates when the agent makes the medicine.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1TakeMedicineTestTracker(DejaVuTestTracker):
589class DejaVu1TakeMedicineTestTracker(DejaVuTestTracker):
590    """
591    A TestTracker for Deja Vu games that terminates when the agent takes the medicine.
592    """
593
594    TERMINATION_TRUNCATION_METRIC = TakenMedicineTerminationMetric
595    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu games that terminates when the agent takes the medicine.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1ShootLockTestTracker(DejaVuTestTracker):
597class DejaVu1ShootLockTestTracker(DejaVuTestTracker):
598    """
599    A TestTracker for Deja Vu games that terminates when the agent shoots the lock.
600    """
601
602    TERMINATION_TRUNCATION_METRIC = ShotLockTerminationMetric
603    SUBGOAL_METRIC = make_subgoal_metric_class([
604        UsingBulletSubGoal,
605        SelectedUseActionInMenuSubGoal,
606    ])

A TestTracker for Deja Vu games that terminates when the agent shoots the lock.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenDiaryTestTracker(DejaVuTestTracker):
608class DejaVu1OpenDiaryTestTracker(DejaVuTestTracker):
609    """
610    A TestTracker for Deja Vu games that terminates when the agent opens the diary.
611    """
612
613    TERMINATION_TRUNCATION_METRIC = OpenedDiaryTerminationMetric
614    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInMenuSubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the diary.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1ShootGrimyOfficeDoorTestTracker(DejaVuTestTracker):
616class DejaVu1ShootGrimyOfficeDoorTestTracker(DejaVuTestTracker):
617    """
618    A TestTracker for Deja Vu games that terminates when the agent shoots the grimy office door.
619    """
620
621    TERMINATION_TRUNCATION_METRIC = ShotGrimyOfficeDoorTerminationMetric
622    SUBGOAL_METRIC = make_subgoal_metric_class([UsingBulletSubGoal])

A TestTracker for Deja Vu games that terminates when the agent shoots the grimy office door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1CheckDeadManTestTracker(DejaVuTestTracker):
624class DejaVu1CheckDeadManTestTracker(DejaVuTestTracker):
625    """
626    A TestTracker for Deja Vu games that terminates when the agent checks the dead man.
627    """
628
629    TERMINATION_TRUNCATION_METRIC = CheckedDeadManTerminationMetric
630    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent checks the dead man.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenCabinetTestTracker(DejaVuTestTracker):
632class DejaVu1OpenCabinetTestTracker(DejaVuTestTracker):
633    """
634    A TestTracker for Deja Vu games that terminates when the agent opens the cabinet.
635    """
636
637    TERMINATION_TRUNCATION_METRIC = OpenedCabinetTerminationMetric
638    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the cabinet.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1ExitGrimyOfficeTestTracker(DejaVuTestTracker):
640class DejaVu1ExitGrimyOfficeTestTracker(DejaVuTestTracker):
641    """
642    A TestTracker for Deja Vu games that terminates when the agent exits the grimy office.
643    """
644
645    TERMINATION_TRUNCATION_METRIC = ExitedGrimyOfficeTerminationMetric
646    SUBGOAL_METRIC = make_subgoal_metric_class([
647        NoActionInGrimyOfficeSubGoal,
648        PointedAt13OnMapSubGoal,
649    ])

A TestTracker for Deja Vu games that terminates when the agent exits the grimy office.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenWallSafeTestTracker(DejaVuTestTracker):
651class DejaVu1OpenWallSafeTestTracker(DejaVuTestTracker):
652    """
653    A TestTracker for Deja Vu games that terminates when the agent opens the wall safe.
654    """
655
656    TERMINATION_TRUNCATION_METRIC = OpenedWallSafeTerminationMetric
657    SUBGOAL_METRIC = make_subgoal_metric_class([UsingNote3SubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the wall safe.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu1OpenCarTrunkTestTracker(DejaVuTestTracker):
659class DejaVu1OpenCarTrunkTestTracker(DejaVuTestTracker):
660    """
661    A TestTracker for Deja Vu games that terminates when the agent opens the car trunk.
662    """
663
664    TERMINATION_TRUNCATION_METRIC = OpenedCarTrunkTerminationMetric
665    SUBGOAL_METRIC = make_subgoal_metric_class([UsingKey4SubGoal])

A TestTracker for Deja Vu games that terminates when the agent opens the car trunk.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenTrenchCoatTestTracker(DejaVuTestTracker):
669class DejaVu2OpenTrenchCoatTestTracker(DejaVuTestTracker):
670    """
671    A TestTracker for Deja Vu 2 that terminates when the agent opens the trench coat pocket.
672    """
673
674    TERMINATION_TRUNCATION_METRIC = OpenedTrenchCoatPocketTerminationMetric
675    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent opens the trench coat pocket.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenBathroomDoorTestTracker(DejaVuTestTracker):
677class DejaVu2OpenBathroomDoorTestTracker(DejaVuTestTracker):
678    """
679    A TestTracker for Deja Vu 2 that terminates when the agent opens the bathroom door.
680    """
681
682    TERMINATION_TRUNCATION_METRIC = OpenedBathroomDoorTerminationMetric
683    SUBGOAL_METRIC = DummySubGoalMetric

A TestTracker for Deja Vu 2 that terminates when the agent opens the bathroom door.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2TakeGumTestTracker(DejaVuTestTracker):
685class DejaVu2TakeGumTestTracker(DejaVuTestTracker):
686    """
687    A TestTracker for Deja Vu 2 that terminates when the agent takes the gum.
688    """
689
690    TERMINATION_TRUNCATION_METRIC = TakenGumTerminationMetric
691    SUBGOAL_METRIC = make_subgoal_metric_class([
692        SelectedTakeActionInMenuSubGoal,
693        PointedAtGumSubGoal,
694        InTrenchCoatPocketMenuSubGoal,
695    ])

A TestTracker for Deja Vu 2 that terminates when the agent takes the gum.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenPantsPocketTestTracker(DejaVuTestTracker):
697class DejaVu2OpenPantsPocketTestTracker(DejaVuTestTracker):
698    """
699    A TestTracker for Deja Vu 2 that terminates when the agent opens the pants pocket.
700    """
701
702    TERMINATION_TRUNCATION_METRIC = OpenedPantsPocketTerminationMetric
703    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent opens the pants pocket.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2TakePantsTestTracker(DejaVuTestTracker):
705class DejaVu2TakePantsTestTracker(DejaVuTestTracker):
706    """
707    A TestTracker for Deja Vu 2 that terminates when the agent takes the pants.
708    """
709
710    TERMINATION_TRUNCATION_METRIC = TakenPantsTerminationMetric
711    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent takes the pants.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2ClosePantsPocketTestTracker(DejaVuTestTracker):
713class DejaVu2ClosePantsPocketTestTracker(DejaVuTestTracker):
714    """
715    A TestTracker for Deja Vu 2 that terminates when the agent closes the pants pocket.
716    """
717
718    TERMINATION_TRUNCATION_METRIC = ClosedPantsPocketTerminationMetric
719    SUBGOAL_METRIC = make_subgoal_metric_class([
720        InGoodsMenuSubGoal,
721        SelectedCloseActionInMenuSubGoal,
722        PointedAtPantsSubGoal,
723    ])

A TestTracker for Deja Vu 2 that terminates when the agent closes the pants pocket.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2PutOnTrenchCoatTestTracker(DejaVuTestTracker):
725class DejaVu2PutOnTrenchCoatTestTracker(DejaVuTestTracker):
726    """ 
727    A TestTracker for Deja Vu 2 that terminates when the agent puts on the trench coat.
728    """
729
730    TERMINATION_TRUNCATION_METRIC = PutOnTrenchCoatTerminationMetric
731    SUBGOAL_METRIC = make_subgoal_metric_class([
732        SelectedUseActionInMenuSubGoal,
733        PointedAtTrenchCoatSubGoal,
734        SelectedOutfitButtonSubGoal,
735    ])

A TestTracker for Deja Vu 2 that terminates when the agent puts on the trench coat.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2PutOnPantsTestTracker(DejaVuTestTracker):
737class DejaVu2PutOnPantsTestTracker(DejaVuTestTracker):
738    """ 
739    A TestTracker for Deja Vu 2 that terminates when the agent puts on the pants.
740    """
741
742    TERMINATION_TRUNCATION_METRIC = PutOnPantsTerminationMetric
743    SUBGOAL_METRIC = make_subgoal_metric_class([
744        SelectedUseActionInMenuSubGoal,
745        PointedAtPantsSubGoal,
746        SelectedOutfitButtonSubGoal,
747    ])

A TestTracker for Deja Vu 2 that terminates when the agent puts on the pants.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenWallet1TestTracker(DejaVuTestTracker):
749class DejaVu2OpenWallet1TestTracker(DejaVuTestTracker):
750    """
751    A TestTracker for Deja Vu 2 that terminates when the agent opens wallet1.
752    """
753
754    TERMINATION_TRUNCATION_METRIC = OpenedWallet1TerminationMetric
755    SUBGOAL_METRIC = make_subgoal_metric_class([
756        InGoodsMenuSubGoal,
757        SelectedOpenActionInMenuSubGoal,
758        PointedAtWallet1SubGoal,
759    ])

A TestTracker for Deja Vu 2 that terminates when the agent opens wallet1.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2TakeNewsclip1TestTracker(DejaVuTestTracker):
761class DejaVu2TakeNewsclip1TestTracker(DejaVuTestTracker):
762    """
763    A TestTracker for Deja Vu 2 that terminates when the agent takes newsclip1.
764    """
765
766    TERMINATION_TRUNCATION_METRIC = TakenNewsclip1TerminationMetric
767    SUBGOAL_METRIC = make_subgoal_metric_class([
768        SelectedTakeActionInMenuSubGoal,
769        InWallet1MenuSubGoal,
770        PointedAtNewsclip1SubGoal,
771    ])

A TestTracker for Deja Vu 2 that terminates when the agent takes newsclip1.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2TakeLicense1TestTracker(DejaVuTestTracker):
773class DejaVu2TakeLicense1TestTracker(DejaVuTestTracker):
774    """
775    A TestTracker for Deja Vu 2 that terminates when the agent takes license1.
776    """
777
778    TERMINATION_TRUNCATION_METRIC = TakenLicense1TerminationMetric
779    SUBGOAL_METRIC = make_subgoal_metric_class([
780        SelectedTakeActionInMenuSubGoal,
781        InWallet1MenuSubGoal,
782        PointedAtLicense1SubGoal,
783    ])

A TestTracker for Deja Vu 2 that terminates when the agent takes license1.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2CloseWallet1TestTracker(DejaVuTestTracker):
785class DejaVu2CloseWallet1TestTracker(DejaVuTestTracker):
786    """
787    A TestTracker for Deja Vu 2 that terminates when the agent closes wallet1.
788    """
789
790    TERMINATION_TRUNCATION_METRIC = ClosedWallet1TerminationMetric
791    SUBGOAL_METRIC = make_subgoal_metric_class([
792        InGoodsMenuSubGoal,
793        SelectedCloseActionInMenuSubGoal,
794        PointedAtWallet1SubGoal,
795    ])

A TestTracker for Deja Vu 2 that terminates when the agent closes wallet1.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenColdTapTestTracker(DejaVuTestTracker):
797class DejaVu2OpenColdTapTestTracker(DejaVuTestTracker):
798    """
799    A TestTracker for Deja Vu 2 that terminates when the agent opens the cold tap.
800    """
801
802    TERMINATION_TRUNCATION_METRIC = OpenedColdTapTerminationMetric
803    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent opens the cold tap.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2CloseColdTapTestTracker(DejaVuTestTracker):
805class DejaVu2CloseColdTapTestTracker(DejaVuTestTracker):
806    """
807    A TestTracker for Deja Vu 2 that terminates when the agent closes the cold tap.
808    """
809
810    TERMINATION_TRUNCATION_METRIC = ClosedColdTapTerminationMetric
811    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedCloseActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent closes the cold tap.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2CheckNewsclip1TestTracker(DejaVuTestTracker):
813class DejaVu2CheckNewsclip1TestTracker(DejaVuTestTracker):
814    """
815    A TestTracker for Deja Vu 2 that terminates when the agent checks newsclip1.
816    """
817
818    TERMINATION_TRUNCATION_METRIC = CheckedNewsclip1TerminationMetric
819    SUBGOAL_METRIC = make_subgoal_metric_class([
820        SelectedWatchActionInMenuSubGoal,
821        InGoodsMenuSubGoal,
822    ])

A TestTracker for Deja Vu 2 that terminates when the agent checks newsclip1.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2TakeRing1TestTracker(DejaVuTestTracker):
824class DejaVu2TakeRing1TestTracker(DejaVuTestTracker):
825    """
826    A TestTracker for Deja Vu 2 that terminates when the agent takes ring1.
827    """
828
829    TERMINATION_TRUNCATION_METRIC = TakenRing1TerminationMetric
830    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent takes ring1.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenDoorFromMapTestTracker(DejaVuTestTracker):
832class DejaVu2OpenDoorFromMapTestTracker(DejaVuTestTracker):
833    """
834    A TestTracker for Deja Vu 2 that terminates when the agent opens the door from the map.
835    """
836
837    TERMINATION_TRUNCATION_METRIC = OpenedDoorFromMapTerminationMetric
838    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt21OnMapSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent opens the door from the map.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2CloseDoorFromMapTestTracker(DejaVuTestTracker):
840class DejaVu2CloseDoorFromMapTestTracker(DejaVuTestTracker):
841    """
842    A TestTracker for Deja Vu 2 that terminates when the agent closes the door from the map.
843    """
844
845    TERMINATION_TRUNCATION_METRIC = ClosedDoorFromMapTerminationMetric
846    SUBGOAL_METRIC = make_subgoal_metric_class([
847        PointedAt21OnMapSubGoal,
848        SelectedCloseActionInNormalSubGoal,
849    ])

A TestTracker for Deja Vu 2 that terminates when the agent closes the door from the map.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2EnterHallwayTestTracker(DejaVuTestTracker):
851class DejaVu2EnterHallwayTestTracker(DejaVuTestTracker):
852    """
853    A TestTracker for Deja Vu 2 that terminates when the agent enters the hallway.
854    """
855
856    TERMINATION_TRUNCATION_METRIC = EnteredHallwayTerminationMetric
857    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt21OnMapSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent enters the hallway.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2Buy2ChipsTestTracker(DejaVuTestTracker):
859class DejaVu2Buy2ChipsTestTracker(DejaVuTestTracker):
860    """
861    A TestTracker for Deja Vu 2 that terminates when the agent buys 2 chips.
862    """
863
864    TERMINATION_TRUNCATION_METRIC = Bought2ChipsTerminationMetric
865    SUBGOAL_METRIC = make_subgoal_metric_class([Selected2ChipsSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent buys 2 chips.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2ReturnToCashierTestTracker(DejaVuTestTracker):
867class DejaVu2ReturnToCashierTestTracker(DejaVuTestTracker):
868    """
869    A TestTracker for Deja Vu 2 that terminates when the agent returns to the cashier after buying chips.
870    """
871
872    TERMINATION_TRUNCATION_METRIC = ReturnedToCashierTerminationMetric
873    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt35OnMapSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent returns to the cashier after buying chips.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2CashOutTestTracker(DejaVuTestTracker):
875class DejaVu2CashOutTestTracker(DejaVuTestTracker):
876    """
877    A TestTracker for Deja Vu 2 that terminates when the agent cashes out in the casino.
878    """
879
880    TERMINATION_TRUNCATION_METRIC = CashedOutTerminationMetric
881    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent cashes out in the casino.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenLobbyDoorTestTracker(DejaVuTestTracker):
883class DejaVu2OpenLobbyDoorTestTracker(DejaVuTestTracker):
884    """
885    A TestTracker for Deja Vu 2 that terminates when the agent opens the locked door in the casino.
886    """
887
888    TERMINATION_TRUNCATION_METRIC = OpenedLobbyDoorTerminationMetric
889    SUBGOAL_METRIC = make_subgoal_metric_class([
890        SelectedOpenActionInNormalSubGoal,
891        PointedAt13OnMapSubGoal,
892    ])

A TestTracker for Deja Vu 2 that terminates when the agent opens the locked door in the casino.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2ExitCasinoTestTracker(DejaVuTestTracker):
894class DejaVu2ExitCasinoTestTracker(DejaVuTestTracker):
895    """
896    A TestTracker for Deja Vu 2 that terminates when the agent exits the casino.
897    """
898
899    TERMINATION_TRUNCATION_METRIC = ExitedCasinoTerminationMetric
900    SUBGOAL_METRIC = make_subgoal_metric_class([NoActionInLobbySubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent exits the casino.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2TalkInTrainStationTestTracker(DejaVuTestTracker):
902class DejaVu2TalkInTrainStationTestTracker(DejaVuTestTracker):
903    """
904    A TestTracker for Deja Vu 2 that terminates when the agent talks to the person in the train station.
905    """
906
907    TERMINATION_TRUNCATION_METRIC = TalkedInTrainStationTerminationMetric
908    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTalkActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent talks to the person in the train station.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2VisitCounterTestTracker(DejaVuTestTracker):
910class DejaVu2VisitCounterTestTracker(DejaVuTestTracker):
911    """
912    A TestTracker for Deja Vu 2 that terminates when the agent visits the counter in the casino.
913    """
914
915    TERMINATION_TRUNCATION_METRIC = VisitedCounterTerminationMetric
916    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt25OnMapSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent visits the counter in the casino.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2TakePamphletTestTracker(DejaVuTestTracker):
918class DejaVu2TakePamphletTestTracker(DejaVuTestTracker):
919    """
920    A TestTracker for Deja Vu 2 that terminates when the agent takes the pamphlet in the casino.
921    """
922
923    TERMINATION_TRUNCATION_METRIC = TakenPamphletTerminationMetric
924    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent takes the pamphlet in the casino.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2CheckTimetableTestTracker(DejaVuTestTracker):
926class DejaVu2CheckTimetableTestTracker(DejaVuTestTracker):
927    """
928    A TestTracker for Deja Vu 2 that terminates when the agent checks the timetable in the train station.
929    """
930
931    TERMINATION_TRUNCATION_METRIC = CheckedTimetableTerminationMetric
932    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent checks the timetable in the train station.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2EnterPlatformTestTracker(DejaVuTestTracker):
934class DejaVu2EnterPlatformTestTracker(DejaVuTestTracker):
935    """
936    A TestTracker for Deja Vu 2 that terminates when the agent enters the platform.
937    """
938
939    TERMINATION_TRUNCATION_METRIC = EnteredPlatformTerminationMetric
940    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt41OnMapSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent enters the platform.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2EnterTrainTestTracker(DejaVuTestTracker):
942class DejaVu2EnterTrainTestTracker(DejaVuTestTracker):
943    """
944    A TestTracker for Deja Vu 2 that terminates when the agent enters the train.
945    """
946
947    TERMINATION_TRUNCATION_METRIC = EnteredTrainTerminationMetric
948    SUBGOAL_METRIC = DummySubGoalMetric

A TestTracker for Deja Vu 2 that terminates when the agent enters the train.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2BuyTicketTestTracker(DejaVuTestTracker):
950class DejaVu2BuyTicketTestTracker(DejaVuTestTracker):
951    """
952    A TestTracker for Deja Vu 2 that terminates when the agent buys a ticket for the train.
953    """
954
955    TERMINATION_TRUNCATION_METRIC = BoughtTicketTerminationMetric
956    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent buys a ticket for the train.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2CheckGirlTestTracker(DejaVuTestTracker):
958class DejaVu2CheckGirlTestTracker(DejaVuTestTracker):
959    """
960    A TestTracker for Deja Vu 2 that terminates when the agent checks the girl in the train station.
961    """
962
963    TERMINATION_TRUNCATION_METRIC = CheckedGirlTerminationMetric
964    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent checks the girl in the train station.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2CheckSignTestTracker(DejaVuTestTracker):
966class DejaVu2CheckSignTestTracker(DejaVuTestTracker):
967    """
968    A TestTracker for Deja Vu 2 that terminates when the agent checks the sign in the train station.
969    """
970
971    TERMINATION_TRUNCATION_METRIC = CheckedSignTerminationMetric
972    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent checks the sign in the train station.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2ChatSellerTestTracker(DejaVuTestTracker):
974class DejaVu2ChatSellerTestTracker(DejaVuTestTracker):
975    """
976    A TestTracker for Deja Vu 2 that terminates when the agent chats with the seller in the train station.
977    """
978
979    TERMINATION_TRUNCATION_METRIC = ChattedSellerTerminationMetric
980    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTalkActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent chats with the seller in the train station.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2BuyNewspaperTestTracker(DejaVuTestTracker):
982class DejaVu2BuyNewspaperTestTracker(DejaVuTestTracker):
983    """
984    A TestTracker for Deja Vu 2 that terminates when the agent buys the newspaper in the train station.
985    """
986
987    TERMINATION_TRUNCATION_METRIC = BoughtNewspaperTerminationMetric
988    SUBGOAL_METRIC = make_subgoal_metric_class([UsingCashSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent buys the newspaper in the train station.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2TakeNewsclip4TestTracker(DejaVuTestTracker):
990class DejaVu2TakeNewsclip4TestTracker(DejaVuTestTracker):
991    """
992    A TestTracker for Deja Vu 2 that terminates when the agent takes newsclip4.
993    """
994
995    TERMINATION_TRUNCATION_METRIC = TakenNewsclip4TerminationMetric
996    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTakeActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent takes newsclip4.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2EnterChicagoTaxiTestTracker(DejaVuTestTracker):
 998class DejaVu2EnterChicagoTaxiTestTracker(DejaVuTestTracker):
 999    """
1000    A TestTracker for Deja Vu 2 that terminates when the agent enters the taxi in Chicago.
1001    """
1002
1003    TERMINATION_TRUNCATION_METRIC = EnteredChicagoTaxiTerminationMetric
1004    SUBGOAL_METRIC = make_subgoal_metric_class([PointedAt24OnMapSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent enters the taxi in Chicago.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2ChatTaxiDriverTestTracker(DejaVuTestTracker):
1006class DejaVu2ChatTaxiDriverTestTracker(DejaVuTestTracker):
1007    """
1008    A TestTracker for Deja Vu 2 that terminates when the agent chats with the taxi driver in Chicago.
1009    """
1010
1011    TERMINATION_TRUNCATION_METRIC = ChattedTaxiDriverTerminationMetric
1012    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedTalkActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent chats with the taxi driver in Chicago.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2EnterMiddleRoomTestTracker(DejaVuTestTracker):
1014class DejaVu2EnterMiddleRoomTestTracker(DejaVuTestTracker):
1015    """
1016    A TestTracker for Deja Vu 2 that terminates when the agent enters the middle room in the apartment.
1017    """
1018
1019    TERMINATION_TRUNCATION_METRIC = EnteredMiddleRoomTerminationMetric
1020    SUBGOAL_METRIC = make_subgoal_metric_class([
1021        UnlockedMiddleRoomDoorSubGoal,
1022        UsingKey1SubGoal,
1023    ])

A TestTracker for Deja Vu 2 that terminates when the agent enters the middle room in the apartment.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2LoadGunTestTracker(DejaVuTestTracker):
1025class DejaVu2LoadGunTestTracker(DejaVuTestTracker):
1026    """
1027    A TestTracker for Deja Vu 2 that terminates when the agent loads the gun.
1028    """
1029
1030    TERMINATION_TRUNCATION_METRIC = LoadedGunTerminationMetric
1031    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent loads the gun.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenLockTestTracker(DejaVuTestTracker):
1033class DejaVu2OpenLockTestTracker(DejaVuTestTracker):
1034    """
1035    A TestTracker for Deja Vu 2 that terminates when the agent opens the lock in the middle room.
1036    """
1037
1038    TERMINATION_TRUNCATION_METRIC = OpenedLockTerminationMetric
1039    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent opens the lock in the middle room.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2HitBoardTestTracker(DejaVuTestTracker):
1041class DejaVu2HitBoardTestTracker(DejaVuTestTracker):
1042    """
1043    A TestTracker for Deja Vu 2 that terminates when the agent hits the board in the middle room.
1044    """
1045
1046    TERMINATION_TRUNCATION_METRIC = HitBoardTerminationMetric
1047    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedHitActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent hits the board in the middle room.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenTelephoneTestTracker(DejaVuTestTracker):
1049class DejaVu2OpenTelephoneTestTracker(DejaVuTestTracker):
1050    """
1051    A TestTracker for Deja Vu 2 that terminates when the agent opens the telephone in the middle room.
1052    """
1053
1054    TERMINATION_TRUNCATION_METRIC = OpenedTelephoneTerminationMetric
1055    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent opens the telephone in the middle room.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenBoxTestTracker(DejaVuTestTracker):
1057class DejaVu2OpenBoxTestTracker(DejaVuTestTracker):
1058    """
1059    A TestTracker for Deja Vu 2 that terminates when the agent opens the box in the middle room.
1060    """
1061
1062    TERMINATION_TRUNCATION_METRIC = OpenedBoxTerminationMetric
1063    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInNormalSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent opens the box in the middle room.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenPocketKnifeTestTracker(DejaVuTestTracker):
1065class DejaVu2OpenPocketKnifeTestTracker(DejaVuTestTracker):
1066    """
1067    A TestTracker for Deja Vu 2 that terminates when the agent opens the pocket knife
1068    """
1069
1070    TERMINATION_TRUNCATION_METRIC = OpenedPocketKnifeTerminationMetric
1071    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedOpenActionInMenuSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent opens the pocket knife

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenDoorByKnifeTestTracker(DejaVuTestTracker):
1073class DejaVu2OpenDoorByKnifeTestTracker(DejaVuTestTracker):
1074    """
1075    A TestTracker for Deja Vu 2 that terminates when the agent use the knife to open the door
1076    """
1077
1078    TERMINATION_TRUNCATION_METRIC = OpenedDoorByKnifeTerminationMetric
1079    SUBGOAL_METRIC = make_subgoal_metric_class([UsingKnifeSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent use the knife to open the door

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2PutOnFlashlightTestTracker(DejaVuTestTracker):
1081class DejaVu2PutOnFlashlightTestTracker(DejaVuTestTracker):
1082    """
1083    A TestTracker for Deja Vu 2 that terminates when the agent puts on the flashlight.
1084    """
1085
1086    TERMINATION_TRUNCATION_METRIC = PutOnFlashlightTerminationMetric
1087    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedUseActionInMenuSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent puts on the flashlight.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2EnterJoePlaceTestTracker(DejaVuTestTracker):
1089class DejaVu2EnterJoePlaceTestTracker(DejaVuTestTracker):
1090    """
1091    A TestTracker for Deja Vu 2 that terminates when the agent enter joe's place.
1092    """
1093    TERMINATION_TRUNCATION_METRIC = EnteredJoePlaceTerminationMetric
1094    SUBGOAL_METRIC = make_subgoal_metric_class([OpenedJoePlaceDoorSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent enter joe's place.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenSlotLockTestTracker(DejaVuTestTracker):
1096class DejaVu2OpenSlotLockTestTracker(DejaVuTestTracker):
1097    """
1098    A TestTracker for Deja Vu 2 that terminates when the agent open the lock of slot.
1099    """
1100    TERMINATION_TRUNCATION_METRIC = OpenedSlotLockTerminationMetric
1101    SUBGOAL_METRIC = make_subgoal_metric_class([UsingKey4SubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent open the lock of slot.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2TurnOffFlashlightTestTracker(DejaVuTestTracker):
1103class DejaVu2TurnOffFlashlightTestTracker(DejaVuTestTracker):
1104    """
1105    A TestTracker for Deja Vu 2 that terminates when the agent turn of the flashlight.
1106    """
1107    TERMINATION_TRUNCATION_METRIC = TurnOffFlashlightTerminationMetric
1108    SUBGOAL_METRIC = make_subgoal_metric_class([UsingFlashlightSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent turn of the flashlight.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2GetLocationFromCardTestTracker(DejaVuTestTracker):
1110class DejaVu2GetLocationFromCardTestTracker(DejaVuTestTracker):
1111    """
1112    A TestTracker for Deja Vu 2 that terminates when the agent read the card and get the location in it.
1113    """
1114    TERMINATION_TRUNCATION_METRIC = GotLocationFromCardTerminationMetric
1115    SUBGOAL_METRIC = make_subgoal_metric_class([SelectedWatchActionInMenuSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent read the card and get the location in it.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2OpenBagWithKnifeTestTracker(DejaVuTestTracker):
1117class DejaVu2OpenBagWithKnifeTestTracker(DejaVuTestTracker):
1118    """
1119    A TestTracker for Deja Vu 2 that terminates when the agent open the bag in vacuum with knife.
1120    """
1121    TERMINATION_TRUNCATION_METRIC = OpenedBagWithKnifeTerminationMetric
1122    SUBGOAL_METRIC = make_subgoal_metric_class([InVacuumMenuSubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent open the bag in vacuum with knife.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.

class DejaVu2AskAboutNametag2TestTracker(DejaVuTestTracker):
1124class DejaVu2AskAboutNametag2TestTracker(DejaVuTestTracker):
1125    """
1126    A TestTracker for Deja Vu 2 that terminates when the agent open the bag in vacuum with knife.
1127    """
1128    TERMINATION_TRUNCATION_METRIC = AskedAboutNametag2TerminationMetric
1129    SUBGOAL_METRIC = make_subgoal_metric_class([UsingNametag2SubGoal])

A TestTracker for Deja Vu 2 that terminates when the agent open the bag in vacuum with knife.

The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.

SUBGOAL_METRIC = <class 'gameboy_worlds.emulation.tracker.make_subgoal_metric_class.<locals>.CustomSubGoalMetric'>

The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.