2 คะแนน โดย GN⁺ 2024-08-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ALIEN - สำรวจโลกของสิ่งมีชีวิตเทียม

⚡ คุณสมบัติหลัก

เอนจินฟิสิกส์และกราฟิก

  • จำลองกลศาสตร์วัตถุอ่อนและวัตถุแข็ง ของไหล การกระจายความร้อน ความเสียหาย การยึดเกาะ และอื่น ๆ โดยใช้อนุภาค
  • โต้ตอบกับการจำลองที่กำลังทำงานอยู่ได้แบบเรียลไทม์
  • การจำลองทำงานทั้งหมดบน GPU ผ่าน CUDA
  • เรนเดอร์และทำ post-processing ผ่าน OpenGL โดยใช้ CUDA-OpenGL interoperability

การขยายเอนจินสิ่งมีชีวิตเทียม

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

เครื่องมือแก้ไขที่ครอบคลุม

  • กราฟเอดิเตอร์สำหรับจัดการอนุภาคและการเชื่อมต่อ
  • เครื่องมือวาดแบบอิสระและแบบเรขาคณิต
  • พันธุกรรมเอดิเตอร์สำหรับออกแบบสิ่งมีชีวิตแบบกำหนดเอง
  • รองรับการทำงานแบบกลุ่มและการปรับสเกล (ขยาย/ย่อ)

เครือข่าย

  • เบราว์เซอร์การจำลองในตัว
  • ดาวน์โหลดและอัปโหลดไฟล์การจำลอง
  • แนะนำการจำลองด้วยการให้ดาว

❓ เครื่องมือนี้มีประโยชน์อย่างไร

  • ตอบสนองความอยากรู้อยากเห็น: เมื่อเครื่องจักรที่จำลองตัวเองได้ปรากฏขึ้นและเปิดใช้งานการกลายพันธุ์ การจำลองก็จะดำเนินทุกอย่างด้วยตัวเอง
  • ความสนุก: ใช้เอนจินฟิสิกส์ที่รวดเร็วและสมจริงเพื่อเร่งและทำลายเครื่องจักรนับแสนเครื่องได้
  • แนวทางเชิงวิชาการ: ช่วยตอบคำถามพื้นฐานว่า ความซับซ้อนหรือโครงสร้างคล้ายสิ่งมีชีวิตเกิดขึ้นจากองค์ประกอบที่เรียบง่ายได้อย่างไร
  • เครื่องมือศิลปะเชิงกำเนิด: วิวัฒนาการคือพลังสร้างสรรค์ที่ก่อให้เกิดรูปร่างและพฤติกรรมใหม่ ๆ

📘 เอกสาร

  • เอกสารสำหรับเวอร์ชันหลักก่อนหน้านี้ดูได้ที่ alien-project.gitbook.io/docs
  • เวอร์ชันล่าสุดมีเอกสารแบบย่อและคำแนะนำผู้ใช้ผ่านหน้าต่างช่วยเหลือและ tooltip ภายในโปรแกรม

🖥️ ความต้องการขั้นต่ำของระบบ

  • ต้องใช้การ์ดจอ Nvidia ที่มี compute capability 6.0 ขึ้นไป

💽 ตัวติดตั้ง

  • ตัวติดตั้งสำหรับ Windows: alien-installer.msi (อัปเดต: 2024-08-17)

🔨 วิธี build จากซอร์ส

  • หากต้องการรับซอร์สโค้ด ให้ป้อนคำสั่งต่อไปนี้ในไดเรกทอรีที่เหมาะสม:
    git clone --recursive https://github.com/chrxh/alien.git
    
  • ขั้นตอนการ build:
    mkdir build && cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release
    cmake --build . --config Release -j8
    

⌨️ อินเทอร์เฟซบรรทัดคำสั่ง

  • มี CLI สำหรับรันการจำลองโดยไม่ใช้ GUI
  • ตัวอย่าง:
    .\cli.exe -i example.sim -o output.sim -t 1000
    

🔎 การแก้ไขปัญหา

  1. ตรวจสอบว่าการ์ดจอ NVIDIA ของคุณมี compute capability 6.0 ขึ้นไป
  2. ติดตั้งไดรเวอร์กราฟิก NVIDIA เวอร์ชันล่าสุด
  3. ตรวจสอบให้แน่ใจว่าชื่อไดเรกทอรีติดตั้งไม่มีอักขระที่ไม่ใช่ภาษาอังกฤษ
  4. ตรวจสอบว่า ALIEN มีสิทธิ์เขียนในไดเรกทอรีของตัวเอง
  5. หากมีการ์ดจอหลายตัว ให้ตรวจสอบว่ามอนิเตอร์หลักเชื่อมต่อกับการ์ดที่รองรับ CUDA
  6. หากมีทั้งการ์ดจอแบบรวมและแบบแยก ให้ตั้งค่าให้ใช้การ์ดจอประสิทธิภาพสูง

🌌 ภาพหน้าจอ

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

🧩 การมีส่วนร่วมกับโปรเจกต์

  • สามารถมีส่วนร่วมผ่าน GitHub Issues, Pull requests หรือฟอรัม Discussion
  • ช่วยเพิ่มคอนเทนต์ใหม่ สร้างหรือแชร์ไฟล์สื่อ รายงานบั๊ก ขอฟีเจอร์ใหม่ ตั้งคำถาม หรือให้ข้อเสนอแนะได้
  • ยินดีรับ Pull requests สำหรับการแก้บั๊ก จัดระเบียบโค้ด ปรับแต่งประสิทธิภาพ หรือการปรับเล็กน้อย
  • สำหรับการพัฒนาฟีเจอร์ใหม่ การรีแฟกเตอร์ หรือการเปลี่ยนแปลงใหญ่ จำเป็นต้องหารือล่วงหน้า

💎 เครดิตและการพึ่งพา

  • พัฒนาและดูแลรักษาเป็นหลักโดย Christian Heinemann
  • ไลบรารีภายนอกที่ใช้: CUDA Toolkit, Dear ImGui, ImPlot, ImFileDialog, boost, Glad, GLFW, glew, stb, cereal, zlib, zstr, OpenSSL, cpp-httplib, googletest, vcpkg, WinReg, CLI11

🧾 ไลเซนส์

  • ALIEN อยู่ภายใต้ไลเซนส์ BSD 3-Clause

สรุปโดย GN⁺

  • ALIEN เป็นเครื่องมือจำลองสิ่งมีชีวิตเทียมที่ใช้เอนจินอนุภาค 2D บน CUDA เพื่อจำลองวัตถุอ่อนและของไหล
  • เป็นเครื่องมือที่ทั้งสนุกและให้ความรู้ โดยผู้ใช้สามารถออกแบบสิ่งมีชีวิตหลากหลายรูปแบบและสังเกตกระบวนการวิวัฒนาการได้
  • ช่วยให้เข้าใจเงื่อนไขที่ทำให้ระบบชีวภาพที่ซับซ้อนวิวัฒน์ขึ้นได้
  • มีเครื่องมือแก้ไขหลากหลาย เช่น พันธุกรรมเอดิเตอร์ ที่ช่วยให้ผู้ใช้สามารถออกแบบสิ่งมีชีวิตแบบกำหนดเองได้
  • จำเป็นต้องใช้การ์ดจอ NVIDIA และควรตรวจสอบไดรเวอร์ล่าสุดรวมถึงปัญหาความเข้ากันได้

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

 
GN⁺ 2024-08-19
ความคิดเห็นบน Hacker News
  • แหล่งข้อมูลแนะนำสำหรับผู้เริ่มต้น: แนะนำ https://natureofcode.com/

    • เหมาะสำหรับผู้เริ่มต้นและใช้ไลบรารี JS แต่แนวคิดที่นำเสนอนั้นใช้ได้ทั่วไป
  • ประสบการณ์กับการจำลอง Alien: รันการจำลอง Alien มาเป็นเวลาหลายเดือน

    • ใช้การตั้งค่าเริ่มต้น "RGB Triad" และสิ่งมีชีวิตสามประเภทได้สร้างโครงสร้างเซลล์ที่ซับซ้อน
    • มีทั้ง "ผลึก" เชิงเรขาคณิต เส้นยาวที่พยายามกินสิ่งมีชีวิตอื่น และโครงสร้างคล้ายหนามที่ก่อเป็นกำแพง
  • โปรเจกต์จำลอง Alien: โปรเจกต์นี้น่าทึ่งมาก

    • โปรแกรมแบบคอนโซลที่ตัวเองทำดำเนินไปอย่างช้า ๆ แต่โปรเจกต์นี้เร็วมาก
  • ความทรงจำเกี่ยวกับเกม Flash: นึกถึงเกม Flash ที่อนุภาคเล็ก ๆ แต่ละตัวมีพฤติกรรมเฉพาะตัว

    • อนุภาคแต่ละตัวสามารถชนกัน ตอบสนอง เปลี่ยนรูป หรือทำลายอนุภาคอื่นได้
    • Emergent gameplay สนุกเสมอ
  • แชร์ลิงก์วิดีโอ: หาวิดีโอบน GitHub ได้ยากเลยแชร์ลิงก์หลายอัน

  • คำถามเรื่องการเลื่อนมุมมอง: สงสัยว่าต้องเลื่อนมุมมองอย่างไร

  • ลิงก์เว็บไซต์: https://alien-project.org/

  • ความเป็นไปได้บน AMD: อาจรันบน AMD ได้ด้วย

  • ความคล้ายกับ Permutation City: คล้ายกับจุดเริ่มต้นของ Permutation City

  • การประเมินซอฟต์แวร์: ซอฟต์แวร์นี้มีเสน่ห์ดี

    • ลองใช้ดูเล็กน้อยแล้ว และมันเป็น sandbox วิวัฒนาการขนาดเล็ก