Beltmatic

Beltmatic

评价数不足
Simple MAM with any number as input
由 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
   
奖励
收藏
已收藏
取消收藏
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 :-)
6 条留言
hhhbkid 10 月 10 日 上午 8:46 
I'd like to second the question of why we're using dividers to get number 1's.
al.kisurin 3 月 22 日 上午 1:45 
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
urfavfemboy_nugg3t 2 月 22 日 上午 6:05 
what da fak
kettcardriverprofi 2 月 6 日 上午 7:57 
Why exactly use the divider to get 1s? Aren't there enough on the map??
Surround  [作者] 2024 年 10 月 17 日 上午 7:42 
Each MAM deliver one full belt.
magnus.stenum 2024 年 10 月 14 日 下午 2:43 
how big is your final output? like how many belts do you deliver with yor number?