Show HN: GodotOS, uma interface de sistema operacional falsa feita com a engine Godot
(github.com/popcar2)- GodotOS é uma interface no estilo de sistema operacional feita apenas com Godot, oferecendo navegação por pastas, edição de arquivos de texto, visualização de imagens, execução de jogos e mais em uma única tela bem polida
- Não é um sistema operacional real, mas um aplicativo que se parece com um, com o objetivo de oferecer uma interface que também possa ser usada na web
- A natureza do projeto está mais próxima de um brinquedo para levar ao limite as fronteiras do design de UI no Godot do que de uma implementação séria de sistema operacional
- A área de trabalho busca ser minimalista, com poucas distrações e visual agradável, além de funcionar como um hub para reunir pequenos jogos e experiências com facilidade
- GodotOS não é um projeto afiliado aos desenvolvedores da Godot Engine nem à Godot Foundation
Interface oferecida pelo GodotOS
- GodotOS é uma interface em estilo de sistema operacional feita apenas com Godot
- Ele oferece suporte às seguintes tarefas dentro de uma única tela consistente
- Navegação por pastas
- Edição de arquivos de texto
- Visualização de imagens
- Jogar games
- Outras experiências no estilo desktop
- Ele oferece uma interface unificada que também pode ser usada na web
Objetivo e natureza do projeto
- GodotOS está mais próximo de um projeto-brinquedo do que de uma implementação real de sistema operacional
- O objetivo é testar os limites do design de UI possível no Godot
- O ambiente de desktop busca as seguintes características
- Minimalismo
- Poucas distrações
- Boa estética visual
Um hub para reunir jogos e experiências
- GodotOS foi projetado como um hub capaz de incluir facilmente pequenos jogos e experiências
- Para adicionar jogos diretamente ao menu iniciar, é possível consultar o guia de contribuição
Como usar
- A versão web pode ser testada na Itch.io page
- Todas as versões podem ser baixadas na releases page
- O vídeo de demonstração é fornecido em Trailer
Limitações claras e aviso de não afiliação
- GodotOS não é um sistema operacional real, mas um aplicativo com uma interface semelhante à de um sistema operacional
- GodotOS não é afiliado aos desenvolvedores da Godot Engine nem à Godot Foundation
2 comentários
É um brinquedo divertido.
Comentários do Hacker News
Parece uma excelente prova de conceito de usar o Godot como framework multiplataforma para aplicativos desktop
O pacote de distribuição é muito simples, com apenas um executável e um arquivo de dados, e o desempenho também é excelente
Como forma de fornecer pacotes binários totalmente autônomos e independentes de distribuição, parece muito melhor do que algo como Flatpak, e em desempenho parece amplamente superior ao Electron
Talvez aplicativos desktop feitos com engine de jogos sejam a próxima grande tendência
Você acaba abrindo mão de todos os recursos do sistema operacional como boa renderização de texto, interfaces consistentes de edição de texto, acessibilidade e transparência
Também não acho que o Godot seja intrinsecamente mais rápido que o Electron para uma UI arbitrária
Os apps em Godot normalmente são rápidos porque são feitos por pessoas preocupadas com desempenho, que querem usar uma engine de jogos; e se o desenvolvedor se importar com desempenho, Electron também pode ser suficientemente rápido, como o VSCode
Digo isso como alguém que já trabalhou com engines de jogos
Eu queria escrever um texto sobre criar aplicativos profissionais multiplataforma com Godot, e provavelmente vou escrever em breve
Resumindo, o Godot é excelente como construtor de UI, e acho que muita gente está percebendo isso aos poucos
Há muitos aplicativos profissionais feitos com Godot[0], e também quero mencionar o Lorien[1], baseado em Godot, que é meu app de quadro branco favorito e serviu de inspiração parcial para este projeto
O Godot não é perfeito e há partes em que outras ferramentas de UI se saem melhor, mas ele tem um grande potencial ainda não explorado
[0]: https://alfredbaudisch.com/blog/gamedev/godot-engine/standal...
[1]: https://github.com/mbrlabs/Lorien
Eu uso um programa chamado Dungeondraft[1], que facilita criar mapas para TTRPG, e ele foi feito sobre o Godot
A página da API de modding[2] também menciona o Godot
[1]: https://dungeondraft.net/
[2]: https://megasploot.github.io/DungeondraftModdingAPI/
Mesmo que o app seja um único binário autônomo, ele ainda pode se beneficiar do Flatpak
Sandboxing, gerenciamento de permissões, isolamento do sistema, necessidade em distribuições imutáveis e baseadas em imagem, e um formato de pacote unificado sem precisar criar separadamente pacotes deb ou rpm ajudam tanto desenvolvedores quanto usuários
Isso não tem muito a ver com com o que a UI é escrita, e um binário autônomo sozinho não pode substituir completamente o Flatpak
Outra desvantagem que me vem à mente é que, do ponto de vista de design, o aplicativo precisa ter a mesma linguagem visual em todas as plataformas, o que dificulta ter uma aparência nativa em cada uma delas
Há outras desvantagens?
A própria IDE do Godot também é um “jogo”, no sentido de que foi inteiramente feita com a API do Godot
Na prática, isso talvez possa se tornar um bom ambiente para criar apps de negócios portáveis, como uma espécie de Visual Basic moderno
Em algo relacionado, Grey Hack é um sistema operacional, rede e internet falsos dentro de um jogo multiplayer cujo objetivo é hackear
Isso inclui hackear uns aos outros, e ele simula razoavelmente bem as funcionalidades básicas
É possível roubar arquivos ou colocar arquivos em outros computadores, instalar software, executar comandos na linha de comando, inclusive imitações de várias ferramentas, e até escrever seus próprios programas
Isso também pode ter utilidade no mundo real
Pensando na indústria do cinema, um sistema operacional falso para mostrar personagens fazendo algo no computador é praticamente um clichê por si só
Recentemente, conversando com fãs do filme Hackers, me perguntaram qual OS foi usado no filme, e respondi que era a mesma coisa que todo filme dos anos 90 usava: Mac OS com elementos de UI falsos improvisados no Macromedia Director
Depois o Flash assumiu esse papel, e como os estúdios de cinema estão usando cada vez mais engines de jogos para fornecer referências de CG em tempo real no set, isso pode ser a versão moderna da ideia
Fico pensando que seria bom se o Godot tivesse um modo mínimo de compilação voltado para UI
É muito atraente como alvo de UI com renderização por GPU, e já existem excelentes bibliotecas e plugins para criar componentes úteis em engenharia ou análise de dados
Não sei o quanto daria para reduzir mantendo a maior parte dos componentes 2D/3D, mas parece ser possível
[1]: https://docs.godotengine.org/en/stable/contributing/developm...
Com a flag
custom_modules, você pode escolher quais módulos do Godot compilarPor exemplo, nós distribuímos um wasm pequeno para jogos web 2D em Godot
Godot é um excelente bloco de rascunho para criar esse tipo de coisa
Uma vez, enquanto esperava um avião no aeroporto, fiz com meu parceiro um bloco de notas improvisado do jogo russo de papel e caneta Virus War (“Война вирусов”) para um tablet eInk, para podermos jogar durante o voo
Era só uma grade com botões clicáveis em diferentes estados, mas deu para fazer um protótipo jogável antes do embarque
Isso me faz lembrar de quando o Sub OS ficou relativamente popular na comunidade do GameMaker, por volta de 2005
Parece que, se der tempo suficiente, alguém sempre tenta criar uma interface parecida com um sistema operacional dentro de um motor de jogo específico
Foi uma boa forma de entender UI e paradigmas de usabilidade além de criar mecânicas de jogo, e desperta uma nostalgia bem agradável
Eu criei o Tiagix OS e, até onde eu sei, ele foi um dos primeiros subOS a realmente ter suporte para criação de apps
Como tudo teve de ser feito do zero, aprendi muito sobre toolkits de GUI
https://forum.gamemaker.io/index.php?threads/gm8-subos-proje...
Em geral tinham um shell de UI de sistema operacional e aplicativos, mas infelizmente esqueci os nomes
Está escrito que “GodotOS não é um sistema operacional de verdade, e sim um aplicativo com uma interface que parece um sistema operacional”, mas será que o GodotOS é mesmo menos sistema operacional do que o Windows inicial?
Lembro da época em que o Notch estava experimentando um jogo espacial com uma linguagem assembly reduzida criada por ele mesmo
Infelizmente ele parou o trabalho, mas ainda acho que o gênero de hackear dentro do jogo tem um grande potencial
Não “aperte F para hackear”, mas sim entrar de fato em um sistema para pegar ou alterar alguma coisa
Um sistema operacional dentro do jogo que pareça real parece um bom avanço
https://web.archive.org/web/20130905082541/http://dcpu.com/d...
Você coloca uma “instalação de computadores”, conecta à rede de sinais e então abre um terminal para começar a programar
Como a fábrica pode ficar muito complexa, isso tem utilidade real, e é legal que você possa usar itens como símbolos de sinal para se comunicar de forma bem sofisticada pelos fios
A velocidade de clock do dispositivo era limitada a algumas instruções por tick do jogo
É um jogo idle com uma emulação limitada de “sistema operacional”, mas boas soluções exigem raciocínio de verdade e conhecimento de programação
Você acaba escrevendo scripts para escanear a rede em busca de portas abertas e “hackear” automaticamente, depois equilibrar globalmente a alocação de memória de todos os sistemas de acordo com certos parâmetros para que o hacking seja o mais “lucrativo” possível
Foi divertido acabar criando comunicação básica por sockets, scripts para enviar os resultados de análise de volta ao PC de casa e até trading algorítmico em um mercado de ações falso
https://www.zachtronics.com/tis-100/
No screenshot está escrito “GodotOS is a fake operating system”
Mas será que é realmente falso? O termo “sistema operacional” implica necessariamente o nível da camada de hardware em que ele roda?
Se não, então mesmo rodando sobre outro OS ele ainda poderia ser considerado um OS
Tenho tomado bastante cuidado com essa formulação para não passar uma impressão errada na divulgação