diff --git a/android_env/g3doc/public/docs/emulator_guide.md b/android_env/g3doc/public/docs/emulator_guide.md
deleted file mode 100644
index 9cdbce88..00000000
--- a/android_env/g3doc/public/docs/emulator_guide.md
+++ /dev/null
@@ -1,96 +0,0 @@
-# AndroidEnv - Emulator Setup Guide
-
-In this document we provide a step-by-step guide for creating a virtual Android
-device with Android Studio. After creating an AVD
-([Android Virtual Device](https://developer.android.com/studio/run/managing-avds))
-you will be able to connect it to an AndroidEnv instance and you're ready to go.
-
-To get started, you will need to download
-[Android Studio](https://developer.android.com/studio) - an IDE widely used by
-Android developers.
-
-## Install an SDK Platform Package
-
-Android Studio comes with the Android Software Development Toolkit (SDK) which,
-among others, allows you to install different versions of Android. Click on
-**Tools** > **SDK Manager** and select the SDK version that you would like to
-use.
-
-
-
-We recommend that you set the `Android SDK Location` to be in your home
-directory (for example, on Linux the default one is `~/Android/Sdk`, while on
-macOS - `~/Library/Android/sdk`). You can always find the SDK location in
-Android Studio under **Preferences** > **Appearance & Behavior** > **System
-Settings** > **Android SDKs** > _Android SDK Location_.
-
-If you set the the custom `Android SDK Location`, make note of it - you will
-need it for connecting AndroidEnv to your AVD.
-
-
-
-## Create an AVD
-
-Now it is time to create a virtual device (AVD). Go to **Tools** > **AVD
-Manager**.
-
-
-
-In the pop-up window you will find an option to **Create Virtual Device**.
-
-
-
-Configure the virtual device. You can select the model or choose from more
-advanced settings (refer to the
-[Android docs](https://developer.android.com/studio/run/managing-avds) for
-step-by-step instructions).
-
-
-
-Name your AVD and take note of this value. It will be neccessary for connecting
-AndroidEnv to this virtual device.
-
-
-
-Once you are done, you will see the new AVD show up in the **AVD Manager**.
-Click on **View details** to inspect some of its properties.
-
-
-
-Take note of the `AVD Path`. This value will be neccessary for connecting
-AndroidEnv to this device. We recommend that you set this to be your home
-directory (for instance, on Linux or macOS it may be `~/.android/avd`).
-
-
-
-## Ready to use
-
-With SDK and AVD both set up, you are now ready to use this emulated device with
-AndroidEnv. Don't forget to take note of the following three values: your AVD
-name, the AVD path, and the SDK path. For example, on Linux they may be:
-
-```
---avd_name=my_avd
---avd_package_path=~/.android/avd
---android_sdk_root=~/Android/Sdk
-```
-
-Next, once you have set up the AVD, follow the
-[Task steps](instructions.md#the-task) in the
-[Running the environment guide](instructions.md) to finish setting up
-AndroidEnv.
-
-However, if you want to just interact with the newly created device, click on
-the run button next to your AVD in the **AVD Manager** in Android Studio (this
-step is optional).
-
-
-
-You will see an emulator window pop up. You can interact with it by clicking on
-the screen.
-
-
-
-There are many other features in Android Studio that let you customize your
-device. For example, you can create custom images with pre-installed
-applications or configured settings.
diff --git a/android_env/g3doc/public/docs/environment.md b/android_env/g3doc/public/docs/environment.md
deleted file mode 100644
index e761c224..00000000
--- a/android_env/g3doc/public/docs/environment.md
+++ /dev/null
@@ -1,141 +0,0 @@
-# AndroidEnv - Environment features
-
-AndroidEnv is a complex environment that, while offering an almost endless range
-of possibilites for RL research and investigation, poses multiple kinds of
-challenges simultaneously. In this document we outline AndroidEnv's main
-features that render it such a unique learning environment.
-
-## Real-time environment
-
-AndroidEnv is built on top of an emulated Android device, allowing the agent to
-communicate with the emulator through touch actions. Android emulators are
-created independently from our environment implementation and simulate real
-Android devices in the most realistic manner. This simulation runs real-time,
-independently of the agent, meaning that the simulaton will not wait for agent
-input between frames. This aspect of the environment renders the RL setup
-similar to a robotics problem, where the challenges of real-time interaction and
-consequent noise in observations have to be overcome. Please note there is
-currently no straightforward way to slow down the simulation either.
-
-## Action space
-
-
-
-Perhaps one of the most interesting features of AndroidEnv is its large and
-complex action interface. The raw action space of the environment consists of a
-tuple `(x,y) in [0,1]x[0,1]` determining the location of the action on the
-Android screen, and a discrete value `ActionType in {LIFT, TOUCH, REPEAT}`
-indicating whether the agent wants to touch the screen at this chosen location
-or not. This action space is uniform across all tasks/apps.
-
-**Gestures.** The complexity of the interface arises from the fact that
-individual raw actions on their own do not neccessarily trigger a meaningful
-change in the environment. Most Android applications are designed such that they
-can be controlled/navigated through common touchscreen gestures such as pressing
-buttons, swiping, scrolling, pinching, drag and drop etc. Each of these can be
-thought of as particular sequences of raw actions: for example, *touching* the
-screen at a particular location, then immediately *lifting* the imaginary finger
-might be interpreted as a *press of a button*; while a sequence of *touches*
-aligned in a vertical line might be interpreted as *scrolling*. We note that
-AndroidEnv does not support multitouch actions at the moment, but it is a
-possible feature to add.
-
-It is important to point out that it is out of the environment's control to
-determine how particular sequences of raw actions get interpreted by the Android
-simulator - much like when humans interact with physical devices, a certain
-gesture on the screen might be interpreted differently if it is performed at a
-slightly different angle or speed.
-
-Tap | Double Tap | Touch & Hold | Flick Left | Flick Right | Scroll (H) | Scroll (V) | Drag & Drop
--------------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | -----------
- |  |  |  |  |  |  | 
-
-**Wrappers.** It is possible to alter the raw action space of the environment by
-applying [wrappers](#wrappers). For example one might discretize the action
-space by splitting the screen up into a grid of a desired size; restrict the
-ActionType to *touch* only; or fix certain gesture skills. We note here that
-these wrappers, again, will not alter how the particular sequence of performed
-raw actions gets interpreted by the Android simulator.
-
-## Observation space
-
-The observation space of AndroidEnv consists of three main components:
-(`pixels`, `timedelta`, `orientation`), the most notable of these being
-`pixels`. The original screen size will depend on the type of emulator used, but
-given that it will correspond to real device screen sizes, this will usually be
-quite large (of course, this can be scaled down, e.g. with wrappers). The
-`timedelta` component captures the amount of time passed since the last
-observation was fetched. The `orientation`, even though it does not affect the
-layout of the RGB image in the observation, might carry relevant information for
-the agent. For example, if there is text on the screen, it is important to know
-how it is oriented. Again, a benefit of this observation space is that it is
-uniform across all tasks. As mentioned above, observations often carry spatial
-cues and are suggestive of the kind of actions/gestures that are meaningful to
-perform in a given state.
-
-## Task extras
-
-On top of the default observations (`pixels`, `timedelta`, `orientation`), some
-tasks might expose additional structured observations after each step. An
-*extra* in AndroidEnv is any information that an app may send to aid the
-understanding of the task. The type of information sent through this channel is
-usually something difficult to obtain from raw pixels and may include meaningful
-information such as:
-
-* The current board configuration (e.g. of a chess game or of a tetris game)
- in matrix or string form.
-* The position of the avatar in a map.
-* Events such as whether a button was pressed or whether a checkpoint was
- achieved.
-
-Note that these are entirely optional and may not be available at all.
-
-To request extras from the environment, you can call `env.task_extras()` after
-each `env.step()`, which will return a dictionary of all the extra observations
-observed during the previous step (or an empty dict is there's none available).
-For example:
-
-```python
-for _ in range(FLAGS.n_steps):
-
- action = agent.select_action(timestep.observation)
- timestep = env.step(action)
- logging.info('observation: %s', timestep.observation)
- logging.info('extra observations: %s', env.task_extras())
-```
-
-Please note however that the env might not return extras at every timestep, only
-when something meaningful happened (e.g. only when a button was pressed, or when
-the state of the board has changed).
-
-When integrating your own APK as a new task for the environment, you can define
-your own extras by following the instructions
-[here](tasks_guide.md#log-messages-and-custom-apks).
-
-## Wrappers
-
-AndroidEnv's action- and observation spaces can be altered by applying suitable
-wrappers. While custom wrappers can be built easily, we have provided a number
-of useful wrappers that demonstrate their usage:
-
-* `discrete_action_wrapper`: Discretizes the action space into an `nxk` grid.
-* `flat_interface_wrapper`: Removes the dictionary structure from the
- observation and action specs.
-* `float_pixels_wrapper`: Projects the pixel RGB values from the integer range
- `[0, 255]` to the float range `[0, 1]`.
-* `image_rescale_wrapper`: Resizes the pixel observations by the selected
- ratio.
-* `gym_wrapper`: Changes the environment interface from
- [dm_env](https://github.com/deepmind/dm_env) to
- [OpenAI](https://gym.openai.com/) gym interface.
-* `last_action_wrapper`: Extends the observation with a one-hot encoded
- location of the previously taken action, in order to aid agents without
- built-in memory.
-
-## Internal structure of AndroidEnv
-
-The chart below gives an overview of the internal workings of the system,
-illustrating how different classes interact with each other and what their
-individual roles are. See the source code for more details.
-
-
diff --git a/android_env/g3doc/public/docs/example_tasks.md b/android_env/g3doc/public/docs/example_tasks.md
deleted file mode 100644
index 4b33908d..00000000
--- a/android_env/g3doc/public/docs/example_tasks.md
+++ /dev/null
@@ -1,1176 +0,0 @@
-# AndroidEnv - Available tasks
-
-This page gives a detailed overview of the example tasks provided with
-AndroidEnv. The purpose is to give researchers an idea of the different kinds of
-challenges that AndroidEnv poses.
-
-To use any of these tasks in your own experiments, click on **Download** to
-download a ZIP file containing textprotos and the corresponding APKs. After
-downloading, move the `.apk` and `.textproto` files to a directory of your
-choice and take note of their path. This information is needed for
-[running](instructions.md#create-the-env) an AndroidEnv instance with the given
-task.
-
-
-
-| App / Game | Interface | Time reactive | Multi-level | Rewards | Extras | Download |
-| --------------------------------------------------- | -------------------- | -------------- | ----------------------------- | ---------- | ------------ | -------- |
-| [Vokram (MDP)](#vokram) | Tapping (buttons) | No | Yes (4 variants) | Dense | Yes | [Download](https://storage.googleapis.com/android_env-tasks/mdp.tar.gz) |
-| [Apple Flinger](#apple-flinger) | Drag & drop | No | Yes (6 variants) | Dense | No | [Download](https://storage.googleapis.com/android_env-tasks/apple_flinger.tar.gz) |
-| [Blockinger](#blockinger) | Tapping (buttons) | Yes | No | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/blockinger.tar.gz) |
-| [Catch](#catch) | Touch | Yes | No | Dense | Yes | [Download](https://storage.googleapis.com/android_env-tasks/catch_the_ball.tar.gz) |
-| [Classic 2048](#classic-2048) | Swiping | No | No | Dense | Yes | [Download](https://storage.googleapis.com/android_env-tasks/classic_2048.tar.gz) |
-| [Dodge](#dodge) | Tapping | Yes | No | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/dodge.tar.gz) |
-| [DroidFish (Chess)](#droidfish) | Tapping | No | Yes (3 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/droidfish.tar.gz) |
-| [FlappyDroid](#flappydroid) | Tapping | Yes | Yes (2 levels) | Dense | No | [Download](https://storage.googleapis.com/android_env-tasks/systemui_egg_land.tar.gz) |
-| [FloodIt](#floodit) | Tapping (buttons) | No | Yes (4 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/floodit.tar.gz) |
-| [Frozen Bubble](#frozen-bubble) | Dragging, tapping | No | No | Sparse | No | [Download](https://storage.googleapis.com/android_env-tasks/frozen_bubble.tar.gz) |
-| [Memory Game](#memory-game) | Tapping | No | Yes (6 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/memory_game.tar.gz) |
-| [Minesweeper](#minesweeper) | Tapping | No | Yes (3 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/minesweeper.tar.gz) |
-| [Nostalgic Racer](#nostalgic-racer) | Touch | Yes | Yes (2 variants) | Dense | Yes | [Download](https://storage.googleapis.com/android_env-tasks/nostalgic_racer.tar.gz) |
-| [Open Sudoku](#open-sudoku) | Tapping (buttons) | No | Yes (3 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/open_sudoku.tar.gz) |
-| [Perfection](#perfection) | Drag & drop | No | Yes (3 game types) | Dense | Yes | [Download](https://storage.googleapis.com/android_env-tasks/perfection.tar.gz) |
-| [Rocket Sleigh](#rocket-sleigh) | Tapping | Yes | No | Dense | No | [Download](https://storage.googleapis.com/android_env-tasks/rocket_sleigh.tar.gz) |
-| [Pong](#pong) | Drag | Yes | Yes (3 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/pong.tar.gz) |
-| [SGT Puzzles - Blackbox](#sgt-puzzles-blackbox) | Tapping | No | Yes (4 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Bridge](#sgt-puzzles-bridge) | Drag & drop | No | Yes (5 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Cube](#sgt-puzzles-cube) | Tapping | No | Yes (3 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Dominosa](#sgt-puzzles-dominosa) | Tapping | No | Yes (5 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Fifteen](#sgt-puzzles-fifteen) | Tapping | No | Yes (4 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Flip](#sgt-puzzles-flip) | Tapping | No | Yes (3 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/apple_flinger.tar.gz) |
-| [SGT Puzzles - Flood](#sgt-puzzles-flood) | Tapping | No | Yes (3 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Galaxies](#sgt-puzzles-galaxies) | Tapping | No | Yes (6 sizes) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Guess](#sgt-puzzles-guess) | Tapping | No | Yes (4 levels) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Inertia](#sgt-puzzles-inertia) | Tapping | No | Yes (2 sizes) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Light Up](#sgt-puzzles-light-up) | Tapping | No | Yes (5 sizes) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Loopy](#sgt-puzzles-loopy) | Tapping | No | Yes (3 sizes) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [SGT Puzzles - Net](#sgt-puzzles-net) | Tapping | No | Yes (5 sizes) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/sgtpuzzles.tar.gz) |
-| [Shattered Pixel Dungeon](#shattered-pixel-dungeon) | Tapping | Yes | Yes (4 variants) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/shattered_pixel_dungeon.tar.gz) |
-| [Simple Solitaire](#simple-solitaire) | Drag & drop | No | Yes (19 tasks) | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/simple_solitaire.tar.gz) |
-| [Snake](#snake) | Tapping (buttons) | Yes | No | Sparse | Yes | [Download](https://storage.googleapis.com/android_env-tasks/aosp_samples_snake.tar.gz) |
-| [Vector Pinball](#vector-pinball) | Tapping | Yes | Yes (5 variants) | Sparse | No | [Download](https://storage.googleapis.com/android_env-tasks/vector_pinball.tar.gz) |
-
-
-
-## Vokram
-
-Vokram is our in-house implementation of an Android app that displays a
-Markov-Decision-Process (MDP) graph as buttons on the screen which the agent
-must use to select its actions. The observation is simply the color of the
-background, and the actions are the buttons themselves which are presented in
-different colors.
-
-* **mdp_0000**: This is a task that presents the agent with two colored, but
- unlabeled buttons on the screen. Pressing one of the buttons gives the agent
- a reward of `-1` and redraws the buttons on the screen. The other button
- gives a reward of `+1` and terminates the episode. The color of the buttons
- is the same throughout the episode. The sizes of the buttons are randomized
- at each screen draw. Pressing anywhere else on the screen gives a reward of
- zero. The task lasts up to 60 seconds, at which point the episode is
- restarted. The underlying dynamics governing the buttons is a simple 2-state
- 2-action Markov Decision Process (MDP). The MDP is an intentionally simple
- environment that can be used to debug agents.
-
-* **mdp_0001**: This is similar to `mdp_0000` but it's even simpler. It
- presents the agent with a single button which gives a reward of `+1` and
- terminates the episode when pressed. This task can be used for example to
- train agents to click buttons.
-
-* **mdp_0002**: In this task there are two buttons, pressing either of which
- will terminate the episode with a return of `+1`.
-
-* **mdp_0003**: An equivalent of `mdp_0000` with rewards reversed: the episode
- ends when the wrong button is clicked, and carries on with a new set of
- buttons when the correct one is clicked.
-
-
- Extras returned
-
-* `actions`:
- - Set of all buttons present, e.g. `['A', 'B']`.
- - Returned when any button is pressed.
- - Has `shape=[2], dtype=STRING_U1`.
-* `clicks`:
- - Character representing the button pressed.
- - Returned when any button is pressed.
- - Has `shape=[1], dtype=STRING_U1`.
-* `buttons`:
- - Coordinates of the top left and bottom right corners of each button, e.g
- `[[x_a_0, y_a_0, x_a_1, y_a_1], [x_b_0, y_a_0, x_b_1, y_b_1]]`.
- - Returned when any button is pressed.
- - Has `shape=[2, 4], dtype=INT32`.
-
-
-
-**mdp_0000** | **mdp_0001** | **mdp_0002** | **mdp_0003**
------------------------------------------------- | ------------------------------------------------ | ------------------------------------------------ | ------------
- |  |  | 
-
-## Apple Flinger
-
-A clone of Angry Birds. Even though the game offers many levels, we currently
-expose six levels. See the original github repo for more info:
-https://gitlab.com/ar-/apple-flinger.
-
-
- Extras returned
- Returns no extras.
-
-
-**apple_flinger_M_1_1** | **apple_flinger_M_1_2** | **apple_flinger_M_1_18**
----------------------------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------
- |  | 
-
-**apple_flinger_M_2_1** | **apple_flinger_M_2_2** | **apple_flinger_M_2_18**
------------------------------------------------------------------------ | ---------------------------------------------------------------------- | ------------------------
-) |  | 
-
-## Blockinger
-
-This is a Tetris clone implemented with on-screen controls. See the original
-github repo for more info: https://github.com/tasioleiva/Blockinger.git.
-
-
- Extras returned
-
-* `down_pressed`, `left_pressed`, `right_pressed`, `rotate_right_pressed`,
- `drop_pressed`:
- - Indicates that said button has been pressed.
- - Returned when said button has been pressed.
- - Has `shape=[1], dtype=INT32`.
-* `current_board`:
- - One-hot encoded state of the board.
- - Has `shape=[18, 10], dtype=INT32`.
-* `current_line`, `cleared_lines`:
- - Index of the relevant line.
- - Has `shape=[1], dtype=INT32`.
-* `current_piece`, `next_piece`:
- - Index representing the type of piece.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-
-
-## Catch
-
-Classic Catch game.
-
-
- Extras returned
-
-* `ball`:
- - `x, y` coordinates of the ball.
- - Returned every timestep.
- - Has `shape=[2], dtype=INT32`.
-* `paddle`:
- - `x, y` coordinates of the paddle.
- - Returned every timestep.
- - Has `shape=[2], dtype=INT32`.
-* `paddle_width`:
- - Width of the paddle.
- - Returned every timestep.
- - Has `shape=[1], dtype=INT32`.
-* `lives`:
- - Number of lives left.
- - Returned every timestep.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-
-
-## Classic 2048
-
-This is an Android implementation of a popular game in the 2010s. See the
-original github repo for more info: https://github.com/tpcstld/2048.git.
-
-
- Extras returned
-
-* `grid`:
- - State of the board.
- - Returned when the board changes.
- - Has `shape=[4, 4], dtype=INT32`.
-* `direction`:
- - Index representing the direction of the last swipe (between 0-3).
- - Returned when the swipe prompted a board change.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-
-
-## Dodge
-
-Guide the ball from the red line to the green line without getting hit by the
-floating dots.
-
-
- Extras returned
-
-* `lives`:
- - Number of lives left.
- - Returned when its value changes.
- - Has `shape=[1], dtype=INT32`.
-* `level`:
- - Current level.
- - Returned when its value changes.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-
-
-## DroidFish
-
-Standard chess game. You can choose whether to play as a specific player
-(black/white), or have the player colour randomly assigned at the beginning of
-each episode. The numbers 1, 10 and 100 indicate the level of difficulty. Take a
-look at a few sample moves below to get an idea of roughly how well the bot
-plays for each level of difficulty. You can see that the 1% and 10% bots often
-make very obvious mistakes. See the original github repo for more info:
-https://github.com/peterosterlund2/droidfish.
-
-
- Extras returned
-
-* `board`:
- - State of the board, representing pieces by indices. No piece - 0
- - White pieces - 1: king, 2: queen, 3: rook, 4: bishop, 5: knight, 6: pawn
- - Black pieces - 7: king, 8: queen, 9: rook, 10: bishop, 11: knight, 12:
- pawn
- - Returned when the board changes.
- - Has `shape=[8, 8], dtype=INT32`.
-* `selection`:
- - Coordinate of selected piece (between 0-64, -1 if selection is removed)
- - Returned when a piece is selected (or unselected).
- - Has `shape=[1], dtype=INT32`.
-* `moved`:
- - Coordinates "from" and "to" cells when a piece is moved (between 0-64)
- - Returned when a piece is moved.
- - Has `shape=[2], dtype=INT32`.
-* `invalid`:
- - Coordinates "from" and "to" cells of an invalid move attempt (between
- 0-64)
- - Returned upon invalid move request
- - Has `shape=[2], dtype=INT32`.
-
-
-
-**droidfish_black_1** | **droidfish_black_10** | **droidfish_black_100**
------------------------------------------------------------------- | -------------------------------------------------------------------- | -----------------------
- |  | 
-
-**droidfish_white_1** | **droidfish_white_10** | **droidfish_white_100**
------------------------------------------------------------------- | -------------------------------------------------------------------- | -----------------------
- |  | 
-
-**droidfish_random_1** | **droidfish_random_10** | **droidfish_random_100**
--------------------------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------
- |  | 
-
-## FlappyDroid
-
-A clone of the well-known game Flappy Birds.
-
-
- Extras returned
- Returns no extras.
-
-
-**systemui_egg_land_default** | **systemui_egg_land_half_speed**
----------------------------------------------------------------------------------- | --------------------------------
- | 
-
-## FloodIt
-
-FloodIt is a game where the player needs to fill the board with a single color.
-The dynamics of the game are driven by a few colorful buttons at the bottom of
-the screen, which when pressed cause the currently active region to change its
-color to the color of the pressed button. When this active region changes color
-it absorbs neighboring squares that have the same color, thus expanding the
-active region. The active region starts as a single square at the top-left
-corner of the board. The game gives a single reward at the end of the game if
-the player manages to fill the entire board with the same color within the
-maximum number steps, otherwise the reward is just zero.
-
-This is a very hard-exploration game because the game does not give intermediate
-rewards until the very end of the game, and the number of possible moves is
-incredibly big.
-
-You can find another implementation of this game in the task
-[SGT Puzzles - Flood](#sgt-puzzles-flood).
-
-
- Extras returned
-
-* `board`:
- - State of the board, representing colours by their indices.
- - 0: purple, 1: blue, 2: green, 3: yellow, 4: red, 5: pink
- - Returned when the board changes.
- - Has `shape=[board_size, board_size], dtype=INT32`.
-* `clicked`:
- - Index of the colour clicked (between 0-5)
- - Returned when said colour is clicked.
- - Has `shape=[1], dtype=INT32`.
-* `flipped`:
- - The number of new cells that just got merged into the big blob (0 or
- more)
- - Returned when the board state changes
- - Has `shape=[1], dtype=INT32`.
-
-
-
-**floodit_easy** | **floodit_medium** | **floodit_hard**
--------------------------------------------------------- | ------------------------------------------------------------ | ----------------
- |  | 
-
-### Task `mdp_flood_it`
-
-Custom task created for pretraining agents to locate and press FloodIt buttons
-on the screen.
-
-
-
-## Frozen Bubble
-
-Shoot the coloured bubbles in a direction of your choice. Groups of bubbles with
-the same colour will drop. Remove all bubbles from the board before the time
-runs out. See the original github repo for more info:
-https://github.com/robinst/frozen-bubble-android.git.
-
-
- Extras returned
- Returns no extras.
-
-
-
-
-## Memory Game
-
-Classic memory game. Find the pairs of images. See the original github repo for
-more info: https://github.com/sromku/memory-game/.
-
-
- Extras returned
-
-* `flip`:
- - Index of the card flipped
- - Returned when a card is clicked.
- - Has `shape=[1], dtype=INT32`.
-* `cards`:
- - Number of cards still on the board.
- - Returned upon finding a pair.
- - Has `shape=[1], dtype=INT32`.
-* `remained`:
- - Number of cards remaining at the end of the episode.
- - Returned when an episode is over.
- - Has `shape=[1], dtype=INT32`.
-* `stars`:
- - Number of stars achieved at the end of the game.
- - Returned upon finishing the game.
- - Has `shape=[1], dtype=INT32`.
-* `achieved`:
- - Score obtained by the end of the episode.
- - Returned when an episode is over.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-**memory_game_animals_beginner** | **memory_game_animals_easy** | **memory_game_monsters_medium**
----------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------
- |  | 
-
-**memory_game_monsters_hard** | **memory_game_emojis_hardest** | **memory_game_emojis_master**
----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -----------------------------
- |  | 
-
-## Minesweeper
-
-This is an Android implementation of a popular game on Desktop in the 1990s. See
-the original github repo for more info: https://gitlab.com/ar-/apple-flinger.
-
-
- Extras returned
-
-* `hidden`:
- - Number of hidden cells.
- - Returned whenever the board changes.
- - Has `shape=[1], dtype=INT32`.
-* `revealed`:
- - Number of revealed cells.
- - Returned whenever the board changes.
- - Has `shape=[1], dtype=INT32`.
-* `bombs`:
- - Number of bombs in the game.
- - Returned whenever the board changes.
- - Has `shape=[1], dtype=INT32`.
-* `click`:
- - Coordinates of the cell clicked (row, column).
- - Returned whenever the board changes.
- - Has `shape=[2], dtype=INT32`.
-* `grid`:
- - State of the board.
- - -1 = hidden, -2 = marked, 9 = bomb, 0-8 = number of nearby bombs
- - Returned whenever the board changes.
- - Has `shape=[grid_height, grid_width], dtype=INT32`.
-
-
-
-**minesweeper_easy** | **minesweeper_medium** | **minesweeper_hard**
----------------------------------------------------------------- | -------------------------------------------------------------------- | --------------------
- |  | 
-
-## Nostalgic Racer
-
-NostalgicRacer is a racing game that offers Atari-like graphics and controls.
-The objective is to maximize the score which increases as the car moves forward
-and by collecting coins and speed-ups.
-
-
- Extras returned
- Returns no extras.
-
-
-### Task `nostalgic_racer`
-
-The player can only control whether the car should move left, move right or stay
-put by touching on the screen. If the touch is on the right pane the car moves
-right, if the touch is on the left pane the car moves left and no touches leaves
-the car in the same position. Pressing for too little time moves the car by
-miniscule amounts, with effects similar to staying put.
-
-### Task `nostalgic_racer_2d`
-
-This is the same underlying game as NostalgicRacer with the same objective.
-However, the interface is very different. The observation is given as a 2D view
-from the top with no perspective and the touchscreen determines the position
-that the car should move to (sideways).
-
-**nostaligc_racer** | **nostalgic_racer_2d**
--------------------------------------------------------------- | ----------------------
- | 
-
-## Open Sudoku
-
-Classic Sudoku game with different levels of difficulty. The board is randomised
-over a set of 30 boards for each level. See the original github repo for more
-info: https://github.com/ogarcia/opensudoku.
-
-
- Extras returned
-
-* `value`:
- - Number pressed (between 1-9, 0 if the "delete" button is pressed).
- - Returned upon clicking said button.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-**open_sudoku_easy** | **open_sudoku_medium** | **open_sudoku_hard**
----------------------------------------------------------------- | -------------------------------------------------------------------- | --------------------
- |  | 
-
-## Perfection
-
-Drag the items corresponding to the targets with the same shape.
-
-
- Extras returned
-
-* `moving`:
- - The ID of the piece being dragged on the screen or 0.
- - Returned when its value changes.
- - Has `shape=[1], dtype=INT32`.
-* `todo`:
- - Number of pieces yet to be moved to a hole.
- - Returned when its value changes.
- - Has `shape=[1], dtype=INT32`.
-* `done`:
- - Number of pieces correctly moved to a hole.
- - Returned when its value changes.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-**perfection_1_circle_static** | **perfection_1_cube_static** | **perfection_1_plus_static** | **perfection_1_triangle_static**
------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | --------------------------------
- |  |  | 
-
-**perfection_default** | **perfection_4_colors_square_static** | **perfection_4_pieces_static**
--------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------
- |  | 
-
-## Rocket Sleigh
-
-A Flappy Bird-like game where you have to collect christmas presents while
-avoiding trees. The sleigh is powered by a rocket that needs to recharge over
-time after you use up its fuel.
-
-
- Extras returned
- Returns no extras.
-
-
-
-
-## Pong
-
-Classic Pong game.
-
-
- Extras returned
-
-* `ball`:
- - The ball coordinates: [left, top, right, bottom].
- - Returned when its value changes.
- - Has `shape=[4], dtype=INT32`.
-* `computer`:
- - The computer paddle coordinates: [left, top, right, bottom].
- - Returned when its value changes.
- - Has `shape=[4], dtype=INT32`.
-* `human`:
- - The human paddle coordinates: [left, top, right, bottom].
- - Returned when its value changes.
- - Has `shape=[4], dtype=INT32`.
-* `collision`:
- - Indicates collision of paddle and ball: (0=no collision, 1=collision).
- - Returned when its value changes.
- - Has `shape=[1], dtype=INT32`.
-* `state`:
- - The current state of the game: (0=pause, 1=ready, 2=running, 3=lose,
- 4=win).
- - Returned when its value changes.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-**pong_easy** | **pong_default** | **pong_hard**
--------------------------------------------------- | -------------------------------------------------------- | -------------
- |  | 
-
-## SGT Puzzles - Blackbox
-
-There's an invisible laser beam originating from each of the cells at the edge
-of the grid. There are also a given number of balls inside the grid, hidden from
-the player whose aim is to guess where those balls are. The player can figure
-out where those balls might be by looking at how they *deflect* the laser beams.
-Clicking on an edge cell the player can reveal information about how that
-particular laser beam travels. Click on a cell; if the cell reveals an `H`, it
-means the straight laser beam leaving this cell hits a ball frontally. If the
-cell reveals a *number* along with another cell with the same number, that means
-the laser beam originating in the first cell ends up getting absorbed in the
-corresponding pair cell. If the cell reveals an `R`, that means the laser beam
-was *reflected*: either its origin and the cell it gets absorbed in is the
-*same*, or the beam gets bent before entering the grid. See the description
-below.
-
-The balls affect the travel of the laser beam in the following way:
-
-* If a laser beam hits it straight, it gets absorbed. This is denoted by the
- letter `H`.
-* If a laser beam hits *its corner*, the beam gets deflected by 90 degrees.
-* If a laser beam hits a balls corner right at the edge of the grid, i.e.
- before it enters the grid, it is considered *reflected*.
-* If a laser beam enters the same cell that it originally left, it is
- considered *reflected* too.
-
-Once the player has placed the given number of balls on the screen, a green dot
-appears that allows the player to check if their solution was correct. See the
-original github repo for more info: https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `balls`:
- - The number of balls in the game arena.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `guesses`:
- - The number of guessed balls made by the agent.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `wrong`:
- - 1 if the guesses are wrong, 0 otherwise.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `lasers`:
- - The number of lasers in the grid
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `grid`:
- - Representation of the grid cells:
- - In the arena: `G`=guessed ball `' '`=empty
- - In the range: `[0-9]`=the number of lasers, `H`=beam hit, `R`=beam
- reflected,
- - `?` unknown, `' '` for the corners
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=STRING_U1`.
-
-
-
-**blackbox_3x3_1_ball** | **blackbox_5x5_3_balls** | **blackbox_8x8_5_balls** | **blackbox_10x10_5_balls**
---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------
- |  |  | 
-
-## SGT Puzzles - Bridge
-
-Connect nodes on the board so that each number denotes the degree of the given
-vertex. Edges are not allowed to cross each other and the graph has to be
-connected. Edges have to be horizontal or vertical, and there can be at most two
-parallel bridges between any pair of nodes. See the original github repo for
-more info: https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `islands`:
- - Number of nodes on the board.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `grid`:
- - Representation of the current state of the board.
- - `[0-9]=island, ' '=empty`
- - `'|'=vertical line, '"'=double vertical line, '!'=wrong vertical line`
- - `'-'=horizontal line, '='=double horizontal line, '~'=wrong horizontal
- line`
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=STRING_U1`.
-
-
-
-**bridge_7x7_easy** | **bridge_7x7_medium** | **bridge_7x7_hard** | **bridge_10x10_medium** | **bridge_15x15_medium**
------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- | -----------------------
- |  |  |  | 
-
-## SGT Puzzles - Cube
-
-There are six coloured squares that you have to collect with a moving cube. If
-the cube rolls on top of a coloured cell, the colour gets attached to that side
-of the cube; and if a coloured side of the cube rolls on an empty cell, the
-colour is removed from the cube. The goal is to have all six sides of the cube
-coloured. See the original github repo for more info:
-https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `current`:
- - Index of the current grid cell the cube is on.
- - Returned whenever the cube moves.
- - Has `shape=[1], dtype=INT32`.
-* `previous`:
- - Index of the previous grid cell the cube was on.
- - Returned whenever the cube moves.
- - Has `shape=[1], dtype=INT32`.
-* `grid`:
- - The grid state (0 = dark, 1 = blue)
- - Returned whenever the cube moves.
- - Has `shape=[grid_size, grid_size], dtype=INT32`.
-* `face_count`:
- - The number of dark faces on the cube.
- - Returned whenever the cube moves.
- - Has `shape=[1], dtype=INT32`.
-* `face_colour_count`:
- - The number of blue faces on the cube.
- - Returned whenever the cube moves.
- - Has `shape=[1], dtype=INT32`.
-* `faces`:
- - The cube faces (0 = dark, 1 = blue)
- - Returned whenever the cube moves.
- - Has `shape=[6], dtype=INT32`.
-
-
-
-**cube_c3x3** | **cube_c4x4** | **cube_c8x8**
------------------------------------------------------------------------- | ------------------------------------------------------------------------ | -------------
- |  | 
-
-## SGT Puzzles - Dominosa
-
-Place 2x1 size dominoes on the board such that the full board is covered, making
-sure that no two dominoes have the same pair of numbers on them. There needs to
-be exactly one of (0, 0), (0, 1) (0, 2), ... (1, 1), (1, 2) etc. See the
-original github repo for more info: https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `numbers`:
- - Numbers as they appear in the grid.
- - Returned whenever the grid changes.
- - Has `shape=[height, width], dtype=INT32`.
-* `grid`:
- - Letters representing the dominoes currently placed on the board.
- - 'R=right, L=left, T=top, B=bottom'
- - Returned whenever the grid changes.
- - Has `shape=[height, with], dtype=INT32`.
-* `clash`:
- - Represents clashes on the board (i.e. if two dominoes have the same
- pair)
- - '1=clash, 0=no clash'
- - Returned whenever the grid changes.
- - Has `shape=[height, width], dtype=INT32`.
-
-
-
-**dominosa_1** | **dominosa_3** | **dominosa_3a** | **dominosa_6** | **dominosa_9**
--------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------- | --------------
- |  |  |  | 
-
-## SGT Puzzles - Fifteen
-
-Order the tiles in increasing order, starting from the top left corner. See the
-original github repo for more info: https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `grid`:
- - Current state of the grid.
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=INT32`.
-* `empty`:
- - Index of the single empty cell in the grid.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `movecount`:
- - Number of moves made so far.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-**fifteen_2x2** | **fifteen_3x3** | **fifteen_4x4** | **fifteen_6x6**
----------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------
- |  |  | 
-
-## SGT Puzzles - Flip
-
-Clicking on a cell will flip the colour of some of its neighbours, which are
-determined by the symbol in the cell. The goal is to make all the cells have the
-same colour. See the original github repo for more info:
-https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `light`:
- - The number of light cells.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `dark`:
- - The number of dark cells
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `moves`:
- - The number of moves made by the player.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `grid`:
- - State of the board (0 = dark, 1 = light).
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=INT32`.
-* `gridMatrix`:
- - The grid matrix of square neighbours (-1 = outside, 1 = neighbour, 0 =
- not neighbour)
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size, 3, 3s], dtype=INT32`.
-
-
-
-**flip_3x3c** | **flip_4x4c** | **flip_5x5r**
------------------------------------------------------------------------- | ------------------------------------------------------------------------ | -------------
- |  | 
-
-## SGT Puzzles - Flood
-
-FloodIt is a game where the player needs to fill the board with a single color.
-The dynamics of the game are driven by colored areas of the board, which when
-pressed cause the currently active region to change its color to the color of
-the pressed button. When this active region changes color it absorbs neighboring
-squares that have the same color, thus expanding the active region. The active
-region starts as a single square at the top-left corner of the board. The game
-gives a single reward at the end of the game if the player manages to fill the
-entire board with the same color within the maximum number steps, otherwise the
-reward is just zero. See the original github repo for more info:
-https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `board`:
- - State of the board, representing colours by their indices.
- - 0: red, 1: yellow, 2: green, 3: blue, 4: orange, 5: purple,
- - 6: brown, 7: light blue, 8: light green, 9: pink
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=INT32`.
-
-
-
-**sgtpuzzles_flood_3x3_easy** | **sgtpuzzles_flood_12x12_medium** | **sgtpuzzles_flood_16x16_hard**
----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | -------------------------------
- |  | 
-
-## SGT Puzzles - Galaxies
-
-Split the grid up into centrally symmetric areas. The centre of symmetry for
-each area is denoted by a dot on the grid. See the original github repo for more
-info: https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `dot`:
- - Number of dots on the board.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `grid`:
- - String representation of the board:
- - `o`=dot, `' '`=empty, `+`, `-`, `|` = cell corners.
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=STRING_U1`.
-
-
-
-**galaxies_3x3_normal** | **galaxies_5x5_normal** | **galaxies_7x7_normal**
---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -----------------------
- |  | 
-
-**galaxies_7x7_unreasonable** | **galaxies_10x10_normal** | **galaxies_15x15_normal**
---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -------------------------
- |  | 
-
-## SGT Puzzles - Guess
-
-The computer has thought of a sequence of colours that you have to guess. Fill
-the top row with colours of your choice, and wait for the computer to give you
-feedback about your sequence. It will show a black dot for each colour that is
-placed in the correct position, and a white dot for each that is present in the
-hidden sequence, but not at the position your guess. Try to figure out the
-hidden sequence before you run out of guesses! See the original github repo for
-more info: https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `peg`:
- - Indices representing the colours selected in the latest row.
- - Returned after the row is completed and evaluated.
- - Has `shape=[row_length], dtype=INT32`.
-* `feedback`:
- - Evaluation of the latest guess (0: incorrect, 1: correct place, 2:
- correct colour)
- - Returned after the row is completed and evaluated.
- - Has `shape=[row_length], dtype=INT32`.
-
-
-
-**guess_basic** | **guess_quick** | **guess_standard** | **guess_super**
----------------------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------- | ---------------
- |  |  | 
-
-## SGT Puzzles - Inertia
-
-Collect all the blue diamonds on the board without colliding into a bomb. You
-can move the ball in the 8 main directions (including the diagonals). The ball
-will keep on moving in that direction until it hits a wall, a bomb, a diamond or
-a circle. Circles and diamonds have grip, i.e. it will stop the ball from
-continuing to move in the direction it was going towards. See the original
-github repo for more info: https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `gems`:
- - Current number of gems still on the board.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `distancemoved`:
- - Number of cells just moved.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `grid`:
- - Symbols of grid cells (b=blank, g=gem, m=mine, s=stop, w=wall)
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=INT32`.
-
-
-
-**inertia_5x5** | **inertia_10x10**
------------------------------------------------------------------ | -----------------
- | 
-
-## SGT Puzzles - Light Up
-
-You have a grid of squares. Some are empty (black) and some are *walls* (grey);
-some of the walls are numbered. Your aim is to *light up* all the empty squares
-by placing light bulbs in some of them. The numbers denote how many bulbs' light
-hits these directly in a straight sight. Meanwhile, no two bulbs should light up
-each other (i.e. only one bulb allowed in straight sight). See the original
-github repo for more info: https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `grid`:
- - String representation of the board:
- - '#' = blocked, ' ' = empty/black, 'L' = light, 'l' = illuminated,
- - 'X' = impossible, 'number' = number of bulbs hitting this cell.
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=STRING_U1`.
-
-
-
-**light_up_3x3_easy** | **light_up_5x5_easy** | **light_up_7x7_easy** | **light_up_10x10_tricky** | **light_up_14x14_easy**
----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -----------------------
- |  |  |  | 
-
-## SGT Puzzles - Loopy
-
-Draw a closed loop along the edges of the grid. A number in a cell denotes the
-number of edges adjacent to that cell. The loop cannot intersect itself. See the
-original github repo for more info: https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `grid`:
- - String representation of the board:
- - The grid lines and cells:
- - `.` = dots (cell corners)
- - `0-9` = number on cell face or ` ` for empty face
- - `?` = unknown (default),`x` = no line,`-` = `|` = line,`~` = `/` = error
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=STRING_U1`.
-
-
-
-**loopy_3x3_easy** | **loopy_5x5_easy** | **loopy_7x7_easy** | **loopy_7x7_normal** | **loopy_7x7_hard**
----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------
- |  |  |  | 
-
-## SGT Puzzles - Net
-
-There are a number of light bulbs, wires and a single light source in the
-middle. Connect the wires such that all bulbs are lit up, without loose ends or
-loops in the wiring. You can rotate the tiles by clicking on them. If the task
-name has a *w* suffix in it then it is allowed to connect wires on opposing
-edges of the grid. See the original github repo for more info:
-https://github.com/chrisboyle/sgtpuzzles.
-
-
- Extras returned
-
-* `active`:
- - The number of active/completed cells.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `total`:
- - The total number of cells
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `grid`:
- - The grid cells represented by numbers.
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=INT32`.
-* `gridCompleted`:
- - The grid cells' active/completed status (0 = false, 1 = true).
- - Returned whenever the grid changes.
- - Has `shape=[grid_size, grid_size], dtype=INT32`.
-
-
-
-**net_3x3** | **net_5x5** | **net_7x7w** | **net_9x9** | **net_11x11w**
--------------------------------------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------- | --------------
- |  |  |  | 
-
-## Shattered Pixel Dungeon
-
-Shattered Pixel Dungeon is a Roguelike RPG, with pixel art graphics and lots of
-variety and replayability. Every game is unique, with four different playable
-characters, randomized levels and enemies, and over 150 items to collect and
-use. The game is simple to get into, but has lots of depth. Strategy is required
-if you want to win! See the original github repo for more info:
-https://github.com/00-Evan/shattered-pixel-dungeon.git.
-
-
- Extras returned
-
-* `action`:
- - The action just completed by the hero.
- - Returned whenever an action is taken.
- - Has `shape=[1], dtype=STRING_U25`.
-* `dst`:
- - TThe destination of the action.
- - Returned whenever an action is taken.
- - Has `shape=[1], dtype=INT32`.
-* `level`:
- - The level reached.
- - Returned whenever a new level is reached.
- - Has `shape=[1], dtype=INT32`.
-* `depth`:
- - The depth of the level reached.
- - Returned whenever a new floor is reached.
- - Has `shape=[1], dtype=INT32`.
-* `deepestFloor`:
- - The deepest reached floor statistic.
- - Returned whenever a new floor is reached.
- - Has `shape=[1], dtype=INT32`.
-* `gold`:
- - The gold level reached.
- - Returned whenever gold is acquired.
- - Has `shape=[1], dtype=INT32`.
-* `totalGold`:
- - The gold collected statistic.
- - Returned whenever gold is acquired.
- - Has `shape=[1], dtype=INT32`.
-* `addedGold`:
- - The gold acquired at the most recent step.
- - Returned whenever gold is acquired.
- - Has `shape=[1], dtype=INT32`.
-* `newlyVisited`:
- - Number of new squares uncovered.
- - Returned whenever new squares are uncovered.
- - Has `shape=[1], dtype=INT32`.
-* `damageDealt`:
- - Damage dealt by hero.
- - Returned whenever the hero deals damage.
- - Has `shape=[1], dtype=INT32`.
-* `damageTaken`:
- - Damage taken by hero.
- - Returned whenever the hero takes damage.
- - Has `shape=[1], dtype=INT32`.
-* `HP`:
- - Hit Points (Health) of hero.
- - Returned whenever its value changes.
- - Has `shape=[1], dtype=INT32`.
-* `exp`:
- - Experience gained by hero.
- - Returned whenever the hero gains experience points.
- - Has `shape=[1], dtype=INT32`.
-* `dew`:
- - How many dew (an immediately consumed item) the user picks up.
- - Returned whenever a dew is picked up.
- - Has `shape=[1], dtype=INT32`.
-* `heal`:
- - Amount the hero is healed.
- - Returned whenever the hero is healed.
- - Has `shape=[1], dtype=INT32`.
-* `itemPickup`:
- - The name of an item that is picked up.
- - Returned whenever an item is picked up.
- - Has `shape=[1], dtype=STRING_U25`.
-* `itemDrop`:
- - The name of an item that is dropped.
- - Returned whenever an item is dropped.
- - Has `shape=[1], dtype=STRING_U25`.
-* `destroy`:
- - The name of the enemy that is killed.
- - Returned whenever an enemy is killed.
- - Has `shape=[1], dtype=STRING_U25`.
-* `search`:
- - Whether the user clicked the "Search" button.
- - Returned whenever the button is clicked.
- - Has `shape=[1], dtype=INT32`.
-* `wait`:
- - Whether the user clicked the "Wait" button.
- - Returned whenever the button is clicked.
- - Has `shape=[1], dtype=INT32`.
-* `openedInventory`:
- - Whether the user clicked the "Inventory" button.
- - Returned whenever the button is clicked.
- - Has `shape=[1], dtype=INT32`.
-
-
-
-huntress | mage | rogue | warrior
------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | -------
- |  |  | 
-
-## Simple Solitaire
-
-This is an Android implementation of
-[Solitaire](https://en.wikipedia.org/wiki/Solitaire) card games. We currently
-support 19 variants listed here in alphabetical order. Note that the full
-task_IDs take the form `simple_solitaire_aces_up`,
-`simple_solitaire_calculation` etc. See the original github repo for more info:
-https://github.com/TobiasBielefeld/Simple-Solitaire.git.
-
-
- Extras returned
-
-* `card`:
- - The new visible card `[kind, suit]`:
- - kind: `a=ace, k=king, q=queen, j=jack, x=10, 2-9=digit`.
- - suit: `c=clubs, d=diamonds, h=hearts, s=spades`.
- - Returned when a card is moved.
- - Has `shape=[2], dtype=STRING_U1`.
-* `stack_i`:
- - A non-empty stack of visible cards `[kind, suit]`.
- - `i` different extras (`stack_0`, `stack_1`, `...`), one corresponding to
- each stack.
- - Returned when a card is moved.
- - Has `shape=[52, 2], dtype=STRING_U1`.
-
-
-
-**aces_up** | **calculation** | **canfield** | **forty_eight** | **freecell**
--------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------
- |  |  |  | 
-
-**golf** | **grandfathers_clock** | **gypsy** | **klondike** | **maze**
--------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | --------
- |  |  |  | 
-
-**mod3** | **napoleons_tomb** | **pyramid** | **simple_simon** | **spider**
--------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ----------
- |  |  |  | 
-
-**spiderette** | **tri_peaks** | **vegas** | **yukon**
--------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | ---------
- |  |  | 
-
-## Snake
-
-Classic Snake game.
-
-
- Extras returned
-
-* `move`:
- - The desired direction of movement: `0`=left, `1`=up, `2`=down,
- `3`=right.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `direction`:
- - The direction of the snake: `1`=north, `2`=south, `3`=east, `4`=west.
- - Returned whenever the grid changes.
- - Has `shape=[1], dtype=INT32`.
-* `grid`:
- - The grid cells: `x`=border, `' '`=empty, `s`=snake, `a`=apple.
- - Returned whenever the grid changes.
- - Has `shape=[13, 19], dtype=STRING_U1`.
-
-
-
-
-
-## Vector Pinball
-
-A simple vector-based Pinball game with realistic physics. See the original
-github repo for more info: https://github.com/dozingcat/Vector-Pinball.
-
-
- Extras returned
- Returns no extras.
-
-
-**vector_pinball_table_1** | **vector_pinball_table_2** | **vector_pinball_table_3**
----------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------
- |  | 
-
-**vector_pinball_table_4** | **vector_pinball_table_5**
----------------------------------------------------------------------------- | --------------------------
- | 
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_0.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_0.png
deleted file mode 100644
index 5cb11217..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_0.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_1.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_1.png
deleted file mode 100644
index 50b4cf42..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_1.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_10.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_10.png
deleted file mode 100644
index 497a04b5..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_10.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_2.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_2.png
deleted file mode 100644
index c6189b32..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_2.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_3.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_3.png
deleted file mode 100644
index b1fe7736..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_3.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_4.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_4.png
deleted file mode 100644
index 94a5ca30..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_4.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_5.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_5.png
deleted file mode 100644
index 4dee8686..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_5.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_6.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_6.png
deleted file mode 100644
index 2a53effc..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_6.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_7.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_7.png
deleted file mode 100644
index 42cf7c1e..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_7.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_8.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_8.png
deleted file mode 100644
index 3d882f18..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_8.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/android_studio/android_studio_9.png b/android_env/g3doc/public/docs/images/android_studio/android_studio_9.png
deleted file mode 100644
index 164375d5..00000000
Binary files a/android_env/g3doc/public/docs/images/android_studio/android_studio_9.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/aosp_samples_snake_default.gif b/android_env/g3doc/public/docs/images/aosp_samples_snake_default.gif
deleted file mode 100644
index ac583ee8..00000000
Binary files a/android_env/g3doc/public/docs/images/aosp_samples_snake_default.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/apple_flinger_M_1_1.gif b/android_env/g3doc/public/docs/images/apple_flinger_M_1_1.gif
deleted file mode 100644
index f4a5bd4f..00000000
Binary files a/android_env/g3doc/public/docs/images/apple_flinger_M_1_1.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/apple_flinger_M_1_18.gif b/android_env/g3doc/public/docs/images/apple_flinger_M_1_18.gif
deleted file mode 100644
index 90c4bb9d..00000000
Binary files a/android_env/g3doc/public/docs/images/apple_flinger_M_1_18.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/apple_flinger_M_1_2.gif b/android_env/g3doc/public/docs/images/apple_flinger_M_1_2.gif
deleted file mode 100644
index 876f8adb..00000000
Binary files a/android_env/g3doc/public/docs/images/apple_flinger_M_1_2.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/apple_flinger_M_2_1.gif b/android_env/g3doc/public/docs/images/apple_flinger_M_2_1.gif
deleted file mode 100644
index 476b9c97..00000000
Binary files a/android_env/g3doc/public/docs/images/apple_flinger_M_2_1.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/apple_flinger_M_2_18.gif b/android_env/g3doc/public/docs/images/apple_flinger_M_2_18.gif
deleted file mode 100644
index 2a24318b..00000000
Binary files a/android_env/g3doc/public/docs/images/apple_flinger_M_2_18.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/apple_flinger_M_2_2.gif b/android_env/g3doc/public/docs/images/apple_flinger_M_2_2.gif
deleted file mode 100644
index 3c381f6b..00000000
Binary files a/android_env/g3doc/public/docs/images/apple_flinger_M_2_2.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/blockinger.gif b/android_env/g3doc/public/docs/images/blockinger.gif
deleted file mode 100644
index 1d33b60d..00000000
Binary files a/android_env/g3doc/public/docs/images/blockinger.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/blockinger_lines.gif b/android_env/g3doc/public/docs/images/blockinger_lines.gif
deleted file mode 100644
index 7cfccda7..00000000
Binary files a/android_env/g3doc/public/docs/images/blockinger_lines.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/blockinger_lines_and_squares.gif b/android_env/g3doc/public/docs/images/blockinger_lines_and_squares.gif
deleted file mode 100644
index 19bd922f..00000000
Binary files a/android_env/g3doc/public/docs/images/blockinger_lines_and_squares.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/blockinger_squares.gif b/android_env/g3doc/public/docs/images/blockinger_squares.gif
deleted file mode 100644
index d52b52fb..00000000
Binary files a/android_env/g3doc/public/docs/images/blockinger_squares.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/catch_the_ball_default.gif b/android_env/g3doc/public/docs/images/catch_the_ball_default.gif
deleted file mode 100644
index fcecd3ce..00000000
Binary files a/android_env/g3doc/public/docs/images/catch_the_ball_default.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/catch_the_ball_drag.gif b/android_env/g3doc/public/docs/images/catch_the_ball_drag.gif
deleted file mode 100644
index 32ff1c02..00000000
Binary files a/android_env/g3doc/public/docs/images/catch_the_ball_drag.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/catch_the_ball_fling.gif b/android_env/g3doc/public/docs/images/catch_the_ball_fling.gif
deleted file mode 100644
index 0c912818..00000000
Binary files a/android_env/g3doc/public/docs/images/catch_the_ball_fling.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/catch_the_ball_raw.gif b/android_env/g3doc/public/docs/images/catch_the_ball_raw.gif
deleted file mode 100644
index 08d9a2ce..00000000
Binary files a/android_env/g3doc/public/docs/images/catch_the_ball_raw.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/catch_the_ball_tap.gif b/android_env/g3doc/public/docs/images/catch_the_ball_tap.gif
deleted file mode 100644
index 01b8b55d..00000000
Binary files a/android_env/g3doc/public/docs/images/catch_the_ball_tap.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/classic_2048.gif b/android_env/g3doc/public/docs/images/classic_2048.gif
deleted file mode 100644
index 8792c775..00000000
Binary files a/android_env/g3doc/public/docs/images/classic_2048.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/device_control.gif b/android_env/g3doc/public/docs/images/device_control.gif
deleted file mode 100644
index 249a957d..00000000
Binary files a/android_env/g3doc/public/docs/images/device_control.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/dodge_default.gif b/android_env/g3doc/public/docs/images/dodge_default.gif
deleted file mode 100644
index d6c12b20..00000000
Binary files a/android_env/g3doc/public/docs/images/dodge_default.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/download.png b/android_env/g3doc/public/docs/images/download.png
deleted file mode 100644
index c3fe2a9e..00000000
Binary files a/android_env/g3doc/public/docs/images/download.png and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/droidfish_black_1.gif b/android_env/g3doc/public/docs/images/droidfish_black_1.gif
deleted file mode 100644
index d2420554..00000000
Binary files a/android_env/g3doc/public/docs/images/droidfish_black_1.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/droidfish_black_10.gif b/android_env/g3doc/public/docs/images/droidfish_black_10.gif
deleted file mode 100644
index 948d36a2..00000000
Binary files a/android_env/g3doc/public/docs/images/droidfish_black_10.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/droidfish_black_100.gif b/android_env/g3doc/public/docs/images/droidfish_black_100.gif
deleted file mode 100644
index 7517abd2..00000000
Binary files a/android_env/g3doc/public/docs/images/droidfish_black_100.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/droidfish_random_1.gif b/android_env/g3doc/public/docs/images/droidfish_random_1.gif
deleted file mode 100644
index 0ee0b69d..00000000
Binary files a/android_env/g3doc/public/docs/images/droidfish_random_1.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/droidfish_random_10.gif b/android_env/g3doc/public/docs/images/droidfish_random_10.gif
deleted file mode 100644
index 4916c7f9..00000000
Binary files a/android_env/g3doc/public/docs/images/droidfish_random_10.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/droidfish_random_100.gif b/android_env/g3doc/public/docs/images/droidfish_random_100.gif
deleted file mode 100644
index c6135f24..00000000
Binary files a/android_env/g3doc/public/docs/images/droidfish_random_100.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/droidfish_white_1.gif b/android_env/g3doc/public/docs/images/droidfish_white_1.gif
deleted file mode 100644
index f7a3fa22..00000000
Binary files a/android_env/g3doc/public/docs/images/droidfish_white_1.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/droidfish_white_10.gif b/android_env/g3doc/public/docs/images/droidfish_white_10.gif
deleted file mode 100644
index c9943844..00000000
Binary files a/android_env/g3doc/public/docs/images/droidfish_white_10.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/droidfish_white_100.gif b/android_env/g3doc/public/docs/images/droidfish_white_100.gif
deleted file mode 100644
index 9c0dc3bf..00000000
Binary files a/android_env/g3doc/public/docs/images/droidfish_white_100.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/floodit_easy.gif b/android_env/g3doc/public/docs/images/floodit_easy.gif
deleted file mode 100644
index 43a0cc35..00000000
Binary files a/android_env/g3doc/public/docs/images/floodit_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/floodit_hard.gif b/android_env/g3doc/public/docs/images/floodit_hard.gif
deleted file mode 100644
index 27698b0f..00000000
Binary files a/android_env/g3doc/public/docs/images/floodit_hard.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/floodit_medium.gif b/android_env/g3doc/public/docs/images/floodit_medium.gif
deleted file mode 100644
index 931808a7..00000000
Binary files a/android_env/g3doc/public/docs/images/floodit_medium.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/frozen_bubble.gif b/android_env/g3doc/public/docs/images/frozen_bubble.gif
deleted file mode 100644
index 36d5e5db..00000000
Binary files a/android_env/g3doc/public/docs/images/frozen_bubble.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/gestures/1-Finger-Double-Tap.gif b/android_env/g3doc/public/docs/images/gestures/1-Finger-Double-Tap.gif
deleted file mode 100644
index 9a305c3b..00000000
Binary files a/android_env/g3doc/public/docs/images/gestures/1-Finger-Double-Tap.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/gestures/1-Finger-Flick-Left.gif b/android_env/g3doc/public/docs/images/gestures/1-Finger-Flick-Left.gif
deleted file mode 100644
index f011e0c9..00000000
Binary files a/android_env/g3doc/public/docs/images/gestures/1-Finger-Flick-Left.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/gestures/1-Finger-Flick-Right.gif b/android_env/g3doc/public/docs/images/gestures/1-Finger-Flick-Right.gif
deleted file mode 100644
index 535e9383..00000000
Binary files a/android_env/g3doc/public/docs/images/gestures/1-Finger-Flick-Right.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/gestures/1-Finger-Horizontal-Scroll.gif b/android_env/g3doc/public/docs/images/gestures/1-Finger-Horizontal-Scroll.gif
deleted file mode 100644
index cbb7ae84..00000000
Binary files a/android_env/g3doc/public/docs/images/gestures/1-Finger-Horizontal-Scroll.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/gestures/1-Finger-Move.gif b/android_env/g3doc/public/docs/images/gestures/1-Finger-Move.gif
deleted file mode 100644
index 86ed78ec..00000000
Binary files a/android_env/g3doc/public/docs/images/gestures/1-Finger-Move.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/gestures/1-Finger-Tap.gif b/android_env/g3doc/public/docs/images/gestures/1-Finger-Tap.gif
deleted file mode 100644
index a19675e9..00000000
Binary files a/android_env/g3doc/public/docs/images/gestures/1-Finger-Tap.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/gestures/1-Finger-Touch-&-Hold.gif b/android_env/g3doc/public/docs/images/gestures/1-Finger-Touch-&-Hold.gif
deleted file mode 100644
index 8d95cfd4..00000000
Binary files a/android_env/g3doc/public/docs/images/gestures/1-Finger-Touch-&-Hold.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/gestures/1-Finger-Vertical-Scroll.gif b/android_env/g3doc/public/docs/images/gestures/1-Finger-Vertical-Scroll.gif
deleted file mode 100644
index 56bd3ad6..00000000
Binary files a/android_env/g3doc/public/docs/images/gestures/1-Finger-Vertical-Scroll.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/mdp_0000.gif b/android_env/g3doc/public/docs/images/mdp_0000.gif
deleted file mode 100644
index 7a25c1da..00000000
Binary files a/android_env/g3doc/public/docs/images/mdp_0000.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/mdp_0001.gif b/android_env/g3doc/public/docs/images/mdp_0001.gif
deleted file mode 100644
index 42c40e36..00000000
Binary files a/android_env/g3doc/public/docs/images/mdp_0001.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/mdp_0002.gif b/android_env/g3doc/public/docs/images/mdp_0002.gif
deleted file mode 100644
index 62786c97..00000000
Binary files a/android_env/g3doc/public/docs/images/mdp_0002.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/mdp_0003.gif b/android_env/g3doc/public/docs/images/mdp_0003.gif
deleted file mode 100644
index 33041e28..00000000
Binary files a/android_env/g3doc/public/docs/images/mdp_0003.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/mdp_flood_it.gif b/android_env/g3doc/public/docs/images/mdp_flood_it.gif
deleted file mode 100644
index ba0a9fd7..00000000
Binary files a/android_env/g3doc/public/docs/images/mdp_flood_it.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/memory_game_animals_beginner.gif b/android_env/g3doc/public/docs/images/memory_game_animals_beginner.gif
deleted file mode 100644
index 547e9e48..00000000
Binary files a/android_env/g3doc/public/docs/images/memory_game_animals_beginner.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/memory_game_animals_easy.gif b/android_env/g3doc/public/docs/images/memory_game_animals_easy.gif
deleted file mode 100644
index 6f23086e..00000000
Binary files a/android_env/g3doc/public/docs/images/memory_game_animals_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/memory_game_emojis_hardest.gif b/android_env/g3doc/public/docs/images/memory_game_emojis_hardest.gif
deleted file mode 100644
index fadf4b6b..00000000
Binary files a/android_env/g3doc/public/docs/images/memory_game_emojis_hardest.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/memory_game_emojis_master.gif b/android_env/g3doc/public/docs/images/memory_game_emojis_master.gif
deleted file mode 100644
index b96c50be..00000000
Binary files a/android_env/g3doc/public/docs/images/memory_game_emojis_master.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/memory_game_monsters_hard.gif b/android_env/g3doc/public/docs/images/memory_game_monsters_hard.gif
deleted file mode 100644
index c3798418..00000000
Binary files a/android_env/g3doc/public/docs/images/memory_game_monsters_hard.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/memory_game_monsters_medium.gif b/android_env/g3doc/public/docs/images/memory_game_monsters_medium.gif
deleted file mode 100644
index 6c2905fc..00000000
Binary files a/android_env/g3doc/public/docs/images/memory_game_monsters_medium.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/minesweeper_easy.gif b/android_env/g3doc/public/docs/images/minesweeper_easy.gif
deleted file mode 100644
index 0beeeabf..00000000
Binary files a/android_env/g3doc/public/docs/images/minesweeper_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/minesweeper_hard.gif b/android_env/g3doc/public/docs/images/minesweeper_hard.gif
deleted file mode 100644
index 25d0df8b..00000000
Binary files a/android_env/g3doc/public/docs/images/minesweeper_hard.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/minesweeper_medium.gif b/android_env/g3doc/public/docs/images/minesweeper_medium.gif
deleted file mode 100644
index 6eb6808a..00000000
Binary files a/android_env/g3doc/public/docs/images/minesweeper_medium.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/misc/components_chart.svg b/android_env/g3doc/public/docs/images/misc/components_chart.svg
deleted file mode 100644
index c8da4c40..00000000
--- a/android_env/g3doc/public/docs/images/misc/components_chart.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/android_env/g3doc/public/docs/images/nostalgic_racer.gif b/android_env/g3doc/public/docs/images/nostalgic_racer.gif
deleted file mode 100644
index 3eb7e627..00000000
Binary files a/android_env/g3doc/public/docs/images/nostalgic_racer.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/nostalgic_racer_2d.gif b/android_env/g3doc/public/docs/images/nostalgic_racer_2d.gif
deleted file mode 100644
index 0de4dda3..00000000
Binary files a/android_env/g3doc/public/docs/images/nostalgic_racer_2d.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/open_sudoku_easy.gif b/android_env/g3doc/public/docs/images/open_sudoku_easy.gif
deleted file mode 100644
index c3cec35d..00000000
Binary files a/android_env/g3doc/public/docs/images/open_sudoku_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/open_sudoku_hard.gif b/android_env/g3doc/public/docs/images/open_sudoku_hard.gif
deleted file mode 100644
index 41ac56fd..00000000
Binary files a/android_env/g3doc/public/docs/images/open_sudoku_hard.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/open_sudoku_medium.gif b/android_env/g3doc/public/docs/images/open_sudoku_medium.gif
deleted file mode 100644
index aa3eca3f..00000000
Binary files a/android_env/g3doc/public/docs/images/open_sudoku_medium.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/perfection_1_circle_static.gif b/android_env/g3doc/public/docs/images/perfection_1_circle_static.gif
deleted file mode 100644
index 202df693..00000000
Binary files a/android_env/g3doc/public/docs/images/perfection_1_circle_static.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/perfection_1_plus_static.gif b/android_env/g3doc/public/docs/images/perfection_1_plus_static.gif
deleted file mode 100644
index 9bdaf72b..00000000
Binary files a/android_env/g3doc/public/docs/images/perfection_1_plus_static.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/perfection_1_random_static.gif b/android_env/g3doc/public/docs/images/perfection_1_random_static.gif
deleted file mode 100644
index d1f10af8..00000000
Binary files a/android_env/g3doc/public/docs/images/perfection_1_random_static.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/perfection_1_square_static.gif b/android_env/g3doc/public/docs/images/perfection_1_square_static.gif
deleted file mode 100644
index 2ea02b60..00000000
Binary files a/android_env/g3doc/public/docs/images/perfection_1_square_static.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/perfection_1_triangle_static.gif b/android_env/g3doc/public/docs/images/perfection_1_triangle_static.gif
deleted file mode 100644
index 656f2618..00000000
Binary files a/android_env/g3doc/public/docs/images/perfection_1_triangle_static.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/perfection_4_colors_square_static.gif b/android_env/g3doc/public/docs/images/perfection_4_colors_square_static.gif
deleted file mode 100644
index cd53f1e2..00000000
Binary files a/android_env/g3doc/public/docs/images/perfection_4_colors_square_static.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/perfection_4_pieces_static.gif b/android_env/g3doc/public/docs/images/perfection_4_pieces_static.gif
deleted file mode 100644
index c4701367..00000000
Binary files a/android_env/g3doc/public/docs/images/perfection_4_pieces_static.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/perfection_default.gif b/android_env/g3doc/public/docs/images/perfection_default.gif
deleted file mode 100644
index 47bbb3ae..00000000
Binary files a/android_env/g3doc/public/docs/images/perfection_default.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/pong_default.gif b/android_env/g3doc/public/docs/images/pong_default.gif
deleted file mode 100644
index 9f272636..00000000
Binary files a/android_env/g3doc/public/docs/images/pong_default.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/pong_easy.gif b/android_env/g3doc/public/docs/images/pong_easy.gif
deleted file mode 100644
index 3e33d6a6..00000000
Binary files a/android_env/g3doc/public/docs/images/pong_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/pong_hard.gif b/android_env/g3doc/public/docs/images/pong_hard.gif
deleted file mode 100644
index 67535e21..00000000
Binary files a/android_env/g3doc/public/docs/images/pong_hard.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/rocket_sleigh.gif b/android_env/g3doc/public/docs/images/rocket_sleigh.gif
deleted file mode 100644
index 9de4e78d..00000000
Binary files a/android_env/g3doc/public/docs/images/rocket_sleigh.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_10x10_5_balls.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_10x10_5_balls.gif
deleted file mode 100644
index b91ece05..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_10x10_5_balls.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_3x3_1_ball.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_3x3_1_ball.gif
deleted file mode 100644
index 559108f8..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_3x3_1_ball.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_5x5_3_balls.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_5x5_3_balls.gif
deleted file mode 100644
index 20726213..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_5x5_3_balls.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_8x8_5_balls.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_8x8_5_balls.gif
deleted file mode 100644
index 52d7dd10..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_blackbox_8x8_5_balls.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_10x10_medium.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_10x10_medium.gif
deleted file mode 100644
index 961c1438..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_10x10_medium.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_15x15_medium.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_15x15_medium.gif
deleted file mode 100644
index 940888ec..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_15x15_medium.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_7x7_easy.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_7x7_easy.gif
deleted file mode 100644
index 1e79360d..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_7x7_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_7x7_hard.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_7x7_hard.gif
deleted file mode 100644
index 5d936089..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_7x7_hard.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_7x7_medium.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_7x7_medium.gif
deleted file mode 100644
index 617813aa..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_bridge_7x7_medium.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_cube.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_cube.gif
deleted file mode 100644
index 93f0899e..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_cube.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_cube_c3x3.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_cube_c3x3.gif
deleted file mode 100644
index a768f53a..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_cube_c3x3.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_cube_c4x4.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_cube_c4x4.gif
deleted file mode 100644
index 555677d4..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_cube_c4x4.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_cube_c8x8.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_cube_c8x8.gif
deleted file mode 100644
index 9c836340..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_cube_c8x8.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_1.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_1.gif
deleted file mode 100644
index 6936fde9..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_1.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_3.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_3.gif
deleted file mode 100644
index 23b4a475..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_3.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_3a.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_3a.gif
deleted file mode 100644
index 567035a3..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_3a.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_6.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_6.gif
deleted file mode 100644
index d9a890f3..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_6.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_9.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_9.gif
deleted file mode 100644
index 6e630b8c..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_dominosa_9.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_2x2.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_2x2.gif
deleted file mode 100644
index 6048c967..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_2x2.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_3x3.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_3x3.gif
deleted file mode 100644
index 222c9abc..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_3x3.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_4x4.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_4x4.gif
deleted file mode 100644
index 1ae0d2f4..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_4x4.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_6x6.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_6x6.gif
deleted file mode 100644
index be364a6f..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_fifteen_6x6.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_flip_3x3c.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_flip_3x3c.gif
deleted file mode 100644
index efc713f6..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_flip_3x3c.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_flip_4x4c.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_flip_4x4c.gif
deleted file mode 100644
index 03bf281d..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_flip_4x4c.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_flip_5x5r.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_flip_5x5r.gif
deleted file mode 100644
index 3970167a..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_flip_5x5r.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_flood_12x12_medium.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_flood_12x12_medium.gif
deleted file mode 100644
index 858f640e..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_flood_12x12_medium.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_flood_16x16_hard.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_flood_16x16_hard.gif
deleted file mode 100644
index 0c545315..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_flood_16x16_hard.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_flood_3x3_easy.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_flood_3x3_easy.gif
deleted file mode 100644
index ccd96c23..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_flood_3x3_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_10x10_normal.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_10x10_normal.gif
deleted file mode 100644
index a621b503..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_10x10_normal.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_15x15_normal.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_15x15_normal.gif
deleted file mode 100644
index 723b9c9e..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_15x15_normal.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_3x3_normal.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_3x3_normal.gif
deleted file mode 100644
index 3900aa93..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_3x3_normal.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_5x5_normal.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_5x5_normal.gif
deleted file mode 100644
index c1b253ab..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_5x5_normal.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_7x7_normal.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_7x7_normal.gif
deleted file mode 100644
index 8e65e26c..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_7x7_normal.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_7x7_unreasonable.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_7x7_unreasonable.gif
deleted file mode 100644
index ca043e0f..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_galaxies_7x7_unreasonable.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_guess_basic.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_guess_basic.gif
deleted file mode 100644
index 2425a6eb..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_guess_basic.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_guess_quick.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_guess_quick.gif
deleted file mode 100644
index ab5e2f23..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_guess_quick.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_guess_standard.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_guess_standard.gif
deleted file mode 100644
index 7f97aa8f..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_guess_standard.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_guess_super.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_guess_super.gif
deleted file mode 100644
index b25d95cc..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_guess_super.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_inertia_10x10.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_inertia_10x10.gif
deleted file mode 100644
index 9883041d..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_inertia_10x10.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_inertia_5x5.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_inertia_5x5.gif
deleted file mode 100644
index 155e6b2e..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_inertia_5x5.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_10x10_tricky.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_10x10_tricky.gif
deleted file mode 100644
index 9771b7e3..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_10x10_tricky.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_14x14_easy.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_14x14_easy.gif
deleted file mode 100644
index 5baf3676..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_14x14_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_3x3_easy.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_3x3_easy.gif
deleted file mode 100644
index fcacf20d..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_3x3_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_5x5_easy.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_5x5_easy.gif
deleted file mode 100644
index 599f895e..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_5x5_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_7x7_easy.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_7x7_easy.gif
deleted file mode 100644
index 1b8dd85e..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_light_up_7x7_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_3x3_easy.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_3x3_easy.gif
deleted file mode 100644
index 5f31bd3e..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_3x3_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_5x5_easy.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_5x5_easy.gif
deleted file mode 100644
index 3262482a..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_5x5_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_7x7_easy.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_7x7_easy.gif
deleted file mode 100644
index 10fa957d..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_7x7_easy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_7x7_hard.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_7x7_hard.gif
deleted file mode 100644
index b7a4e03c..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_7x7_hard.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_7x7_normal.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_7x7_normal.gif
deleted file mode 100644
index 8e3e7b85..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_loopy_7x7_normal.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_net_11x11w.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_net_11x11w.gif
deleted file mode 100644
index cf0dbc6f..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_net_11x11w.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_net_3x3.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_net_3x3.gif
deleted file mode 100644
index 5b8a290e..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_net_3x3.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_net_5x5.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_net_5x5.gif
deleted file mode 100644
index f1e2801b..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_net_5x5.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_net_7x7w.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_net_7x7w.gif
deleted file mode 100644
index eb31e8a6..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_net_7x7w.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/sgtpuzzles_net_9x9.gif b/android_env/g3doc/public/docs/images/sgtpuzzles_net_9x9.gif
deleted file mode 100644
index 39f13ffe..00000000
Binary files a/android_env/g3doc/public/docs/images/sgtpuzzles_net_9x9.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_huntress.gif b/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_huntress.gif
deleted file mode 100644
index aa579b82..00000000
Binary files a/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_huntress.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_mage.gif b/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_mage.gif
deleted file mode 100644
index 532e7d38..00000000
Binary files a/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_mage.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_rogue.gif b/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_rogue.gif
deleted file mode 100644
index 22d853ee..00000000
Binary files a/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_rogue.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_warrior.gif b/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_warrior.gif
deleted file mode 100644
index 8b08c4dc..00000000
Binary files a/android_env/g3doc/public/docs/images/shattered_pixel_dungeon_warrior.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_aces_up.gif b/android_env/g3doc/public/docs/images/simple_solitaire_aces_up.gif
deleted file mode 100644
index 823ad697..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_aces_up.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_calculation.gif b/android_env/g3doc/public/docs/images/simple_solitaire_calculation.gif
deleted file mode 100644
index 7b7cacd8..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_calculation.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_canfield.gif b/android_env/g3doc/public/docs/images/simple_solitaire_canfield.gif
deleted file mode 100644
index 72516764..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_canfield.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_forty_eight.gif b/android_env/g3doc/public/docs/images/simple_solitaire_forty_eight.gif
deleted file mode 100644
index 63582460..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_forty_eight.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_freecell.gif b/android_env/g3doc/public/docs/images/simple_solitaire_freecell.gif
deleted file mode 100644
index 039d5b55..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_freecell.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_golf.gif b/android_env/g3doc/public/docs/images/simple_solitaire_golf.gif
deleted file mode 100644
index 7db3f43c..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_golf.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_grandfathers_clock.gif b/android_env/g3doc/public/docs/images/simple_solitaire_grandfathers_clock.gif
deleted file mode 100644
index f08dd640..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_grandfathers_clock.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_gypsy.gif b/android_env/g3doc/public/docs/images/simple_solitaire_gypsy.gif
deleted file mode 100644
index 05784df7..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_gypsy.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_klondike.gif b/android_env/g3doc/public/docs/images/simple_solitaire_klondike.gif
deleted file mode 100644
index d91f778d..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_klondike.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_maze.gif b/android_env/g3doc/public/docs/images/simple_solitaire_maze.gif
deleted file mode 100644
index 646a7a74..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_maze.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_mod3.gif b/android_env/g3doc/public/docs/images/simple_solitaire_mod3.gif
deleted file mode 100644
index ee1ff77a..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_mod3.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_napoleons_tomb.gif b/android_env/g3doc/public/docs/images/simple_solitaire_napoleons_tomb.gif
deleted file mode 100644
index 08419211..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_napoleons_tomb.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_pyramid.gif b/android_env/g3doc/public/docs/images/simple_solitaire_pyramid.gif
deleted file mode 100644
index c2864e4f..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_pyramid.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_simple_simon.gif b/android_env/g3doc/public/docs/images/simple_solitaire_simple_simon.gif
deleted file mode 100644
index f62bc07c..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_simple_simon.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_spider.gif b/android_env/g3doc/public/docs/images/simple_solitaire_spider.gif
deleted file mode 100644
index c1575eba..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_spider.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_spiderette.gif b/android_env/g3doc/public/docs/images/simple_solitaire_spiderette.gif
deleted file mode 100644
index 4ed47fb9..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_spiderette.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_tri_peaks.gif b/android_env/g3doc/public/docs/images/simple_solitaire_tri_peaks.gif
deleted file mode 100644
index 5a708dc6..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_tri_peaks.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_vegas.gif b/android_env/g3doc/public/docs/images/simple_solitaire_vegas.gif
deleted file mode 100644
index d1423040..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_vegas.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/simple_solitaire_yukon.gif b/android_env/g3doc/public/docs/images/simple_solitaire_yukon.gif
deleted file mode 100644
index 834b6911..00000000
Binary files a/android_env/g3doc/public/docs/images/simple_solitaire_yukon.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/systemui_egg_land_default.gif b/android_env/g3doc/public/docs/images/systemui_egg_land_default.gif
deleted file mode 100644
index ffc9e460..00000000
Binary files a/android_env/g3doc/public/docs/images/systemui_egg_land_default.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/systemui_egg_land_half_speed.gif b/android_env/g3doc/public/docs/images/systemui_egg_land_half_speed.gif
deleted file mode 100644
index 35470729..00000000
Binary files a/android_env/g3doc/public/docs/images/systemui_egg_land_half_speed.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/vector_pinball_table_1.gif b/android_env/g3doc/public/docs/images/vector_pinball_table_1.gif
deleted file mode 100644
index a2cc9b4d..00000000
Binary files a/android_env/g3doc/public/docs/images/vector_pinball_table_1.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/vector_pinball_table_2.gif b/android_env/g3doc/public/docs/images/vector_pinball_table_2.gif
deleted file mode 100644
index f4aafadf..00000000
Binary files a/android_env/g3doc/public/docs/images/vector_pinball_table_2.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/vector_pinball_table_3.gif b/android_env/g3doc/public/docs/images/vector_pinball_table_3.gif
deleted file mode 100644
index 7058e020..00000000
Binary files a/android_env/g3doc/public/docs/images/vector_pinball_table_3.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/vector_pinball_table_4.gif b/android_env/g3doc/public/docs/images/vector_pinball_table_4.gif
deleted file mode 100644
index 62e22a80..00000000
Binary files a/android_env/g3doc/public/docs/images/vector_pinball_table_4.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/images/vector_pinball_table_5.gif b/android_env/g3doc/public/docs/images/vector_pinball_table_5.gif
deleted file mode 100644
index 4a6b44a6..00000000
Binary files a/android_env/g3doc/public/docs/images/vector_pinball_table_5.gif and /dev/null differ
diff --git a/android_env/g3doc/public/docs/instructions.md b/android_env/g3doc/public/docs/instructions.md
deleted file mode 100644
index a84354e7..00000000
--- a/android_env/g3doc/public/docs/instructions.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# AndroidEnv - Running the environment
-
-In order to create an AndroidEnv instance you will need to provide two main
-components: a [simulator](#the-simulator) and a [task](#the-task). In the
-following sections you will learn how you can create them.
-
-### The simulator
-
-First, you will need to provide your Android virtual device (AVD) that the
-environment (and through it, the agent) can communicate with. While this can
-also be a physical device, in most cases you will need a virtual emulated
-device. There are many ways to emulate an AVD - in our examples, we will use
-[Android Studio](https://developer.android.com/studio) to create one.
-
-1. In Android Studio, create a virtual device by following this step-by-step
- [guide](emulator_guide.md).
-2. Follow the steps below to attach the AVD to your environment.
-
-### The task and examples with games and other apps
-
-A `task` is a particular definition of an RL problem that the agent will be
-interacting with. A `task` may include critical RL information, such as what the
-rewards are, when the episodes are supposed to terminate, and what the reset
-procedures are that the environment should perform upon episode termination
-(e.g. start or relaunch an app, clear cache, etc.). This information is packaged
-into a `Task()` proto message, which gets passed passed to AndroidEnv.
-
-* For ready-made example tasks provided with AndroidEnv, check out the
- [Available tasks](example_tasks.md), featuring Vokram (with Markov Decision
- Process (MDP)), Pong, DroidFish (a chess clone), Blockinger (a tetris
- clone), and more.
-
-* See the [Tasks guide](tasks_guide.md) for details on features and
- capabilities of tasks, as well as how to create custom ones.
-
-### Create the environment
-
-After setting up the simulator and creating a task, you may find the
-[`loader.load()`](https://github.com/deepmind/android_env/blob/main/android_env/loader.py)
-function handy for creating an environment instance by providing relevant
-arguments, such as:
-
-* `task_path`: the path pointing to the `.textproto` file describing the
- desired task.
-* `avd_name`: the name of the AVD specified when your created it in Android
- Studio.
-* `android_avd_home` (Optional): the path to where the AVD is installed.
- (default value: `~/.android/avd`).
-* `android_sdk_root` (Optional): the root directory of the Android SDK.
- (default value: `~/Android/Sdk`).
-* `emulator_path` (Optional): the path to the emulator binary. (default:
- `~/Android/Sdk/emulator/emulator`).
-* `adb_path` (Optional): the path to the ADB
- ([Android Debug Bridge](https://developer.android.com/studio/command-line/adb)).
- (default value: `~/Android/Sdk/platform-tools/adb`).
-
-For the AVD name and path, in Android Studio, go to **Tools** > **AVD Manager**,
-right click on your virtual device, and select **View Details**, where you will
-find the `avd_name` and its path.
-
-For the Android SDK location, in Android Studio, go to **Preferences** >
-**Appearance & Behavior** > **System Settings** > **Android SDKs** and note the
-_Android SDK Location_. In the SDK folder, you will find `/emulator/emulator` as
-well as the ADB path (`/platform-tools/adb`).
-
-Your example configuration may look like this, depending on how you set up your
-emulator:
-
-```python
-from android_env import loader
-
-env = loader.load(
- avd_name='my_avd',
- android_avd_home='/Users/username/.android/avd',
- android_sdk_root='/Users/username/Library/Android/sdk',
- emulator_path='/Users/username/Library/Android/sdk/emulator/emulator',
- adb_path='/Users/username/Library/Android/sdk/platform-tools/adb',
- task_path='/Users/username/android_env/my_tasks/my_task.textproto',
-)
-```
-
-## Example RL agent scripts
-
-The `examples` directory contains a few simple example agent setups, such as:
-
-* [`run_random_agent.py`](https://github.com/deepmind/android_env/blob/main/examples/run_random_agent.py):
- Runs a simple loop performing randomly selected actions in the environment.
-* [`run_acme_agent.py`](https://github.com/deepmind/android_env/blob/main/examples/run_acme_agent.py):
- Runs a training loop with an
- [Acme](https://deepmind.com/research/publications/Acme) DQN agent,
- implemented in the popular DeepMind RL framework. This will require to
- install the [`acme`](https://github.com/deepmind/acme) dependency.
-* [`run_human_agent.py`](https://github.com/deepmind/android_env/blob/main/examples/run_human_agent.py):
- Creates a [`pygame`](https://www.pygame.org) instance that lets a human user
- interact with the environment and observe environment mechanics, such as
- rewards or task extras. You will need to install the [PyGame] dependency.
-
-For instance, here is how you can run
-[`run_random_agent.py`](https://github.com/8bitmp3/android_env/blob/main/examples/run_random_agent.py)
-in a folder where you have your APK file, such as
-[Apple Flinger](https://github.com/deepmind/android_env/blob/main/docs/example_tasks.md#apple-flinger)
-from
-[Example tasks](https://github.com/deepmind/android_env/blob/main/docs/example_tasks.md).
-(The downloaded TAR file contains the APK file and `.textproto` definitions.)
-
-```shell
-python3 run_random_agent.py \
---avd_name='my_avd' \
---android_avd_home=/Users/username/.android/avd \
---android_sdk_root=/Users/username/Library/Android/sdk \
---emulator_path=/Users/username/Library/Android/sdk/emulator/emulator \
---adb_path=/Users/username/Library/Android/sdk/platform-tools/adb \
---num_steps=1000 \
---task_path=/Users/username//apple_flinger_M_1_1.textproto
-```
diff --git a/android_env/g3doc/public/docs/tasks_guide.md b/android_env/g3doc/public/docs/tasks_guide.md
deleted file mode 100644
index 0cb13bde..00000000
--- a/android_env/g3doc/public/docs/tasks_guide.md
+++ /dev/null
@@ -1,216 +0,0 @@
-# AndroidEnv - Tasks
-
-With AndroidEnv we provide a mechanism for easily defining RL tasks for the
-agent to learn. This includes various types of information such as what app/game
-it should train on, what rewards the environment returns, or the start state
-distribution and the episode end criteria.
-
-## Task structure
-
-A *task* definition is captured in the form of a `Task()` proto message. These
-are most easily created by writing a `.textproto` file, then parsing it into a
-proto message. In this section you can find a detailed description about the
-types of information that make up a task, and an example demonstrating exactly
-how to put these into code.
-
-
- Expand this tab to view the main types of information captured in these messages:
-
-* `id`: An ID used to identify the task.
-
-* `setup_steps`: These are steps the environment will perform right after
- launching the simulator. Possible steps include:
-
- * `install_apk`: Installs an application from a specified path to the APK
- file.
- * `start_activity`: Launches the requested app/activity.
- * `rotate`: Sets the orientation of the device (landscape/portrait).
-
-* `reset_steps`: These are steps the environment will perform right at the
- beginning of a new RL episode. Possible steps include:
-
- * `force_stop`: Stops a given app.
- * `start_activity`: Launches the requested app/activity.
- * `start_screen_pinning`: Restricts the agent's interaction to a
- particular activity through
- [screen pinning](https://support.google.com/android/answer/9455138?hl=en),
- meaning the agent will not be able to quit the given app.
- * `clear_cache`: Clears the cache of a given app.
-
-* `success_conditions`: For each success condition defined, the environment
- will make sure that these conditions were met after finishing `setup_steps`
- and `reset_steps`. They might include conditions such as:
-
- * `check_install`: Makes sure that the request app was successfully
- installed.
- * `wait_for_app_screen`: Waits until the request app was successfully
- launched.
-
-* `expected_app_screen`: If this value is set to a particular activity, the
- environment will periodically check if the agent is still interacting with
- said activity, making sure it has not accidentally quit the application we
- want it to be training on.
-
-* `max_episode_sec`: Puts a time limit on the episodes, triggering an episode
- reset if the current episode has lasted too long.
-
-* `max_duration_steps`: Puts a step limit on the episodes, triggering an
- episode reset once the agent has reached the specified limit.
-
-* `log_parsing_config`: If the environment is parsing logcat messages, this
- field will determine what information it should listen for using regular
- expressions.
-
- * `filters`: The environment filters log messages for these labels which
- signify that such messages were meant to be parsed by AndroidEnv.
- * `log_regexps`: Once a log message was identified as relevant using the
- filters, the environment parses its contents using these regular
- expressions. For example, an application might be sending log messages
- of the form `reward: 1.0`, then the task will capture this info using
- the regexp `^[Rr]eward: ([-+]?[0-9]*\\.?[0-9]*)$`.
-
-
-
-
- Expand this tab to see what an example `.textproto` file might look like in practice:
-
-```python
-id: "classic_2048"
-name: "Classic 2048 - Default"
-description: "Slide numbered tiles on a grid to combine them to create a tile with the number 2048"
-package_name: "com.tpcstld.twozerogame"
-full_activity_name: "com.tpcstld.twozerogame/com.tpcstld.twozerogame.MainActivity"
-
-# Perform these upon launching the environment
-setup_steps: [
- {
- # Install the 2048 app
- adb_call: {
- install_apk: {
- filesystem: {
- path: path/to/classic_2048.apk
- }
- }
- }
- # Check if it was installed correctly
- success_condition: {
- check_install: {
- package_name: "com.tpcstld.twozerogame"
- timeout_sec: 10.0
- }
- }
- },
- # Orient the screen in portait mode
- { adb_call: { rotate: { orientation: PORTRAIT_0 } } }
-]
-
-# Perform these upon episode resets
-reset_steps: [
-
- # Stop the 2048 app
- { adb_call: { force_stop: { package_name: "com.tpcstld.twozerogame" } } },
- { adb_call: { clear_cache: { package_name: "com.tpcstld.twozerogame" } } },
-
- # Start the 2048 app
- {
- adb_call: {
- start_activity: {
- full_activity: "com.tpcstld.twozerogame/com.tpcstld.twozerogame.MainActivity"
- extra_args: [
- "--ez", '"RL_TASK_ENABLED"', '"true"',
- "--es", '"RL_TASK_GAME_CONFIG"', '"{}"'
- ]
- }
- }
-
- # Wait until the app has launched successfully
- success_condition: {
- wait_for_app_screen: {
- app_screen: {
- activity: "com.tpcstld.twozerogame/com.tpcstld.twozerogame.MainActivity"
- view_hierarchy_path: [
- ]
- }
- timeout_sec: 10.0
- }
- num_retries: 10
- }
- },
-
- # Make sure the agent cannot quit the 2048 app
- {
- adb_call: {
- start_screen_pinning: {
- full_activity: "com.tpcstld.twozerogame/com.tpcstld.twozerogame.MainActivity"
- }
- }
- }
-]
-
-# Periodically check if the agent has accidentally quit the app
-expected_app_screen: {
- activity: "com.tpcstld.twozerogame/com.tpcstld.twozerogame.MainActivity"
- view_hierarchy_path: []
-}
-
-max_episode_steps: 500
-
-# Capture expected format of log messages
-log_parsing_config: {
- filters: ["AndroidRLTask:V"]
- log_regexps: {
- score: "^[Ss]core: ([-+]?[0-9]*\\.?[0-9]*)$"
- reward: "^[Rr]eward: ([-+]?[0-9]*\\.?[0-9]*)$"
- episode_end: "^episode[ _]end$"
- extra: "^extra: (?P[^ ]*)[ ]?(?P.*)$"
- json_extra: "^json_extra: (?P.*)$"
- }
-}
-```
-
-
-
-## Log messages and custom APKs
-
-You might have noticed that tasks often rely on log messages exposed by the
-Android system, which AndroidEnv can intercept and translate into items such as
-rewards, episode end signals or task extras.
-
-One way to define rewards is by using
-`log_parsing_config.LogRegexps.RewardEvent` messages in the task proto. These
-consist of a regular expression and a numeric value indicating the intended
-reward. If the regexp is matched in any of the lines of the logcat stream, the
-agent will receive the given reward. It is also possible to have multiple of
-these RewardEvents, allowing us to give rewards for different log messages. The
-same applies for episode end signals: logcat messages that match the regexps
-defined in `log_parsing_config.LogRegexps.episode_end` will trigger an episode
-reset.
-
-Of course, applications might not send suitable messages by default, so in order
-to have access to such messages, we often add them to the apps' source code to
-match our expectations. For example, in the case of the 2048 app, we find in the
-game's source code the exact lines where the score is computed, and add a line
-to log this value in the format that is expected by the textproto (or
-conversely, make sure the textproto matches the format you specified here). For
-example:
-
-```java
-// Make sure thet LOG_FILTER matches 'filters' in the textproto
-public static final String LOG_FILTER = "AndroidRLTask";
-
-// Make sure that the corresponding part of 'log_regexps' will match this string
-Log.i(LOG_FILTER, String.format(Locale.ENGLISH, "reward: %r", reward_value))
-```
-
-You can take a look at example APKs extended with log messages in the example
-tasks (see the section below).
-
-## Example tasks
-
-Along with the environment implementation we provide a set of example task
-definitions. These were chosen so that they would demonstrate the large variety
-of different challenges (e.g. app navigtion, puzzle games, time-reactive games,
-adventure games, card games...) and corresponding interfaces (e.g. button
-pressing, swiping, drag-and-drop...) available in AndroidEnv. You can find a
-list and detailed description of each of these tasks in
-[example_tasks.md](example_tasks.md).