2 pontos por GN⁺ 2024-01-12 | 2 comentários | Compartilhar no WhatsApp
  • 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

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

 
kayws426 2024-01-12

É um brinquedo divertido.

 
GN⁺ 2024-01-12
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

    • Do ponto de vista de UI, isso pode ser bem pior
      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
    • Concordo completamente
      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
    • Já está sendo usado para esse tipo de coisa
      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/
    • Não entendo por que nesta thread estão misturando Flatpak com a forma de escrever UIs de desktop
      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
    • Pensando em argumentos contrários, cheguei à conclusão de que GUI em modo imediato talvez nem sempre seja adequada, e encontrei este texto: https://stackoverflow.com/questions/47444189/what-are-the-pe...
      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

    • Parece que herdaria os mesmos problemas do Flutter, isto é, widgets não nativos e questões de acessibilidade, mas sem o mesmo foco nesse tipo de uso
  • 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

    • Seria ótimo se alguém algum dia lançasse de verdade um jogo de hacking que emulasse centenas de pequenos servidores reais com vários sistemas operacionais e vulnerabilidades
  • 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

    • Ao compilar a engine a partir do código-fonte, é possível desativar muitos recursos do Godot[1]
      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...
    • Pelo que sei, isso já existe
      Com a flag custom_modules, você pode escolher quais módulos do Godot compilar
      Por 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

    • Que bom ver que tem mais alguém que lembra disso
      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
    • Mesmo depois de tanto tempo, parece que aquela “cena” ainda tem alguma atividade
      https://forum.gamemaker.io/index.php?threads/gm8-subos-proje...
    • Também existiam sistemas operacionais rodando no navegador
      Em geral tinham um shell de UI de sistema operacional e aplicativos, mas infelizmente esqueci os nomes
    • Também lembro da mesma coisa no The Games Factory 2/Multimedia Fusion
  • 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

    • Para quem tiver curiosidade: https://en.wikipedia.org/wiki/0x10c
      https://web.archive.org/web/20130905082541/http://dcpu.com/d...
    • O Factorio tem um mod em que é possível programar circuitos elétricos em assembly, mas esqueci o nome
      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
    • Bitburner faz isso muito bem
      É 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://store.steampowered.com/app/716490/EXAPUNKS/
    • É mais programação do que hacking, mas você também pode gostar de TIS-100
      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

    • É um OS falso no sentido de que não é algo que você pode executar como sistema operacional, como Linux ou Windows, e sim um aplicativo
      Tenho tomado bastante cuidado com essa formulação para não passar uma impressão errada na divulgação
    • Parece que a expressão sistema operacional implica a existência de um kernel