This Game Teaches You How to Build A Computer! - Turing Complete

preview_player
Показать описание
Turing Complete Part 2 - be sure to watch Part 1 if you haven't, this is a difficult game about constructing logic gates then using those as building blocks to build a computer. This is how computers work in real life, so you may learn something important here!
Edited by: God

#aliensrock #puzzle #puzzlegame

Рекомендации по теме
Комментарии
Автор

I would actually recommend you take another look at the conditions level. There is a super clever and neat solution and it's just so beautiful. All I'm going to say is, there is a pattern in the instruction bits.

Yotanido
Автор

"oh no geometry puzzles are too hard, anyways here is three hours of me programing a computer, trivial stuff really"

gdxnsk
Автор

The game really should have had gray signals from the beginning to get people used to the idea. They start by telling you that signals can only be on or off and that naturally leads people into binary thinking. If the game had been telling you from the very beginning that wires can either be on, off, or disconnected, then it would be easier to understand what the switch gates are doing.

Ansatz
Автор

1:01:49 "So any time there's switches, you probably should have two switches that have a case where exactly one of them is on" is exactly what I have been shouting at my monitor in every level they've been in since I paused the vid on the first level that did to try it in my head.

Smithers
Автор

If you are interested in learning more about circuits like these, Sebastian Lague has a great series "Exploring how computers work" in which he basically does the same things as the game, just in a more educational manor. I think these two series could go hand-in-hand like that.

razorslazor
Автор

this game is the reason I'm a software developer and not a hardware engineer. I still think it's fucking crazy how we can somehow use millions of transistors to create computers. Whoever designs the circuits for CPU's and such are fucking geniuses on a whole different level.

KingKafei
Автор

2:54:00 There are three steps to do in order to understand it.

First: we want to use negative numbers, we usually put the minus at the beginning so let's try to do it like that. I'll use 4 bits to make it simpler, but it transposes to whatever number of bits. 4 bits means 16 configurations, so if we split it in half (half positives, half negatives) we get that 0000 is 0, 0001 is 1, 0010 is 2... 0111 is 7. If we go for the negatives then 1000 is -0, 1001 is -1, 1010 is -2... 1111 is -7.

From an intuitive point it makes sense, but the fact that there are 2 zeros is really something that doesn't work in math. Let's fix that with the 2nd method.
0000 is always 0, 0001 is always 1, but 1000 is not -0, let's make it -1, weird at first sight but computer can't really see what's weird, right? So now 1111 is -8, easy, from -8 up until 7, all 16, we're done!
Not really, if we try to add them up it becomes really weird.
2+3? 0010+0011 = 0101 => 5, fine for now
-2+3? 1001+0011 = 1101 => -6, wait what?
-2-3? 1001+1010 = 10011 -> ignore the first number because we shouldn't place anything before the sign, but still it's 3?

Ok, math doesn't work, this fix is not ok for computer, 3rd method then?

Start from 0000 = 0, go up, and stop at 0111 = 7, now if we go up we start with the lowest number: 1000 = -8, 1001 = -7... up until we get to 1111 = -1. We've basically kept the rule of "first bit is the sign" but instead of saying how far is this number from zero we're now saying how much higher is this number from -8 if it's negative and from 0 if it's positive.
We don't have that "double zero" problem anymore and if we actually try to do some basic math it even works!

2+3? 0010+0011 = 0101 => 5, got the easy out of the way
-2+3? 1110+0011 = 10001 -> we're using 4 bits, but we have a fifth, so we can't have the first one in memory, we'll ignore it -> 0001 => 1
-2-3? 1110+1101 = 11011 -> 1011 => -5 it actually works!
(this actually even helps with changing the number of bits in the sequence, if we want to go from 4 bits to 8 bits we actually just duplicate the first bit that many times! 1 in 4 bit is 0001? Make it in 8 bit! -7 in 4 bit is 1001? make it in 8 bits! And this helps tremendously)

And there you have it! How computers can actually use negative numbers!

Sensei_Emu
Автор

I love the irony of building a barely functioning computer within a game running on a computer like 10 orders of magnitude more powerful.

Escher
Автор

Stream title should be “Tyler goes live and loses all reading comprehension”

zinc_magnesium
Автор

Introducing 3 state buffers and the concept of High Z so early is great.
Perfect for busses

mattymerr
Автор

5:35 yeah to double a binary number you just shift by 1-bit (since 2 is 2^1) to left if the LSB is on the right side. (c++: x << 1)
Conversely to divide you would shift by 1-bit to the right (c++: x >> 1).

3*2 = 0011 << 1 = 0110 = 6
3*4 = 0011 << 2 = 1100 = 12

WilliamLDeRieuxIV
Автор

The stream ended before fully caught up despite watching on 2x speed, but I've watched it all now. Very interesting, especially since I'm currently taking a digital design class that includes a lot of the things that came up so far in this game so I had a great time following what was going on.

anonymoususer
Автор

3 hours of tyler and 3 hours of gaming, yeah, perfect for the night and a snack

domink
Автор

45:48 I told him how to rotate parts
I'm not joking
He never knew until now.
LoL

ewalukaszczuk
Автор

Tyler when breaking Arithmetic Engine: Yay🎉 I made it smaller!

LoerisOtter
Автор

42:20 how does this work? The add block (if its the same as the one used before) didn’t take the carry into account at the “result” output

Lucashallal
Автор

3:02:17 this level feels way better without using the 3 bit decoder because every bit is turning on and off a not gate.

The-EJ-Factor
Автор

I hope you plan to do more. I bought this thinking I would give it a try, been learning programming and want to learn more about how a computer operates, and immediately this was all WAY above my head even when just working with the early logic gates. think I can comfortably say I wont be building a computer from scratch any time soon.

FuzzyImages
Автор

As a learning c# developer, I approve of C# being on the thumbnail, best language by far.

AidenElliott-ffvt
Автор

Why does it not surprise in the least that Tyler has "a bit of a computer science background"? He's always had a methodical, rigorous approach to things

DraganAlves
visit shbcf.ru