Turing Complete

Learn CPU architecture with puzzles

트레일러 영상 보기 상점 방문하기

게임 정보

-= LEARN =-



Everything in a computer can be constructed from a basic component called a NAND gate. You will be challenged through a series of puzzles, to discover the path from NAND gates to arithmetic, memory and all the way to full CPU architectures. If you complete this game, you will have a deep understanding of how assembly, CPU instruction sets and basic components are related. And you will understand how programming concepts like if statements, loops and functions actually work in assembly and hardware.


-= BUILD =-



The game is built on a powerful simulator, that gives you total freedom in how you solve levels or create your own computers. Wire up screens, timers, sound, keyboard input and network components to create whatever you want. You can even design a unique assembly language for your computer.

스크린샷

접속자 수

가격 히스토리

출시 발매가

20500 원

추정 판매 / 매출
예측 판매량

2,775+

예측 매출

56,887,500+

요약 정보

윈도우OS 맥OS 리눅스OS
시뮬레이션 앞서 해보기
영어, 프랑스어, 독일어, 중국어 간체, 스페인어 - 중남미

업적 목록

스팀 리뷰 (19)

총 리뷰 수: 37 긍정 피드백 수: 37 부정 피드백 수: 0 전체 평가 : Positive
  • 요약. 본인이 비전공자고, 컴퓨터에 관심이 없으면 살짝 벅찰 수 있는 퍼즐게임이다! 따라서, 퍼즐에도 관심이 없고 컴퓨터 관련된 지식도 없다면 추천하기가 어렵다! 퍼즐에 관심이 많다면, 추천할 만하다! 컴퓨터 관련 전공의 학부생, 특히 새내기라면 꼭 해라! 진짜 도움된다! (졸업생은 게임에 나오는 내용 이미 다 알고 있을 거다.) 1 // 혹시 마인크래프트로 컴퓨터를 만들었다는 유튜브 영상 같은 걸 본 적 있으신가요? 그 영상을 봤다면 누구라도 어이가 없어 헛웃음을 보였을 겁니다. 아니 세상에 어떤 사람이 저런 재능낭비를 하냐고요 ㅋㅋㅋㅋㅋ 그렇죠? 그런데 이 게임을 하시면, 당신도 충분히 할 수 있게 됩니다. (시간만 충분히 주어진다면) 처음엔 스위치를 껐다 켜 보면서 조건에 맞도록 회로를 배치하고, 게이트들을 하나씩 만드는 퍼즐을 풉니다. 둘 다 참이어야 참이 되는 AND 게이트, 적어도 둘 중 하나는 참이어야 하는 OR 게이트, 둘 중 하나"만" 참이어야 하는 XOR 게이트 등. 다 만드셨나요? 당신은 컴퓨터에 들어가는 모든 부품을 완성하셨습니다! 축하합니다! (그리고 부수적으로, 이산수학에서 배우는 진리표, 드 모르간의 법칙 등을 터득하셨네요.) 그런데 어떻게 이것만으로 컴퓨터 전체를 만들 수 있을까요? 도무지 이 사실이 와 닿지 않거나, 이해 없이 그냥 받아들이셨나요? 괜찮습니다. 저도 처음엔 이해하지 못했어요. 2 // 이해를 돕기 위해, 추상화라는 개념을 이야기해 보죠. 추상화라는 건 간단하게 말해서, 정확하게 반복되는 일련의 과정을 하나로 통합하는 과정입니다. 하나 해 볼까요, 혹시 양치를 어떻게 하는지 아시나요? 손으로 칫솔을 들고 다른 손에 치약 통을 들어 칫솔의 솔 부분에 치약 통에 있는 내용물을 짜냅니다. 솔이 있는 부분을 입안에 가져다 놓습니다. 그리고 솔이 있는 부분을 치아와 마찰시켜 치아에 붙은 치태를 제거합니다. 다음, 칫솔을 입 밖으로 빼 물로 씻습니다. 물을 더 받아 입 안에 넣고 턱 운동으로 물이 빠르게 운동하게 합니다. 빠르게 운동하는 물은 입속의 남아 있는 노폐물과 치약 성분들을 제거합니다. 생각보다 절차가 복잡하죠? 그래서 우리는 이 일련의 과정을 짧게 "양치한다."라고 부릅니다. 이게 추상화입니다. 이미 추상화가 뭔지 이해하신 것과 다름없습니다. 이러면 대화할 때 근육의 움직임 하나하나를 이야기할 필요 없이, 그냥 "나 양치하고 왔어."라고 말하면 정말 편리하죠? ATM에서 돈을 뽑는 과정이 어떻게 되나요? 카드를 넣어 인식시키고, 비밀번호를 입력 후, 뽑을 돈의 액수를 입력합니다. 그러면 ATM은 당신에게 지폐를 주고, 그만큼 카드에 남은 잔액에서 차감합니다. 근데 ATM은 그 안에서 어떤 과정을 거쳤을까요? 우선 인터넷에 은행들의 데이터베이스가 있겠죠? 그곳에서 당신의 카드 번호를 찾을 겁니다. 잔액이 충분한지 확인 후, 차감합니다. 그리고 기계 안에 있는 지폐를 세어서 건네줍니다. 당신이 ATM을 사용한 데이터들은 쌓이고 쌓여 장기적으로 신용 평가에 알아서 반영됩니다. 그리고 관리자가 주기적으로 청소하고, 시스템을 점검하고, 지폐가 부족하면 채웁니다. 근데 우리는 그 과정들을 몰라도 되지요? 우리는 그냥 편리한 터치스크린으로 뽑기만 하면 되잖아요? ATM에 지폐가 부족하니 많니, 통장 번호가 데이터베이스 어디에 있니, 알 게 뭐예요? 이게 추상화의 장점입니다. 덕분에 복잡한 과정을 크게 단순화시켜 처리할 수 있게 되었네요. 3 // 추상화는 정말 좋은 도구네요! 복잡하고 어려울 것만 같은 과정을 묶고 묶어서 단순하게 바꿔 주는군요! 그렇다면 다시 주제로 넘어가 볼까요? 저는 몇 번 들어본 말인데, "컴퓨터는 그냥 1 + 1만 할 줄 아는 계산기들이 수십억 개 들어 있는 물건이야." <- 이 얘기를 들어본 적 있나요? 맞아요. 그런데 그 1 + 1을 할 줄 아는 계산기들을 모아 연결해서, 1 + 1 + 1을 할 줄 아는 계산기를 만들고, 그것들을 또 모아 2 + 2 + 2를 할 줄 아는 계산기도 만들어 보는 거고, 반복하다 보면 웬만한 수는 다 더할 수 있는 계산기를 만들게 되는 거죠. 또 그걸로 뺄셈 계산기도 만들 수 있고, 곱셈도, 나눗셈도 만들고요. 그러다 보면 마지막엔 우리가 쓰는 CPU가 완성되는 겁니다. 이미 만들어 놓은 것들을 간단히 조합해서, 조금 더 상위의 기계를 만들고, 그 상위의 기계를 모아서, 또 조금 더 상위의 기계를 만드는 걸 반복하는 겁니다. 어때요? 내용이 이해할 만한가요? 아니라도 괜찮아요. 실제 컴퓨터 전공자들도 잘 모르는 사람이 많답니다. 어떻게 이 글만 보고 바로 깨닫나요. 그렇지만 당신이 컴퓨터에 쓰인 추상화를 이해했다면, 이 게임의 본질을 이해한 것과 다름없게 되는 겁니다. 그렇기에 이 게임을 하신다면, 컴퓨터가 만들어지기까지의 과정을 몸소 체험하게 되는 것이고, 당신이 다른 전공의 길을 걸어도, 컴퓨터에 관심이 없어도 그걸 이해하게 되는 겁니다. // 4. 난이도는 꽤 어렵습니다. 비전공자라면 끝내는 데 몇 개월, 어쩌면 몇 년이 될 수도 있습니다. 그래서 모두에게 추천하기가 꺼려지네요. 저는 컴퓨터를 잘 모르고, 퍼즐 게임도 별로... -> 추천하기가 어렵네요. 개인적으로 하다가 짜증이 나실 수도 있을 것 같습니다. 퍼즐 게임은 정말 좋아하는데, 컴퓨터는 잘 모르겠어요. -> 조금 독창적인 퍼즐 게임이라고 여기면 좋아요. 큰 도전이 될 테니 마음 단단히 드세요. 하... 컴퓨터구조 너무 어렵습니다. 어떻게 공부해야 하죠? -> 구매하세요. 이미 샀는데, 너무 어렵네요. -> 포기하지 마세요. 당신은 할 수 있어요. 스테이지 하나하나가 인류가 과거에 실제로 당면하고, 해결했던 문제니까요. 우린 이걸 게임으로 하지만, 옛날의 사람들은 힌트 없이 펜과 종이로 컴퓨터를 개척했어요. 당신도 할 수 있어요.

  • 팩토리오에서 벨트깔면서 전자회로 만드는 대리만족하지말고 이 겜에서 실제로 회로 만들면 됨.

  • 아 굉장히 재미있음 처음부터 다짜고짜 외계인한테 납치당함. 논리회로를 다룰 수 있으면 지적생명체, 그렇지 못하면 식용 생물임. 처음에 OR도 못만들어서 겜 끄고 고기먹으러 감 -_- 근데 업뎃좀 해라. 컴포넌트가 안나오는 버그가 있는데 일 년에 한 번씩 업뎃을 하냐.. > 컴포넌트가 안보이면, 옵션을 막 조절을 막 해 보셈. 그러다가 되던데

  • 컴공 전공자면 게임이 그닥 어렵지 않습니다 이게임에서 OVERTURE 아키텍쳐와 LEG 아키텍쳐 두가지를 설계하게 될텐데 어셈블리 지원이 약간 미흡한점 빼고는 복습할겸 머리식힐때 할 게임으로 추천합니다 어느정도 플레이하면 고속재생버튼, 게이트 스코어, 딜레이 등이 생기는데 아키텍쳐 완성후 이를 토대로 최적화하는 재미도 있네요

  • import pyautogui import time def binary(a): two7, two6, two5, two4, two3, two2, two1, two0 = 0, 0, 0, 0, 0, 0, 0, 0 if a >= 128: a -= 128 two7 = 1 if a >= 64: a -= 64 two6 = 1 if a >= 32: a -= 32 two5 = 1 if a >= 16: a -= 16 two4 = 1 if a >= 8: a -= 8 two3 = 1 if a >= 4: a -= 4 two2 = 1 if a >= 2: a -= 2 two1 = 1 if a >= 1: a -= 1 two0 = 1 return two7, two6, two5, two4, two3, two2, two1, two0 a = 0 while True: a = int(input("number : ")) pyautogui.moveTo(334,341) pyautogui.click() two7, two6, two5, two4, two3, two2, two1, two0 = binary(a) if two7 == 1: pyautogui.moveTo(588,982) pyautogui.click() if two6 == 1: pyautogui.moveTo(683,982) pyautogui.click() if two5 == 1: pyautogui.moveTo(778,982) pyautogui.click() if two4 == 1: pyautogui.moveTo(873,982) pyautogui.click() if two3 == 1: pyautogui.moveTo(968,982) pyautogui.click() if two2 == 1: pyautogui.moveTo(1063,982) pyautogui.click() if two1 == 1: pyautogui.moveTo(1158,982) pyautogui.click() if two0 == 1: pyautogui.moveTo(1253,982) pyautogui.click() pyautogui.moveTo(968,1056) pyautogui.click() pyautogui.moveTo(1969,1372) pyautogui.click()

  • 강의로 들을 땐 지루했는데 왜 이건 재밌지

  • 훌륭한 퍼즐 게임입니다

  • 개어려운데 개재밌음

  • 재밌어요

  • 카르노 도표 ♥

  • 논리회로 복습용으로 추천합니다

  • 레전드

  • 하 씨 논리수학 하면서 배웠던건데 뭐더라

  • 간단한 논리회로부터 시작해서 마침내 튜링 완전한 CPU를 완성시키는 게임 각 단계에서 주어진 행동을 수행할 수 있는 부품을 제작하면, 다음 단계에서 이 부품을 사용할 수 있다. 예를 들어, 전 단계에서 자신이 부품을 배치해 덧셈기를 제작했다면, 다음 단계에서는 독립된 부품으로써의 덧셈기를 사용할 수 있다. 이 때문에 후반으로 갈수록 사용할 수 있는 부품들이 많아지고, 이 부품들이 단순히 새로 주어진 것이 아닌 자신이 직접 만들어 보고 구조도 알고 있는 부품이라는 점에서 진짜로 바닥부터 컴퓨터를 만들어가고 있다는 느낌을 준다. 최종적으로 작동되는 컴퓨터를 제작해 어셈블리어를 이용해 프로그래밍을 할 때 엄청 감동스러웠다. 이 게임을 플레이하며 'CODE:하드웨어와 소프트웨어에 숨어 있는 언어'라는 책이 떠올랐다. 마찬가지로 논리회로부터 컴퓨터까지 만들어나가는 과정을 설명하는 책인데, 이 게임에 나오는 개념들이 잘 설명되어 있어 책을 읽고 책에 있는 내용을 구현하는 방식으로 플레이해봐도 좋을 것이라 생각한다.

  • best game for studying computer architecture.

  • 아주 재미있는!

  • 조아....

  • Perfectly matches my taste. The alien's comments are hilarious, in nerdy way.

  • 비전공자인 내가 여기서는 컴퓨터도 만들고 프로그래밍도 한다! (이런 쪽에 재능이 있음을 깨닫고 이쪽 분야를 전공헀더라면..)

코멘트