Table of Contents Show
All solutions for completing the game and guidance for obtaining 100% achievements!
Marvellous Inc. is an asm-like programming game with a total of 48 levels and 18 achievements. Almost all of them are story related or can be done at any time. Only one achievement is missable.
Important Notes:
- You will receive tasks in you mailbox. Open a mail, scroll down and click on “reply” to start a level.
- Sometimes, you have to wait for a few seconds to receive an email.
- Never delete emails – always reply if possible!
- Choices after puzzles are irrelevant.
- The tasks and solutions are clustered regarding their clients. Press “Ctrl” + “F” to search.
- You can paste code ingame with “Ctrl” + “V”.
- You can replay all levels at any time.
Achievements
Story
Baby Robot Steps
Finish your first puzzle
Golden Star
Complete the tutorial
Party Boy
Attend Paul’s houseparty
Senior Employee
Complete act 1
The Price of Progress
Complete act 2
EOF
Complete the main game
Endings
Better Years to Come…
Send proof from the inside
A New Dawn]
Burn the evidence
Levels
I Got You Bro
Complete puzzle ‘Simple Sort’
Home Decor
Complete puzzle ‘Home Improvement’
Challenges
Lord Commander of the Division’s Watch
Complete challenge puzzle ‘Small Division’
Master of Optimization
Complete challenge puzzle ‘Division II’
Sorting Doctor
Complete challenge puzzle ‘Hardester Sort’
Deaths
Just replay any level and use:
walk
I, Dead Robot
Take an innocent robot’s life away
Spilling Oil
Kill 10 robots
Mechanical Genocide
Brutally murder 100 robots
Random
Play with bot “Tammy”. You will get a random bot at the beginning of each level and after failing it.
One of a Kind
Receive a most peculiar robot
Missable
Reply to the “This is your oportunity” email to unlock the “Decryptor” level – do not delete it.
Best Programmer in the World
Complete every puzzle in the game. Congratulations!
Automated Introduction System
Hello World
walk west
walk north
walk east
Going all the way is not always good
walk north 5
walk east
Changing Perspective
walk east
walk north
walk east 7
turn counter
DO YOU EVEN LIFT?
run: walk north
walk south
jmp run
Basic Firefighting
walk north
pickup
drop east
walk east
pickup
walk
drop south
walk west
pickup
walk east
walk south 1
drop
walk
walk west
Basic Programming
walk north
walk east
addOne: add 1 [0] 0
write [0]
jmp addOne
Sequence Separator
walk south
green: read 0
jgt [0] 0 red
jlt [0] 0 blue
red: walk east
write [0]
walk west 5
turn south
jmp green
blue: walk west
write [0]
walk east 5
turn south
jmp green
Squaring
walk west 7
walk north 3
turn west
read [0]
mov [0] 1
squaring: add [1] [2] 2
jeq [0] 0 running
sub [0] 1 0
jgt [0] 0 squaring
running: walk east
write [2]
walk west
read [0]
mov [0] 1
mov 0 2
mov 0 3
jmp squaring
Fergus Gerhard Jacobsen
Bucket Mover
bucket: walk east
pickup
walk west 11
drop
jmp bucket
Advanced Bucket Mover
walk east
walk south
walk east
walk north
walk east
walk south
walk east
walk north
walk west
walk south 10
walk east 1
turn north
pickup
walk south 1
drop
walk east 1
walk north 1
pickup
walk south 1
drop
walk east 1
walk north 1
pickup
walk south 1
drop
walk west
walk south
walk east 2
walk north 1
walk east 3
walk south 1
walk east 1
walk south 1
walk east 3
walk north 7
walk south 1
walk north 1
walk south 1
walk north 1
Interior Design
mov 8 1
mov 7 2
pickup
paint: turn west
walk [0] west
pickup
walk [1] east
walk [2] south
drop
sub [2] 1 2
walk north
walk [1] west
jeq [2] 1 other
jmp paint
other: mov 2 1
mov 7 2
jmp paint
Firefighting
mov 7 0
bucket: pickup
walk 1 east
jeq [0] 0 fire
turn west
drop
turn east
sub [0] 1 0
jmp bucket
fire: drop
walkc 1 west
add [1] 1 1
pickup
walk [1] east
jmp fire
Paul Verkeufen
Guess the Password
walk
write 3
walk east
walk south 3
walk east
write 2
walk south 2
turn east
write 2
walk south
walk east
walk south
walk west
pickup
walk east 14
drop
walk east
True Democracy
loop: walk south
mov 0 1
mov 0 2
read 0
count: read 1
sub [0] 1 0
jeq [1] 1 yayIn
jeq [1] 0 nayIn
jeq [0] 0 result
jmp count
yayIn: add [2] 1 2
jeq [0] 0 result
jmp count
nayIn: sub [2] 1 2
jeq [0] 0 result
jmp count
result: walk north
jgt [2] 0 yayOut
jlt [2] 0 nayOut
write -1
jmp loop
yayOut: write 1
jmp loop
nayOut: write 0
jmp loop
Cleanup on Aisle 5
clean: walk east
pickup
walk east
walkc 0 north
walk [0] south
jeq [0] 1 up
drop
jmp clean
up: turn north
drop
jmp clean
Advanced Firefighting
mov 9 0
mov 3 1
circle: pickup
turn clock
turn clock
walk [[1]]
drop
add [[1]] 2 [1]
sub [0] 1 0
jeq [0] 0 step1
turn counter
turn counter
walk [[1]]
jmp circle
step1: jne [4] 0 step2
walk 1 east
turn counter
mov 9 0
mov 4 1
jmp circle
step2: walk 8 north
walk 1 west
turn south
mov 9 0
mov 5 1
jmp circle
Home Improvement
pickup
a:read 0 right
b:add 1 [3] 3
jne [3] 19 c
mov 0 3
add [4] 1 4
c:sub [0] 1 0
jgt [0] 0 b
read 0
d:pickup left
add [4] 1 1
walk [1] down
sub [3] 1 1
walk [1] right
drop
walk left
walk up
add [3] 1 3
jne [3] 19 e
mov 0 3
add [4] 1 4
e:sub [0] 1 0
jgt [0] 0 d
jmp a
Karl Franz F. L. von Linz
Would you kindly?
walk right
Hacking Forensics
walk
a:read 0 left
add [0] [1] 1
walk 1 down
add 1 [2] 2
jlt [2] 21 a
sub 230 [1] 0
walk 8 right
walk 10 up
write [0] right
Ragged Fuhrers
Decryptor
a:read 0 left
read 1
read 2
jeq [1] 0 f
jeq [0] 0 e
jeq [0] 1 f
mov 1 3
mov 1 4
mov 1 5
b:add [4] [3] 3
add [5] 1 5
jlt [5] [0] b
mov 1 5
c:jlt [3] [2] d
sub [3] [2] 3
jmp c
d:mov [3] 4
sub [1] 1 1
jgt [1] 0 b
write [3] right
jmp a
e:write 0 right
jmp a
f:write 1 right
jmp a
Diego Lorenzo Vega
Dodge the lasers
green: walk east
up: walk 8 north
wait: jeq [0] 3 more
add [0] 1 0
jmp wait
more: turn east
turn north
walk 2 west
walk 1 east
turn north
go: walk 3 west
walk 1 east
jmp go
Chessmat Painter
pickup
circle: turn west
pickup
jeq [1] 13 last
walk [1] south
walk [0] east
drop
walk [1] north
walk [0] west
add [0] 2 0
jge [0] 12 change
jmp circle
change: add [1] 2 1
mov [4] 0
jeq [1] 14 remove
jmp circle
remove: mov 1 0
mov 1 4
mov 1 1
jmp circle
last: walk [3] south
drop
walk [3] north
add [3] 2 3
jmp circle
R.Y.R
The End – Better Years to Come…
walk 3 right
walk up
pickup left
walk down
walk right
walk up
drop right
The End – A New Dawn
walk 3 right
walk up
pickup left
walk right
walk down
drop
Bill Davis
Greatest Common Divisor
read: read 0 north
read 1
loop: jeq [0] [1] found
jgt [0] [1] greater
sub [1] [0] 1
jmp loop
greater: sub [0] [1] 0
jmp loop
found: walk 4 east
write [0] north
walk 4 west
jmp read
Least Common Multiple
read: read 0 north
read 1
mov [0] 2
mov [1] 3
loop: jeq [3] [2] output
jlt [3] [2] else
add [2] [0] 2
jmp loop
else: add [3] [1] 3
jmp loop
output: walk 4 east
write [3] north
walk 4 west
jmp read
Prime Decomposition
a:read 0 up
walk right
mov [0] 5
b:jeq [5] 0 c
jeq [5] -1 f
sub [5] 2 5
jmp b
c:mov 0 5
d:jeq [0] 0 e
sub [0] 2 0
add [5] 1 5
jmp d
e:mov [5] 0
write 2 up
jmp b
f:mov 3 1
mov 0 5
mov [0] 2
g:jlt [0] 0 i
jeq [0] 0 h
sub [0] [1] 0
add [5] 1 5
jmp g
h:write [1] up
mov [5] 0
mov [0] 2
mov 0 5
jmp g
i:mov [2] 0
mov 0 5
add [1] 2 1
jle [1] [0] g
walk left
jmp a
Janine Leubwitz
Kind of messed up
maze: walk
turn clock
jmp maze
Kind of even more messed up
add [0] 19 0
walk [0]
turn clock
maze: walk [0]
turn clock
sub [0] 1 0
jmp maze
Clever Cleaning
mov 6 0
rows: walk east
sub [0] 1 0
jeq [0] 0 columns
walk 2 north
walk west
walk 2 north
jmp rows
columns: walk south
walk 2 west
walk north
walk 2 west
jmp columns
Binary Painting
pickup
mov 1 0
circle: add [18] 1 19
add [[18]] [[18]] [19]
mov [19] 18
jne [18] 10 circle
go: read 17 west
mov 9 18
lp: jlt [17] [[18]] sub
sub [17] [[18]] 17
walk 10 east
pickup
walk [18] west
walk 1 west
drop east
walk west
sub: sub [18] 1 18
jne [18] -1 lp
walk 1 south
jmp go
Division II
input: read 0 west
jge [0] 0 loop
sub 56 [0] 0
loop: jlt [0] 57 break
walk 1 south
sub [0] 57 0
jmp loop
break: walkc 0 north
write [0] east
jmp input
Maze Sprinter
go: turn clock
walkc 1
jeq [1] 0 nop
ha: turn counter
turn counter
sub [1] 1 1
walk [1]
turn clock
turn clock
jmp go
nop: turn counter
walkc 1
jeq [1] 0 left
jmp ha
left: turn counter
jmp go
Cleaner I
pickup
a:pickup left
read 0 right
read 1
sub [1] 2 1
jne [1] -1 b
mov 0 1
b:jne [0] 20 c
walk 18 down
walk [1] right
drop down
jmp d
c:walk [0] down
walk [1] right
drop up
d:walk left
walk up
jmp a
Cleaner II
a:walk right
walk up
walk right
walkc 0 down
pickup
walk up
walk 1 left
walk [0] down
walk [1] left
drop
add 1 [1] 1
add 1 [2] 2
jle [2] 16 a
walk down
walk 2 left
walk 2 up
mov 16 1
mov 0 2
b:walkc 0 right
pickup
walk [0] left
walk [1] up
walk [0] right
drop
sub [1] 1 1
walk [1] down
add 1 [2] 2
sub [1] 1 1
jlt [2] 8 b
walk down
walk 4 right
walk up
mov 2 0
mov 0 1
c:pickup left
walk [0] down
drop left
walk 1 right
walk up
add [0] 2 0
add [1] 1 1
jlt [1] 8 c
walk down
walk 19 left
walk 2 up
d:walkc 0 right
pickup
walk [0] left
drop
walk 1 up
jmp d
Olivia Kavanagh
Reverse Sequences
walk north
reversed: walk west
read 0
mov [0] 1
add [0] 1 0
keep: read [0]
sub [0] 1 0
jne [0] 1 keep
walk east
write [1]
add [1] 1 1
add [0] 1 0
output: write [[0]]
add [0] 1 0
jle [0] [1] output
jmp reversed
Join Sequences
read 36
read: read [37]
add [37] 1 37
jlt [37] [36] read
readNext: read 38
jeq [38] 0 go
add [36] [38] 36
jmp read
go: walk east 8
walk south 4
walk west 8
write [36]
output: write [[39]]
add [39] 1 39
jmp output
Tile Organizer
mov 19 0
all: walk [0] east
column: walkc 1 north
jeq [1] 10 back
pickup
walk [1] south
walk 1 west
add [1] 1 1
walk [1] south
turn counter
drop
walk [1] north
walk 1 east
jmp column
back: walk [1] south
walk west
sub [0] 1 0
jmp all
Simple Sort
walk north
mov 2 4
input: walk west
read 0
read 1
read 2
sort: jlt [1] [0] switchAB
jlt [2] [0] switchAC
jlt [2] [1] switchBC
jmp output
switchAB: mov [1] 3
mov [0] 1
mov [3] 0
jmp sort
switchAC: mov [2] 3
mov [0] 2
mov [3] 0
jmp sort
switchBC: mov [2] 3
mov [1] 2
mov [3] 1
jmp sort
output: walk [4] east
turn counter
write [0]
write [1]
write [2]
add [4] 2 4
jmp input
Stacker
input: walk west
read 20
jeq [20] 45 remove
read 20
mov [20] [21]
add [21] 1 21
jmp input
remove: walk east
sub [21] 1 21
write [[21]]
jmp input
Small Division
read: read 0 west
jge [0] 0 min
max: add [0] 124 0
jge [0] -125 print
jmp max
min: jlt [0] 8 print
sub [0] 124 0
jmp min
print: write [0] east
jmp read
Dequer
Note: Not universal. Just run the program again if you get “998” as input.
walk
init: mov 998 [29]
add [29] 1 29
jeq [28] 0 init
a:mov 28 29
b:jne [[29]] 998 d
sub [29] 1 29
jeq [29] -1 c
jmp b
c:read 0
jmp a
d:jeq [[29]] 43 e
jeq [[29]] 60 f
jeq [[29]] 62 g
add 1 [29] 29
e:read [29]
jmp a
g:mov 998 [29]
sub [29] 1 29
walk right
write [[29]]
mov 998 [29]
walk left
jmp a
f:mov 998 [29]
mov 0 29
h:jne [[29]] 998 i
add 1 [29] 29
jmp h
i:walk right
write [[29]]
mov 998 [29]
walk left
jmp a
List Handler I
read 18
go: read 16
read 17
add [[16]] 1 [16]
sub [16] 1 16
add [16] [16] 16
walk [16] east
write [17] north
walk west
sub [18] 1 18
jne [18] 0 go
walk east
mov 14 16
mov 1 17
full: write [[17]] east
jeq [[17]] 0 end
lp: walk [16] west
read 15 north
walk east
write [15]
sub [[17]] 1 [17]
jne [[17]] 0 lp
end: add [17] 1 17
sub [16] 2 16
jmp full
List Handler II
read 0
add 1 [129] 129
a:read [129]
jne [[129]] -1 b
read [129]
mov [129] 127
sub [127] 1 127
d: jeq [[127]] [[129]] e
sub [127] 1 127
jmp d
e: mov 0 [127]
add 1 [127] 127
mov 0 [127]
add [[129]] 100 126
sub [[126]] 1 [126]
mov 0 [129]
jmp c
b:add [[129]] 100 126
add 1 [[126]] [126]
add 1 [129] 129
read [129]
add 1 [129] 129
c:add 1 [128] 128
jlt [128] [0] a
walk down
mov 1 0
f:add 100 [0] 126
write [[126]]
jeq [[126]] 0 j
i:mov 90 125
g:jeq [[125]] [0] h
sub [125] 1 125
jmp g
h:mov 0 [125]
add 1 [125] 125
write [[125]]
mov 0 [125]
sub [[126]] 1 [126]
jgt [[126]] 0 i
j:add 1 [0] 0
jmp f
Hard Sort I
a:walk left
read 15
mov [15] 14
b:read 13
add 1 [[13]] [13]
sub [14] 1 14
jgt [14] 0 b
walk right
write [15]
c:jeq [[14]] 0 e
d:write [14]
sub [[14]] 1 [14]
jgt [[14]] 0 d
e:add 1 [14] 14
jeq [14] 10 f
jmp c
f:mov 0 14
jmp a
Hard Sort II
a:walk left
read 49
b:read [48]
add 1 [48] 48
jlt [48] [49] b
mov 0 48
mov 1 47
c:mov [47] 46
d:sub [46] 1 45
jge [[46]] [[45]] e
mov [[46]] 44
mov [[45]] [46]
mov [44] [45]
e:sub [46] 1 46
jgt [46] 0 d
add [47] 1 47
jlt [47] [49] c
walk right
write [49]
jeq [49] 1 check
f:write [[48]]
g:add 1 [48] 48
jlt [48] [49] f
mov 0 1
mov 0 48
jmp a
check: jlt [0] 0 f
write [1]
jmp g
Project Brain♥♥♥♥ Phase 1
a:read 49 up
jeq [49] 62 b
jeq [49] 60 c
jeq [49] 43 d
jeq [49] 45 e
jeq [49] 46 f
jeq [49] 44 g
b:add 1 [48] 48
jne [48] 20 h
mov 0 48
h:jmp a
c:sub [48] 1 48
jne [48] -1 h
mov 19 48
i:jmp a
d:add [[48]] 1 [48]
jmp a
e:sub [[48]] 1 [48]
jmp a
f:write [[48]] right
jmp a
g:read [48] left
jmp a
Project Brain♥♥♥♥ Phase 2
mov 101 117
mov 20 118
a: read [118] up
jeq [[118]] 0 p
add [118] 1 118
jmp a
p:mov 20 118
n:jeq [[118]] 43 b
jeq [[118]] 44 c
jeq [[118]] 45 d
jeq [[118]] 46 e
jeq [[118]] 60 f
jeq [[118]] 62 g
jeq [[118]] 91 h
jeq [[118]] 93 i
j:add [118] 1 118
jmp n
b:add [[119]] 1 [119]
jmp j
c:read [119] left
jmp j
d:sub [[119]] 1 [119]
jmp j
e:write [[119]] right
jmp j
f:sub [119] 1 119
jne [119] -1 j
mov 19 119
jmp j
g:add [119] 1 119
jne [119] 20 j
mov 0 119
jmp j
h:jne [[119]] 0 l
m:add [118] 1 118
jeq [[118]] 93 j
jmp m
l:mov [118] [117]
add [117] 1 117
jmp j
i:sub [117] 1 117
jne [[119]] 0 k
mov 0 [117]
jmp j
k:mov [[117]] 118
add [117] 1 117
jmp j
Hardester Sort
a:read 0 left
jeq [0] 0 b
jeq [0] 1 c
jeq [0] 2 d
jeq [0] 3 e
add [1] 1 1
jmp a
c:add [1] 64 1
jmp a
d:add [1] 16 1
jmp a
e:add [1] 4 1
jmp a
b:jlt [1] 64 f
sub [1] 64 1
write 1 right
jmp b
f:jlt [1] 16 g
sub [1] 16 1
write 2 right
jmp f
g:jlt [1] 4 h
sub [1] 4 1
write 3 right
jmp g
h:jlt [1] 1 i
sub [1] 1 1
write 4 right
jmp h
i:write 0
jmp a