- GodotOS est une interface de type système d’exploitation créée uniquement avec Godot, qui propose dans un écran unique et soigné l’exploration de dossiers, l’édition de fichiers texte, l’affichage d’images, l’exécution de jeux, etc.
- Ce n’est pas un véritable système d’exploitation, mais une application qui en a l’apparence, avec pour objectif une interface utilisable aussi sur le web.
- Le projet tient davantage du projet ludique que d’une implémentation sérieuse d’OS, et pousse plutôt dans ses retranchements les limites du design UI de Godot.
- Le bureau vise un environnement minimaliste, agréable à regarder et avec peu de distractions, tout en servant aussi de hub pour regrouper facilement de petits jeux et expériences.
- GodotOS n’est pas un projet affilié aux développeurs de Godot Engine ni à la Godot Foundation.
L’interface proposée par GodotOS
- GodotOS est une interface au style système d’exploitation créée uniquement avec Godot.
- Elle prend en charge les actions suivantes dans une interface unique et cohérente
- exploration de dossiers
- édition de fichiers texte
- affichage d’images
- jeu
- autres expériences de type bureau
- Elle fournit une interface unifiée qui peut aussi être utilisée sur le web.
Objectif et nature du projet
- GodotOS se rapproche davantage d’un projet ludique que d’une véritable implémentation de système d’exploitation.
- Son objectif est de tester les limites du design UI possibles dans Godot.
- L’environnement de bureau vise les caractéristiques suivantes
- minimalisme
- peu de distractions
- esthétique agréable
Un hub pour regrouper jeux et expériences
- GodotOS est conçu comme un hub capable d’intégrer facilement de petits jeux et expériences.
- Pour ajouter directement des jeux au menu Démarrer, on peut consulter le guide de contribution
Comment l’utiliser
- La version web peut être essayée sur la page Itch.io
- Toutes les versions peuvent être téléchargées depuis la page des releases
- Une vidéo de démonstration est disponible ici : Trailer
Limites claires et absence d’affiliation
- GodotOS n’est pas un véritable système d’exploitation, mais une application avec une interface ressemblant à un OS.
- GodotOS n’est affilié ni aux développeurs de Godot Engine ni à la Godot Foundation.
2 commentaires
C'est un jouet amusant.
Avis sur Hacker News
Cela ressemble à une excellente preuve de concept de l’utilisation de Godot comme framework multiplateforme pour applications desktop.
Le paquet de distribution est très simple, avec un exécutable et un fichier de données, et les performances sont excellentes.
Comme moyen de fournir un paquet binaire entièrement autonome et indépendant de la distribution, cela semble bien meilleur que les solutions de type Flatpak, et, côté performances, nettement supérieur à Electron.
Les applications desktop créées avec des moteurs de jeu seront peut-être la prochaine grande tendance.
On abandonne toutes les fonctionnalités du système d’exploitation comme un bon rendu du texte, une interface cohérente d’édition de texte, l’accessibilité ou la transparence.
Je ne pense pas non plus que Godot soit intrinsèquement plus rapide qu’Electron pour n’importe quelle UI.
Si les apps Godot sont généralement rapides, c’est parce qu’elles sont développées par des gens soucieux des performances et qui veulent utiliser un moteur de jeu ; si le développeur se soucie des performances, Electron peut aussi être suffisamment rapide, comme VSCode.
Je dis ça en ayant travaillé sur des moteurs de jeu.
Je comptais écrire un article sur la création d’applications multiplateformes professionnelles avec Godot, et je le ferai probablement bientôt.
En résumé, Godot est excellent comme constructeur d’UI, et je pense que beaucoup de gens commencent peu à peu à s’en rendre compte.
Il existe aussi beaucoup d’applications professionnelles faites avec Godot[0], et je voudrais aussi mentionner Lorien[1], basé sur Godot, mon application de tableau blanc préférée et qui a en partie inspiré ce projet.
Godot n’est pas parfait et d’autres outils de création d’UI font mieux certaines choses, mais son potentiel encore inexploité est énorme.
[0]: https://alfredbaudisch.com/blog/gamedev/godot-engine/standal...
[1]: https://github.com/mbrlabs/Lorien
J’utilise un programme appelé Dungeondraft[1] pour créer facilement des cartes de TTRPG, et il est construit sur Godot.
Sa page d’API de modding[2] mentionne aussi Godot.
[1]: https://dungeondraft.net/
[2]: https://megasploot.github.io/DungeondraftModdingAPI/
Même si une app est un binaire unique et autonome, elle peut bénéficier des avantages de Flatpak.
Le sandboxing, la gestion des permissions, l’isolation vis-à-vis du système, la nécessité sur les distributions immuables et basées sur des images, ou encore un format de paquet unifié qui évite de créer séparément des deb ou des rpm, tout cela aide à la fois les développeurs et les utilisateurs.
Cela n’a pas grand-chose à voir avec ce qu’on utilise pour écrire l’UI, et un simple binaire autonome ne peut pas remplacer complètement Flatpak.
Un autre inconvénient qui me vient à l’esprit, du point de vue du design, est que l’application doit avoir le même langage visuel sur toutes les plateformes, ce qui rend difficile d’obtenir une apparence native propre à chaque plateforme.
Y a-t-il d’autres inconvénients ?
L’IDE Godot lui-même est un « jeu », dans le sens où il est entièrement construit avec les API Godot.
En fait, je me demande si cela ne pourrait pas devenir un bon environnement pour créer des applications métier portables, comme un Visual Basic moderne.
Dans le même esprit, Grey Hack est un faux système d’exploitation, réseau et Internet dans un jeu multijoueur dont l’objectif est le hacking.
Il inclut aussi le fait de se hacker les uns les autres, et simule assez bien les fonctionnalités de base.
On peut voler des fichiers ou en déposer sur d’autres ordinateurs, installer des logiciels, exécuter en ligne de commande des commandes comprenant des imitations de divers outils, et même écrire ses propres programmes.
Cela pourrait aussi être utile dans le monde réel.
Si l’on pense à l’industrie du cinéma, le faux système d’exploitation utilisé pour montrer un personnage en train de faire quelque chose sur un ordinateur est presque un cliché en soi.
Je discutais récemment avec des fans du film Hackers, et on m’a demandé quel OS avait été utilisé dans le film ; j’ai répondu que c’était ce que tous les films des années 90 utilisaient, à savoir Mac OS avec des éléments de fausse UI bricolés à la va-vite dans Macromedia Director.
Dans les films suivants, Flash a joué ce rôle, et comme les studios de cinéma utilisent de plus en plus les moteurs de jeu pour fournir des images de référence en CG en temps réel sur les plateaux, ceci pourrait en être la version moderne.
Je me dis qu’il serait intéressant que Godot dispose d’un mode de compilation minimal centré sur l’UI.
C’est très séduisant pour des UI rendues par GPU, et il existe déjà d’excellentes bibliothèques et plugins pour créer des composants utiles en ingénierie ou en analyse de données.
Je ne sais pas jusqu’où on peut le réduire tout en conservant la plupart des composants 2D/3D, mais cela devrait être possible.
[1]: https://docs.godotengine.org/en/stable/contributing/developm...
Avec le flag
custom_modules, on peut choisir quels modules Godot compiler.Par exemple, nous déployons un petit wasm pour un jeu web Godot en 2D.
Godot est un excellent carnet de croquis pour fabriquer ce genre de choses.
Une fois, alors que j’étais à l’aéroport en attendant un avion, j’ai bricolé un bloc-notes improvisé pour tablette eInk afin que mon partenaire et moi puissions jouer à bord au jeu russe papier-crayon Virus War (« Война вирусов »).
Ce n’était qu’une grille avec des boutons cliquables ayant différents états, mais j’ai pu créer un prototype jouable avant le vol.
Ça me rappelle l’époque, vers 2005, où les Sub OS avaient un certain succès dans la communauté GameMaker.
On dirait qu’avec assez de temps, quelqu’un finit toujours par essayer de créer une interface façon système d’exploitation dans un moteur de jeu donné.
C’était une bonne manière de comprendre les paradigmes d’UI et d’utilisabilité, au-delà de la création de mécaniques de jeu, et ça réveille une nostalgie assez agréable.
C’est moi qui ai créé Tiagix OS et, à ma connaissance, c’était l’un des premiers subOS à prendre réellement en charge la création d’apps.
Comme j’ai dû tout faire moi-même à partir de zéro, j’ai beaucoup appris sur les toolkits GUI.
https://forum.gamemaker.io/index.php?threads/gm8-subos-proje...
En général, ils avaient un shell d’UI de système d’exploitation et des applications, mais malheureusement j’ai oublié leurs noms.
Il est écrit : « GodotOS n’est pas un véritable système d’exploitation, mais une application avec une interface qui ressemble à un système d’exploitation ». Mais peut-on vraiment dire que GodotOS est moins un système d’exploitation que les premières versions de Windows ?
Je me souviens de l’époque où Notch expérimentait un jeu spatial avec un langage assembleur réduit qu’il avait créé lui-même.
Dommage qu’il ait arrêté, mais je pense que le genre du piratage dans les jeux a encore un énorme potentiel.
Pas un « appuyez sur F pour pirater », mais le fait de se connecter réellement à un système pour récupérer ou modifier quelque chose.
Un système d’exploitation dans le jeu qui paraît authentique me semble être une bonne avancée.
https://web.archive.org/web/20130905082541/http://dcpu.com/d...
On place des « installations informatiques », on les connecte au réseau de signaux, puis on ouvre un terminal pour commencer à programmer.
Comme les usines peuvent devenir très complexes, cela a une vraie utilité, et c’est chouette de pouvoir utiliser les objets comme symboles de signaux pour communiquer de manière assez sophistiquée à travers les câbles.
La fréquence d’horloge de l’appareil était limitée à quelques instructions par tick de jeu.
C’est un idle game avec une émulation limitée de « système d’exploitation », mais les bonnes solutions exigent une vraie réflexion et des connaissances en programmation.
On finit par écrire des scripts qui scannent le réseau pour trouver les ports ouverts, les « piratent » automatiquement, puis équilibrent globalement l’allocation mémoire de tous les systèmes selon certains paramètres afin que le piratage soit le plus « rentable » possible.
C’était amusant de finir par créer une communication par sockets basique, des scripts qui renvoient les résultats d’analyse au PC personnel, et même du trading algorithmique sur un faux marché boursier.
https://www.zachtronics.com/tis-100/
La capture d’écran indique : « GodotOS is a fake operating system ».
Mais est-il vraiment faux ? Le terme « système d’exploitation » implique-t-il nécessairement le niveau de la couche matérielle sur laquelle il s’exécute ?
Si ce n’est pas le cas, même s’il tourne au-dessus d’un autre OS, on peut toujours le considérer comme un OS.
J’ai fait assez attention à la formulation, parce que je ne voulais pas donner une fausse impression dans la communication.