Mesin Godot yang Didukung: 4.3 (v1.2.0+) | 4.2 (rilis v1.1.x)
LimboAI adalah plugin C++ sumber terbuka untuk Godot Engine 4 yang menyediakan kombinasi Behavior Trees dan State Machines , yang dapat digunakan bersama untuk menciptakan perilaku AI yang kompleks. Muncul dengan editor pohon perilaku, dokumentasi bawaan, debugger visual, proyek demo ekstensif dengan tutorial, dan banyak lagi! Meskipun diimplementasikan dalam C++, ini sepenuhnya mendukung GDScript untuk membuat tugas dan status Anda sendiri.
Jika Anda senang menggunakan LimboAI, mohon pertimbangkan untuk mendukung upaya saya dengan berdonasi di Ko-fi? Kontribusi Anda akan membantu saya terus mengembangkan dan meningkatkannya.
Pohon Perilaku adalah struktur hierarki kuat yang digunakan untuk memodelkan dan mengontrol perilaku agen dalam game (misalnya karakter, musuh). Mereka dirancang untuk mempermudah pembuatan perilaku yang kaya dan sangat modular untuk game Anda. Untuk mempelajari lebih lanjut tentang pohon perilaku, lihat Pengantar Pohon Perilaku dan proyek demo kami, yang mencakup tutorial.
Proyek demo ada di folder
demo
dan tersedia secara terpisah di Rilis . Jalankandemo/scenes/showcase.tscn
untuk memulai. Ini juga mencakup tutorial yang memperkenalkan pohon perilaku melalui contoh ilustratif.
Video YouTube diproduksi oleh berbagai pembuat konten
Pohon Perilaku (BT):
Paket Blackboard: Tentukan variabel di sumber daya BehaviorTree dan ganti nilainya di node BTPlayer.
Editor rencana: Kelola variabel, tipe datanya, dan petunjuk propertinya.
Cakupan papan tulis: Mencegah konflik nama dan mengaktifkan teknik tingkat lanjut seperti berbagi data antara beberapa agen.
Parameter papan tulis: Mengekspor parameter BB, yang mana pengguna dapat memberikan nilai atau mengikatnya ke variabel papan tulis (dapat digunakan dalam tugas khusus).
Dukungan inspektur untuk menentukan variabel papan tulis (editor khusus untuk properti StringName
yang diekspor yang diakhiri dengan "_var").
Buat, edit, dan simpan sumber daya BehaviorTree
dengan mudah di editor.
Jalankan sumber daya BehaviorTree
menggunakan node BTPlayer
.
Ciptakan perilaku kompleks dengan menggabungkan dan menyusun tugas dalam hierarki.
Kontrol aliran eksekusi menggunakan tugas komposit, dekorator, dan kondisi.
Buat tugas khusus dengan memperluas kelas inti: BTAction
, BTCondition
, BTDecorator
, dan BTComposite
.
Dokumentasi kelas bawaan.
Sistem Blackboard: Berbagi data dengan lancar antar tugas menggunakan Blackboard
.
Gunakan tugas BTSubtree
untuk mengeksekusi pohon dari file sumber daya yang berbeda, sehingga meningkatkan pengorganisasian dan penggunaan kembali.
Visual Debugger: Periksa eksekusi BT apa pun dalam adegan yang sedang berjalan untuk mengidentifikasi dan memecahkan masalah.
Visualisasikan BT dalam game menggunakan node BehaviorTreeView
(untuk alat khusus dalam game).
Pantau kinerja pohon dengan monitor kinerja khusus.
Mesin Status Hirarki (HSM):
Perluas kelas LimboState
untuk mengimplementasikan logika keadaan.
Node LimboHSM
berfungsi sebagai mesin status yang mengelola instans dan transisi LimboState
.
LimboHSM
adalah sebuah negara itu sendiri dan dapat disarangkan dalam contoh LimboHSM
lainnya.
Berbasis peristiwa: Transisi dikaitkan dengan peristiwa dan dipicu oleh mesin negara ketika peristiwa yang relevan dikirimkan, sehingga memungkinkan pemisahan transisi yang lebih baik dari logika keadaan.
Gabungkan mesin negara dengan pohon perilaku menggunakan BTState
untuk AI reaktif tingkat lanjut.
Opsi Delegasi: Dengan menggunakan vanilla LimboState
, delegasikan implementasi ke fungsi panggilan balik Anda, menjadikannya sempurna untuk pembuatan prototipe cepat dan game jam.
? Catatan: Penyiapan dan inisialisasi mesin status memerlukan kode; tidak ada editor GUI.
Diuji: Tugas pohon perilaku dan HSM dicakup oleh pengujian unit.
GDExtension: LimboAI dapat digunakan sebagai ekstensi. Pembuatan mesin khusus tidak diperlukan.
Demo + Tutorial: Lihat proyek demo ekstensif kami, yang mencakup pengenalan pohon perilaku menggunakan contoh.
Ikuti panduan langkah pertama untuk mempelajari cara memulai LimboAI dan proyek demo.
LimboAI dapat digunakan sebagai modul C++ atau sebagai pustaka bersama GDExtension. Versi GDExtension lebih nyaman digunakan tetapi fiturnya agak terbatas. Apa pun yang Anda pilih untuk digunakan, proyek Anda akan tetap kompatibel dengan keduanya dan Anda dapat beralih dari satu proyek ke proyek lainnya kapan saja. Lihat Menggunakan GDExtension.
Untuk versi terbaru, navigasikan ke Tindakan → Semua Versi , pilih versi dari daftar, dan gulir ke bawah hingga Anda menemukan bagian Artefak .
Untuk versi rilis, periksa Releases .
Unduh kode sumber Godot Engine dan masukkan sumber modul ini ke dalam direktori modules/limboai
.
Konsultasikan dokumentasi Godot Engine untuk petunjuk tentang cara membangun dari kode sumber.
Jika Anda berencana mengekspor game menggunakan modul LimboAI, Anda juga perlu membuat template ekspor.
Untuk menjalankan pengujian unit, kompilasi mesin dengan tests=yes
dan jalankan dengan --test --tc="*[LimboAI]*"
.
Anda memerlukan alat pembuatan SCons dan kompiler C++. Lihat juga Kompilasi.
Jalankan scons target=editor
untuk membangun perpustakaan plugin untuk platform Anda saat ini.
SCons akan secara otomatis mengkloning repositori godot-cpp/ jika belum ada di direktori limboai/godot-cpp
.
Secara default, target yang dibangun ditempatkan di proyek demo: demo/addons/limboai/bin/
Periksa scons -h
untuk opsi dan target lainnya.
Dokumentasi Online: stabil, terbaru
Langkah pertama
Pengantar Pohon Perilaku
Membuat tugas khusus di GDScript
Berbagi data menggunakan Blackboard
Mengakses node di pohon adegan
Mesin negara
Menggunakan GDExtension
Menggunakan LimboAI dengan C#
Referensi kelas
Kontribusi dipersilakan! Silakan buka masalah untuk laporan bug, permintaan fitur, atau perubahan kode. Untuk panduan terperinci tentang berkontribusi pada kode atau dokumentasi, lihat halaman Berkontribusi kami.
Jika Anda mempunyai ide untuk tugas pohon perilaku atau fitur yang dapat berguna dalam berbagai proyek, buka terbitan untuk mendiskusikannya.
Butuh bantuan? Kami memiliki server Perselisihan: https://discord.gg/N5MGC95GpP
Saya menulis tentang pengembangan LimboAI di Mastodon: https://mastodon.gamedev.place/@limbo.
Penggunaan kode sumber ini diatur oleh lisensi bergaya MIT yang dapat ditemukan di file LICENSE atau di https://opensource.org/licenses/MIT
Logo LimboAI dan aset seni proyek demo dilisensikan di bawah lisensi Creative Commons Attribution 4.0 International yang dapat ditemukan di https://creativecommons.org/licenses/by/4.0/