News:

SMF - Just Installed!

Main Menu

Wait, what? I don't get it. *MINOR SPOILERS*

Started by Karl Voskuil, February 13, 2015, 10:45:16 AM

Previous topic - Next topic

Karl Voskuil

The game doesn't offer a very good introduction to what's going on, or what you are trying to do.

Here I'll show a complete solution to the first level, and annotate each part of it.



1) The green platform here is the official starting point of the track.

2) Upon pulling out of the station, Flippy immediately encounters a forked track segment. The switch is turned to the curved side, so Flippy curves to the right.

3) The switch is linked to the input labeled "A". When two switches are linked, their switches flip together.  It's a little hard to see, but behind the big A the input switch is switched the same direction as the forked track segment.  Let's call that switch position 0, by convention.  Straight is 1, because 1s are straight lines. Curved or angled is 0, because 0s are curved.

4) So now we get to the point. The goal of the level is to build a track so that if A starts out 0 then Flippy will set X to 1, and if A starts out 1 then Flippy will set X to 0.  Currently A is 0, and Flippy went off to the right.

5) When Flippy arrives at (5), it will be coming straight into the track join.  Coming in like that flips the switch to be straight: value 1. Well, great!  That's what we wanted. A was 0, and that made Flippy flip X to 1.

6) But will it work the other way, too? If A is 1, Flippy will go straight, taking the path at (6). In that case, it enters the track join at (5) from the curved direction, which will set the switch accordingly: value 0.

7) When you think your track handles all possible inputs, tap the goals button. The position of Flippy and the value of the inputs don't matter at this point, because the game will simulate all the possible inputs. For each input, it will start Flippy at the starting platform, and see if the outputs are set correctly once Flippy gets to the end of the track.

8) By the way, the links are visible because linking mode is on.  When linking mode is off, the links are still there, but they are hidden.

I'm not totally sure this explanation will help everyone.  If you figure something out that helps you, please mention it below!  Your insights will probably help others better than mine can.

bbykerjames

This is very helpful.  To me the most important thing to understand is the function of track sections that Flippy flips when it goes through the junction, as opposed to those where Flippy follows the direction of the switch (track splits vs. track merges).  Also, it's useful to note that merges don't have to be connected to an input.

One other question / thought:  I'm not sure the input/output labeling is useful to me.  I think I understand the difference:  One is a switch where Flippy goes in and the other is a switch where Flippy goes out, but what if they were just all switches connected to result thingies (A,B,X,Dongle,Bird,Flubber, whatever)?  Aren't we really just trying to get thingie Bird to be in state 0 if thingie Dongle is in state 1 and thingie Flubber is in state 0?  Then they could have their own little graphics, too.

Of course, I've only been successful with two levels so far, so I'll probably understand this a little better after I do some more goofing off during work.

Karl Voskuil

Quote from: bbykerjames on February 13, 2015, 12:03:24 PM
One other question / thought:  I'm not sure the input/output labeling is useful to me.

The distinction is only needed for making the table in the goals screen: The game runs a simulation where inputs take on all possible values, and then the train runs the track, and then outputs are read off as the "results". But yeah, other than on the goals screen, there's no difference.

It would be nice if you could toggle it: it's just a "readout" (not an "input" or "output), and then you can toggle whether the simulation considers it an input or output.

Then you could switch all inputs and outputs and run the circuit backward, for fun.  (Fun?)

Maybe anything labeled A-N is considered an "input" by the simulation, and anything labeled M-Z is considered an output.