2 poin oleh GN⁺ 2024-08-19 | 1 komentar | Bagikan ke WhatsApp
  • ALIEN adalah lingkungan kehidupan buatan dengan engine partikel 2D berbasis CUDA yang mensimulasikan soft body, fluida, dan makhluk hidup digital berbentuk jaringan sel secara real-time
  • Tubuh simulasi disusun sebagai jaringan partikel, dan fitur tingkat tinggi seperti sensor, otot, senjata, serta generator dikoordinasikan oleh jaringan saraf; cetak birunya disimpan sebagai genom dan dapat diwariskan ke keturunan
  • Seluruh kode simulasi ditulis dengan CUDA, dioptimalkan untuk simulasi real-time skala besar yang menangani jutaan partikel, dan rendering menggunakan interoperabilitas CUDA-OpenGL
  • Pengguna dapat berinteraksi dengan simulasi yang sedang berjalan, serta mengedit makhluk hidup dan lingkungan dengan editor graf, alat freehand/geometris, editor genom, dan operasi massal
  • Untuk menjalankannya dibutuhkan GPU NVIDIA dengan compute capability 6.0 atau lebih tinggi, dan juga disertakan CLI untuk menjalankan serta mengevaluasi simulasi tanpa GUI

Apa yang disimulasikan ALIEN

  • ALIEN adalah singkatan dari Artificial LIfe ENvironment, yaitu alat simulasi kehidupan buatan
  • Fondasinya adalah engine partikel 2D khusus yang ditulis dengan CUDA dan dirancang untuk menangani soft body dan fluida
  • Setiap tubuh simulasi disusun sebagai jaringan partikel
    • Mulai dari fungsi pemrosesan informasi murni hingga perangkat fisik tingkat tinggi seperti sensor, otot, senjata, dan generator dapat dipasang
    • Eksekusi fungsi-fungsi ini dikoordinasikan oleh jaringan saraf
    • Tubuh dapat dipandang sebagai agen atau organisme digital yang beroperasi dalam lingkungan bersama
    • Cetak birunya disimpan dalam genom dan dapat diwariskan ke keturunan
  • Tujuan pengembangannya adalah untuk lebih memahami evolusi pra-biologis dan kondisi yang meningkatkan kompleksitas sistem biologis
  • Tujuan penting lainnya adalah membuat simulator yang mudah digunakan dengan UI modern, rendering yang enak dilihat, dan pendekatan yang terasa seperti bermain

Engine fisika dan grafis

  • Partikel digunakan untuk mensimulasikan soft body, dinamika benda kaku, fluida, emisi panas, kerusakan, dan adhesi
  • Mendukung interaksi pengguna secara real-time terhadap simulasi yang sedang berjalan
  • Simulasi dijalankan sepenuhnya di GPU melalui CUDA
  • Rendering dan post-processing berbasis OpenGL dengan memanfaatkan interoperabilitas CUDA-OpenGL

Fitur kehidupan buatan

  • Organisme multiseluler disimulasikan sebagai jaringan partikel
  • Mendukung sistem genetik dan pembuatan keturunan pada tingkat sel
  • Fitur tingkat tinggi seperti sensor dan otot dikendalikan oleh jaringan saraf
  • Tipe sel dapat dikustomisasi sesuai spesifikasi yang ditentukan pengguna dengan menggunakan beragam warna
  • Mendukung parameter simulasi yang berubah bergantung pada ruang

Alat edit dan berbagi

  • Alat pengeditan berfokus pada manipulasi langsung komponen simulasi
    • Dengan editor graf, semua partikel dan koneksi dapat dimanipulasi
    • Menyediakan alat gambar freehand dan geometris
    • Dengan editor genom, pengguna dapat merancang organisme kustom
    • Mendukung operasi massal dan fitur zoom
  • Fitur jaringan juga disertakan
    • Menyediakan browser simulasi bawaan
    • Mendukung unduh dan unggah file simulasi
    • Simulasi dapat direkomendasikan dengan sistem pemberian bintang

Tujuan penggunaan

  • Jika mesin swa-replikasi dan mutasi diaktifkan, simulasi akan berjalan dengan sendirinya dan pengguna dapat mengamati bagaimana evolusi bekerja
  • Dapat digunakan seperti game dengan engine fisika yang cepat dan realistis
    • Ratusan ribu mesin dapat dipercepat atau dihancurkan dengan kursor mouse
    • Beragam gaya rendering dan editor visual membantu mengamati peristiwa
    • Contoh dapat dilihat di YouTube channel
  • Secara akademis, ini adalah alat untuk mengeksplorasi bagaimana kompleksitas atau struktur mirip kehidupan dapat muncul dari komponen sederhana
    • Bagaimana ekosistem beradaptasi terhadap perubahan lingkungan dan menemukan keseimbangan baru
    • Masalah menemukan kondisi yang memungkinkan evolusi terbuka
  • Juga dapat digunakan sebagai alat seni generatif, dengan evolusi berperan sebagai kekuatan kreatif yang menghasilkan bentuk dan perilaku baru

Dokumentasi dan syarat menjalankan

  • Dokumentasi untuk versi mayor sebelumnya tersedia di alien-project.gitbook.io/docs dan memperkenalkan simulator dalam bentuk tulisan bergaya tutorial
  • Banyak informasi dalam dokumentasi tersebut sudah tidak lagi mutakhir
  • Versi terbaru menyediakan dokumentasi singkat dan panduan pengguna melalui jendela bantuan dan tooltip di dalam program
  • Materi tambahan tersedia di Website, YouTube, Twitter, Reddit, Discord
  • Persyaratan sistem minimum adalah kartu grafis NVIDIA dengan compute capability 6.0 atau lebih tinggi
  • File installer untuk Windows adalah alien-installer.msi, dan menurut README tanggal pembaruannya adalah 2025-09-06

Build dan CLI

  • Build dari source sebagian besar diotomatisasi menggunakan CMake lintas platform dan manajer paket vcpkg yang disertakan sebagai submodul Git
  • Saat mengambil source, diperlukan --recursive agar submodul vcpkg juga ikut di-checkout
    • git pull standar biasanya tidak memperbarui submodul, jadi perlu menggunakan git pull --recurse-submodules
  • Baik Windows maupun Linux menggunakan Ninja dan kompiler CUDA nvcc
    • Persyaratannya adalah CUDA Toolkit 11.2+
    • Windows memerlukan komponen Visual Studio “Desktop development with C++” dan “C++ CMake tools for Windows”
    • Linux memerlukan GCC, ninja-build, dan library pengembangan X11/OpenGL
  • Perintah build adalah cmake --preset ninja dan cmake --build --preset ninja-release
  • File executable dibuat di bawah build-ninja/Release/, dan harus dijalankan langsung dari folder build agar dapat menemukan folder resource
  • Repositori juga menyertakan CLI untuk menjalankan simulasi tanpa GUI
    • Dapat digunakan untuk pengukuran performa dan eksekusi/evaluasi otomatis terhadap berbagai parameter
    • Input-nya adalah file simulasi, parameter, dan jumlah langkah waktu
    • Output-nya adalah file simulasi hasil dan file statistik CSV
    • Contoh perintah .\cli.exe -i example.sim -o output.sim -t 1000 menjalankan example.sim selama 1000 langkah waktu

Pemecahan masalah dan lisensi

  • Jika terjadi crash karena alasan yang tidak diketahui, pertama-tama perlu memeriksa persyaratannya
    • Dibutuhkan GPU NVIDIA dengan compute capability 6.0 atau lebih tinggi
    • Driver grafis NVIDIA terbaru harus terpasang
    • Nama direktori instalasi dan direktori induknya tidak boleh mengandung karakter non-Inggris
    • Di Windows, nama pengguna Windows tempat ALIEN dipasang juga tidak boleh mengandung karakter non-Inggris
    • ALIEN memerlukan izin tulis ke direktori miliknya sendiri
    • Jika ada beberapa GPU, monitor utama harus terhubung ke kartu yang mendukung CUDA
    • Jika menggunakan grafis terintegrasi dan dedicated sekaligus, alien.exe harus diatur agar memakai kartu grafis performa tinggi
  • Jika error tetap berlanjut meski syarat sudah terpenuhi, jalankan ALIEN dengan parameter baris perintah -d, reproduksi error-nya, lalu buat GitHub issue dengan melampirkan log.txt
  • Kontribusi dapat diberikan melalui GitHub Issues, Pull requests, dan Discussion forum
  • ALIEN didistribusikan dengan lisensi BSD 3-Clause

1 komentar

 
GN⁺ 2024-08-19
Komentar Hacker News
  • Materi yang awalnya ingin saya cari ternyata tidak semudah yang saya kira, dan video di GitHub tidak termuat di sisi saya, jadi saya mengumpulkan tautannya:
    https://www.youtube.com/@alien-project/videos
    https://www.youtube.com/watch?v=qwbMGPkoJmg
    https://www.youtube.com/watch?v=w9R6zrdl6jM
    Selain itu, belum sepenuhnya jelas bagaimana ini akan berjalan di Linux, dan sekilas terlihat seperti terbatas pada konfigurasi Windows + NVidia. Akan bagus kalau bisa memastikan bahwa anggapan itu keliru

  • Kalau ingin membuat sesuatu seperti ini tetapi tidak tahu harus mulai dari mana, saya merekomendasikan https://natureofcode.com/
    Ditujukan untuk pemula dan memakai library JS, tetapi ide inti yang dibahas umumnya dapat diterapkan

    • Judul Nature of Code terdengar seperti buku yang membahas hakikat kode itu sendiri
      Justru sebaliknya, sepertinya The Code of Nature akan terasa lebih alami
  • Saya sudah menjalankan simulasi Alien cukup lama selama beberapa bulan, menyalakan dan mematikannya tergantung apakah PC sedang dipakai
    Saya memulainya dengan preset pengaturan awal RGB Triad, dan hal yang menakjubkan adalah tiga jenis makhluk hidup itu membentuk struktur rumit mirip sel dengan cara yang berbeda-beda
    Muncul kristal geometris, tali panjang yang mencoba memakan yang lain, hingga struktur berduri yang membentuk dinding, benar-benar memikat

    • Elemen visual memang penting, tetapi saya penasaran apakah simulasi bisa dijalankan lebih cepat jika rendering dilewati
  • Saya masih punya kenangan baik tentang game Flash dengan partikel-partikel kecil yang masing-masing memiliki perilaku unik
    Setiap partikel bisa bertabrakan, bereaksi, berubah, atau menghancurkan material partikel lain. Saya tidak ingat nama situs web atau gamenya, tetapi mencoba-coba permainan emergen selalu menyenangkan

  • Situs web: https://alien-project.org/

  • Menakjubkan. Saya suka automata seluler dan Conway's Game of Life, dan ini terlihat seperti game yang cukup bagus

  • Cukup keren. Melihat ada beberapa orang yang mencoba menjalankannya, AMD sepertinya juga punya kemungkinan: https://github.com/chrxh/alien/issues/99

  • Keren sampai bikin terpukau. Saya menonton beberapa video, dan teringat simulator evolusi kehidupan alien yang sedang saya buat
    Program saya yang berbasis konsol masih setingkat merangkak, sedangkan proyek ini sudah setingkat terbang di langit

  • Terlihat keren, tetapi sebenarnya bagaimana cara menggeser tampilan layar?