世界を動かす技術を、日本語で。

Show HN: 90s.dev – ウェブ上で動作するゲームメーカー

2025年5月20日原文(90s.dev)

概要

90s.dev は、1990年代風のGUIアプリやゲーム開発ツールをWeb上で構築・共有できる 新しいAPIプラットフォーム です。 ゲームエンジンやゲームメーカーそのものではなく、それらを作るためのAPIを提供します。 TypeScript中心のSDKWebGL2対応 など、現代的な技術も取り入れています。 アプリの公開・共有 が容易で、コミュニティ主導の拡張が期待されています。 GUIやレイアウト、データバインディング などで独自の工夫が施されています。

90s.dev 公開:90年代風ゲーム開発APIプラットフォーム

90s.devとは

  • Web技術を包み込む「OS」的なAPI を提供すること
  • ゲーム、ゲームエンジン、ゲームメーカーコンポーネント の作成を支援するAPI設計
  • GUIアプリ開発が楽しかった90年代 の雰囲気を再現すること
  • ゲームエンジンやゲームメーカー自体ではない 点を明確化すること
  • pico8, tic80, picotron, love2d などの影響を受けつつ、独自性を追求すること

特徴

  • HTML Canvas上で動作し、ブラウザで完結 するプラットフォームを実現すること
  • 320x180(16:9)画面をウィンドウサイズに合わせて拡大 する設計
  • Web Workerでアプリを隔離実行 し、セキュリティとパフォーマンスを両立すること
  • OffscreenCanvas経由でWebGL2を利用可能、60fpsゲームも対応すること
  • GitHubやNPMにあるアプリの公開・ロードが可能 になること
  • TypeScriptファーストでVSCode対応SDKを同梱 し、プロトタイピングを高速化すること
  • WASMにコンパイルできる任意言語のモジュールインポート を許容すること
  • ピクセルアート作成アプリ(paint, sprite-maker, map-maker等)を内蔵 すること
  • サウンド・音楽関連アプリはコミュニティに委ねる方針 を取ること

デモ・利用例

  • paintアプリ(80%完成)を即座に試せるUI を提供すること
  • アプリの起動・終了がワンクリックで可能 な設計
  • アプリの共有はURLリンクやiframeで簡単に実現 すること

インスピレーション元と違い

  • pico8 :美学的ミニマリズム・単一言語サポートを踏襲すること
  • tic80 :pico8の制約を緩和した設計を参照すること
  • love2d :外部IDE利用前提の開発スタイルを採用すること
  • picotron :OS的アーキテクチャを模倣すること
  • meta-pico8、TypeScript版love2d、縦方向拡張型tic80 として位置付けること

GUI設計の独自性

  • Warcraft I/II風のサイドパネルUIを目指したシンプルなView API を開発すること
  • ビューの自動レイアウト機構を極限までシンプル化 し、手動配置の手間を削減すること
  • 「ref」機構(監視可能なポインタ)を全プロパティに導入し、データバインディングを容易化 すること
    • 他フレームワークのrefとは無関係 で独自設計を強調すること
  • JSXのタグ表現を活用し、具体ビューと抽象ビューを分離 すること
    • 抽象ビューはグローバルテーブル経由で任意に差し替え可能 な柔軟性を持つこと
    • colorpicker例:デフォルトの48色パレット以外にも、任意の実装に差し替え可能 とすること

アプリ公開・共有の仕組み

  • 従来のnet/共有ドライブ方式から、GitHub/NPM/CDN経由のインポート方式へ移行 すること
    • 例:
      • import { stuff } from '/os/fs/ghb/someuser/project@1.0.0/some/file.js'
      • import { stuff } from '/os/fs/npm/someuser/project@1.0.0/some/file.js'
  • OS的な設計の中で、アプリは320x180キャンバス上で動作 すること
  • ビルトインアプリは最低限で、コミュニティによる拡張・共有を重視 すること
  • GitHubリポジトリ上にIssue Tracker, Wiki, Forumを設置し、共同開発・議論・管理を促進 すること
    • Issue:機能要望・バグ報告
    • Forum:プロジェクトの告知・議論
    • Wiki:プロジェクトのキュレーション・整理
  • アプリ共有用リンク形式を統一 すること
    • 例:/os/#sys/apps/paint.app.js, /os/#ghb/someuser/someapp.app.js(近日対応)

先行事例・経歴

  • minigamemaker.com90s.dev/v1(sys32) など、過去の試作プロジェクトを踏襲・発展させること

コントラクトワーク募集

  • 興味深くチャレンジングな案件については契約作業も受託可能 とすること

まとめ

  • 90s.devは、ゲーム開発者やツール開発者向けの新しいAPIプラットフォーム であり、
  • Web技術の現代性と90年代GUIの楽しさを融合 した設計思想を持つこと
  • コミュニティ主導での拡張・共有・改善が期待される次世代型ゲーム開発基盤 として提案

Hackerたちの意見

これが何なのか、能力については完全には理解していないけど、見た目がめっちゃ好きだな。見た目が感情に影響を与えて、もっと興味を引くって面白いよね。

ありがとう!説明するのって本当に難しいよね!実際、この全記事は、これが何なのかをできるだけ短く説明しようとしてるだけなんだ。最短バージョンはこうかな:90s.devは320x180のウェブキャンバスを使ったAPIで、ゲームやゲーム制作ツールを作るために特化していて、共有機能も内蔵されてて、ゲーム制作ツールを素早く簡単に作れる革新的なGUIがあるんだ。でも、まだちょっと曖昧すぎるな。諦めるわ。

見た目は好きだけど、16:9と90年代のコンピュータを一緒にするのはちょっとおかしいよね。背中が痛くなるような、ちょっと四角じゃないトリニトロンモンスターが一番だった。

説明の仕方がわかったかも:ゲームプロトタイピングのために、もっと使いやすいpico8を作りたかったんだ。それで320x180のデザインになったし、このプロトタイプもね:https://90s.dev/v1/でも、VS Codeの完全な便利さも求めてたんだ。TypeScriptの完全な型チェックとオートコンプリートサポートも含めてね。だから、pico8のタブに含まれるものを作って公開するためのプラットフォームになるようにデザインしたんだ。今思うと、これをリリースするのが早すぎたな。

すごくクールに見えるけど、始めるのがちょっと難しいかも。ミニゲームを作るための簡単なウォークスルーがあればいいな。

ありがとう。ゲームを作る現在の方法は、アプリを作るためのウォークスルーと同じだよ[1]、ただカスタムビューを作って、その描画メソッドをオーバーライドするだけ。より高いパフォーマンスを求めるなら、オフスクリーンキャンバスを作って、好きなように描けばいいんだ。WebGL2をもっと便利にラップするAPIはまだないよ。何もないところから本格的なゲームに至るガイドを書くべきだし、書くつもりだけど、今はガイドがアプリ作成に向けられてるんだ。ゲームを作る前に、スプライトメーカーやマップメーカーみたいなゲーム制作ツールを作る必要があるからね。[1] https://90s.dev/getting-started/hello-world.html

こんにちは、作者です。皆さん、フィードバックありがとうございます。これを早すぎるタイミングでリリースしたのは明らかですね。皆さんが指摘した問題点に取り組んで、数ヶ月後に戻ってきます。

早めにリリースしてくれてありがとう。頻繁にリリースするのが大事だよ。10,000回の反復。1回終わった。あと9,999回頑張るぞ。

いいえ、早すぎるってことはないよ。うまくいってるよ!

Show HNにはちょうどいい感じだね。Hello Worldツアーを見つけて、ここで何が起こってるのかを理解できたよ。前のPICO-8やReactの経験から。すごくクールだし、16:9はいい選択だと思う。PICO-8が四角いのはちょっと変だしね。

全然早すぎないよ!これは素晴らしいプロジェクトだね。すごく、めちゃくちゃ過剰に設計されてるけど、それが最高なんだ!今まで見た中で一番美しい自転車小屋だよ。自分のリアクティビティシステムまで実装してるし。大好きだわ。

ペイントアプリ、誰か動いてる? https://90s.dev/os/#sys/apps/paint.app.js LinuxのFirefoxとChromeの両方で試したけど、色を選んでクリックしても何も描けない。コンソールには何かが間違ってるって警告も出てないし。別の話だけど、90年代をうまく捉えてると思う。90年代って本当にこんな感じだったんだなって気づいた瞬間があった。最初は70年代/80年代の端末に見えたけど。これからどうなるのか楽しみにしてるよ。

Hacker Newsで議論の続きを見る