2 ポイント 投稿者 GN⁺ 2024-03-23 | 1件のコメント | WhatsAppで共有
  • Picotronは仮想ハードウェア上で Lua アプリを作成し、実行・共有する自己完結型の創作環境で、小さなゲームやツールを1つのデスクトップ内で扱える
  • 480x270 64色ディスプレイ、仮想ファイルシステム、POD ファイル形式、PFX6416 オーディオシンセサイザー、プロセスごとの Lua 5.4 VM が基本実行モデルを構成する
  • アプリ・プロジェクト・配布バンドルはすべて カートリッジとして扱われ、.p64 テキストファイルまたは最大 256k の ROM データを含む .p64.png として保存・共有される
  • デスクトップにはタブ式ワークスペース、折りたたみ式ツールトレイ、ファイルスタックがあり、コード・グラフィック・タイルマップ・音楽・効果音エディタが標準で含まれる
  • 現在は Beta 段階で、Windows、Mac、Linux と HTML エクスポートをサポートし、今後のアップデートへのアクセス込みで $19.99 で販売されている

仮想ハードウェア上の創作環境

  • Picotronは Fantasy Workstation を掲げる自己完結型の創作環境で、仮想ハードウェア上で動作する
  • ユーザーは Lua アプリを作成し、成果物を複数の方法で実行・共有できる
    • Picotron デスクトップ上で実行
    • カートリッジファイルとして共有
    • スタンドアロンの HTML およびバイナリ配布物としてエクスポート
  • 画面は基本 480x270 64色で、240x135 または 160x90 でも実行できる
  • フルスクリーンモードではカスタムパレットを使用できる
  • 内蔵グラフィック API はディスプレイへの低レベルアクセスを提供する
    • 8x8 塗りつぶしパターン
    • パレット置換とブレンディング
    • ステンシルビット
    • 遠近補正テクスチャラスタライズ用の tline3d

ファイル、オーディオ、実行モデル

  • ファイルシステムはホストシステムの必要な一部だけを公開する 仮想ファイルシステム である
  • Picotron 内部ファイルは POD(Picotron Object Data) 形式を使用し、Lua テーブルをディスクに直接保存・読み込みできる
    • セーブデータやレベルデータは Lua テーブルとしてまとめ、store() で pod に保存できる
  • オーディオは PFX6416 という 64 ノード・16 チャンネルのリアルタイムシンセサイザーで生成される
    • ノードはウェーブテーブルから信号を作るほか、FM/RING 変調、ディレイ、HP/LP 共振フィルタ、ウェーブシェーピングで信号を変化させる
    • ユーザーの楽器設計を含む音楽は、ディスク上で 5〜20k のサイズで保存できる
  • 実行環境はプロセスごとにわずかに改変された Lua 5.4 VM を個別に使用する
    • 仮想 CPU はプロセス間で分割され、最大で毎秒 8M VM 命令を実行する
    • Picotron カートリッジはさまざまなプラットフォームで一定の速度で動作できる
    • 高性能デスクトップで問題なく動作するなら、古いネットブックの Web 環境でもおおむね同様に見えるよう設計されている

カートリッジ中心の配布方式

  • アプリケーション、プロジェクト、配布バンドルはすべて カートリッジ という同じ種類として扱われる
    • 各カートリッジは通常のフォルダのように動作し、プログラム実行に必要なソースファイルとリソースを含む
    • ホストシステム上では単一のテキストファイル .p64 として保存され、RAM に収まるサイズまで扱える
    • 共有可能な PNG 形式 .p64.png は最大 256k の ROM データを格納できる

デスクトップと内蔵ツール

  • Picotron デスクトップは タブ式ワークスペース と、すべてのワークスペースからアクセスできる折りたたみ式ツールトレイ(tooltray)を提供する
  • ツールトレイは、よく使うファイルやウィジェットにアクセスするための第2のデスクトップのように機能する
  • ファイルを互いの上にドロップして整理されたスタックを作れ、マウスホイールでスタックを切り替えられる
  • 標準搭載エディタはコード、グラフィック、タイルマップ、音楽、効果音を扱う
    • これらのエディタ自体も Picotron で作られている
    • 無制限の取り消しスタック、GUI、ファイル管理は /system/lib 標準ライブラリを使用する
  • ユーザーはライブ壁紙、スクリーンセーバー、アイコン、ウィジェットを作成し、ワークフローを望む形に構成できる

パイプライン、プラットフォーム対応、価格

  • Picotron は緊密に統合された グラフィックパイプラインオーディオパイプライン の上に構築されている
    • graphicsaudio pipelines は、低電力なホストマシンや Web 上でも動作できる
    • 色を変更したスプライト描画や効果音トリガーのような一般的な処理向けに、シンプルな API を提供する
    • 基盤データとマシン状態は仮想 RAM に公開される
  • 現在の状態は Beta 段階である
    • Windows、Mac、Linux、HTML エクスポート機能が揃っている
    • オンラインハイスコアとファイル共有をサポートする
    • API とビデオ・オーディオパイプラインはすでに検証済みである
    • 今後の計画は Picotron Roadmap で確認できる
  • 価格は $19.99 で、購入者は今後のアップデートにアクセスできる
  • 既存の PICO-8 および Voxatron 顧客は割引アップグレードを利用できる

1件のコメント

 
GN⁺ 2024-03-23
Hacker News のコメント
  • PICO-8は楽しかったし、今も中核的な魅力は残っているけれど、今は CX16、Mega65、Agon Light のような新世代の「本物の」レトロハードウェアに移った
    ボード設計、チップ、入出力ポートがあると仕様がより堅固になり、Picotronのような新しいマシンは入出力仕様の範囲内でできることを、かなり妥協なく押し進められる
    エミュレーションもできるし、ハードウェアへ直接アクセスすることもでき、BASICやC、Forthなど好きな言語を動かせる
    Pico系のように実際の8ビットでLuaをインタプリタとして動かすには遅いかもしれないが、その代わり クロスコンパイラ の基盤として使えば、別種のコーディング上の挑戦になる
    「そのプロジェクトに必要な正確なコードを生成する究極の開発環境を作ったらどうだろう?」という方向で、高度に最適化されたPICO-8ゲームや、C64、Spectrum、A800向けの新しいデモでも、大きなハードウェアを古いマシン側に活用して、双方の固定観念を無視する形で現れている

    • こうしたマシンが、いつまでも同じレトロCPUである Z80、6502、8080 やFPGA上のVDP複製にとどまらないでほしい
      レトロ風の2D/ブリットベースのマシンは欲しいが、Cortex-M、Z8000、68000、低価格RISC-Vのような、より進んだハードウェアであってほしい
      ブートROMにはBASICを入れつつ、90年代風にさらに大きく発展する余地を持たせてほしい
      Commodore 64の魔法を取り戻したい気持ちはわかるが、個人的にはAmiga、Atari、BeBoxのようなハッキングの時代のほうが、ずっと輝いて見える
    • 子どもたちと一緒にPico-8で簡単なゲームを作り、基本的な幾何を学びながら本当に楽しく遊んだ
      Pico-8から続くコミュニティは、Picotronでもすでにcat/wget/grep[1]、そして当然Minesweeper[2]を実装している
      Joseph White/zepが作るものは、誰もが気兼ねなく作り、共有し、楽しんでいた初期のインターネットとIRCの時代をよみがえらせてくれる
      zepのおかげで、普通の人にとってもコンピューティングがまた楽しいものになった
      [1]: https://www.lexaloffle.com/bbs/?tid=140771
      [2]: https://www.lexaloffle.com/bbs/?tid=140678
    • Luaが実際の8ビットでインタプリタとして動かすのに、BASICより必ずずっと遅いのかはわからない
      設計はとても小さく直交的だ
  • 30分ほど触ってみたが、まだずっと笑っている。とにかく本当に楽しい
    以前Pico-8をよく使っていたので、すぐに何かを作りやすかったし、Pico-8はAseprite、Blender、Propellerhead ReBirthと並んで、私の 楽しいソフトウェア のかごに入る4つのうちの1つだ
    Pico-8には目標と意図的な制約にものすごい心配りがあり、今のところPicotronにも同じレベルの愛情と思慮が感じられる
    愛らしく、作り続けるのをやめたくない
    Pico-8のクローンをたくさん使ってみたが、どれも核心を外している感じだった。制約を「改善」しているが、満足できなかった
    面白いことに、自分もゲームジャムのプロトタイピング用に「機能がもっと多いPico-8」のようなJavaScript版を3回作ろうとしたが、毎回クローンたちと同じく機能としては十分でもインスピレーションを与えられず、諦めた
    Pico-8とPicotronを誰が作っているのかは知らないが、こんなに好感の持てるソフトウェアを作ってくれた素晴らしい人たちに敬意を表する

    • 私もAsepriteをそのカテゴリに入れるが、自分にとって一番大きいのは Godot
      数年間OpenGLプロジェクトを一から作り、Unityも少し触ったあと、2020年ごろにGodotへ100%没頭し、それ以来いちばん楽しさを与えてくれるソフトウェアになった
    • 個人的には TIC-80 のほうがずっと好きだ
      より良いアスペクト比、別の言語を使えること、カスタムLua標準ライブラリを使わなくてよい点が気に入っている
  • 「Picotronアプリは内蔵ツールで作成でき、特別な256KB PNGカートリッジ形式で他のユーザーと共有できる」という点を見ると、最近のインディーソフトウェアが PNGファイル でアセットを配布する流れが見える。なぜなのだろう?

    • 実行可能なゲーム/プログラムが画像の中に入っているという面白さもあるが、PNGは 可逆形式 で、ZIPと同じ圧縮アルゴリズムを使い、多くの言語にエンコード/デコード用ライブラリがある
      そのため、アプリケーションデータ形式として悪くない候補になる
    • PicotronはPICO-8と同じ人が作っており、私の理解ではPICO-8が ファンタジーコンソール を普及させた
    • 楽しく、共有しやすい
    • ほとんどは楽しさのためだ。またPNGにはデータ保存に向いた アルファチャンネル がある
      この開発者の以前のコンソールであるPICO-8が、その流れを始めたのだと思う
  • 面白い小さなものだが、注意は必要。まだ バグやクラッシュ があり、荒削りな部分も残っている
    Zepが何を目指しているのかはある程度見えるが、多くの部分はかなり謎めいていて、APIドキュメントもほとんどない
    実際、人々は何かのやり方を突き止めようとして、グローバルLuaテーブルを全部出力している
    0.1aほどひどくはないが、0.1cに向けて磨くべき部分はまだある

  • Pico-8は、これまで使ったソフトウェアの中でも特に気持ちのいいものの一つで、コミュニティがPicotronで作り出すものが楽しみ
    マシン自体はPico-8もPicotronもプロプライエタリだが、ユーザープログラムはオープンソースでなくてもソースを見ることはできる
    教育的に本当に良くて気に入っている
    互換実装は出てくるだろうが、Pico-8のツール群は非常に洗練されていて、価格も安く、10ドルを払わない理由がなかった
    オープンソース実装はプログラムの実行だけはできるかもしれないが、IDE、ピクセルスプライト/マップエディタ、音楽トラッカーのようなかわいいツールまで一緒に提供してくれるとは限らない
    そのお金を払う価値は十分にあったし、Pico-8はお金を出して買ったソフトウェアの中で、嫌いにならなかった数少ないものの一つだ
    まとめると、Pico-8も素晴らしく、コミュニティと無料プログラムも素晴らしいので、Picotronも素晴らしいものになると思う。ずっと昔からのファンだ

    • Pico-8が他のファンタジーコンソールよりなぜそこまで優れているのか、誰かに書いてほしい
      特に最近はWASM-4が興味深かったし、別の人が触れていたTIC-80も良さそうに見える
      Pyxelについて読んで刺激を受けた記憶もある
      3つとも無料という利点があるのに、なぜPico-8にお金を払うべきなのだろう?
    • Pico-8も素晴らしいが、https://tic80.com/も本当にすごい
    • Pico-8が最も気持ちのいいソフトウェアの一つだったという点には同意するが、どうしても見過ごせない不満が一つある。エディタのフォントがあまりに読みにくい
      慣れようとしたが無理だった
      それでもゲームはとても遊びやすく、楽しく、刺激的で、コミュニティもこれ以上ないほど良い
  • 「CPU: 秒間800万Lua VM命令」という数値が大まかなものなのか、一貫性のために制限しているものなのか気になる
    FAQの「CPUはどれくらい速いのか?」の項目は、速いこととPICO-8より速いことしか述べていない

    • 制限された速度で、正確な詳細はまだ調整中
      実際には画面がかなり大きくなったため、PICO-8より余裕が大幅に多いわけではない
      PICO-8では無理なほどCPUを多く使う処理をしたいなら、低解像度の画面モードを使う必要がある
    • PICO-8もそうしているので、制限された速度なのだと思う https://pico-8.fandom.com/wiki/CPU
  • 個人的には本当に感触がいい
    Pico-8は素晴らしいソフトウェアではあるものの、自分には少し古風すぎてぎくしゃくした感じがあるが、Picotronはずっと子どもの頃の感覚に近い
    早くいじって遊んでみたい

  • これらのClockworkデバイスのどれかで動かすとすごく良さそう: https://www.clockworkpi.com/shop?page=2

    • 借りたClockworkでpico-8を動かしてみたが、ほとんどのアプリケーションでうまく動いた
    • uConsoleがpico-8対応を宣伝しているので、そもそもこういうものを念頭に置いていたのだと思う
  • 安いリーダーのスロットの下に差し込む厚紙のQRコードのような物理性があると良い
    8ビット感をきちんと出すには、ある程度の物理的な感触は避けられない。低画質の画面と、ガンガン叩ける大きなボタンも含めて

  • PICO-8と完全互換ではなさそうで、少し残念
    PICO-8ゲームを作るのに完璧な環境になると思っていた

    • どの部分のことなのか気になる。今なら変わる可能性があるかもしれない