Getting acquainted with the Yggy Toy
We first made communications contact with the Yggy Toys via the compute system YG-TY439 in the near-surface resource station Yggdrasil. After restoring partial power to those systems, we began receiving sporadic inbound communications which resembled surface topoolgy data. After quite a bit of experimentation, our engineers realized that this was probably some sort of two-way system with a set of external drones. We believe that these are remotely operated drones which were used for surface exploration and resource collection tasks.
While we believe that the Yggy Toy was originally built for autonomous AI operation or control by at most one operator, that operating software is long lost. The drones come on and off line with the weather, and seem to operate by using a combination of solar and mineral power. We've been able to extend operation by directing the drones to surface mineral resources.
Method of operation
Given the extreme power constraints at Yggdrasil and the missing operating software, many cycles passed before we were able to do much with the Yggy Toys. Recently, however, a staff engineer managed to reverse engineer a limited set of pulse instructions from the main compute system that can be captured in a data recorder, and transmitted to the Yggy Toys to provide a limited form of operating control.
The catch is that these instructions seem to be executed in LIFO (last-in, first-out) order on the Yggy Toy! While we are able to maintain sufficient power to keep 3 instructions in memory, most instructions need to be passed directly through to the Yggy Toy's command queue.
Yggy Toy operators can choose to:
- add an instruction from their personal data recorder to the instruction stack of the Yggy Toy
- add an instruction from their personal data recorder to the shared memory of the Yggy Toy
- move an instruction from shared memory to the top of the instruction stack
- or, execute all instructions on the stack
Executing instructions will deplete some battery, reducing the remaining charge and potentially the size of the shared memory. When the battery is fully depleted we lose contact with the Yggy Toy, and need to wait for another drone to come online.
Using the software
We have built a basic software interface around the Yggy Toy ccontrol mechanism on a scavenged console that is connected to the YG-TY439. You can interact with rover using this interface.
0: Observe rover scenario data
Whenever an Yggy toy comes online, we try to collect robust observation data about the state of the rover for setup. This "scenario data" is then used to help track the conditions of rover and set goals for our session. We have collected several simulation scenarios, in addition to live Yggy Toys.
1: Setup the grid
Scenario information from the YG-TY439 can be plotted into a 10 by 10 grid. The console will display the positions of the drone, hazards, and the known mineral resources onto the provided grid.
2: Battery life
We can read the remaining battery life from the YG-TY439 terminal. Battery life is consumed when we execute a stack of instructions. It also has an impact on the available shared memory on the rover. We track battery life on a battery bar with is part of the initial scenario data.
3: Rover instructions
We've successfully transferred and executed the following instructions on the Yggy Toy:
- Forward move the rover forward (based on facing) one unit
- Backward move the rover backward one unit
- Turn right rotate the rover 90 degrees to the right
- Turn left rotate the rover 90 degrees to the left
- Copy treat this instruction as a copy of the instruction directly beneath it (next instruction on the stack)
- Clear mem discard all cards from the stack without executing. The stack is empty but play continues. The resource marker is not advanced.
4: Shared memory
Shared memory allows engineers to defer an instruction would be problematic to put directly on the instruction queue, but may be useful later. The shared memory also allows engineers to coordinate their work.
Scoring System
Points are awarded for efficient and skillful play:
- Stack Execution Points: Cards executed deeper in the stack are worth more (1 point for cards 1-3, 2 points for cards 4-6, 3 points for cards 7-9, etc.)
- Turn Optimization: Adjacent "Turn Left" and "Turn Right" cards cancel each other out and score no points
- Level Bonus: Start with 100 points, lose 10 points for each stack execution. Solve in fewer executions for maximum points!
- Battery Bonus: 3 points for each battery cell remaining at mission completion
The key to high scores is building large, efficient stacks that solve the puzzle in as few executions as possible while conserving battery power.