• Currently 4.7/5
• 1
• 2
• 3
• 4
• 5

# Jahooma's LogicBox

Brightly colored shapes and arrows. Classical music. Devious programming puzzles. They're all key ingredients in Jahooma's LogicBox, a rather apt name for a game involving lots of boxes and logic and made by a developer named Jahooma. Like SpaceChem and Robot Unlock before it, Jahooma's LogicBox is a game for programmers, and a good one at that. At 18 levels including 4 challenge levels, LogicBox is a little short, but Jahooma promises more to come.

### Walkthrough Guide

(Please allow page to fully load for spoiler tags to be functional.)

Jahooma's LogicBox Walkthrough

General Information

• There is more than one solution to every level.

• The screenshots show one of the solutions that will give a "Genius" rating.

• In levels 1, 3, 6, and 8 you will build blocks that will be used later. If you build them inefficiently, your score on the later levels will suffer as well.

Solutions

August 29, 2012 1:56 PM

There was an update posted today that fixed a few bugs and also addressed the problem of Level 8's Genius score being too loose (108 steps instead of the optimum - and required for later levels - 88 steps).

The correct target for Level 8 is 88 steps using 11 boxes.

And for a more general hint, the first thing you should figure out when going for Genius Rank is how many boxes you can use and still get 10/10 for boxes (level 5 in particular was bad about this prior to the update). If you're going under this, you may be able to rework some boxes to just use primitives to decrease the total number of steps. The start primitive in each box DOES count as a step (this is why the optimized rotate box costs 3 steps when used instead of 2)

August 29, 2012 2:44 PM

I don't understand why more boxes but fewer steps is less optimum than fewer boxes and more steps. Because you can get level 8 in 50 steps using 13 boxes:

Start goes to compare.
* Green exits south;
* Red adds star, rotates 1, adds star, moves to next compare.

Second compare:
* Green deletes twice, exits north;
* Red deletes once, rotates three times, exits south

This only works because of the particular test set, but it DOES use many fewer steps!

August 29, 2012 2:46 PM

Although I will say that I am having a hard time figuring out how to

use the asterisks to mark the end of a string

even though I think it should be simple.

Remember that some boxes are actually made up of multiple steps contained within it, so perhaps that may make up for the difference in steps?

August 29, 2012 2:52 PM

I'm just observing that a "better" solution can have MORE steps and fewer boxes. My solution had a lot fewer steps, but a few more boxes.

August 29, 2012 3:01 PM

I got that far. But I can't figure out how to do something like

if first character is an asterisk

which would allow me to

delete the first character and move along

Wait, wait, power of the post. In each loop, do something like this later on:

2. compare2
3. green: delete 1st char and exit

Thanks!

August 29, 2012 3:22 PM

@Adorkable: That tends to happen surprisingly frequently around here. Now if only I could find the "correct" solution to 6 ("only one char type" - I actually ended up hacking up a solution to that that uses a few too many boxes for Genius) and a workable solution to 12 ("Count Zeros", no store/load and no "IsEmpty?" box) and 14 ("Duplicate").

(and as I post this, I actually find a way to shave off 2 boxes and a few steps on Level 10... which doesn't help me as I already have Genius on it)

August 29, 2012 4:00 PM

My genius solution on 6:
D
C1->CY->C1
S

August 29, 2012 4:08 PM

sorry, I have forget to add the spoilers...

It's good, but it's not manufactoria.

A lot of the machines I built worked on the inputs I was given but would not have worked for any input

I really wanted to like this game.
The visuals and music are great - but I absolutely do not understand the game mechanics.

Another classic in the making. Some corners could be ironed out but overall 5/5 from me.

Can't wait for more content!

Thanks for the hard work

August 29, 2012 10:44 PM

Does this game not save progress if you leave and come back, or did something just go wrong on my end? I beat several levels this afternoon, but now it wants me to start over on level one; no other levels are unlocked anymore. It was fun, but not fun enough to redo everything.

The obvious comparison here is going to be manufactoria. I think this game was an interesting take on the same premise. What I liked here was the idea of taking some of the common tasks and encapsulating them inside of "higher order" blocks.

But the one thing that killed it for me was the "add *". The special "never an input, cannot be incremented" character should make the puzzles solvable, but it doesn't because you have no way to detect it. There is no way to uniquely pull out a "**" that you inserted instead of the "oo" in the middle of "Joohma". You could instead insert "***" but that to is vulnerable to the word "jooohma" (and a kludge to detect in a loop). What this game needs is an asterisk conditional block.

August 29, 2012 11:37 PM

@IIAOPSW:

The asterisk is detectable under certain circumstances.

If there's another asterisk next to it.

Insert an asterisk. Use "compare 2" to compare it to the next character which will also remove it and that will give you a branch to remove the next character if you want.

If you're specifically looking for a pair of asterisks...

You can do the same thing just described to find the first one, and a compare afterwards to find the second one.

It's a little involved, but it doesn't actually take up that much space.

IIAOPSW: There may not be a single block that tests for asterisks...

... but if you know for certain that there is an asterisk at the start of your input,

for instance, if you JUST put one there as your previous action...

it should be pretty easy to see if the second object in your input is also an asterisk.

Good Luck!

As a note - this hits a 4/5 for me because the game doesn't let me skip right to the answer. It takes a LONG time watching these animations and listening to the sounds, especially when you're one point away from genius level on something like, say, level 12...

Ugh... still can't figure out 12. I'm one point away in steps taken... so for some questions:

Do I NEED to use copy? I found a very cheap answer that doesn't use it and also uses only 7 blocks... not sure what I'm missing from that, or if that's the right direction.... But on top of that, should I continue trying to optimize solutions that increment every character, or should I look for one that drastically reduces steps by not doing so. I've had a few ideas, but the problem is that testing for the final zero is a huge pain!

I'm mostly looking for nudges in the right direction here, so if you have some I'd be quite grateful!

Underneath the "go!" button, one of the options is a playback speed control. Some of the levels still take a while on speed 3, but less long than they do on speed 1.

This has the potential to be as great as Manufactoria, but it's got a ways to go to get there, both in level creation and in design tweaks.

As a programmer I both love and hate this game. And both for the same reason - it defies almost all programming principles except precious few.

I love this because it forces me to think outside the box. I'm not searching for what would be the "true" optimal solution, I'm searching for the one defined within the confines of the game mechanics. I'm also restricted to a really weird subset of functions. This can sometimes be quite a bit of challenge, and I enjoy it.

However, this also bugs me about the game. The 2D plot does not allow easy branching without placing unnecessary redirects (which the game sees as suboptimal), and the usual principles of testing and debugging are all but impossible. Trying to use this game as a programming teaching tool would be disastrous for everyone involved.

So all in all, this will hardly be one of my favorite games, but it's neat find, and a type of game I'd like to see more of.

August 30, 2012 12:19 PM

I am missing a bit on 5 and 8.

5: 4 boxes, 60 steps. Need fewer steps.

Start pointing right to Compare.
Compare with Green pointing up, Red pointing down to Copy.
Copy pointing left to Rotate.
Rotate pointing up to Start.

8: 11 boxes, 125 steps. Need fewer steps.

Put an asterisk at each end of the string, and check to see if those are the only characters. If so, strip them out and exit green. If not, keep rotating the word until the first two characters are asterisks, then strip them out and exit red.

Any ideas?

August 30, 2012 12:45 PM

@Alkalannar:

5: You are all over it! I'm sure with the power of posting you will have it solved before you read the following:

You've got all the right stuff, just not the right moves.

Do you *really* need to check if the first character is doubled?

11: not there yet myself...

When you're reusing a previous solution in a later puzzle, the efficiency (steps required) of the submodule matter, but the number of blocks the submodules uses doesn't.

As a result, it might be helpful to optimize early puzzles for efficiency at the expense of blocks, use those solutions to solve later puzzles, then go back and find "Genius" solutions to the early problems later.

@Alkalannar:

I can get #8 in 12 boxes (which is one too many, unfortunately) and only 96 steps. Curious as to where the overlap between our two solutions is, because we're taking the same approach.

You can do it without any rotation. 2 copies then delete then compare

August 30, 2012 1:20 PM

Need some help optimizing #8, got it to 11 boxes(+10), 125 steps(+9!!). What's the genius # of steps? I've got to be close!

Add*,Rot,Add*, then Comp2- green(i.e. started w/empty string), delete remaining * and exit north.

If Comp2 exits red, then we have a string terminated by *. Keep moving letters to back until we match the terminating *:

Rot
Comp2- green, delete second * and exit south
- red, redirect back to Rot at loop start

I've actually done it in 101 steps, but it will only work for odd-length strings. That is philosophically repugnant to me, a solution acceptable only to mouth-breathing barbarians.

August 30, 2012 1:25 PM

@Alkalannar: Whoops, read your puzzle number wrong- looks like I'm in the same boat on #8. My algorithm is the same as yours.

@brspies: Does your solution work on arbitrary length input? As I mentioned above, I can get it in 10/101 (96 is pretty impressive), but only for odd lengths.

My #8 solution (1 too many boxes, 96 steps):

add*, copy, compare (if green, delete x 2 and exit green), rotate, compare (if red, back to previous rotate so it keeps looping until its green), add*, compare2 (if red, back to that same rotate so its a little 4 piece loop), delete x2 and exit red

@Max O'Lydian:

Haven't had the time nor patience to test that sort of thing, but I don't think it's odd/even dependent (see previous post for the nuts and bolts).

August 30, 2012 1:41 PM

@Max: d'OH!

@brspies: Here's my #8 algorithm:

If Compare2=Green: Delete, exit Green.

@ samdulmage

That does work, not sure why I didn't think of it, but its still a bit of a kludge. The whole point of * is using it to pick out where you are in the string. The thing that separates this from manufactoria is blocks encapsulating common, tedious actions. Using two blocks just to detect * is self defeating IMO.

August 30, 2012 1:45 PM

@Alkalannar, brspies:

Got it! 11/106

Some progressive hints:

brspies solution to #5 without using rotations is useful.

OtherBill's observation that the efficiency of submodules is important, but the number of modules within is not.

Though (Copy,Delete) uses one more block than (Rotate), it is a bit more efficient.

Complete spoiler:

Replace any (Rotation) in a loop with a (Copy, Delete) pair.

Looks like #8 is a case where you can save steps by adding boxes (to reduce the number of times it goes through a loop, for example).

Since the "red" loop from that first compare is the one that happens over and over and over, that's where you need to optimize. With my setup using compare2 at the first junction instead of compare ended up adding steps, because it involved extra add*s each time the loop cycled, just as an example.

Also, add*/rotate/add* can be accomplished with just add*/copy. Saves some steps since rotate is a multi-step object, no?

@Max O'Lydian:

Based on your previously described solution (11/125?) and later remarks, I seem to be getting it down to 10/94:

add*/rotate/add* becoming add*/copy is where I save the extra item, I think. You're right in realizing rotate vs. copy/delete is a big step saver

August 30, 2012 2:03 PM

@Max:

I am....astounded.

It used the same number of blocks in my #8, because I had a redirect. Taking that out to do your substitution meant I had the same number of boxes, and that also got #13 up to genius level.

Now...number 18.

August 30, 2012 2:34 PM

And TPOP strikes for #18!

Now for challenges. ANd boy, those are tough!

#12 and #14 are the only two I can't ace, and my solutions to each are woefully inefficient (22 and 28 boxes respectively, although oddly the 22-box solution for 12 gives me an acceptable/+10 number of steps). Fun to work through though.

I have my #8 down to 10/94, although I also have a 13/79. Even though that larger solution isn't a "Genius Score", the difference in efficiency there drops my #13 from 8/2106 down to 8/1795.

August 30, 2012 6:24 PM

AAAHHHHHHH! Laptop slept, when it woke up I had to refresh the page and lost all my progress! I had just figured out the "Count the zeros" in my head on the way home, too!

Crap. Hope I can remember all my tricks...

The game saves your progress automatically IF you have allowed Flash to store enough data on your computer for the domains on which we host games here at Jayisgames.com. Right-click, choose settings to increase storage capacity.

August 30, 2012 6:40 PM

Thanks, Jay- I'm sure it's on my end.

After solving all "normal" levels, I went back to the challenges. I remember #6 being a piece of cake the second time around.

This third time around, though... seems a little harder than I remember!

August 30, 2012 7:31 PM

So I solved all the puzzles, does anyone know of any quick way to upload screenshots to the internet so I can make a walkthrough?

August 30, 2012 7:59 PM

Solutions to Non-challenge levels
(still working on them)

Level 2

Level 3

Level 4

Level 5

Level 7

Level 8

Level 9

Level 11

Level 13

Level 15

Level 16

Level 17

Level 18

August 30, 2012 11:43 PM

For anyone stuck on twelve, the genius score requires

8 boxes (7 plus your start box), and took 1169 steps for my solution

If you have a solution that works, try keeping the same logic but rearranging the boxes on the board. You can solve this level without any redirects with clever placement. Also, moving boxes around can help you spot places with redundant logic.

For some more hints on how to solve 12, in order of increasing spoilery-ness:

Yes, you will have to increment every digit in the string

You'll use every block EXCEPT the redirect at least once

Put the input straight into a comparison right away to detect the just one digit case. This comparison can be reused in part of the loop for the other cases

You'll have two loops. One to increment every digit, and the second to determine when you've whittled the string down to just the final count

And finally, the solution:

``` Delete->| C->no. | ....Delete.....| ........| | .....| ...... | ......|... ........| V .....| ...... | ......|... ........| yes....| ...... V ......|... --------+--------+----------------+----- ^.......|........| ........ ......|...^ |.......|........| ........ ......|...| |.......|........| ........ ......|...| Copy....|<-Incr..|yes<-Compare->no| Incr --------+--------+----------------+------ ........|........|....Start.......|```

After fiddling with this some more, I've really come to hate the entire "testing" design choices. It's all kinda clumsy, inefficient and occasionally frustrating.

I really think the player should be allowed to choose which test to run, instead of being forced to sit through all the tests every time you run the "program". Also, a step-by-step feature with a "step backward" button would be greatly appreciated; blink-and-you'll-miss-it debugging procedure might be fun for some but I've come to despise it, especially if my "program" brakes on the last test.

Anyone have a firm count of the box limits for #14? And step limits I guess, too?

Nevermind, ended up getting it with 16/422 (I can do under 400 with 17).

Amazing how many boxes you can save by optimizing your * checks

August 31, 2012 7:34 PM

My high scores :

1 : 3 boxes 9 steps
2 : 4 boxes 30 steps
3 : 4 boxes 12 steps
4 : 3 boxes 52 steps
5 : 4 boxes 54 steps or (5, 39)
6 : 5 boxes 78 steps
7 : 5 boxes 21 steps
8 : 10 boxes 137 steps*
9 : 7 boxes 162 steps*
10 : 10 boxes 310 steps
11 : 10 boxes 40 steps
12 : 7 boxes 1244 steps
13 : 8 boxes 1795 steps
14 : 13 boxes 412 steps or (15, 333)
15 : 16 boxes 54 steps
16 : 7 boxes 429 steps
17 : 7 boxes 628 steps
18 : 7 boxes 758 steps
19 : 14 boxes 3116 steps or (16,2176)
* further levels are not done with these boxes

Does someone have higher scores than that ? They all give (+10/+10).

does anyone have an optimized solution for level 19? Best I could get was 20 boxes, 4236 steps.

August 31, 2012 11:39 PM

I got 14 boxes 3116 steps and 16 boxes 2176 steps

i know that but how did you shorten it?

My algorithm is :

Verify if the word is empty. If empty, exit.
If not, then :
- delete the first letter in the word while remembering it
- redo algorithm on the output.
- replace the first letter and exit

edit because of my English :

My algorithm is :

Verify if the word is empty. If empty, exit.
If not, then :
- delete all occurrences of the first letter in the word while remembering it
- redo algorithm on the output.
- replace the first letter and exit

We found a (17,1959) for level 19 with the previous algorithm.

and a (16,2158)

sorry for the double message :(

Thanks for the assistance. Got (13, 3472)

Turns out

instead of keeping the first letter in storage I kept it in the output separated by *, forcing me to waste steps removing it

September 1, 2012 7:04 PM

@MmeTurbulence

There's a mistake in your description.
You write

You'll use every block EXCEPT the redirect at least once

but actually

you don't use the rotate.

Still, many thanks for the tip!

Jahooma's LogicBox Walkthrough

General Information

• There is more than one solution to every level.

• The screenshots show one of the solutions that will give a "Genius" rating.

• In levels 1, 3, 6, and 8 you will build blocks that will be used later. If you build them inefficiently, your score on the later levels will suffer as well.

Solutions

Wait a minute! In @cheeko's walkthrough, he includes Level 19! I can't find it! How do you get to it?

@Thomas Chick

Refresh the page.
If you are afraid to lose your progress, check in your Flash appdata folder that you have your save (if you play here on JIG, they should be in a folder named images.jayisgames.com)

September 2, 2012 6:47 AM

I refreshed twice and it still won't spit out the level 19. Now what?

Try refreshing once more. The game has been updated here and now includes Level 19.

New version uploaded! Now there are 19 levels.

New Update :
-Made Start and Redirect take 0 steps!
-The above change changes the scoring on every level, run your tests again to get your updated score.
-Tightened the scoring a lot on most levels! It is now much harder to get all geniuses. Also, if you get a 10 on your steps score, you are definitely good for using that box on later levels to get max score.

Level 4 isn't optimized. Please update to:

[start] points north, above [start] place [compare 2] green south, red north. This is the optimum box quantity for this level, and nets a genius score.

Thanks!

Good call! I forgot the Start could be used as a Redirect. We'll get that fixed.

September 5, 2012 3:26 AM

Level 12 can be solved with an entirely different logic as well

The main loop looks like this:

1. increment
2. rotate
3. compare
--- yes: rotate and goto 3
--- no: delete and goto 1

so you end up only incrementing the same digit repeatedly, rather than all of them. I watched for the end by fudging step 2 - in the middle you can check if copying to the end will make a compare succeed. I optimized it to 10 boxes, which is enough for a score of 19, but not 20.

It's a *lot* faster though.

Genius Solution for Level 8:

Just like the solution in the walkthrough except:

Replace "Compare" with "Compare 2" (red/green exit stay the same)

Replace the "Delete" after the red exit with "redirect"

Delete the second "Delete" after the green exit

Genius Score for Level 10:

"Add *" #1 -> "Rotate" #1
"Rotate" #1 -> "Add *" #2
"Add *" #2 -> "Compare2" #1

"Compare2" #1 green -> "Delete" #1
"Delete" #1 -> North exit
"Compare2" #1 red -> "Compare" #1

"Compare" #1 red -> "Rotate" #1
"Compare" #1 green -> "Compare2" #2

"Compare2" #2 red -> "Compare" #1
"Compare2" #2 green -> "Redirect" #1

"Redirect" #1 -> "Compare2" #2

September 15, 2012 6:48 AM

I have completed all levels on genius except one. 19 is the only one i have not done. so is there someone who has completed it for genius. Here's my score so far:

Boxes/Steps

1.3/6
2.4/18
3.4/8
4.2/32
5.4/36
6.5/71
7.4/15
8.10/110
9.7/124
10.9/230
11.10/36
12.8/1234
13.8/1750
14.13/330
15.16/48
16.7/414
17.7/618
18.7/685
and currently for 19.16/2651 which is +9/+9.
Im 2 point off a perfect score.

September 15, 2012 7:02 AM

ok It's now down to knocking down some steps
I have 15/2715 currently and it's 10/9 And all because of removing a delete at the start.
still can't Knock down the steps.

Finally got the revised level 19 super genius

start-->isEmpty
isEmpty-green->out
compare2(2)-green->redirect->compare2(2)
compare2(2)-red->rotate

Well the walkthrough dosent have perfect soloution and heres a spoiler

the first rotate can be thrown awa

one of the loops can be replaced with compare2

sorry mine above is for lvl 10

September 18, 2012 8:48 PM

To get genius on five remove the redirect and replace it with the start box.

I'm learning a lot about playing the game from the comments here, but no one has touched on an issue of pure curiosity for me--why do you level up? Is there a purpose that relates to the game? So far, I can't find any reasoning for it. It seems grinding for perfect scores only gives you the one or two points you're missing the first time around, so you grind for the shield, not the level-up points. Is it pertinent to the game? (as an RPG fanatic, I want it to mean something!)

@dsrtrosy See end of Submachine 3.

It's really nice to see that other people are doing programming games as well :D. I really enjoyed this as it got me scratching my head for several evenings... good job!

December 12, 2012 5:20 PM

I would have had Level 9 in the bag if I had just thought and figured out asterisks have no successor.

got (11,6393) and (12,2619) (genius) on level 19

May 15, 2013 9:19 AM

5 level is bad,in input are all different characters,it should be also characters which are repeating,i solved it using only 4 boxes,and using COMPARE which didn't check condition if the characters are the same.

June 22, 2014 4:02 PM replied to

While I appreciate the testing results popping up after each testing segment, having to click to continue to the next segment is mindnumbingly pace-killing.

Please consider creating a Casual Gameplay account if you're a regular visitor here, as it will allow us to create an even better experience for you. Sign-up here!
• You may use limited HTML tags for style:
(a href, b, br/, strong, em, ul, ol, li, code, spoiler)
HTML tags begin with a less-than sign: < and end with a greater-than sign: >. Always. No exceptions.
• To post spoilers, please use spoiler tags: <spoiler> example </spoiler>
If you need help understanding spoiler tags, read the spoiler help.
• No link dropping, no domains as names; do not spam, and do not advertise! (rel="nofollow" in use)

Limit to the last 5 comments