STIM Usage and FAQ
Playing PyAr/STIMThe goal of STIM is to build a machine that performs a given calculation.
In the editor you will find some steam inputs and outputs. Usually there will be one result output and one special output in which you must signal that the machine has finished its work. So, in every machine that you make, be sure to send 1000 psi of steam to the "done" socket. To do that, use the boiler component (the one that's below the rotate tool).
One of most important things in these machines is that you have to control their timing. You will surely want to make complex connections, so keep in mind that EACH component (except pipes) has a delay of one step, and you must signal the 1000 psi on the done socket only after you're sure that the right output has arrived to the result socket!
As an example, imagine that you want to build a machine that simply sends A to the A socket, and want to see how it works. You'll have one A input socket on the left of screen, so put a pipe from it up to, say, half of the screen, then connect a gauge to it, and put another pipe from the gauge to the A output pipe on the right of the screen. But, that's not all. You should also connect a boiler to the done pipe on the right, and also delay its output, to make it arrive to the "done" socket when A has passed the gauge. The easiest way to make it is to also connect a gaugue to the boiler and then connect it to the done pipe.
Testing the machine
When you finish a machine you can run some system tests with the "test" button, and you can also debug it. To do that, press the Start button [> and then go step by step with the Step button [][>. You'll see how the steam flows on the pipes.
When you think you have made the right machine, run Tests, and they will get you to the score screen if your machine works fine!
FAQ
Q: why do I get this exception: File "editor.py", line 595, in init self.icon = pygame.transform.scale(image, image.get_rect().fit(0,0,64,48).bottomright) AttributeError?: fit
A: You absolutely need pygame 1.7, or at least 1.7.1 :-) python 2.4 also.
Q: How do I rotate a pipe?
A: The only components that can be rotated are the Elbows and Tees. Instead of rotating a pipe, delete it and make a new one.
Q: How do I make a vertical pipe of length 1?
A: it's impossible right now.
Q: I made a machine that's fine, but doesn't pass the tests, what's wrong?
A: Be sure that you are sending 1000 psi to the done pipe, when the result is on the output pipe, and not before!
Q: How do I get 1000 psi to the done pipe?
A: Use a boiler (the component below the rotate tool).
Q: How do I move a component?
A: You can't with this version.
Q: How do I play this game?
A: python game.py (if python 2.4 or newer is not the default on your system, replace it with python2.4 game.py..)