Manufactoria

S

Stonelesscutter

Guest
A friend of mine was so kind to show me this 'simple' little browsergame called Manufactoria. It's not very sophisticated but fun nonetheless. The objective is to 'program' a robot factory so the mission of the specific level is accomplished. Since there's some people around here who are knowledgeable about computers and/or programming I thought they might find this enjoyable. It's not easy mind you! Well perhaps you brainiacs won't find it quite so hard. Have a go at it, if you dare! :) The game can be found here...

http://pleasingfungus.com/#Manufactoria

The objective is to configure a factory using the available tiles so the mission given to you will be accomplished for whatever random string of dots the game throws at it. The strings are rows of dots in different colours. For example, blue-blue-red, red-blue-red-blue-blue-red, or perhaps just a single dot or even an empty string. Your factory should deliver the expected result in all possible situations. Programmers may recognise the game mechanics as 'if-then-else' statements.



Here's a layout of the game window. I'll give a short explanation of the buttons below.

View attachment 4242



The buttons...

View attachment 4243
This is a green writer tile. When a robot passes over it a green dot is added to the back of the string.

View attachment 4244
This is a yellow writer tile. When a robot passes over it a yellow dot is added to the back of the string.

View attachment 4245
This is a blue writer tile. When a robot passes over it a blue dot is added to the back of the string.

View attachment 4246
This is a red writer tile. When a robot passes over it a red dot is added to the back of the string.

View attachment 4247
This is a branch tile for green and yellow dots. If a green dot is next in line on the string the robot will exit the tile on the green side. If a yellow dot is next on the string it will exit the tile on the yellow side. If there are no dots left on the string it will exit the tile on the grey side. If the next dot on the string happens to be blue or red then the robot will exit the tile on the grey side as this tile has no effect on those colours. You can make the green and yellow exit points switch places by pressing the spacebar.

View attachment 4248
This is a branch tile for blue and red dots. If a blue dot is next in line on the string the robot will exit the tile on the blue side. If a red dot is next on the string it will exit the tile on the red side. If there are no dots left on the string it will exit the tile on the grey side. If the next dot on the string happens to be green or yellow then the robot will exit the tile on the grey side as this tile has no effect on those colours. You can make the blue and red exit points switch places by pressing the spacebar.

View attachment 4249
This is a conveyor belt tile. It's purpose is to transport a robot in a specific direction. It is possible to place a conveyor on top of another conveyor basically creating a fly-over. To do this one must press the 'shift' key once and then place the conveyor. No need to hold down the 'shift' key button while doing so.



All of these tiles can be arranged in 4 directions. The 'W' key points them up. The 'S' key points them down. The 'A' key points them to the left. The 'D' key points them to the right. Also take notice that all tiles can be entered from all directions.



View attachment 4251
This activates the selection tool. With this you can select an area on the playingfield in order to drag and drop tiles within the selection.

View attachment 4252
This activates the deletion tool. I haven't actually used this button yet because the deletion tool appears to be selected by default if no other tool is selected.

View attachment 4253
This is the start button. It will start a run to test if you've accomplished your mission. In case it succeeds you can move on to another level. In case it fails you can give the level another try and all of the tiles you placed will still be there so you won't have to start over from scratch.

View attachment 4254
This button leads to a testing screen where you can give your setup a try by inputting any string of colours you feel like. On the right of the testing screen are buttons to add dots for each colour, a button to remove dots (backspace) and a button to clear the whole string of dots.

View attachment 4255
This button leads to a sort of saving screen. I haven't used it yet, the browser seems to remember the state of the game as you last left it.

There are a few other buttons which are pretty self explanatory. A brief description will be displayed when you hover your mouse over them.



Well I think I've pretty much covered the basics. Give it a try, I'm sure you'll enjoy it. Don't be fooled. The first few levels are rather simple, especially the first one. This is basically to give you the hang of the game elements. Things will soon get much tougher though. Good luck!
 
S

Stonelesscutter

Guest
Robotoast!

The objective is to move robots from the entrance to the exit.

Seriously, come on! You don't need a hint for this one.

Place conveyors between the field-entrance and the field-exit.

 
S

Stonelesscutter

Guest
Robocoffee!

The objective is to only accept the robots when their string starts with a blue dot.

There's only one condition that needs to be tested and red dots don't matter.

Place a blue-red-branch on the field so the robots can enter it from the field-entrance or lead them to it using conveyor(s).
Place conveyors from the blue exit of the branch to the field-exit.

 
S

Stonelesscutter

Guest
Robolamp!

The objective is to accept robots when they have at least three blue dots in their string.

You will need three branches.

Place a conveyor from the field entrance leading to a blue-red-branch.
From the red exit, place conveyors leading back to the same branch creating a loop.
From the blue exit, place conveyor(s) leading to a second blue-red-branch.
From the red exit of the second branch, place conveyors leading back to the same branch creating a loop.
From the blue exit of the second branch, place conveyor(s) leading to a third blue-red-branch.
From the red exit of the third branch, place conveyors leading back to the same branch creating a loop.
From the blue exit of the third branch, place conveyor(s) leading to the field-exit.[
In all cases, make sure that the grey exits of the branches have an empty tile in front of them.

 
S

Stonelesscutter

Guest
Robofish!

The objective is to accept robots that have a string that contains no red dots.

Red dots shouldn't go anywhere, blue dots should.

Place a conveyor leading from the field-entrance to a blue-red-branch.
From the blue exit place conveyors leading back to the same branch creating a loop.
From the grey exit place conveyors leading to the field-exit.
Make sure the tile next to the red exit of the branch is empty.

 
S

Stonelesscutter

Guest
RC cars!

The objective is to accept robots of which the first dot of the string is placed at the end of the string.

There are two possibilities for the first dot and you will need a writer for each.

Place a blue-red-branch on the field and make sure robots can reach it from the field-entrance.
At the blue exit of the branch, place a blue-writer.
At the red exit of the branch, place a red-writer.
Place conveyors from both writers to the field-exit.
Place conveyors from the grey exit of the branch to the field-exit.

 
S

Stonelesscutter

Guest
Robobugs!

The objective is to only accept robots that have a string with alternating colours.

A string starts with either a blue or a red dot.
If a string starts with a red dot, the next dot should be blue otherwise the robot must be rejected.
The dot after that should be red otherwise the robot must be rejected.
In case a robot has an empty string (no dots) it should be accepted.
In case a robot has a string of 1 dot it should be accepted.

A. Place a conveyor leading from the field-entrance to a blue-red-branch(1).
B. At the grey exit of branch 1, place conveyors leading to the field-exit.
C. At the blue exit of branch 1, place a conveyor leading to a new blue-red-branch(2).
D. Make sure there will be an empty tile next to the blue exit of branch 2.
E. At the red exit of branch 2, place a conveyor leading to a new blue-red-branch(3).
F. At the grey exit of branch 2, place conveyors leading to the entrance of branch 3.
G. Make sure there will be an empty tile next to the red exit of branch 3.
H. At the blue exit of branch 3, place conveyors leading back to the entrance of branch 2.
I. At the grey exit of branch 3, place converyors leading to the field-exit.
J. Mirror the entire setup from step C to I by substituting blue for red and red for blue.

 
S

Stonelesscutter

Guest
Robocars!

The objective is to accept robots of which the blue dots in the string are replaced with green ones and the red dots are replaced with yellow ones.

Divide and write.

Place a conveyor leading from the field-entrance to a blue-red-branch.
At the blue exit of the branch, place a green writer.
Place conveyors leading from the writer back to the branch.
At the red exit of the branch, place a yellow writer.
Place conveyors leading from the writer back to the branch.
At the grey exit of the branch, place conveyors leading to the field-exit.

 
S

Stonelesscutter

Guest
Robocats!

The objective is to only accept robots that have a string ending in two blue dots.

You will need 4 loops.

Place a conveyor leading from the field-entrance to a blue-red-branch(1).
At the red exit of branch 1, place conveyors leading back to it's entrance.
Make sure the tile next to the grey exit of branch 1 stays empty.
At the blue exit of branch 1, place a conveyor leading to a blue-red-branch(2).
At the red exit of branch 2, place conveyors leading back to branch 1.
Make sure the tile next to the grey exit of branch 2 stays empty.
At the blue exit of branch 2, place conveyors leading to a blue-red-branch(3).
At the red exit of branch 3, place conveyors leading back to branch 1.
At the blue exit of branch 3, place conveyors leading back to itself.
At the grey exit of branch 3, place conveyors leading to the field-exit.

 
S

Stonelesscutter

Guest
Robostilts!

The objective is to accept robots with the same output string as the input string except with a green dot added at the front and a yellow dot added to the end of it.

You need writers for all colours.

Place a green-writer next to the field-entrance.
Place a conveyor leading from the green-writer to a blue-red-branch.
At the blue exit of the branch, place a blue-writer.
Place conveyors leading from the blue-writer back to the branch.
At the red exit of the branch, place a red-writer.
Place conveyors leading from the red-writer back to the branch.
At the grey exit of the branch, place a yellow-writer.
Place conveyors leading from the yellow-writer to the field-exit.

 

mzzz

Well Known GateFan
lol this seems addictive. Maybe I'll try it out. Kinda reminds me of this dwarf game, where you control the drawfs and get them to prosper or something, I forget what it is called.
 
S

Stonelesscutter

Guest
lol this seems addictive. Maybe I'll try it out. Kinda reminds me of this dwarf game, where you control the drawfs and get them to prosper or something, I forget what it is called.

Is that the one I see people play on their Iphones with the little blue people with pointy white hats?
 
S

Stonelesscutter

Guest
Robobears!

The objective is to accept robots with a string that ends with the same colour as it starts with.

Split, split, strip and split.

A. Place a blue-red-branch(1) next to the field-entrance.
B. At the grey exit of branch 1, place conveyors leading to the field-exit.
C. At the blue exit of branch 1, place a conveyor leading to a new blue-red-branch(2).
D. At the red exit of branch 2, place a conveyor leading to a new blue-red-branch(3).
E. At the red exit of branch 3, place converyors leading back to branch 3.
F. Make sure the grey exit of branch 3 leads to an empty tile.
G. At the blue exit of branch 2, place conveyors leading to a new blue-red-branch(4).
H. At the blue exit of branch 3, place conveyors leading to branch 4.
I. At the red exit of branch 4, place conveyors leading to branch 3.
J. At the blue exit of branch 4, place conveyors leading back to branch 4.
K. At the grey exit of branch 4, place conveyors leading to the field-exit.
L. Repeat steps C to K substituting blue for red and red for blue.

 
S

Stonelesscutter

Guest
Milidogs!

The objective is to accept robots with odd binary strings.

Only strings that end with a blue dot should pass.

Place a conveyor next to the field-entrance leading to a blue-red-branch(1).
At the red exit of branch 1, place conveyors leading back to branch 1.
Make sure the tile next to the grey exit of branch 1 remains empty.
At the blue exit of branch 1, place conveyors leading to a new blue-red-branch(2).
At the red exit of branch 2, place conveyors leading to the entrance of branch 1.
At the blue exit of branch 2, place conveyors leading back to branch 2.
At the grey exit of branch 2, place conveyors leading to the field-exit.

 
S

Stonelesscutter

Guest
Androids!

This is where I'm going to put some stuff about the Androids level later. For now I'm moving on to another level.
 
S

Stonelesscutter

Guest
Roborockets!

The objective is to make sure the blue dots in the string get substituted by red dots and the red ones get substituted by blue ones.

Take a detour.

Place a blue-red-branch(1) and make sure the robots can reach it with conveyors if neccesary.
At the blue exit of branch 1, place a green-writer and make sure the robots go back to branch 1.
At the red exit of branch 1, place a yellow-writer and make sure the robots go back to branch 1.
Make sure the grey exit of branch 1 leads to a green-yellow-branch(2).
At the green exit of branch 2, place a red-writer and make sure the robots go back to branch 2.
At the yellow exit of branch 2, place a blue-writer and make sure the robots go back to branch 2.
At the grey exit of branch 2, place conveyors leading to the field-exit.

 
Top