2 Punkte von GN⁺ 2024-03-23 | 1 Kommentare | Auf WhatsApp teilen
  • Picotron ist eine in sich geschlossene kreative Umgebung, in der Lua-Apps auf virtueller Hardware erstellt, ausgeführt und geteilt werden können, sodass sich kleine Spiele und Tools in einem einzigen Desktop verwalten lassen
  • Ein 480x270-Display mit 64 Farben, ein virtuelles Dateisystem, das POD-Dateiformat, der Audio-Synthesizer PFX6416 und eine Lua-5.4-VM pro Prozess bilden das grundlegende Ausführungsmodell
  • Apps, Projekte und Distributions-Bundles werden alle als Cartridges behandelt und als .p64-Textdateien oder als .p64.png zum Speichern und Teilen mit bis zu 256k ROM-Daten abgelegt
  • Der Desktop bietet einen tabbasierten Arbeitsbereich, eine einklappbare Tooltray und Dateistapel; Editoren für Code, Grafik, Tilemaps, Musik und Soundeffekte sind standardmäßig enthalten
  • Derzeit in der Beta-Phase, mit Unterstützung für Windows, Mac, Linux und HTML-Export; erhältlich für 19,99 US-Dollar inklusive Zugriff auf künftige Updates

Eine kreative Umgebung auf virtueller Hardware

  • Picotron ist eine in sich geschlossene kreative Umgebung, die sich als Fantasy Workstation versteht und auf virtueller Hardware läuft
  • Nutzer können Lua-Apps erstellen und ihre Ergebnisse auf verschiedene Weise ausführen und teilen
    • Ausführen auf dem Picotron-Desktop
    • Teilen als Cartridge-Datei
    • Export als eigenständige HTML- und Binär-Distributionen
  • Der Bildschirm ist standardmäßig 480x270 mit 64 Farben, Ausführung ist auch in 240x135 oder 160x90 möglich
  • Im Vollbildmodus können benutzerdefinierte Paletten verwendet werden
  • Die integrierte Grafik-API bietet Low-Level-Zugriff auf das Display
    • 8x8-Füllmuster
    • Palettenaustausch und Blending
    • Stencil-Bits
    • tline3d für perspektivisch korrigierte Textur-Rasterisierung

Dateien, Audio und Ausführungsmodell

  • Das Dateisystem ist ein virtuelles Dateisystem, das nur die nötigen Teile des Host-Systems freigibt
  • Interne Picotron-Dateien verwenden das POD-Format (Picotron Object Data), sodass Lua-Tabellen direkt auf die Festplatte gespeichert und von dort geladen werden können
    • Speicherdaten oder Leveldaten lassen sich als Lua-Tabellen bündeln und mit store() in ein POD speichern
  • Audio wird mit PFX6416 erzeugt, einem Echtzeit-Synthesizer mit 64 Knoten und 16 Kanälen
    • Knoten erzeugen Signale aus Wavetables oder verändern sie mit FM-/RING-Modulation, Delay, resonanten HP/LP-Filtern und Waveshaping
    • Musik einschließlich benutzerdefinierter Instrumentendesigns kann in Größen von 5 bis 20k auf der Festplatte gespeichert werden
  • Die Laufzeitumgebung nutzt pro Prozess jeweils eine separat instanziierte, leicht modifizierte Lua-5.4-VM
    • Die virtuelle CPU wird zwischen Prozessen aufgeteilt und führt bis zu 8 M VM-Instruktionen pro Sekunde aus
    • Picotron-Cartridges können auf verschiedenen Plattformen mit konstanter Geschwindigkeit laufen
    • Wenn etwas auf einem leistungsfähigen Desktop problemlos läuft, soll es auch in einer Web-Umgebung auf einem alten Netbook weitgehend ähnlich aussehen

Cartridge-zentrierte Distribution

  • Anwendungen, Projekte und Distributions-Bundles werden alle als derselbe Typ behandelt: Cartridges
    • Jede Cartridge funktioniert wie ein normaler Ordner und enthält die Quelldateien und Ressourcen, die zum Ausführen des Programms nötig sind
    • Auf dem Host-System wird sie als einzelne Textdatei .p64 gespeichert, bis zur Größe dessen, was in den RAM passt
    • Das teilbare PNG-Format .p64.png kann bis zu 256k ROM-Daten enthalten

Desktop und integrierte Tools

  • Der Picotron-Desktop bietet einen tabbasierten Arbeitsbereich und eine einklappbare Tooltray, die aus jedem Arbeitsbereich erreichbar ist
  • Die Tooltray funktioniert wie ein zweiter Desktop für den Zugriff auf häufig genutzte Dateien und Widgets
  • Dateien können übereinander abgelegt werden, um geordnete Stapel zu bilden, durch die sich mit dem Mausrad blättern lässt
  • Die mitgelieferten Editoren decken Code, Grafik, Tilemaps, Musik und Soundeffekte ab
    • Diese Editoren selbst sind ebenfalls mit Picotron erstellt
    • Unbegrenzte Undo-Stacks, GUI und Dateiverwaltung verwenden die Standardbibliothek /system/lib
  • Nutzer können Live-Hintergründe, Bildschirmschoner, Icons und Widgets erstellen und ihren Workflow nach Wunsch gestalten

Pipelines, Plattformunterstützung und Preis

  • Picotron ist auf einer eng integrierten Grafik-Pipeline und Audio-Pipeline aufgebaut
    • Die graphics und audio pipelines können auch auf leistungsschwachen Host-Maschinen und im Web ausgeführt werden
    • Sie bieten einfache APIs für typische Aufgaben wie das Zeichnen farbvariierter Sprites oder das Auslösen von Soundeffekten
    • Grundlegende Daten und Maschinenzustand sind im virtuellen RAM offengelegt
  • Der aktuelle Status ist Beta
    • Windows, Mac, Linux und HTML-Export werden vollständig unterstützt
    • Online-Highscores und Dateifreigabe werden unterstützt
    • API sowie Video- und Audio-Pipelines gelten bereits als erprobt
    • Künftige Pläne sind in der Picotron Roadmap einsehbar
  • Der Preis beträgt 19,99 US-Dollar, Käufer erhalten Zugriff auf künftige Updates
  • Bestehende Kunden von PICO-8 und Voxatron können ein vergünstigtes Upgrade nutzen

1 Kommentare

 
GN⁺ 2024-03-23
Meinungen auf Hacker News
  • Ich hatte Spaß mit PICO-8, und der zentrale Reiz ist immer noch da, aber inzwischen bin ich zur neuen Generation „echter“ Retro-Hardware wie CX16, Mega65, Agon Light weitergezogen.
    Wenn es Board-Design, Chips und Ein-/Ausgabeports gibt, werden die Spezifikationen handfester, und neue Maschinen wie Picotron können ziemlich kompromisslos ausreizen, was innerhalb der I/O-Spezifikation möglich ist.
    Emulation ist möglich, man kann direkt auf die Hardware zugreifen und die Sprache nutzen, die man möchte, etwa BASIC, C oder Forth.
    Wie bei der Pico-Reihe dürfte es zu langsam sein, Lua als Interpreter auf echter 8-Bit-Hardware laufen zu lassen; stattdessen wird es, wenn man es als Grundlage für einen Cross-Compiler nutzt, zu einer anderen Art von Coding-Herausforderung.
    Die Richtung lautet: „Was wäre, wenn man die ultimative Entwicklungsumgebung baut, die genau den Code erzeugt, den dieses Projekt braucht?“ Das zeigt sich auch bei hochoptimierten PICO-8-Spielen oder neuen Demos für C64, Spectrum und A800, wo große Hardware für die alten Maschinen genutzt wird und so die Klischees beider Seiten ignoriert werden.

    • Ich hoffe, dass solche Maschinen nicht immer bei denselben Retro-CPUs wie Z80, 6502, 8080 oder VDP-Nachbauten im FPGA stehen bleiben.
      Ich will zwar eine retroartige 2D-/Blitter-basierte Maschine, aber mit fortschrittlicherer Hardware wie Cortex-M, Z8000, 68000 oder einem günstigen RISC-V.
      BASIC im Boot-ROM ist gern gesehen, aber es sollte im Stil der 90er Raum zum Wachsen geben.
      Ich verstehe, dass man die Magie des Commodore 64 zurückholen möchte, aber persönlich erscheint mir die Hacker-Ära von Amiga, Atari und BeBox deutlich strahlender.
    • Ich hatte mit meinen Kindern großen Spaß dabei, mit Pico-8 einfache Spiele zu bauen und grundlegende Geometrie zu lernen.
      Die aus Pico-8 hervorgegangene Community implementiert auch in Picotron bereits cat/wget/grep[1] und natürlich Minesweeper[2].
      Alles, was Joseph White/zep baut, lässt die Zeit des frühen Internets und IRC wiederaufleben, in der alle ohne Scham gebaut, geteilt und Spaß daran gehabt haben.
      Dank zep macht Computing auch gewöhnlichen Leuten wieder Spaß.
      [1]: https://www.lexaloffle.com/bbs/?tid=140771
      [2]: https://www.lexaloffle.com/bbs/?tid=140678
    • Ich weiß nicht, ob Lua als Interpreter auf echter 8-Bit-Hardware wirklich zwingend viel langsamer als BASIC wäre.
      Das Design ist sehr klein und orthogonal.
  • Ich habe es etwa 30 Minuten ausprobiert und grinse immer noch. Es macht einfach wirklich Spaß.
    Da ich früher viel Pico-8 genutzt habe, war es sofort leicht, etwas zu bauen; Pico-8 gehört zusammen mit Aseprite, Blender und Propellerhead ReBirth zu den vier Dingen in meinem Korb der Software, die Freude macht.
    In die Ziele und bewusst gesetzten Grenzen von Pico-8 ist enorm viel Sorgfalt geflossen, und bisher fühlt sich Picotron nach demselben Maß an Liebe und Nachdenken an.
    Es ist liebenswert, und ich möchte gar nicht aufhören, weiterzubauen.
    Ich habe viele Pico-8-Klone ausprobiert, aber alle fühlten sich so an, als würden sie den Kern verfehlen. Sie „verbesserten“ die Beschränkungen, waren aber nicht befriedigend.
    Lustigerweise habe ich selbst dreimal versucht, eine JavaScript-Version im Sinne eines „Pico-8 mit mehr Features“ für Game-Jam-Prototyping zu bauen, aber jedes Mal habe ich aufgegeben, weil sie zwar wie die Klone funktional genug war, mich aber nicht inspirierte.
    Ich weiß nicht, wer Pico-8 und Picotron entwickelt, aber ich ziehe den Hut vor den großartigen Leuten, die so sympathische Software geschaffen haben.

    • Aseprite würde ich auch in diese Kategorie einordnen, aber für mich ist Godot das Größte.
      Nachdem ich jahrelang OpenGL-Projekte von Grund auf gebaut und auch ein wenig mit Unity herumgespielt hatte, bin ich um 2020 herum zu 100 % in Godot eingestiegen, und seitdem ist es die Software, die mir am meisten Freude macht.
    • Persönlich mag ich TIC-80 deutlich lieber.
      Mir gefallen das bessere Seitenverhältnis, die Möglichkeit, andere Sprachen zu verwenden, und dass man keine angepasste Lua-Standardbibliothek nutzen muss.
  • Wenn ich lese, dass „Picotron-Apps mit den eingebauten Tools erstellt und in einem speziellen 256-KB-PNG-Cartridge-Format mit anderen Nutzern geteilt werden können“, sehe ich bei Indie-Software heute den Trend, Assets in PNG-Dateien auszuliefern. Warum ist das so?

    • Es gibt auch den Spaßfaktor, dass ein ausführbares Spiel/Programm in einem Bild steckt, aber PNG ist ein verlustfreies Format, verwendet einen ZIP-ähnlichen Kompressionsalgorithmus und es gibt Encoding-/Decoding-Bibliotheken für viele Sprachen.
      Dadurch ist es ein ziemlich guter Kandidat als Anwendungsdatenformat.
    • Picotron stammt von derselben Person wie PICO-8, und meines Wissens hat PICO-8 die Fantasy Console populär gemacht.
    • Es macht Spaß und lässt sich leicht teilen.
    • Meistens geht es um den Spaß. Außerdem hat PNG einen Alphakanal, der sich gut zum Speichern von Daten eignet.
      Soweit ich weiß, hat die frühere Konsole dieses Entwicklers, PICO-8, diesen Trend angestoßen.
  • Ein interessantes kleines Ding, aber man sollte vorsichtig sein. Es gibt noch Bugs und Abstürze, und einige Ecken sind noch rau.
    Man erkennt einigermaßen, worauf Zep hinauswill, aber vieles ist ziemlich rätselhaft, und es gibt kaum API-Dokumentation.
    Tatsächlich geben Leute die gesamten globalen Lua-Tabellen aus, um herauszufinden, wie man etwas macht.
    Es ist nicht so schlimm wie 0.1a, aber für 0.1c gibt es noch einiges zu glätten.

  • Pico-8 war eine der angenehmsten Softwares, die ich je benutzt habe, und ich bin gespannt, was die Community mit Picotron schaffen wird
    Die Maschine selbst ist sowohl bei Pico-8 als auch bei Picotron proprietär, aber bei Benutzerprogrammen kann man den Quellcode einsehen, auch wenn sie nicht Open Source sind
    Aus Bildungssicht ist das wirklich großartig, und es gefällt mir sehr
    Kompatible Implementierungen werden sicher kommen, aber die Pico-8-Tools waren so ausgereift und der Preis so niedrig, dass es keinen Grund gab, die 10 Dollar nicht zu bezahlen
    Eine Open-Source-Implementierung kann vielleicht nur Programme ausführen, liefert aber möglicherweise nicht gleich die hübschen Tools wie IDE, Pixel-Sprite-/Map-Editor und Musik-Tracker mit
    Das Geld war es absolut wert, und Pico-8 ist eine der wenigen Softwares, für die ich bezahlt habe und die ich nicht bereut habe
    Kurz gesagt: Pico-8 ist großartig, die Community und die kostenlosen Programme sind großartig, also gehe ich davon aus, dass Picotron ebenfalls großartig sein wird. Ich bin schon lange Fan

    • Ich wünschte, jemand würde einmal aufschreiben, warum Pico-8 so viel besser ist als andere Fantasy-Konsolen
      Besonders WASM-4 fand ich in letzter Zeit interessant, und das von jemand anderem erwähnte TIC-80 sieht auch gut aus
      Ich erinnere mich auch, dass ich über Pyxel gelesen habe und davon inspiriert war
      Alle drei haben den Vorteil, kostenlos zu sein — warum sollte man also für Pico-8 bezahlen?
    • Pico-8 ist ebenfalls großartig, aber https://tic80.com/ ist auch wirklich klasse
    • Ich stimme zu, dass Pico-8 eine der angenehmsten Softwares ist, aber es gibt einen Kritikpunkt, über den ich einfach nicht hinwegkomme: Die Editor-Schriftart ist zu schwer zu lesen
      Ich habe versucht, mich daran zu gewöhnen, aber es hat nicht funktioniert
      Trotzdem sind die Spiele sehr gut spielbar, unterhaltsam und inspirierend, und die Community könnte kaum besser sein
  • Ich frage mich, ob die Angabe „CPU: 8 Millionen Lua-VM-Instruktionen pro Sekunde“ nur ein grober Wert ist oder ob sie aus Gründen der Konsistenz begrenzt wurde
    Der FAQ-Punkt „Wie schnell ist die CPU?“ sagt nur, dass sie schnell ist und schneller als PICO-8

    • Es ist eine begrenzte Geschwindigkeit, und die genauen Details werden noch abgestimmt
      In der Praxis ist der Spielraum im Vergleich zu PICO-8 nicht viel größer, weil der Bildschirm deutlich größer geworden ist
      Wenn man etwas sehr CPU-Intensives tun will, das in PICO-8 nicht gehen würde, muss man einen Bildschirmmodus mit niedriger Auflösung verwenden
    • PICO-8 macht das auch so, also dürfte es eine begrenzte Geschwindigkeit sein https://pico-8.fandom.com/wiki/CPU
  • Persönlich fühlt es sich für mich wirklich gut an
    Pico-8 ist zwar eine großartige Software, fühlt sich für mich aber etwas zu altmodisch und klapprig an; Picotron kommt dem Gefühl aus meiner Kindheit viel näher
    Ich kann es kaum erwarten, damit herumzuspielen

  • Es wäre bestimmt großartig, das auf einem dieser Clockwork-Geräte laufen zu lassen: https://www.clockworkpi.com/shop?page=2

    • Ich habe pico-8 auf einem geliehenen Clockwork ausprobiert, und in den meisten Anwendungen lief es gut
    • Da uConsole mit pico-8-Unterstützung wirbt, scheint es genau für so etwas gedacht gewesen zu sein
  • Etwas Physisches wie ein QR-Code auf Karton, den man unter den Slot eines billigen Lesegeräts schiebt, wäre schön
    Für das richtige 8-Bit-Gefühl kommt man um ein gewisses Maß an Haptik nicht herum. Dazu ein niedrig aufgelöster Bildschirm und große Tasten, auf die man ordentlich hämmern kann

  • Es ist etwas schade, dass es offenbar nicht vollständig mit PICO-8 kompatibel ist
    Ich hatte mir vorgestellt, dass es die perfekte Umgebung wäre, um PICO-8-Spiele zu erstellen

    • Ich frage mich, in welchen Punkten. Vielleicht ließe sich das jetzt noch ändern