Home > Marvellous Inc > Marvellous Inc – Solutions and Achievements Guide

Marvellous Inc – Solutions and Achievements Guide

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

Written by Hanni

Leave a Comment