2 คะแนน โดย GN⁺ 2024-01-12 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • GodotOS เป็นอินเทอร์เฟซแบบระบบปฏิบัติการที่สร้างด้วย Godot ล้วน ๆ รองรับการท่องโฟลเดอร์ แก้ไขไฟล์ข้อความ ดูรูปภาพ และเปิดเกม ทั้งหมดในหน้าจอเดียวที่ขัดเกลามาอย่างดี
  • ไม่ใช่ระบบปฏิบัติการจริง แต่เป็น แอปพลิเคชัน ที่ดูเหมือนระบบปฏิบัติการ และมีเป้าหมายให้เป็นอินเทอร์เฟซที่ใช้งานได้บนเว็บด้วย
  • ลักษณะของโปรเจกต์ใกล้เคียงกับของเล่นที่ผลักขีดจำกัดของ การออกแบบ UI ใน Godot มากกว่าการพัฒนา OS อย่างจริงจัง
  • เดสก์ท็อปมุ่งเป็นสภาพแวดล้อมที่มินิมอล มีสิ่งรบกวนน้อย และสวยงาม อีกทั้งยังทำหน้าที่เป็น ฮับ สำหรับรวมเกมและประสบการณ์เล็ก ๆ ได้ง่าย
  • GodotOS ไม่ใช่โปรเจกต์ที่มีความร่วมมือกับนักพัฒนา Godot Engine หรือ Godot Foundation

อินเทอร์เฟซที่ GodotOS มีให้

  • GodotOS เป็นอินเทอร์เฟซสไตล์ระบบปฏิบัติการที่สร้างด้วย Godot ล้วน ๆ
  • รองรับงานต่อไปนี้ภายในหน้าจอเดียวที่สอดคล้องกัน
    • ท่องโฟลเดอร์
    • แก้ไขไฟล์ข้อความ
    • ดูรูปภาพ
    • เล่นเกม
    • ประสบการณ์แบบเดสก์ท็อปอื่น ๆ
  • มี อินเทอร์เฟซแบบรวมศูนย์ ที่ใช้งานบนเว็บได้ด้วย

เป้าหมายและลักษณะของโปรเจกต์

  • GodotOS ใกล้เคียงกับ โปรเจกต์ของเล่น มากกว่าการพัฒนาระบบปฏิบัติการจริง
  • เป้าหมายคือการทดสอบ ขีดจำกัดของการออกแบบ UI ที่เป็นไปได้ใน Godot
  • สภาพแวดล้อมเดสก์ท็อปมุ่งให้มีลักษณะดังนี้
    • มินิมอล
    • มีสิ่งรบกวนน้อย
    • สวยงามน่ามอง

ฮับสำหรับรวมเกมและประสบการณ์

  • GodotOS ถูกออกแบบให้เป็น ฮับ ที่สามารถรวมเกมและประสบการณ์เล็ก ๆ ได้ง่าย
  • หากต้องการเพิ่มเกมลงในเมนูเริ่มโดยตรง สามารถดูคู่มือการมีส่วนร่วมได้

วิธีใช้งาน

  • สามารถลองเวอร์ชันเว็บได้ที่ Itch.io page
  • ดาวน์โหลดทุกเวอร์ชันได้จาก releases page
  • วิดีโอเดโมมีให้ชมที่ Trailer

ข้อจำกัดที่ชัดเจนและประกาศว่าไม่มีความร่วมมือ

  • GodotOS ไม่ใช่ระบบปฏิบัติการจริง แต่เป็น แอปพลิเคชัน ที่มีอินเทอร์เฟซคล้ายระบบปฏิบัติการ
  • GodotOS ไม่มีความร่วมมือกับ นักพัฒนา Godot Engine หรือ Godot Foundation

2 ความคิดเห็น

 
kayws426 2024-01-12

เป็นของเล่นที่สนุกดีนะ

 
GN⁺ 2024-01-12
ความคิดเห็นบน Hacker News
  • ดูเหมือนเป็น proof of concept ที่ยอดเยี่ยมสำหรับการใช้ Godot เป็น เฟรมเวิร์กข้ามแพลตฟอร์มสำหรับแอปพลิเคชันเดสก์ท็อป
    แพ็กเกจสำหรับแจกจ่ายเรียบง่ายมาก มีแค่ไฟล์ executable หนึ่งไฟล์กับไฟล์ข้อมูลหนึ่งไฟล์ และประสิทธิภาพก็ดีมาก
    ในแง่วิธีการจัดเตรียมแพ็กเกจไบนารีที่พึ่งพาตัวเองได้ทั้งหมดและไม่ขึ้นกับดิสโทร ดูดีกว่าแนว Flatpak มาก และในแง่ประสิทธิภาพก็ดูเหนือกว่า Electron อย่างมาก
    แอปพลิเคชันเดสก์ท็อปที่สร้างด้วยเกมเอนจินอาจเป็นกระแสใหญ่ถัดไปก็ได้

    • ในมุม UI อาจแย่ลงได้มาก
      เท่ากับทิ้ง ฟีเจอร์ของระบบปฏิบัติการ ทั้งหมดอย่างการเรนเดอร์ข้อความที่ดี อินเทอร์เฟซแก้ไขข้อความที่สอดคล้องกัน การเข้าถึงสำหรับผู้พิการ และความโปร่งใส
      ผมก็ไม่คิดว่า Godot จะเร็วกว่า Electron โดยเนื้อแท้ใน UI ใด ๆ
      ที่แอป Godot มักเร็วก็เพราะคนที่อยากใช้เกมเอนจินและใส่ใจประสิทธิภาพเป็นคนสร้างมันขึ้นมา และถ้านักพัฒนาใส่ใจประสิทธิภาพ Electron ก็เร็วพอได้เหมือน VSCode
      พูดในฐานะคนที่เคยทำงานกับเกมเอนจิน
    • เห็นด้วยอย่างยิ่ง
      ผมตั้งใจจะเขียนบทความเกี่ยวกับการสร้าง แอปพลิเคชันข้ามแพลตฟอร์มระดับมืออาชีพ ด้วย Godot และคงจะเขียนเร็ว ๆ นี้
      สรุปคือ Godot เป็น UI builder ที่ยอดเยี่ยม และผมคิดว่าผู้คนจำนวนมากกำลังค่อย ๆ ตระหนักเรื่องนี้
      มีแอปพลิเคชันระดับมืออาชีพจำนวนมากที่สร้างด้วย Godot[0] และอยากเอ่ยถึง Lorien[1] ที่ใช้ Godot ซึ่งเป็นแอปไวต์บอร์ดที่ผมชอบที่สุดและเป็นแรงบันดาลใจบางส่วนให้โปรเจกต์นี้ด้วย
      Godot ไม่ได้สมบูรณ์แบบ และเครื่องมือสร้าง UI อื่นก็มีบางส่วนที่ทำได้ดีกว่า แต่ยังมีศักยภาพอีกมากที่ยังไม่ถูกค้นพบ
      [0]: https://alfredbaudisch.com/blog/gamedev/godot-engine/standal...
      [1]: https://github.com/mbrlabs/Lorien
    • มันถูกใช้เพื่อจุดประสงค์แบบนั้นอยู่แล้ว
      ผมใช้โปรแกรมชื่อ Dungeondraft[1] สำหรับสร้างแผนที่ TTRPG ได้ง่าย ๆ ซึ่งสร้างอยู่บน Godot
      ในหน้า Modding API[2] ก็กล่าวถึง Godot ด้วย
      [1]: https://dungeondraft.net/
      [2]: https://megasploot.github.io/DungeondraftModdingAPI/
    • ไม่เข้าใจว่าทำไมในเธรดนี้ถึงเอา Flatpak มาปนกับวิธีเขียน UI เดสก์ท็อป
      แม้แอปจะเป็นไบนารีไฟล์เดียวที่พึ่งพาตัวเองได้ ก็ยังได้ประโยชน์จาก Flatpak อยู่
      sandboxing, การจัดการสิทธิ์, การแยกออกจากระบบ, ความจำเป็นบนดิสโทรแบบ immutable/อิง image, และรูปแบบแพ็กเกจรวมศูนย์ที่ไม่ต้องสร้าง deb หรือ rpm แยก ล้วนเป็นประโยชน์ทั้งต่อนักพัฒนาและผู้ใช้
      เรื่องนี้แทบไม่เกี่ยวกับว่าคุณเขียน UI ด้วยอะไร และไบนารีที่พึ่งพาตัวเองได้อย่างเดียวไม่สามารถแทนที่ Flatpak ได้ทั้งหมด
    • ลองคิดหาเหตุผลโต้แย้ง แล้วก็นึกได้ว่า immediate mode GUI อาจไม่ได้เหมาะเสมอไป และเจอบทความนี้: https://stackoverflow.com/questions/47444189/what-are-the-pe...
      ข้อเสียอีกอย่างที่นึกออกคือในมุมการออกแบบ แอปพลิเคชันจะต้องใช้ภาษาออกแบบเดียวกันในทุกแพลตฟอร์ม จึงทำให้มี รูปลักษณ์แบบเนทีฟ ของแต่ละแพลตฟอร์มได้ยาก
      มีข้อเสียอื่นอีกไหม?
  • ตัว Godot IDE เองก็เป็น “เกม” ในแง่ที่ว่าทั้งหมดสร้างด้วย Godot API
    จริง ๆ แล้วนี่อาจเป็นสภาพแวดล้อมที่ดีสำหรับสร้างแอปงานธุรกิจที่พกพาได้ เหมือน Visual Basic ยุคใหม่ก็ได้

    • น่าจะมีปัญหาแบบเดียวกับ Flutter คือ วิดเจ็ตที่ไม่ใช่เนทีฟ และเรื่องการเข้าถึงสำหรับผู้พิการ แถมดูจะไม่ได้มุ่งเน้นการใช้งานแบบนั้นเท่าไร
  • ที่เกี่ยวข้องกัน Grey Hack คือระบบปฏิบัติการ เครือข่าย และอินเทอร์เน็ตปลอมในเกมมัลติเพลเยอร์ที่มีเป้าหมายคือการแฮ็ก
    รวมถึงการแฮ็กกันเอง และจำลองฟังก์ชันพื้นฐานได้ค่อนข้างดี
    คุณสามารถขโมยไฟล์หรือวางไฟล์ไว้ในคอมพิวเตอร์เครื่องอื่น ติดตั้งซอฟต์แวร์ รันคำสั่งบน command line ที่รวมของเลียนแบบเครื่องมือต่าง ๆ และยังเขียนโปรแกรมเองได้ด้วย

    • หวังว่าสักวันจะมีใครทำเกมแฮ็กที่จำลอง เซิร์ฟเวอร์จริงขนาดเล็กหลายร้อยเครื่อง ที่มีระบบปฏิบัติการและช่องโหว่หลากหลายออกมาอย่างจริงจัง
  • ในโลกจริงก็อาจมีประโยชน์
    ลองนึกถึงอุตสาหกรรมภาพยนตร์ ระบบปฏิบัติการปลอม สำหรับแสดงให้เห็นว่าตัวละครกำลังทำอะไรบางอย่างกับคอมพิวเตอร์ แทบจะเป็นคลิเช่ไปแล้ว
    ไม่นานมานี้ผมคุยกับแฟนหนัง Hackers แล้วถูกถามว่าในหนังใช้ OS อะไร ผมตอบว่าเป็นสิ่งที่หนังยุค 90 ทุกเรื่องใช้กัน นั่นคือ Mac OS ที่แปะองค์ประกอบ UI ปลอมซึ่งรีบทำด้วย Macromedia Director เข้าไป
    ในหนังยุคต่อมา Flash ก็รับบทนั้น และเมื่อสตูดิโอภาพยนตร์ใช้เกมเอนจินมากขึ้นเรื่อย ๆ เพื่อให้ภาพอ้างอิง CG แบบเรียลไทม์ในกองถ่าย สิ่งนี้ก็อาจเป็นเวอร์ชันสมัยใหม่ของมัน

  • คิดว่าน่าจะดีถ้า Godot มี โหมดคอมไพล์ขั้นต่ำที่เน้น UI
    มันน่าสนใจมากสำหรับ UI ที่เรนเดอร์ด้วย GPU และก็มีไลบรารีกับปลั๊กอินยอดเยี่ยมอยู่แล้วสำหรับสร้างคอมโพเนนต์ที่มีประโยชน์ในงานวิศวกรรมหรือการวิเคราะห์ข้อมูล

    • ตอน build เอนจินจากซอร์ส สามารถปิดฟีเจอร์จำนวนมากของ Godot ได้[1]
      ไม่แน่ใจว่าจะลดขนาดลงได้แค่ไหนถ้ายังคงคอมโพเนนต์ 2D/3D ส่วนใหญ่ไว้ แต่น่าจะทำได้
      [1]: https://docs.godotengine.org/en/stable/contributing/developm...
    • เท่าที่รู้มีแบบนั้นอยู่แล้ว
      ด้วยแฟล็ก custom_modules คุณเลือกได้ว่าจะคอมไพล์ โมดูล Godot ใดบ้าง
      ตัวอย่างเช่น เราแจกจ่าย wasm ขนาดเล็กสำหรับเกมเว็บ Godot แบบ 2D
  • Godot เป็นสเก็ตช์แพดที่ยอดเยี่ยมสำหรับทำอะไรแบบนี้
    ครั้งหนึ่งตอนอยู่ที่สนามบินรอขึ้นเครื่อง ผมทำสมุดจดแบบรีบ ๆ สำหรับเกมรัสเซียแบบปากกาและกระดาษบนแท็บเล็ต eInk ชื่อ Virus War (“Война вирусов”) เพื่อให้เล่นกับคู่ของผมบนเครื่องบินได้
    มันเป็นแค่ตารางที่มีปุ่มแตะได้พร้อมสถานะต่าง ๆ แต่ก็ทำโปรโตไทป์ที่เล่นได้ทันก่อนขึ้นเครื่อง

  • นึกถึงช่วงราวปี 2005 ที่ Sub OS ค่อนข้างฮิตในชุมชน GameMaker
    ดูเหมือนว่าถ้ามีเวลามากพอ ก็จะมีใครสักคนพยายามทำอินเทอร์เฟซที่เหมือนระบบปฏิบัติการอยู่ในเอนจินเกมใดเกมหนึ่งเสมอ
    มันเป็นวิธีที่ดีในการทำความเข้าใจ UI และแพาราไดม์ด้านการใช้งาน นอกเหนือจากการทำกลไกเกม และชวนให้คิดถึงอดีตอย่างสนุกดี

    • ดีใจที่มีคนอื่นจำเรื่องนั้นได้เหมือนกัน
      ผมเป็นคนทำ Tiagix OS และเท่าที่ผมรู้ มันเป็นหนึ่งใน subOS แรก ๆ ที่รองรับการสร้างแอปได้จริง
      เพราะต้องสร้างเองทั้งหมดตั้งแต่ต้น เลยได้เรียนรู้เรื่อง GUI toolkit เยอะมาก
    • แม้เวลาจะผ่านมานานแล้ว แต่ดูเหมือน “แวดวง” นั้นยังมีกิจกรรมอยู่
      https://forum.gamemaker.io/index.php?threads/gm8-subos-proje...
    • เคยมีระบบปฏิบัติการที่รันอยู่ในเบราว์เซอร์ด้วย
      โดยทั่วไปจะมีเชลล์ UI ของระบบปฏิบัติการกับแอปพลิเคชัน แต่น่าเสียดายที่จำชื่อไม่ได้แล้ว
    • จำได้ว่าใน The Games Factory 2/Multimedia Fusion ก็มีอะไรแบบเดียวกัน
  • มีข้อความว่า “GodotOS ไม่ใช่ระบบปฏิบัติการจริง แต่เป็นแอปพลิเคชันที่มีอินเทอร์เฟซซึ่งดูเหมือนระบบปฏิบัติการ” แต่จริง ๆ แล้ว GodotOS จะถือว่าเป็นระบบปฏิบัติการน้อยกว่า Windows ยุคแรก ๆ ได้ไหม?

  • นึกถึงตอนที่ Notch ทดลองทำเกมอวกาศด้วยภาษาแอสเซมบลีแบบย่อส่วนที่เขาสร้างเอง
    น่าเสียดายที่หยุดทำไปแล้ว แต่ผมยังคิดว่าเกมแนวแฮ็กในเกมยังมีศักยภาพสูง
    ไม่ใช่แบบ “กด F เพื่อแฮ็ก” แต่เป็นการล็อกอินเข้าระบบจริง ๆ แล้วไปเอาหรือเปลี่ยนอะไรบางอย่าง
    ระบบปฏิบัติการในเกม ที่ดูสมจริงน่าจะเป็นก้าวที่ดี

    • สำหรับคนที่สงสัย: https://en.wikipedia.org/wiki/0x10c
      https://web.archive.org/web/20130905082541/http://dcpu.com/d...
    • Factorio มีม็อดที่ให้โปรแกรมวงจรไฟฟ้าด้วยแอสเซมบลีได้ แต่จำชื่อไม่ได้แล้ว
      คุณวาง “สถานีคอมพิวเตอร์” เชื่อมเข้ากับเครือข่ายสัญญาณ แล้วเปิดเทอร์มินัลเพื่อเริ่มเขียนโปรแกรม
      มันมีประโยชน์จริง เพราะโรงงานอาจซับซ้อนมาก และที่เจ๋งคือสามารถใช้ไอเท็มเป็นสัญลักษณ์สัญญาณเพื่อสื่อสารข้ามสายไฟได้ค่อนข้างละเอียด
      ความเร็วสัญญาณนาฬิกาของอุปกรณ์ถูกจำกัดไว้ที่ไม่กี่คำสั่งต่อ tick ของเกม
    • Bitburner ทำออกมาได้ค่อนข้างดี
      เป็นเกม idle ที่มีการจำลอง “ระบบปฏิบัติการ” แบบจำกัด แต่ทางแก้ที่ดีต้องใช้ความคิดและความรู้ด้านการเขียนโปรแกรมจริง ๆ
      คุณจะได้เขียนสคริปต์ที่สแกนเครือข่ายเพื่อหาพอร์ตที่เปิดอยู่และ “แฮ็ก” โดยอัตโนมัติ จากนั้นปรับสมดุลการจัดสรรหน่วยความจำของทุกระบบในภาพรวมตามพารามิเตอร์บางอย่าง เพื่อให้การแฮ็ก “ทำกำไร” มากที่สุด
      สนุกดีที่ได้ทำตั้งแต่การสื่อสารผ่านซ็อกเก็ตพื้นฐาน สคริปต์ส่งผลการวิเคราะห์กลับไปยัง PC ที่บ้าน ไปจนถึง การเทรดด้วยอัลกอริทึม ในตลาดหุ้นปลอม
    • https://store.steampowered.com/app/716490/EXAPUNKS/
    • แม้จะใกล้กับการเขียนโปรแกรมมากกว่าการแฮ็ก แต่คุณอาจชอบ TIS-100
      https://www.zachtronics.com/tis-100/
  • ในสกรีนช็อตมีข้อความว่า “GodotOS is a fake operating system”
    แต่จริง ๆ แล้วมันปลอมหรือเปล่า? คำว่า “ระบบปฏิบัติการ” จำเป็นต้องสื่อถึงระดับชั้นของฮาร์ดแวร์ที่มันรันอยู่ด้วยไหม?
    ถ้าไม่ ก็อาจยังถือว่าเป็น OS ได้ แม้จะรันอยู่บน OS อื่นก็ตาม

    • มันเป็น OS ปลอม ในความหมายที่ว่าจริง ๆ แล้วเป็นแอปพลิเคชัน ไม่ใช่สิ่งที่รันเป็นระบบปฏิบัติการได้แบบ Linux หรือ Windows
      ผมค่อนข้างระวังการใช้ถ้อยคำ เพราะไม่อยากให้คนเข้าใจผิดตอนประชาสัมพันธ์
    • คำว่าระบบปฏิบัติการดูเหมือนจะสื่อเป็นนัยว่ามี เคอร์เนล อยู่ด้วย