Beltmatic

Beltmatic

Not enough ratings
Simple MAM with any number as input
By Surround
Guide to build a simple MAM with "Power of 2"

The goal was to build a simple, modular machine where you can make any number.
No need to look around for the correct numbers you can place it anywhere and input any number.
2
   
Award
Favorite
Favorited
Unfavorite
Dividers
Everything starts with a "1". :-)

At first we need "Dividers" to create 1´s.
Take any number but input them in pairs so we get a 1.

Adder, Substractor and Multiplier
Now we add all those 1´s together
In this example we need twelve 1´s to create our base "2" and the exponent "24".


Every module starts with a "2" this is our "Base".
Add together two 1´s.
Seen on the left side of the screenshot.

With the other "Adders" and "Multiplier" we build the "Exponent".
Add together six 1´s and add together four 1´s and multiply them.

Now put both into the "Exponentiator"
2 in A
24 in B

= 2^24 = 16,777,216

Now we will repeat this down to 1.
I will add more examples for the other numbers at the end of the guide.
The final number.

After we created all numbers form 2^0 = 1 to 2^24 = 16.777.216

We need to add together the correct numbers to get our final number we want.

In the screenshot we add together 1 + 4 + 8 +64 + 1024 + 2048 + 4096 + 8192
and get the number 15437.
But how do we know which numbers need to be added?
Use the Windows Calculator and select the Programmer view.


Type in the number you want and look at the binary code.
In our case the calculator shows 0011 1100 0100 1101.
Read the number from right to left.
Right = lowest number.
Most left = highest number.

8192
4096
2048
1024
512
256
128
64
32
16
8
4
2
1
1
1
1
1
0
0
0
1
0
0
1
1
0
1

I suggest to pair the numbers in group of four for better readability.



The game supports Numbers up to 2^31-1 = 2.147.483.647

This is my first guide ever written on Steam.
I hope some of you find this useful.
Screenshot of my current savegame.
2^24 optimized
Requires only 11 belts of 1`s instead of 12.
2^23

Optimized version of 2^23.
Requires only 12 belts of 1`s instead of 13.
2^22
2^21
2^20
2^19
2^18
2^17 to 2^6
... snipped ...
i think you get the point from the other screenshot how to build all the numbers.
And finally from 2^0 to 2^5 :-)
5 Comments
al.kisurin 22 Mar @ 1:45am 
The only thing I would add to your explanation is a small Python script that helps decompose any number into a sum of powers of two:

number = 9999
parts = [str(1 << i) for i, bit in enumerate(bin(number)[2:][::-1]) if bit == '1']
print(f"{number} = {' + '.join(reversed(parts))}")

Run this in any online Python interpreter and you'll get the result:
9999 = 8192 + 1024 + 512 + 256 + 8 + 4 + 2 + 1
Popcat! 22 Feb @ 6:05am 
what da fak
kettcardriverprofi 6 Feb @ 7:57am 
Why exactly use the divider to get 1s? Aren't there enough on the map??
Surround  [author] 17 Oct, 2024 @ 7:42am 
Each MAM deliver one full belt.
magnus.stenum 14 Oct, 2024 @ 2:43pm 
how big is your final output? like how many belts do you deliver with yor number?