2 poin oleh GN⁺ 2024-03-23 | 1 komentar | Bagikan ke WhatsApp
  • Picotron adalah lingkungan kreatif mandiri untuk membuat, menjalankan, dan membagikan aplikasi Lua di atas perangkat keras virtual, sehingga game kecil dan alat bantu dapat dikelola dalam satu desktop
  • Layar 480x270 dengan 64 warna, sistem file virtual, format file POD, synthesizer audio PFX6416, dan VM Lua 5.4 per proses membentuk model eksekusi dasarnya
  • Aplikasi, proyek, dan bundel distribusi semuanya diperlakukan sebagai cartridge, dan disimpan serta dibagikan sebagai file teks .p64 atau .p64.png yang dapat memuat hingga 256k data ROM
  • Desktop-nya memiliki ruang kerja berbasis tab, baki alat yang dapat dilipat, dan tumpukan file, serta editor kode, grafik, tilemap, musik, dan efek suara yang sudah disertakan
  • Saat ini masih dalam tahap Beta, mendukung Windows, Mac, Linux, dan ekspor HTML, serta dijual seharga $19.99 termasuk akses ke pembaruan mendatang

Lingkungan kreatif di atas perangkat keras virtual

  • Picotron adalah lingkungan kreatif mandiri yang mengusung konsep Fantasy Workstation dan berjalan di atas perangkat keras virtual
  • Pengguna dapat membuat aplikasi Lua dan menjalankan serta membagikan hasilnya dengan berbagai cara
    • Menjalankannya di desktop Picotron
    • Membagikannya sebagai file cartridge
    • Mengekspornya sebagai distribusi HTML dan biner mandiri
  • Tampilan default-nya adalah 480x270 dengan 64 warna, dan juga dapat dijalankan pada 240x135 atau 160x90
  • Dalam mode layar penuh, palet kustom dapat digunakan
  • API grafis bawaan menyediakan akses tingkat rendah ke layar
    • pola isian 8x8
    • penggantian palet dan blending
    • bit stencil
    • tline3d untuk rasterisasi tekstur dengan koreksi perspektif

File, audio, dan model eksekusi

  • Sistem filenya adalah sistem file virtual yang hanya mengekspos sebagian yang diperlukan dari sistem host
  • File internal Picotron menggunakan format POD (Picotron Object Data), yang memungkinkan tabel Lua disimpan dan dimuat langsung ke dan dari disk
    • data simpan atau data level dapat dibungkus sebagai tabel Lua dan disimpan ke pod dengan store()
  • Audio dihasilkan oleh PFX6416, synthesizer real-time 64 node dan 16 channel
    • Node dapat membuat sinyal dari wavetable atau mengubah sinyal dengan modulasi FM/RING, delay, filter resonansi HP/LP, dan waveshaping
    • Musik, termasuk desain instrumen buatan pengguna, dapat disimpan di disk dalam ukuran 5~20k
  • Lingkungan eksekusi menggunakan VM Lua 5.4 yang sedikit dimodifikasi dan terpisah untuk setiap proses
    • CPU virtual dibagi antarproses dan menjalankan hingga 8M instruksi VM per detik
    • Cartridge Picotron dapat berjalan pada kecepatan yang konsisten di berbagai platform
    • Jika berjalan tanpa masalah di desktop berperforma tinggi, hasilnya dirancang agar umumnya tetap terlihat serupa di lingkungan web netbook lama

Distribusi berpusat pada cartridge

  • Aplikasi, proyek, dan bundel distribusi semuanya diperlakukan sebagai tipe yang sama, yaitu cartridge
    • Setiap cartridge berfungsi seperti folder biasa dan memuat file sumber serta resource yang diperlukan untuk menjalankan program
    • Di sistem host, cartridge disimpan sebagai satu file teks .p64 dan dapat berukuran sebesar muatan yang masuk ke RAM
    • Format PNG yang dapat dibagikan, .p64.png, dapat memuat hingga 256k data ROM

Desktop dan alat bawaan

  • Desktop Picotron menyediakan ruang kerja berbasis tab dan baki alat lipat (tooltray) yang dapat diakses dari semua ruang kerja
  • Baki alat berfungsi seperti desktop kedua untuk mengakses file dan widget yang sering digunakan
  • File dapat dijatuhkan di atas satu sama lain untuk membuat tumpukan yang rapi, dan roda mouse dapat digunakan untuk menelusuri tumpukan
  • Editor bawaan menangani kode, grafik, tilemap, musik, dan efek suara
    • Editor-editor ini sendiri juga dibuat dengan Picotron
    • Tumpukan undo tak terbatas, GUI, dan pengelolaan file menggunakan pustaka standar /system/lib
  • Pengguna dapat membuat wallpaper hidup, screensaver, ikon, widget, dan menyusun alur kerja sesuai keinginan

Pipeline, dukungan platform, dan harga

  • Picotron dibangun di atas pipeline grafis dan pipeline audio yang terintegrasi erat
    • graphics dan audio pipelines dapat berjalan juga pada mesin host berdaya rendah dan di web
    • Menyediakan API sederhana untuk tugas umum seperti menggambar sprite yang warnanya diubah atau memicu efek suara
    • Data dasar dan status mesin diekspos ke RAM virtual
  • Status saat ini masih Beta
    • Dukungan Windows, Mac, Linux, dan ekspor HTML sudah lengkap
    • Mendukung high score online dan berbagi file
    • API serta pipeline video dan audio sudah tervalidasi
    • Rencana ke depan dapat dilihat di Picotron Roadmap
  • Harganya $19.99, dan pembeli mendapat akses ke pembaruan mendatang
  • Pelanggan PICO-8 dan Voxatron yang sudah ada dapat menggunakan upgrade diskon

1 komentar

 
GN⁺ 2024-03-23
Komentar Hacker News
  • Saya dulu bersenang-senang dengan PICO-8 dan daya tarik utamanya masih tetap ada, tetapi sekarang saya sudah beralih ke generasi baru perangkat keras retro “sungguhan” seperti CX16, Mega65, Agon Light
    Jika ada desain papan, chip, dan port input/output, spesifikasinya jadi lebih kokoh, dan mesin-mesin baru seperti Picotron bisa mendorong apa yang dapat dilakukan dalam spesifikasi input/output dengan cukup tanpa kompromi
    Emulasi juga memungkinkan, akses langsung ke perangkat keras juga bisa, dan kita bisa menjalankan bahasa yang diinginkan seperti BASIC, C, atau Forth
    Seperti keluarga Pico, Lua mungkin lambat jika dijalankan sebagai interpreter di 8-bit sungguhan, tetapi jika dipakai sebagai dasar cross-compiler, itu menjadi jenis tantangan coding yang lain
    Arahnya adalah, “bagaimana kalau membuat lingkungan pengembangan pamungkas yang menghasilkan persis kode yang diperlukan untuk proyek itu?”; hal ini juga terlihat pada game PICO-8 yang sangat dioptimalkan, atau demo baru untuk C64, Spectrum, dan A800, dengan memanfaatkan perangkat keras besar untuk mesin lama sehingga mengabaikan stereotip di kedua sisi

    • Saya berharap mesin-mesin seperti ini tidak terus terpaku pada CPU retro yang sama seperti Z80, 6502, 8080 atau replikasi VDP di FPGA
      Saya memang menginginkan mesin bergaya retro berbasis 2D/blit, tetapi saya ingin perangkat keras yang lebih maju seperti Cortex-M, Z8000, 68000, atau RISC-V kelas murah
      Masukkan BASIC ke boot ROM, tetapi beri ruang untuk berkembang lebih besar seperti era 90-an
      Saya paham keinginan untuk menghadirkan kembali keajaiban Commodore 64, tetapi secara pribadi masa-masa hacking seperti Amiga, Atari, dan BeBox terlihat jauh lebih bersinar
    • Saya benar-benar bersenang-senang membuat game sederhana dengan anak-anak memakai Pico-8 dan belajar geometri dasar
      Komunitas yang berlanjut dari Pico-8 sudah mengimplementasikan cat/wget/grep[1] dan tentu saja Minesweeper[2] di Picotron
      Semua yang dibuat Joseph White/zep menghidupkan kembali masa internet awal dan IRC, ketika semua orang membuat, berbagi, dan menikmati tanpa malu-malu
      Berkat zep, komputasi kembali terasa menyenangkan juga bagi orang biasa
      [1]: https://www.lexaloffle.com/bbs/?tid=140771
      [2]: https://www.lexaloffle.com/bbs/?tid=140678
    • Saya tidak yakin Lua pasti jauh lebih lambat daripada BASIC untuk dijalankan sebagai interpreter di 8-bit sungguhan
      Desainnya sangat kecil dan ortogonal
  • Saya mencobanya sekitar 30 menit dan masih terus tersenyum. Ini benar-benar menyenangkan
    Karena dulu banyak memakai Pico-8, mudah sekali untuk langsung membuat sesuatu, dan Pico-8 adalah salah satu dari empat yang masuk keranjang software yang memberi saya kegembiraan, bersama Aseprite, Blender, dan Propellerhead ReBirth
    Pico-8 dibuat dengan perhatian luar biasa terhadap tujuan dan batasan yang disengaja, dan sejauh ini Picotron juga terasa memiliki tingkat kasih sayang dan pemikiran yang sama
    Menggemaskan, dan saya tidak ingin berhenti membuat sesuatu
    Saya sudah mencoba banyak klon Pico-8, tetapi semuanya terasa melewatkan intinya. Mereka “memperbaiki” batasannya, tetapi tidak memuaskan
    Menariknya, saya sendiri tiga kali mencoba membuat versi JavaScript semacam “Pico-8 dengan lebih banyak fitur” untuk prototyping game jam, tetapi setiap kali, seperti klon-klon itu, meski fiturnya cukup, ia tidak memberi inspirasi, jadi saya menyerah
    Saya tidak tahu siapa pembuat Pico-8 dan Picotron, tetapi saya memberi hormat kepada orang-orang hebat yang membuat software sebaik ini

    • Saya juga memasukkan Aseprite ke kategori itu, tetapi bagi saya yang terbesar adalah Godot
      Setelah bertahun-tahun membuat proyek OpenGL dari nol dan sedikit mencoba Unity, sekitar 2020 saya terjun 100% ke Godot, dan sejak itu menjadi software yang paling memberi kegembiraan bagi saya
    • Secara pribadi saya jauh lebih menyukai TIC-80
      Saya lebih suka rasio layarnya yang lebih baik, kemampuan memakai bahasa lain, dan tidak perlu memakai pustaka standar Lua kustom
  • Melihat bahwa “aplikasi Picotron dapat dibuat dengan tool bawaan dan dibagikan kepada pengguna lain dalam format kartrid PNG khusus 256KB”, saya melihat tren software indie belakangan ini mendistribusikan aset dalam file PNG. Kenapa begitu?

    • Ada juga unsur menyenangkan bahwa game/program yang bisa dieksekusi berada di dalam gambar, tetapi PNG adalah format lossless, memakai algoritma kompresi seperti ZIP, dan punya pustaka encoding/decoding di banyak bahasa
      Jadi ini menjadi kandidat yang lumayan sebagai format data aplikasi
    • Picotron dibuat oleh orang yang sama dengan PICO-8, dan setahu saya PICO-8-lah yang memopulerkan konsol fantasi
    • Menyenangkan dan mudah dibagikan
    • Sebagian besar karena menyenangkan. Selain itu, PNG punya alpha channel yang bagus untuk menyimpan data
      Sejauh yang saya tahu, konsol sebelumnya dari developer ini, PICO-8, yang memulai tren tersebut
  • Ini benda kecil yang menyenangkan, tetapi perlu hati-hati. Masih ada bug dan crash, dan masih ada bagian yang kasar
    Saya bisa sedikit melihat apa yang dituju Zep, tetapi banyak bagian masih cukup misterius, dan dokumentasi API juga hampir tidak ada
    Orang-orang bahkan mencetak seluruh tabel Lua global untuk mencari tahu cara melakukan sesuatu
    Tidak separah 0.1a, tetapi masih ada bagian yang perlu dipoles untuk 0.1c

  • Pico-8 adalah salah satu perangkat lunak paling menyenangkan yang pernah saya pakai, dan saya menantikan apa yang akan dibuat komunitas dengan Picotron
    Mesinnya sendiri, baik Pico-8 maupun Picotron, memang proprietary, tetapi program pengguna bisa dilihat source-nya meski bukan open source
    Secara edukatif ini benar-benar bagus dan saya menyukainya
    Implementasi yang kompatibel mungkin akan muncul, tetapi tool Pico-8 begitu terpoles dan harganya juga murah, jadi tidak ada alasan untuk tidak membayar 10 dolar
    Implementasi open source mungkin hanya bisa menjalankan program, tetapi belum tentu ikut menyediakan tool-tool lucu seperti IDE, editor sprite/map piksel, dan music tracker
    Uang itu sangat sepadan, dan Pico-8 adalah salah satu dari sedikit software berbayar yang tidak pernah saya sesali
    Singkatnya, Pico-8 itu hebat, komunitas dan program gratisnya juga hebat, jadi saya rasa Picotron juga akan hebat. Saya sudah lama menjadi penggemarnya

    • Saya berharap ada yang menulis mengapa Pico-8 jauh lebih baik daripada fantasy console lain
      Khususnya belakangan ini WASM-4 terasa menarik, dan TIC-80 yang disebut orang lain juga terlihat bagus
      Saya juga ingat pernah membaca tentang Pyxel dan terinspirasi olehnya
      Ketiganya punya kelebihan karena gratis, jadi mengapa harus membayar untuk Pico-8?
    • Pico-8 juga hebat, tetapi https://tic80.com/ juga benar-benar keren
    • Saya setuju bahwa Pico-8 adalah salah satu software paling menyenangkan, tetapi ada satu keluhan yang sangat sulit saya abaikan: font editor-nya terlalu sulit dibaca
      Saya mencoba membiasakan diri, tetapi tidak berhasil
      Meski begitu, game-game-nya sangat enak dimainkan, menyenangkan, menginspirasi, dan komunitasnya rasanya tidak bisa lebih baik lagi
  • Saya penasaran apakah angka “CPU: 8 juta instruksi Lua VM per detik” itu perkiraan kasar, atau memang dibatasi demi konsistensi
    Bagian “Seberapa cepat CPU-nya?” di FAQ hanya mengatakan bahwa CPU-nya cepat dan lebih cepat daripada PICO-8

    • Itu adalah kecepatan yang dibatasi, dan detail persisnya masih sedang disetel
      Dalam praktiknya, karena layarnya jauh lebih besar, ruang longgarnya tidak jauh lebih banyak dibanding PICO-8
      Jika ingin melakukan pekerjaan yang sangat berat di CPU sampai tidak mungkin dilakukan di PICO-8, harus memakai mode layar beresolusi rendah
    • PICO-8 juga begitu, jadi sepertinya itu kecepatan yang dibatasi https://pico-8.fandom.com/wiki/CPU
  • Secara pribadi, rasanya benar-benar menyenangkan
    Pico-8 memang software yang hebat, tetapi bagi saya terasa agak terlalu kuno dan kaku, sedangkan Picotron jauh lebih dekat dengan nuansa masa kecil saya
    Saya ingin segera mencobanya

  • Sepertinya akan sangat bagus jika dijalankan di salah satu perangkat Clockwork ini: https://www.clockworkpi.com/shop?page=2

    • Saya pernah menjalankan pico-8 di Clockwork pinjaman, dan itu berjalan baik untuk sebagian besar aplikasi
    • uConsole mempromosikan dukungan pico-8, jadi sepertinya perangkat seperti ini memang sudah dipikirkan sejak awal
  • Akan menyenangkan kalau ada unsur fisik seperti kode QR di karton yang diselipkan di bawah slot pembaca murah
    Untuk benar-benar mendapatkan nuansa 8-bit, rasanya tidak bisa menghindari sedikit kesan fisik. Termasuk layar berkualitas rendah dan tombol besar untuk dipencet-pencet

  • Sedikit disayangkan karena sepertinya tidak sepenuhnya kompatibel dengan PICO-8
    Saya membayangkan ini akan menjadi lingkungan yang sempurna untuk membuat game PICO-8

    • Saya penasaran bagian mana yang dimaksud. Kalau sekarang, mungkin masih ada kemungkinan untuk diubah