1 poin oleh GN⁺ 2025-11-27 | 1 komentar | Bagikan ke WhatsApp
  • KiDoom adalah proyek yang merender game tembak-menembak klasik DOOM dari tahun 1993 secara berbasis vektor di dalam editor PCB KiCad
  • Menggunakan jalur sirkuit PCB (trace) sebagai lintasan output grafis, dan berjalan pada kecepatan 10–25 frame per detik
  • Pengembang yang sama juga menjalankan DOOM di osiloskop melalui ScopeDoom, dengan memanfaatkan jack headphone MacBook sebagai DAC
  • Selain itu juga mengerjakan berbagai proyek elektronik dan perangkat lunak seperti CircuitSnips.com, aplikasi chat AI, trigger berbasis MQTT, dan simulator mesin
  • Menarik perhatian sebagai proyek eksperimen interaktif berbasis rekayasa elektronika yang menggabungkan desain perangkat keras dan kreativitas perangkat lunak

Ikhtisar Proyek Utama

  • KiDoom adalah implementasi eksperimental yang merender DOOM secara vektor di editor PCB KiCad
    • Menggunakan jalur sirkuit PCB sebagai lintasan output grafis
    • Berjalan pada kecepatan sekitar 10–25 FPS
  • ScopeDoom adalah versi yang menjalankan DOOM di osiloskop
    • Menggunakan jack headphone MacBook sebagai DAC dua kanal untuk menampilkan grafis vektor pada 4–8Hz
Iklan

Proyek Publik Lainnya

  • CircuitSnips.com: platform untuk berbagi sub-sirkuit KiCad, semacam versi rangkaian dari Thingiverse
  • HIT Impact Android App: aplikasi Android berbasis Kotlin untuk sensor cedera otak traumatis
  • MQTT Duration Trigger: alat integrasi trigger durasi berbasis MQTT untuk Home Assistant
  • TheDuck.chat: aplikasi chat berbasis AI yang dikembangkan untuk T3 Cloneathon
  • bitwise-mcp: server dokumentasi MCP untuk pengembang embedded, mengekstrak definisi register dari PDF RM untuk menyediakan pencarian semantik cepat
  • KiCad Netlist Tool: alat yang mendukung dokumentasi otomatis dengan mengurangi jumlah token LLM pada file KiCad SCH
  • Claude Code Comm Bot: bot komunikasi Discord untuk integrasi VS Code
  • Agent Tool (deprecated): frontend web streaming real-time untuk alat CLI dan layanan web LLM
  • Engine Simulator [WIP]: proyek yang mensimulasikan mesin diesel 6 silinder dengan perhitungan fisika
  • Vitamin/Supplement Price Comparison [WIP]: situs perbandingan harga suplemen bermerek dan produk generik
  • Fuel Injector Characterizer: sistem verifikasi performa injektor bahan bakar menggunakan Arduino dan Webserial

Lingkungan Pengembangan Pribadi

  • VS Code Server: lingkungan pengembangan jarak jauh melalui Tailscale VPN
  • Home Assistant: platform otomasi rumah pintar yang memerlukan autentikasi

Ringkasan Karier

  • Memiliki pengalaman proyek berbasis 3 pengembangan ECU, lebih dari 10 tahun pengalaman, dan lebih dari 28,5 juta mil data berkendara

1 komentar

 
GN⁺ 2025-11-27
Komentar Hacker News
  • Proyek ini jauh lebih menarik dari sekadar meme karena cara implementasinya
    Yang hebat bukan hanya menjalankan DOOM, tetapi fakta bahwa proyek ini membajak pipeline rendering editor PCB agar bekerja seperti mesin vektor real-time
    Geometri diekstrak langsung dari struktur internal DOOM, sprite dipetakan ke footprint komponen nyata, dan model objek KiCad diperbarui secara real-time tanpa rekalkulasi penuh
    Bahkan ada ide untuk mengirim aliran vektor yang sama ke audio DAC osiloskop
    Koneksi kreatif seperti ini—"menggunakan alat di luar tujuan aslinya"—terasa sangat keren
    Ke depannya, arah ScopeDoom mungkin malah lebih menarik. Layar vektor benar-benar mengubah cara berpikir tentang rendering, dan DOOM yang digambar sebagai sinyal tegangan analog terasa puitis
    Lebih jauh lagi, jika digabungkan dengan DAC yang cepat, osiloskop analog dengan phosphor persistence, dan penyederhanaan sprite dinamis, hasilnya mungkin akan mendekati estetika shooter vektor yang mulus

  • Jadi terpikir apakah gambar skematiknya bisa dicetak di kertas lalu dibalik-balik seperti flipbook
    Lama-lama mungkin bisa berubah jadi presentasi PowerPoint

  • Ini benar-benar proyek yang luar biasa. Rasanya seperti karya tom7 atau channel YouTube-nya

    • Merasa terhormat mendengarnya
  • Saat membaca bagian "mengekstrak data vektor langsung dari engine", saya jadi penasaran apakah sudah pernah ada implementasi di osiloskop
    DOOM berbasis sprite jadi memang ada batasannya, tetapi setidaknya latar belakangnya sepertinya bisa dirender
    Saya pernah melihat contoh penggunaan osiloskop berkecepatan tinggi sebagai layar raster hitam-putih beresolusi rendah
    Saya menemukan video Quake di osiloskop, dan karena memakai model 3D, kesan kedalamannya terasa hidup
    Edit: Saya kaget saat melihat ScopeDoom di bagian akhir tulisan. Saya kira percobaan seperti ini pasti sudah lebih dulu ada, tetapi ternyata cukup sulit ditemukan

    • Saya pembuatnya. Saya terinspirasi dari video port Vectrex
      Ada banyak contoh menjalankan DOOM di perangkat seperti Keysight MXA, tetapi itu pada dasarnya cuma memakainya sebagai PC biasa
      Saya jadi berpikir tentang Spectrum DOOM. Mungkin bisa dilakukan dengan memanfaatkan snapshot waterfall plot
  • Langkah berikutnya mungkin adalah merender DOOM sebagai PCB sungguhan lalu memainkannya
    Terbayang pemain yang memesan setiap frame secara khusus, lalu dua minggu kemudian memasang board yang baru datang sambil merenungkan hidupnya

    • Kalau menambahkan speculative execution, mungkin kecepatannya bisa ditingkatkan. Hanya saja perlu branch predictor yang bagus
    • Pada 15 FPS, biayanya sekitar 80~100 euro per detik, dan karena sebagian besar pabrik PCB punya minimum order quantity 5 unit, itu berarti bisa main dengan kecepatan 5x
  • Saya baru mulai belajar KiCad belakangan ini, dan karena saya bekerja di coworking space pengembangan game, rasanya seperti dua dunia bertemu dengan sempurna. Keren

  • Saya tidak tahu kenapa, tetapi rasanya ini membuat dunia jadi tempat yang lebih baik

  • Sebagai ide pengembangan, akan seru kalau menambahkan map baru berdasarkan file CAD desain chip
    Chip menjadi ruangan, dan jalur solder menjadi koridor

  • Proyek yang suatu hari ingin saya coba adalah membuat sistem tampilan berbasis jack audio dengan mikrokontroler
    Saya sempat mempertimbangkan apakah akan menulis sinyal XY secara langsung, atau mendekodenya dari web lewat soft modem

    • Kalau begitu, bagaimana kalau mencoba analog raster scan, yaitu Slow-scan TV(SSTV)
      Misi Apollo juga mengirim gambar TV dengan cara seperti ini
      SSTV modern bisa berjalan hanya dengan bandwidth ratusan Hz, tetapi jika memakai penuh kanal audio 20kHz, mungkin saja mengirim sekitar 1fps pada resolusi 100x100 piksel
  • Saya penasaran apakah ini menggunakan socket API baru di KiCad v9
    Saya pernah membuat sendiri library s-expr untuk menyuntikkan footprint dan simbol, tetapi penuh bug dan tidak stabil
    Saya ingin pindah ke cara yang lebih resmi dan stabil

    • Saya tidak memakai socket API. Ini plugin biasa yang berjalan di v6 ke atas
      Saya tertarik dengan library s-expr milikmu. Sepertinya ada irisan dengan proyek saya yang lain, CircuitSnips
      CircuitSnips adalah layanan semacam Thingiverse untuk rangkaian elektronik, dan saya mengimplementasikan sendiri cara memberi seluruh sheet ke renderer KiCanvas
      Saat saya membagikannya di Discord KiCad, saya juga mendapat masukan bahwa fitur Design Block di KiCad 9+ mungkin relevan