Show HN: Godotエンジンで作られたフェイクOSインターフェース「GodotOS」
(github.com/popcar2)- GodotOSはGodotだけで作られたOS風インターフェースで、フォルダのブラウズ、テキストファイル編集、画像表示、ゲーム起動などを、1つの洗練された画面で提供する
- 実際のOSではなく、OSのように見えるアプリケーションであり、Webでも利用できるインターフェースを目指している
- プロジェクトの性格は、本格的なOS実装というより、Godot UIデザインの限界を押し広げるおもちゃに近い
- デスクトップはミニマルで邪魔な要素が少なく、見栄えのよい環境を志向し、小さなゲームや体験を手軽にまとめ込むハブとしての役割も果たす
- GodotOSはGodot Engine開発者やGodot Foundationと提携したプロジェクトではない
GodotOSが提供するインターフェース
- GodotOSはGodotだけで作られたOSスタイルのインターフェース
- 1つの一貫した画面内で次の作業に対応する
- フォルダのブラウズ
- テキストファイル編集
- 画像表示
- ゲームプレイ
- その他のデスクトップ型体験
- Webでも利用できる統合インターフェースを提供する
プロジェクトの目的と性格
- GodotOSは実際のOS実装というより、おもちゃプロジェクトに近い
- 目的はGodotで可能なUIデザインの限界を試すこと
- デスクトップ環境は次の性格を志向する
- ミニマル
- 邪魔な要素が少ない
- 美的に見栄えがよい
ゲームと体験をまとめるハブ
- GodotOSは小さなゲームや体験を簡単に含められるハブとして設計されている
- スタートメニューに直接ゲームを追加したい場合は、コントリビュートガイドを確認できる
使い方
- Web版はItch.io pageで試せる
- すべてのバージョンはreleases pageからダウンロードできる
- デモ動画はTrailerとして提供されている
明確な制限と非提携の告知
- GodotOSは実際のOSではなく、OSに似たインターフェースを持つアプリケーションである
- GodotOSはGodot Engine開発者やGodot Foundationと提携していない
2件のコメント
面白いおもちゃですね
Hacker Newsの意見
Godotをデスクトップアプリケーション向けクロスプラットフォームフレームワークとして使う、優れた概念実証に見える。
配布パッケージは実行ファイル1つとデータファイル1つだけで非常にシンプルで、性能も優れている。
完全に自己完結したディストリビューション非依存のバイナリパッケージを提供する方法としては、Flatpak系よりずっと良さそうに見えるし、性能面ではElectronより大幅に優れていそうだ。
ゲームエンジンで作るデスクトップアプリケーションが、次の大きな流れになるのかもしれない。
優れたテキストレンダリング、一貫したテキスト編集インターフェース、アクセシビリティ、透明度のようなOS機能をすべて捨てることになる。
Godotが任意のUIでElectronより本質的に速いとも思わない。
Godotアプリがたいてい速いのは、ゲームエンジンを使いたがる、性能を気にする人たちが作っているからで、開発者が性能を気にすればElectronもVSCodeのように十分速くなり得る。
ゲームエンジンの仕事をした経験から言っている。
Godotでプロフェッショナルなクロスプラットフォームアプリケーションを作る記事を書こうとしていて、たぶん近いうちに書くと思う。
要約すると、GodotはUIビルダーとして優れており、多くの人が徐々にそれに気づきつつあると思う。
Godotで作られたプロ向けアプリケーションも多いし[0]、私が一番好きなホワイトボードアプリで、このプロジェクトにも部分的に着想を与えたGodotベースのLorien[1]にも触れておきたい。
Godotは完璧ではなく、ほかのUI制作ツールのほうが得意な部分もあるが、まだ掘り起こされていない潜在力は大きい。
[0]: https://alfredbaudisch.com/blog/gamedev/godot-engine/standal...
[1]: https://github.com/mbrlabs/Lorien
TTRPG用の地図を簡単に作れるDungeondraft[1]というプログラムを使っているが、Godot上に作られている。
Modding APIページ[2]でもGodotに言及している。
[1]: https://dungeondraft.net/
[2]: https://megasploot.github.io/DungeondraftModdingAPI/
アプリが単一の自己完結バイナリであっても、Flatpakの利点を受けられる。
サンドボックス化、権限管理、システムとの分離、不変・イメージベースのディストリビューションでの必要性、debやrpmなどを個別に作る必要がない統一パッケージ形式といったものは、開発者とユーザーの双方に役立つ。
これはUIを何で書くかとはあまり関係がなく、自己完結バイナリだけでFlatpakを完全に置き換えることはできない。
思い浮かぶもう1つの欠点は、設計の観点から、アプリケーションがすべてのプラットフォームで同じデザイン言語を持たなければならず、各プラットフォームのネイティブな見た目を持たせにくいことだ。
ほかに欠点はあるだろうか?
Godot IDE自体もすべてGodot APIで作られているという点で「ゲーム」だ。
実際、これは現代的なVisual Basicのように、移植可能な業務用アプリを作るための良い環境になり得るのではないかと思う。
関連して、Grey Hackはハッキングを目的とするマルチプレイヤーゲーム内の架空OS・ネットワーク・インターネットだ。
互いにハッキングし合うことも含まれ、基本機能をかなりよくシミュレートしている。
ファイルを盗んだり、別のコンピューターにファイルを置いたり、ソフトウェアをインストールしたり、コマンドラインで各種ツールの模造品を含むコマンドを実行したりでき、プログラムを自分で書くこともできる。
現実でも役に立つかもしれない。
映画産業を考えると、登場人物がコンピューターで何かをしている様子を見せるための架空OSは、ほとんどクリシェそのものだ。
最近、映画『Hackers』のファンたちと話していて、映画でどんなOSを使ったのかと聞かれたので、90年代のあらゆる映画が使っていたもの、つまりMac OSにMacromedia Directorで急造した偽のUI要素を載せたものだと答えた。
その後の映画ではFlashがその役割を担い、映画スタジオが撮影現場でリアルタイムCGの参考画像を提供する用途にゲームエンジンをますます使っていることを考えると、これはその現代版かもしれない。
GodotにUI中心の最小コンパイルモードがあるといいと思う。
GPUレンダリングUIの対象として非常に魅力的で、工学やデータ分析に有用なコンポーネントを作るための優れたライブラリやプラグインもすでにある。
2D/3Dコンポーネントを大半維持したままどこまで小さくできるかは分からないが、可能ではあるはずだ。
[1]: https://docs.godotengine.org/en/stable/contributing/developm...
custom_modulesフラグで、どのGodotモジュールをコンパイルするか選べる。たとえば私たちは、2D Godot Webゲーム向けに小さなwasmを配布している。
Godotは、こうしたものを作るための素晴らしいスケッチパッドです
以前、飛行機を待って空港にいたとき、機内でパートナーと遊べるように、eInkタブレット向けにロシアのペン&ペーパーゲーム Virus War(“Война вирусов”)の即席メモ帳を作ったことがあります
状態の異なるタップ可能なボタンが並ぶグリッドにすぎませんでしたが、搭乗前までに遊べるプロトタイプを作ることができました
2005年ごろ、GameMakerコミュニティで Sub OS がある程度流行していた時期を思い出します
十分な時間が経つと、誰かが特定のゲームエンジンの中でOSのようなインターフェースを作ろうとするもののようです
ゲームメカニクスを作るだけでなく、UIやユーザビリティのパラダイムを理解するよい方法でしたし、かなり楽しい郷愁を呼び起こします
私はTiagix OSを作りました。私の知る限り、アプリ作成サポートを実際に備えた最初期のsubOSの一つでした
すべて一から作る必要があったので、GUIツールキットについて多くを学びました
https://forum.gamemaker.io/index.php?threads/gm8-subos-proje...
たいていOSのUIシェルとアプリケーションを備えていましたが、残念ながら名前は忘れてしまいました
「GodotOSは実際のOSではなく、OSのように見えるインターフェースを持つアプリケーションです」とありますが、実際のところGodotOSは初期のWindowsよりもOSではないと言えるのでしょうか?
Notchが自作の縮小版アセンブリ言語で宇宙ゲームを実験していた時期を思い出します
残念ながら作業は止まってしまいましたが、ゲーム内でハッキングするジャンルにはまだ大きな可能性があると思います
「Fキーを押してハッキング」ではなく、実際にシステムへログインして何かを取得したり変更したりする方式です
本物らしいゲーム内OSは、よい前進に見えます
https://web.archive.org/web/20130905082541/http://dcpu.com/d...
「コンピュータ施設」を配置して信号ネットワークに接続し、ターミナルを開いてプログラミングを始めます
工場は非常に複雑になり得るので実際に有用性があり、アイテムを信号記号として使ってワイヤ越しにかなり高度な通信ができる点が面白いです
デバイスのクロック速度は、ゲームのティックごとに数命令に制限されていました
限定的な「OS」エミュレーションを備えた放置系ゲームですが、良い解法には実際の思考とプログラミング知識が必要です
開いているポートを探すためにネットワークをスキャンし、自動で「ハッキング」したうえで、ハッキングが最も「収益性の高い」状態になるよう、特定のパラメータに基づいて全システムのメモリ割り当てをグローバルにバランス調整するスクリプトを書くことになります
基本的なソケット通信、分析結果を自宅PCへ戻すスクリプト、偽の株式市場でのアルゴリズム取引まで作ることになって楽しかったです
https://www.zachtronics.com/tis-100/
スクリーンショットには “GodotOS is a fake operating system” とあります
でも本当にフェイクなのでしょうか? 「OS」という用語は、それが動作するハードウェア層のレベルを必ず含意するのでしょうか?
そうでないなら、別のOS上で動作していてもなおOSと見なせます
宣伝時に誤った印象を与えたくなかったので、表現にはかなり慎重にしてきました