2 puan yazan GN⁺ 2024-01-11 | 1 yorum | WhatsApp'ta paylaş
  • Turing Complete, sorunları bizzat çözerek bilgisayar bilimi kavramlarını daha derinlemesine anlama deneyimine odaklanan bir oyun
  • Öğrenme süreci mantık kapıları ile başlıyor ve yalnızca nand kapısını kullanarak diğer kapıları oluşturma yöntemiyle ilerliyor
  • Ardından bellek ve bileşenler birleştirilerek basit devreler gerçek bilgisayar mimarisine daha yakın bir yapıya genişletiliyor
  • Oyuncunun yaptığı bilgisayar Turing complete olmayı hedefliyor; bu, Turing machine ile aynı tür algoritmaları hesaplayabilen bir yapı anlamına geliyor
  • Kendi yaptığınız donanım üzerinde assembly komutları oluşturup ikili kod tabanlı programlama bulmacalarını çözüyorsunuz

Bilgisayar bilimini oyunla öğrenme yöntemi

  • Turing Complete, bilgisayar bilimini konu alan bir oyun
  • Bir problemi keşfetmenin keyfini ve zaten anladığını düşündüğü kavramlara daha derinden bakma anlarını seven kişiler için uygun
  • Steam'de Play Turing Complete olarak sunuluyor

Devrelerden bilgisayar mimarisine uzanan öğrenme akışı

  • Mantık kapıları

    • Mantık kapıları, hesaplamanın temel yapı taşları
    • Yalnızca nand kapısıyla diğer kapıları oluşturarak devrelerin temeli öğreniliyor
  • Bileşenler ve bellek

    • Mantık kapılarının üzerine bellek eklenerek daha karmaşık bileşenler oluşturulabiliyor
    • Oluşturulan bu parçalar birleştirilerek gerçek bilgisayar mimarisine genişletiliyor
  • Mimari

    • Kendi ellerinizle kurduğunuz bilgisayar Turing complete olmayı hedefliyor
    • Bu, Turing machine ile aynı tür algoritmaları hesaplayabilen bir bilgisayar anlamına geliyor
  • Assembly

    • Bilgisayar ikili kod ile programlanıyor
    • Bu süreci basitleştirmek için assembly komutları oluşturuluyor ve kendi yaptığınız donanım üzerinde programlama bulmacaları çözülüyor

1 yorum

 
GN⁺ 2024-01-11
Hacker News görüşleri
  • HN'de Turing Complete gördüğümde olumlu yorum bırakan basit bir insanım :)
    Bunu birkaç yıl önce aldım, birkaç seviye oynadıktan sonra o zaman 14 yaşında olan oğlumun yaz tatili boyunca devam etmesini sağladım ve ara sıra yardım ettim. Son seviyede oğlum, oyunun öğrettiği yarı assembly diliyle program yazarak, mantık kapılarından başlayıp tamamen kendi yaptığı bilgisayarın rastgele bir labirenti sağ el kuralıyla geçmesini sağladı. Bu oyun gerçekten harika
    Tek şikayetim, ben o yaştayken buna benzer bir oyunun bile olmaması
    Yalnızca belleğin tanıtıldığı seviyelerde sürekli tıkanıyorum; sanırım beynim sonraki/önceki tick kavramını pek iyi kavrayamıyor. Yine de internette bolca ipucu ve tam çözüm var, gerektiğinde çözümü yerleştirip bir sonraki seviyeye geçebiliyorsunuz
    Oyunun kendisi aslında 1 yıldan uzun süre önce neredeyse tamamlanmıştı ve geliştirici, performansı iyileştirmek ve daha karmaşık CPU'lar gibi şeyler yapılabilsin diye her şeyi baştan uyguluyordu. Güncellemeyi dağıtırken bir şeylerin bozulmamasını umuyorum
    Güçlü şekilde tavsiye ederim

    • Rocky's Boots(1982) [0] buna benzer bir oyun değil miydi?
      [0] https://en.wikipedia.org/wiki/Rocky%27s_Boots
    • NAND to Tetris'te bellek çipi tasarlarken ben de tam aynı noktada takılmıştım. Sonunda o kısım için cevaba bakmam gerekti ve sonra çözümden çok da uzak olmadığımı gördüm, ama çalışan sözdizimini anlamamışım
      Benim yaptığım şuydu:
      Mux(a=out, b=in, sel=load, out=muxOut)
      DFF(in=muxOut, out=DFFOut)
      Son satırın şöyle olması gerekiyordu:
      DFF(in=muxOut, out=DFFOut, out=out)
      Yine de Turing Complete, NAND to Tetris için mükemmel bir tamamlayıcı gibi görünüyor. Yalnız sanki sadece Steam'de satılıyor; keşke bağımsız olarak da satın alınabilse
    • Aklıma Zachtronics'in TIS-100 ve Shenzhen I/O oyunları geliyor
  • Bu tür oyunları çok seviyorum, bu yüzden Steam'de ilgili oyunlardan oluşan koleksiyonum yavaş yavaş büyüyor. nandgame gibi Steam dışındakiler de var
    Turing Complete bunların iyilerinden biri; simülasyon sağlam görünüyor ve erken erişim döneminin başlarındaki yeniden yapılandırmadan sonra görevler de gayet iyi tasarlanmış
    Ama UI her zaman pürüzsüz değil ve yönlendirme yetersiz; bu yüzden daha çok başka simülatörlerde benzer süreçlerden geçmiş kişilere hitap ediyor
    Benzer oyunlar arasında kavramları daha iyi açıklayan bir şey arıyorsanız Silicon Zeroes öneririm. Genel olarak biraz daha az cilalı hissettiriyor ama sevimli bir hikâye yapısı var, her seviyenin neyi tanıtmak istediğini daha iyi anlatıyor ve özellikle clock ile ilgili sorun çözümünü çok daha iyi ele alıyor
    Elektronik devre tarafındansa yarı assembly tarafını daha çok seviyorsanız TIS100 veya Shenzhen I/O öneririm
    İyi tasarlanmış bulmacaları tercih ediyorsanız Human Resource Machine size daha çok hitap edebilir
    Turing Complete hakkında şu haber de görülmeye değer: https://steamcommunity.com/app/1444480/eventcomments/3806156...
    1 yıl boyunca hiç güncelleme gelmedi, sonra 2023 Ağustos'unda “Üzgünüz, yakında büyük bir yeni güncelleme geliyor!” diye bir paylaşım yapıldı ve ondan sonra yine sessizlik oldu
    Görünüşe göre geliştirici, beklediğinden çok daha uzun süren devasa bir büyük yeniden yazım işine takılmış durumda
    Erken erişimden çıktıktan sonra yeniden oynamayı bekliyordum ama sonsuza kadar bekleyecekmişim gibi olmasından korkuyorum

    • Zachtronics tarzında bir analog hesaplama oyunu yapıp yapmamayı düşünüyorum. Şu anda bir devre simülatörü yapıyorum ama gerçekten eğlenceli olup olmayacağını ya da onu nasıl eğlenceli hale getirebileceğimi bilmiyorum
      Dijital hesaplamanın soyutlama avantajı var. Mantık kapılarını düşünmek için Ohm yasasını bilmeniz gerekmez
      Analog hesaplamaya geçince mutlaka matematiği öğretmenin bir yolunu bulmanız gerekiyor. İşlemler artık boolean değil, çeşitli elektrik denklemlerinin birleşimi oluyor. Basit matematik olsa bile tipik programlama oyunlarının hissinden farklı
      Yine de kulağa ilginç geliyor mu, oynanır mı merak ediyorum
    • TIS-100'ü zaten bitirdiyseniz ama daha sıkıcı bir assembly dili deneyimi istiyorsanız, Steam'e ücretsiz tek komutlu (subleq) oyun SIC-1 koydum
      https://store.steampowered.com/app/2124440/SIC1/
    • Zachtronics hayranıysanız Opus Magnum ve Exapunks'ı da öneririm. Exapunks'ta yeni, assembly benzeri bir dil öğrenip robot ajanlara komut vermeniz gerekiyor ve ben çok eğlenmiştim
      Human Resource Machine'de sadece ilk birkaç mücadeleyi denediğimi hatırlıyorum. Bulmacalar fazla kolay gelmişti ve çözme süreci de çok zorlayıcı olmadığından sonlara kadar gitmedim
    • Bu türde MHRD de harika. Birkaç kez oynadım. Daha fazla benzer oyun olduğunu görmek sevindirici: https://store.steampowered.com/app/576030/MHRD/
    • Makine öğrenmesi ya da derin öğrenmeyi öğreten benzer türde oyunlar da var mı diye merak ediyorum
  • Steam kış indirimlerinde tam şimdi aldım
    Harika bir fikir ama düzgün bir oyun ya da bağımsız bir eğitim aracı olması için çok daha fazla cilalanması gerekiyor
    Konuyla ilgili bilgisi olan biri için fena değil ama yeni başlayanlar için neredeyse hiç yönlendirme, eğitim ya da hazırlık olmadan doğrudan sorunların önüne atıyor; bu da oldukça sinir bozucu bir deneyim olabilir
    Devre yerleşimi konusunda yardımcı olan özellikler de olsa iyi olurdu. Bir parçayı hareket ettirince ya da döndürünce kablolar kopuyor ve kabloları tek tek elle yeniden çizmek gerekiyor. Doğru mantığı bulduktan sonra bile uygulama tarafında epey sürtünme var

    • İlk birkaç seviyeden birinde, bir parçaya iki kez tıklarsanız parçaya bağlı kabloları da birlikte taşıyabileceğinizi söyleyen bir ipucu var. İki kez tıklayınca sadece parça değil, bağlı kablo düğümleri de otomatik olarak seçiliyor. Yine de UI tarafında biraz daha cilalama payı var.
  • Bu oyunu gerçekten çok keyif alarak oynadım ve hâlâ da keyifli buluyorum. En iyi deneyim, başına uzun süre oturabildiğinizde oluyor
    Factorio gibi, uzun bir ara verip geri döndüğünüzde kaldığınız yerden devam etmektense baştan başlamak çoğu zaman daha eğlenceli oluyor. Ya da doğrudan son aşamadaki sandbox'ta kalabilirsiniz
    Arayüz biraz daha cilalanabilir ve son birkaç yıldır henüz yayınlanmamış büyük bir performans yenilemesi üzerinde çalışılıyor. Bu aralar Verilog dışa aktarma da var ama onu düzgünce denemedim
    Oyunun sonlarına doğru açılan ek parçalar sandbox'ı gerçekten çok eğlenceli hâle getiriyor. Rekabet unsuru ekleyen bir puan sistemi de var, ama ilk bilgisayarınızı yaptıktan epey sonra açılıyor
    Orta yaşlarda bilgisayar bilimi diploması almaya karar vermeden önce bu oyunu çok oynadım ve bu sayede temel mimari konuları benim için çok kolay olmuştu. Eğlenceli bir tekrar aracı olarak da kesinlikle tavsiye ederim
    Buradaki “eğlence”, Boolean mantığıyla kullanıcı dostu bir ortamda uğraşmanın verdiği keyif demek; bu fikir size cazip gelmiyorsa bu “oyun” da size göre olmayacaktır

  • Bunu iş yerinde gerçekten kullanıyoruz ve kesinlikle tavsiye ediyorum
    Yaklaşık 1 yıl önce bir iş arkadaşımla boş zamanlarımızda sonuna kadar oynadık ve gerçekten çok beğendik. Elektrik mühendisliği çırakları için biçilmiş kaftan olacağını düşündük; çünkü eğitim müfredatında kapılar, register'lar, shift register'lar, counter'lar gibi dijital mantık kavramları öğretiliyor ama bunları gerçek projelerde uygulama fırsatı pek olmuyor
    Ayrıca zaman kısıtları nedeniyle assembly programlama gibi türev konular artık pek öğretilmiyor
    Dışarıdan biraz ek yönlendirme ile bu oyun, insanların dijital mantık bileşenlerinin nasıl çalıştığını anlamasına ve onlarla bizzat oynayarak öğrenmesine gerçekten çok yardımcı oluyor. Basit bir assembly dili yazıp onunla bulmacaları çözme aşamasına kadar gidebilmek harika ve öğrenciler için de büyük bir motivasyon kaynağı

  • İlk sayfayı açtığımda bunun Sebastian Lague'un Digital Logic Sim [1] oyunundan kopya gibi göründüğünü düşünmüştüm, ama videoyu izleyince aslında çok daha derine indiğini gördüm ve etkilendim. Bu yüzden satın aldım. Umarım yakın zamanda kurcalayacak zaman bulurum
    1: https://sebastian.itch.io/digital-logic-sim

  • Bu oyun, bilgisayar mühendisliğine giriş niteliğindeki bir dönemlik dersle rahatça karşılaştırılabilir, ama özellikle assembly mini oyunu sayesinde bana daha eğlenceli geldi
    Üniversitede sanal bir CPU için belirli komutlar tasarlamaya yönelik bir ödevle belirli devreler tasarlamaya yönelik başka bir ödev vardı, ama bunlar tam veya çalışan tasarımlar değildi
    Turing Complete'te çalışan, tam bir küçük CPU yapabiliyor ve kendi komut kümesi mimarinizi oluşturabiliyorsunuz; üstelik bunu istediğiniz kadar derinleştirebilmek çok keyifliydi

  • Benzer bir oyun: https://nandgame.com/
    Yalnız Turing Complete, nand game'e göre daha derin görünüyor

  • Bu oyunu satın aldım ve bence başlı başına bir sanat eseri
    Bilgisayar bilimi mezunu değilim ama yaklaşık 15 yıldır geliştirici olarak çalışıyorum. Oyundaki şeylerin çoğunu soyut olarak biliyordum ya da Arduino kartları, küçük yan projeler gibi şeylerle biraz kurcalamıştım
    Ama bu, bilgisayarlarla uğraşmayı seven insanların özlediği uygulamalı müfredatın ta kendisi

  • Exapunks(https://www.zachtronics.com/exapunks/) da ilginizi çekebilir. Bana assembly'yi üniversite derslerinden daha iyi öğretti

    • TIS-100 de harikaydı. Gerçek assembly'den bile daha zor
    • Shenzhen I/O'yu da oynadınız mı merak ediyorum