Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Lunar Logic

Program tiny rovers to do your bidding! Or rescue stranded astronauts - your call. · By jahuth

Walkthrough (Spoilers)

A topic by jahuth created Oct 06, 2023 Views: 60
Viewing posts 1 to 1
Developer (1 edit)

Since the game in it's current state might be a bit confusing, here are a few tips to play through the whole game as it stands currently.

The solutions for each cave can also be accessed in game when using the select level function: after loading a level, select the document at the very left by pressing the left cursor key. Press X to see solution. The solution is only available in freeplay or level select modes.

0. Play through the tutorial to get familiar with the controls

The Tutorial will teach you to open and close the remote control to move around (O when the remote is in focus) and how to run a program. Keys that don't advance the tutorial at each stage are disabled.

To advance in the tutorial open the remote control with O, navigate to one of the plants with left, right and up and then water the plant by holding the down button.

Close the remote with O and select the first program with the arrow keys. Press X to execute the program. This makes one step towards the nearest plant, but doesn't reach it.

To edit the program to water all plants, add a JMP instruction to the last line by pressing the right button until the JMP instruction on the right is selected with a golden arrow. Hold X and press left to add the instruction to your program. Hold X and up or down to move the instruction up or down in the program. Once the JMP instruction is at the end of the program, close the editor with O and press X to start the program.

1. The first cave

Once you awake on the Mars surface, enter RC mode and navigate to the top most cave. Hold the down button to enter the cave.

Before advancing into the cave, you have to chose a program to execute as your radio control will be cut. In this first cave, the default program in slot A will go 8 units forward (FWD8), which is exactly what we need!

Press right to select program A and then X to activate the two green arrows which indicate that the program is toggled to run. To execute the selected programs, press left to select the remote control again and hold O to start. When you reach the crew member, hold the down button to extract together with the crew member. You will receive some tokens as rewards.

2. The second cave

On the way to the second cave, make sure to collect some of the scraps of paper on the ground. Enter the second cave again by holding the down button. The crew member is now further away, so we will have to edit the program to reach them.

If you fail to reach the crew member, either hold down the down button to extract and enter the cave again, or select the remote and hold O to reset to the start.

You will need 6 FWD8 tokens (each of them advances by 8 units), or one FWD token that accepts a parameter to reach the crew member in this case. To edit the parameter, select the number after FWD with the arrow keys and press X and up/down to adjust the value. Set it to e.g. 48 to reach the crew member in this cave.

If you do not have enough FWD8 tokens, go back to the surface and look for more scraps of paper.

Solution: FWD8;FWD8;FWD8;FWD8;FWD8;FWD8;

3. The third cave "Loop Fwd"

The next cave can be solved either with collecting more FWD8 tokens, or using one JMP instruction at the end of the program. JMP instructions have a symbol parameter to jump to a specific label - if there is no label with this symbol, then the instruction will jump to the start of the program.

Solution: FWD8;JMP;

4. Cave "for loop"

This cave requires some turning, either R90 (turning 90 degrees to the right) or R45 (turning 45 degrees).

There are different ways to solve the cave, but an elegant way is to implement a for loop that will stop after a number of iterations:

Solution: INT 5; LABEL ★;FWD8;FWD8;R45;DEV;JNZ★

But an endless loop can work as well if you add a SLEEP instruction in the loop that gives you enough time to hold the down button while close to the crew member. You can extract at any time, even when a program is running, but if you move too fast, you might not have time to grab the crew member.

5. the fifth cave

In this cave you will rescue another functioning rover that lost signal. The solution can either be made from going forward, turning and going forward, or you can use the DIR? command to turn towards the robot and drive directly to it and even stop when the distance is smaller than 4:

Solution: DIR?😐;L#;FWD8;DIST?😐;JGT:4,★

Note: Each symbol corresponds to some objects in the game world. The documentation cart has a table that lists what symbols means what. A screenshot is also here on the itch.io page.

If you do not have those token, a simpler solution is:

Solution: FWD8;FWD8;FWD8;FWD8;L90;FWD8;FWD8;FWD8;FWD8;

Once you solved this cave, you can switch between the two rovers and also use the programs that were already stored in the other rover.

6. the fifth cave: interact

What makes this cave a bit tricky is that the crew member is not located at an edge. This means we will have to stop exactly where they are, add a SLEEP instruction to wait in each loop, or we can use the INTERACT instruction in each loop to try to automatically extract the crew member.

Solution: LABEL★;FWD1;INTERACT;JMP★

Note: currently, there is a small bug that will have you re-enter the cave. Just exit the cave again.

7. turn left

This cave is similar to an earlier one, except now there is an obstacle between you and the crew member and the crew member is not at the edge of the cave. So the best solution is to stop exactly where they are.

Solution: fwd8;fwd8;fwd8;fwd8;l90;fwd8;fwd8;fwd8;fwd8

8. Curve

This cave has a long obstacle that separates you from yet another rover. One solution is to drive a wide circle around the cave.

Solution: LABEL★;FWD8;R 10;INTERACT;JMP ★

9. Spiral

This cave is the most challenging for now, even though it can be solved with the same basic commands as the other caves.

One possible solution, which is a bit more efficient in the number of instructions, is to trace a spiral that increases in radius. This version uses a nested loop.

Solution: 

INT 5;LABEL ◆;PUSH;LABEL★;DEC;FWD 2;JGT 0 ★;R 45;POP;ADD 2;JMP ◆;


10. What now?

Once you completed all the caves, you have won the game (for now)!

The freeplay mode and level select allow you to use all instructions without limits. 

Try implementing a program that will collect paper scraps autonomously!

Or trace some shapes in the sand or try to solve the caves again with more creative solutions. What happens when you run two programs at the same time?

And if you are really curious, download the cart image and take a look at the source code! Implementing new caves is not that intuitive, but also not super hard given the examples. If you have questions, I'm happy to answer!

Happy roving!