Show HN: GodotOS – Fake operating system interface made in the Godot engine

  • This is actually a great proof of concept for using Godot as a cross-platform framework for desktop applications. The distribution package is incredibly simple -- just a single executable and a data file -- and performance is excellent.

    This seems much superior to Flatpak and the like as a way to offer fully self-contained distro-agnostic binary packages, and vastly superior to Electron in the performance department. Maybe desktop applications built with game engines are the next big trend.

  • The Godot IDE itself is a "game" as in it is entirely built using Godot APIs. Makes me wonder if it would actually be a good environment to build portable business apps, sort of like a modern Visual Basic.

  • Related: Grey Hack is a fake OS, Network, Internet in a multiplayer game where the objective is to hack (including each other). It simulates many basic functions quite well (you can steal files, place files on other computers, install software, run commands from a command line, including imitations of many tools). You can also write your own programs.

  • This might still be useful in the real world. Think movie industry, where having a mock OS for showing characters doing computer things is practically a trope in its own right. I was recently in a discussion with some fans of the movie Hackers, in which one of them asked what OS they used in the movie. My reply was to the effect of, what every movie in the 90s used, which was basically Mac OS with fake UI elements cobbled together in Macromedia Director (or Flash in later films).

    With film studios increasingly turning to game engines for applications like providing real-time on-set CG as a reference for a shoot, something like this may well be the modern version of that.

  • This just makes me yearn for a UI-centric minimal compilation mode for Godot. It's such an enticing target for GPU-rendered UI, and there are even some excellent libraries and plugins out there for making components that are useful in engineering or data analysis!

  • Godot is a great sketchpad for these things. One time I was at the airport for a flight, so I wrote a quick-and-dirty notepad for the Russian pencil-and-paper game Virus War (ā€œŠ’Š¾Š¹Š½Š° Š²ŠøŃ€ŃƒŃŠ¾Š²ā€) for my eInk tablet that my partner and I could play. It was just a grid with tappable buttons in varying states, but I was able to get a playable prototype ready for our flight.

  • This reminds me of a time circa 2005 where "Sub OSes" were somewhat popular in the GameMaker community. Seems that given enough time someone will try to make an OS-like interface in a given game engine.

    It was a great way to understand UI and usability paradigms beyond building game mechanics.

    This definitely triggered some pleasant nostalgia for me.

  • > Note: GodotOS is not actually an operating system, it's an application with an interface resembling one.

    ...actually, is GodotOS any less of an operating system than early versions of Windows?

  • I remember when Notch was playing with this space game with a slimed down assembly language he created. He stopped working on it unfortunately, but I still think there's a whole potential genre of hacking on a game. Not a "press F" to hack, but a legit log into this system, get/change whatever. Having a legit in-game OS seems like a good step forward.

  • From the screenshot:

    > GodotOS is a fake operating system

    Is it fake, though? Does the term "operating system" imply the level of hardware it's running on? Otherwise, even if it's running on top of another OS, it's still an OS.

  • Very nice! (and AGPLv3 too!!)

    I have been working on a similar project for actual filesystem/OS interaction (heavily abusing OS.execute (https://docs.godotengine.org/en/stable/classes/class_os.html)) which is actually a sub-project of a much bigger project (only working part-time now so I can spend half my day on it as I near alpha). My favorite part so far has been in my attempts at using Godot to recreate fsv/fsn (3d filesystem representation).

    Is there any reason you haven't tried to turn it into a real desktop environment given that Godot provides the mechanisms to do so? I know I've been nervous that I might have a bug that does something destructive and that is why I've been working on my ci/cd pipeline and unit tests but am just curious.

    Either way, it has been awesome watching the explosion of creativity happening in Godot land. I compile daily and watch the commits and see such vast improvements being made all the time. It's a great engine with first class c++17 support with GDNative and modules, and I truly believe the future of gaming (and many other things) is FOSS. My only meta-wish is that the engine was GPL instead of MIT, but luckily that doesn't stop me from releasing my stuff built in it as GPL.

  • I would love a write up on design philosiphy. I'm currently learning Godot coming from web dev, and finding the distributed business logic impossible to organize. I just don't know who, what, or where business logic should be.

    My urge is to lift logic up to the parent of any group of interactions, and let nodes just be renderers. But I understand that is absolutely not the design philosiphy of Godot, and probably won't scale.

  • I've been thinking about making a cross-platform mobile app but don't want to think about react native, touch javascript, or fiddle with xcode any more than I have to.

    Is it accurate to think that I could instead use godot to create a cross-platform app to eliminate complexity from react native while creating something that is performant/native across ios/android?

  • Would be fun if game engine editor environments took on the UI paradigm of an operating system like windows. So that instead of going to the File menu at the top of unreal engine to open the blueprint debugger, you navigated the start menu to find the program.

    I’ve reflected to myself so many times that UE4 feels like an operating system, would be fun if in the future it actually was ha

  • This is great. Would you recommend Godot for prototyping UIs, in general, over HTML/JavaScript?

  • > silksong never.png

    Why do you have to hurt me like this

  • I guess that "a desktop that is minimalist, distraction-free, and aesthetically pleasing" means Windows 2000 with transparent backgrounds.

  • https://simulavr.com/ was coding a VR desktop with Godot.

  • Looks great! I know there are a bunch of games that use this kind of setting (fake OS) as the main mechanic. Her Story comes to mind [1].

    1: https://store.steampowered.com/app/368370/Her_Story/

  • This is a pretty cool prototype for something I'd considered Godot for: a GUI for a device running embedded Linux. In that environment, you want the least bloat but some decent development tools so you can iterate reasonably fast. That's not a widely-available combo.

  • Ha! This is really cool

    I'm really impressed that you were able to create this in Godot. Looks like it's all GDScript too. Nice

    You even tucked away a pong game in there.

    What do you think of Godot? I've been thinking of switching to it after I finish working on my Unity project

  • Just the other day I was wondering - what would it take to develop a Linux WM in Godot?

  • Thank you for making this! I’ve been dissatisfied with the options available for making local GUIs and curious about what could be done with game engines. What was it like working with the UI layer of Godot?

  • This is really neat!

    I almost wonder if this could be adapted into a ā€œrealā€ desktop environment, as in ā€œcompeting alongside KDE or Gnomeā€. I have no idea what’s involved with doing that but it it would be cool if you could.

  • This is great, actually thinking of building something similar for a game I'm working on, but other way around really. OS in game instead of game in OS. :)

  • This is neat. I always wondered if it was possible or if anyone has made a fancy UI for instrumentation / dashboard using a game engine.

  • Have you thought about turning this into a linux desktop environment? It wouldn't even be the first Wayland compositor using Godot.

  • Very nice. I wish it would also work on mobile. The initial screen showed up but "clicking" on folders does not cause any action.

  • I played and finished Super Bit Boy. :D Reminded me of the game "Thomas Was Alone", that was nice. :)

  • We at a stage where desktop environments become faster than the OS they run on (ahem... Windows).

  • This is awesome!

    I'd love to boot this up and see how it runs on a Quest headset

  • super bit boy made me instantly younger by about 15 years. thanks!

  • More like GodotDesktop

  • Dang! I just realized github no longer works on my old macbook running firefox 78.15.0esr (64-bit).

    BigTech wants me to buy a new macbook or switch to chrome.

    Edit: it's actually no laughing matter. I'm pretty devastated. :-(

  • The performance is really nice, I kinda love it.

  • I mean let's look at all the game menu screens in existence today.

    For what they are most of these screens are far better than HTML counterparts. UI is snappier and more special effects.

    Game UIs off the menu have always been better than web pages too. Look at say baldurs gate 3. I don't think such a UI is easily pulled off in web. Possible but awkward to build.

  • Please consider calling it GodOS (pr: gud-os)

  • Reminds me of all the "OSes"/GUIs that got made back in the QBasic days: http://qbasicgui.datacomponents.net/

    Always a fun project to do. Thanks for carrying the torch forward in something modern!

    ps, my favorite of the QBasic ones is probably M-GUI: http://qbasicgui.datacomponents.net/95_mgui.html which even included its own programming language to make apps in!

  • Heh, back when, I used to do (Q/Turbo)Basic stuff like:

       PRINT "Welcome!"
       INPUT "Password: ", pw$
    
    and so on, with very little actual functionality. I guess some themes of toy projects are evergreen, even if the sophistication is on another level :)

  • Popcar2 , a note on your disclaimer that you are not affiliated with the Godot foundation. Is that usual in projects using an engine? Or is it because of your , IMHO, poor naming choice.

    Think of this way, if the tagline of the project was ā€œEstragonOS, a fake os made in godotā€, would the disclaimer be so proeminent in the page?

    I think you know you are playing with fire, to make the disclaimer a larger font. It’s not too late, consider a rename.

  • [flagged]

  • >written in GDScript

    Quite unfortunate.

  • Shouldn’t use the godot name for this

  • It's a game launcher that uses Godot, but neither an OS nor connected with the Godot project.

    It's a bit like writing a game launcher in Rust and calling it RustOS.