2 điểm bởi GN⁺ 2024-01-12 | 2 bình luận | Chia sẻ qua WhatsApp
  • GodotOS là một giao diện kiểu hệ điều hành được xây dựng hoàn toàn bằng Godot, cung cấp duyệt thư mục, chỉnh sửa tệp văn bản, xem ảnh, chạy game và nhiều tác vụ khác trong một màn hình được trau chuốt
  • Đây không phải là hệ điều hành thực mà là một ứng dụng trông giống hệ điều hành, hướng tới một giao diện có thể dùng cả trên web
  • Tính chất của dự án này gần với một món đồ chơi thử nghiệm nhằm đẩy giới hạn của thiết kế UI trong Godot hơn là triển khai một OS nghiêm túc
  • Môi trường desktop hướng tới sự tối giản, ít gây xao nhãng và đẹp mắt, đồng thời đóng vai trò hub để dễ dàng gói ghém các game và trải nghiệm nhỏ
  • GodotOS không phải là dự án liên kết với các nhà phát triển Godot Engine hay Godot Foundation

Giao diện mà GodotOS cung cấp

  • GodotOS là một giao diện theo phong cách hệ điều hành được tạo chỉ bằng Godot
  • Trong một màn hình thống nhất, nó hỗ trợ các tác vụ sau
    • Duyệt thư mục
    • Chỉnh sửa tệp văn bản
    • Xem ảnh
    • Chơi game
    • Các trải nghiệm kiểu desktop khác
  • Cung cấp một giao diện tích hợp có thể sử dụng cả trên web

Mục tiêu và tính chất của dự án

  • GodotOS gần với một dự án đồ chơi thử nghiệm hơn là một bản triển khai hệ điều hành thực sự
  • Mục tiêu là thử nghiệm giới hạn của thiết kế UI có thể đạt được trong Godot
  • Môi trường desktop hướng tới các đặc điểm sau
    • Tối giản
    • Ít gây xao nhãng
    • Đẹp mắt về mặt thẩm mỹ

Hub gói các game và trải nghiệm

  • GodotOS được thiết kế như một hub có thể dễ dàng tích hợp các game và trải nghiệm nhỏ
  • Nếu muốn thêm trực tiếp game vào menu Start, có thể xem hướng dẫn đóng góp

Cách sử dụng

  • Có thể thử phiên bản web tại Itch.io page
  • Có thể tải tất cả các phiên bản tại releases page
  • Video demo được cung cấp tại Trailer

Giới hạn rõ ràng và tuyên bố không liên kết

  • GodotOS không phải là hệ điều hành thực mà là một ứng dụng có giao diện giống hệ điều hành
  • GodotOS không liên kết với các nhà phát triển Godot Engine hay Godot Foundation

2 bình luận

 
kayws426 2024-01-12

Đúng là một món đồ chơi thú vị.

 
GN⁺ 2024-01-12
Ý kiến trên Hacker News
  • Trông như một bằng chứng khái niệm tuyệt vời cho việc dùng Godot làm framework đa nền tảng cho ứng dụng desktop
    Gói phân phối rất đơn giản, chỉ gồm một file thực thi và một file dữ liệu, hiệu năng cũng xuất sắc
    Với cách cung cấp một gói nhị phân độc lập hoàn toàn, tự chứa và không phụ thuộc bản phân phối, nó trông tốt hơn nhiều so với các kiểu như Flatpak; về hiệu năng thì có vẻ vượt xa Electron
    Có lẽ ứng dụng desktop làm bằng game engine sẽ là xu hướng lớn tiếp theo

    • Từ góc nhìn UI thì mọi thứ có thể tệ hơn nhiều
      Bạn sẽ vứt bỏ toàn bộ tính năng của hệ điều hành như kết xuất văn bản tốt, giao diện chỉnh sửa văn bản nhất quán, khả năng tiếp cận, độ trong suốt
      Tôi cũng không nghĩ Godot về bản chất nhanh hơn Electron với các UI tùy ý
      Các app Godot thường nhanh là vì chúng được làm bởi những người muốn dùng game engine và quan tâm đến hiệu năng; nếu lập trình viên quan tâm đến hiệu năng thì Electron cũng có thể đủ nhanh như VSCode
      Tôi nói vậy với tư cách người từng làm việc với game engine
    • Hoàn toàn đồng ý
      Tôi đã định viết một bài về việc tạo ứng dụng đa nền tảng chuyên nghiệp bằng Godot, và có lẽ sẽ sớm viết
      Tóm lại, Godot là một UI builder tuyệt vời, và tôi nghĩ nhiều người đang dần nhận ra điều đó
      Có nhiều ứng dụng chuyên nghiệp được làm bằng Godot[0], và tôi cũng muốn nhắc đến Lorien[1] dựa trên Godot, ứng dụng bảng trắng yêu thích của tôi và cũng là nguồn cảm hứng một phần cho dự án này
      Godot không hoàn hảo và có những phần các công cụ tạo UI khác làm tốt hơn, nhưng nó còn rất nhiều tiềm năng chưa được khai phá
      [0]: https://alfredbaudisch.com/blog/gamedev/godot-engine/standal...
      [1]: https://github.com/mbrlabs/Lorien
    • Nó đã được dùng cho mục đích đó rồi
      Tôi dùng một chương trình tên Dungeondraft[1] để dễ dàng tạo bản đồ cho TTRPG, và nó được xây dựng trên Godot
      Trang API modding[2] cũng nhắc đến Godot
      [1]: https://dungeondraft.net/
      [2]: https://megasploot.github.io/DungeondraftModdingAPI/
    • Tôi không hiểu vì sao trong thread này mọi người lại trộn lẫn Flatpak với cách viết UI desktop
      Ngay cả khi app là một binary tự chứa duy nhất, nó vẫn có thể hưởng lợi từ Flatpak
      Sandboxing, quản lý quyền, tách biệt khỏi hệ thống, sự cần thiết trên các bản phân phối bất biến/dựa trên image, một định dạng gói thống nhất không cần tạo riêng deb hay rpm, v.v. đều hữu ích cho cả lập trình viên lẫn người dùng
      Việc này không liên quan mấy đến chuyện viết UI bằng gì, và chỉ một binary tự chứa thì không thể thay thế hoàn toàn Flatpak
    • Khi nghĩ đến các lập luận phản biện, tôi thấy GUI kiểu immediate mode có thể không phải lúc nào cũng phù hợp, và tìm được bài này: https://stackoverflow.com/questions/47444189/what-are-the-pe...
      Một nhược điểm khác tôi nghĩ tới là, từ góc độ thiết kế, ứng dụng phải có cùng ngôn ngữ thiết kế trên mọi nền tảng, nên khó có được diện mạo native của từng nền tảng
      Còn nhược điểm nào khác không?
  • Bản thân Godot IDE cũng là một “game” theo nghĩa nó được làm hoàn toàn bằng Godot API
    Thực ra tôi tự hỏi liệu đây có thể là một môi trường tốt để làm các ứng dụng nghiệp vụ có tính di động, giống như một Visual Basic hiện đại hay không

    • Nó sẽ có đúng các vấn đề của Flutter, tức widget không native và khả năng tiếp cận, trong khi có lẽ lại thiếu sự tập trung cho mục đích đó
  • Liên quan đến chuyện này, Grey Hack là một hệ điều hành, mạng và Internet giả bên trong một game multiplayer có mục tiêu là hacking
    Bao gồm cả việc hack lẫn nhau, và mô phỏng các chức năng cơ bản khá tốt
    Bạn có thể đánh cắp file hoặc đặt file lên máy tính khác, cài phần mềm, chạy các lệnh trên command line gồm các bản mô phỏng của nhiều công cụ, và cũng có thể tự viết chương trình

    • Ước gì một ngày nào đó có ai đó làm hẳn một game hacking tử tế, mô phỏng hàng trăm máy chủ thật nhỏ với nhiều hệ điều hành và lỗ hổng khác nhau
  • Nó cũng có thể hữu ích trong thực tế
    Nghĩ đến ngành điện ảnh thì hệ điều hành giả dùng để cho thấy nhân vật đang làm gì đó trên máy tính gần như đã là một cliché
    Gần đây khi nói chuyện với các fan của phim Hackers, tôi được hỏi trong phim đã dùng OS nào; tôi trả lời là thứ mà mọi phim thập niên 90 đều dùng: Mac OS kèm các phần tử UI giả dựng vội bằng Macromedia Director
    Trong các phim sau này, Flash đảm nhận vai trò đó; và vì các studio điện ảnh ngày càng dùng game engine để cung cấp hình ảnh tham chiếu CG theo thời gian thực tại trường quay, thứ như thế này có thể là phiên bản hiện đại của nó

  • Tôi nghĩ sẽ rất hay nếu Godot có chế độ biên dịch tối thiểu tập trung vào UI
    Nó rất hấp dẫn cho UI kết xuất bằng GPU, và hiện đã có những thư viện cùng plugin tuyệt vời để tạo các component hữu ích cho kỹ thuật hoặc phân tích dữ liệu

    • Khi build engine từ source, có thể tắt nhiều tính năng của Godot[1]
      Tôi không biết có thể giảm được đến mức nào trong khi vẫn giữ phần lớn các component 2D/3D, nhưng về nguyên tắc là có thể
      [1]: https://docs.godotengine.org/en/stable/contributing/developm...
    • Theo tôi biết thì đã có thứ như vậy rồi
      Với flag custom_modules, bạn có thể chọn sẽ biên dịch những module Godot nào
      Ví dụ, chúng tôi phân phối một wasm nhỏ cho game web Godot 2D
  • Godot là một sketchpad tuyệt vời để tạo ra những thứ như thế này
    Có lần tôi đang ở sân bay chờ máy bay, và đã làm vội một bảng ghi chú cho máy tính bảng eInk để chơi trò bút-và-giấy của Nga Virus War (“Война вирусов”) với bạn đồng hành trên chuyến bay
    Nó chỉ là một lưới các nút có thể bấm với các trạng thái khác nhau, nhưng tôi đã kịp làm ra một prototype chơi được trước khi lên máy bay

  • Nhớ hồi khoảng năm 2005, khi Sub OS khá thịnh trong cộng đồng GameMaker
    Có vẻ như cứ đủ thời gian trôi qua thì sẽ có ai đó muốn tạo một giao diện giống hệ điều hành bên trong một game engine nào đó
    Đó là một cách hay để hiểu về UI và các paradigm về khả dụng, vượt ra ngoài việc tạo cơ chế game, và nó gợi lại khá nhiều hoài niệm dễ chịu

    • Vui vì vẫn có người khác còn nhớ chuyện đó
      Tôi đã làm Tiagix OS, và theo tôi biết thì đó là một trong những subOS đầu tiên thực sự có hỗ trợ tạo app
      Vì phải tự xây từ đầu nên tôi đã học được rất nhiều về GUI toolkit
    • Có vẻ như sau ngần ấy thời gian, “scene” đó vẫn còn hoạt động
      https://forum.gamemaker.io/index.php?threads/gm8-subos-proje...
    • Cũng từng có các hệ điều hành chạy trong trình duyệt
      Chúng thường có shell UI kiểu hệ điều hành và các ứng dụng, tiếc là tôi đã quên tên rồi
    • Tôi cũng nhớ điều tương tự trong The Games Factory 2/Multimedia Fusion
  • Có đoạn nói “GodotOS không phải là một hệ điều hành thật, mà là một ứng dụng có giao diện trông giống hệ điều hành”; nhưng thực sự thì có thể nói GodotOS kém giống hệ điều hành hơn Windows đời đầu không?

  • Nhớ hồi Notch thử nghiệm một game không gian với một ngôn ngữ assembly thu nhỏ do chính anh ấy tạo ra
    Đáng tiếc là anh ấy đã dừng làm, nhưng tôi vẫn nghĩ thể loại hack trong game còn rất nhiều tiềm năng
    Không phải kiểu “nhấn F để hack”, mà là thực sự đăng nhập vào hệ thống để lấy hoặc thay đổi thứ gì đó
    Một hệ điều hành trong game trông như thật có vẻ là một bước tiến tốt

    • Dành cho ai tò mò: https://en.wikipedia.org/wiki/0x10c
      https://web.archive.org/web/20130905082541/http://dcpu.com/d...
    • Factorio có một mod cho phép lập trình mạch điện bằng assembly, nhưng tôi quên tên rồi
      Bạn đặt một “cơ sở máy tính”, nối nó vào mạng tín hiệu, rồi mở terminal để bắt đầu lập trình
      Nó thực sự hữu ích vì nhà máy có thể trở nên rất phức tạp, và điều thú vị là có thể dùng item làm ký hiệu tín hiệu để giao tiếp khá tinh vi qua dây điện
      Tốc độ clock của thiết bị bị giới hạn ở vài lệnh mỗi tick của game
    • Bitburner làm khá tốt chuyện này
      Đây là một idle game với mô phỏng “hệ điều hành” hạn chế, nhưng lời giải tốt đòi hỏi tư duy thật và kiến thức lập trình
      Bạn sẽ viết script để quét mạng tìm các cổng đang mở và tự động “hack”, rồi cân bằng toàn cục việc phân bổ bộ nhớ trên mọi hệ thống theo các tham số nhất định để việc hack trở nên “sinh lời” nhất
      Việc cuối cùng tôi tạo cả giao tiếp socket cơ bản, các script gửi kết quả phân tích về PC tại nhà, và cả giao dịch thuật toán trên thị trường chứng khoán giả lập khá là vui
    • https://store.steampowered.com/app/716490/EXAPUNKS/
    • Dù thiên về lập trình hơn là hacking, bạn cũng có thể thích TIS-100
      https://www.zachtronics.com/tis-100/
  • Trong ảnh chụp màn hình có ghi “GodotOS is a fake operating system”
    Nhưng nó có thật sự là giả không? Thuật ngữ “hệ điều hành” có nhất thiết hàm ý cấp độ tầng phần cứng mà nó chạy trên không?
    Nếu không, thì dù chạy trên một OS khác, nó vẫn có thể được xem là OS

    • Nó là OS giả theo nghĩa thực ra là một ứng dụng, chứ không phải thứ có thể chạy như một hệ điều hành như Linux hay Windows
      Tôi đã khá cẩn trọng với cách diễn đạt vì không muốn tạo ấn tượng sai khi quảng bá
    • Có vẻ cụm từ hệ điều hành hàm ý sự tồn tại của kernel