ADS

Bahasa Skrip

 

Bahasa skrip

Pelajaran ini akan memberi Anda gambaran umum tentang bahasa skrip yang tersedia di Godot. Anda akan mempelajari kelebihan dan kekurangan setiap opsi. Di bagian berikutnya, Anda akan menulis skrip pertama Anda menggunakan GDScript.

Skrip melekat pada sebuah node dan memperluas perilakunya . Ini berarti bahwa skrip mewarisi semua fungsi dan properti dari node yang dilampirkannya.

Misalnya, ambil sebuah permainan di mana simpul Camera2D mengikuti sebuah kapal. Simpul Camera2D mengikuti induknya secara default. Bayangkan Anda ingin kamera bergetar saat pemain menerima kerusakan. Karena fitur ini tidak ada di Godot, Anda akan melampirkan skrip ke simpul Camera2D dan mengodekan guncangan tersebut.

../../_images/scripting_camera_shake.gif

Bahasa skrip yang tersedia

Godot menawarkan empat bahasa pemrograman permainan : GDScript, C#, dan, melalui teknologi GDExtension-nya, C dan C++. Ada lebih banyak bahasa yang didukung komunitas, tetapi berikut adalah bahasa resminya.

Anda dapat menggunakan beberapa bahasa dalam satu proyek. Misalnya, dalam sebuah tim, Anda dapat membuat kode logika permainan dalam GDScript karena penulisannya cepat, dan menggunakan C# atau C++ untuk mengimplementasikan algoritme yang rumit dan memaksimalkan kinerjanya. Atau Anda dapat menulis semuanya dalam GDScript atau C#. Terserah Anda.

Kami menyediakan fleksibilitas ini untuk menjawab kebutuhan berbagai proyek game dan pengembang.

Bahasa apa yang harus saya gunakan?

Jika Anda seorang pemula, kami sarankan untuk memulai dengan GDScript . Kami membuat bahasa ini khusus untuk Godot dan kebutuhan pengembang game. Bahasa ini memiliki sintaksis yang ringan dan mudah dipahami serta menyediakan integrasi yang paling erat dengan Godot.

../../_images/scripting_gdscript.png

Untuk C#, Anda memerlukan editor kode eksternal seperti VSCode atau Visual Studio. Meskipun dukungan C# kini sudah matang, Anda akan menemukan lebih sedikit sumber belajar untuk itu dibandingkan dengan GDScript. Itulah sebabnya kami merekomendasikan C# terutama kepada pengguna yang sudah berpengalaman dengan bahasa tersebut.

Mari kita lihat fitur setiap bahasa, serta kelebihan dan kekurangannya.

Skrip GD

GDScript adalah bahasa pemrograman berorientasi objek dan imperatif yang dibuat untuk Godot. Bahasa ini dibuat oleh dan untuk pengembang game untuk menghemat waktu Anda dalam membuat kode game. Fitur-fiturnya meliputi:

  • Sintaks sederhana yang menghasilkan file pendek.

  • Waktu kompilasi dan pemuatan sangat cepat.

  • Integrasi editor yang ketat, dengan pelengkapan kode untuk node, sinyal, dan informasi lebih lanjut dari adegan yang dilampirkannya.

  • Tipe vektor dan transformasi bawaan, membuatnya efisien untuk penggunaan aljabar linear yang berat, suatu keharusan untuk permainan.

  • Mendukung banyak thread seefisien bahasa bertipe statis.

  • Tidak ada pengumpulan sampah , karena fitur ini pada akhirnya akan mengganggu saat membuat game. Mesin menghitung referensi dan mengelola memori untuk Anda dalam banyak kasus secara default, tetapi Anda juga dapat mengontrol memori jika perlu.

  • Pengetikan bertahap . Variabel memiliki tipe dinamis secara default, tetapi Anda juga dapat menggunakan petunjuk tipe untuk pemeriksaan tipe yang kuat.

GDScript tampak seperti Python saat Anda menyusun blok kode menggunakan indentasi, tetapi cara kerjanya tidak sama dalam praktik. GDScript terinspirasi oleh berbagai bahasa, termasuk Squirrel, Lua, dan Python.

Catatan

Mengapa kita tidak menggunakan Python atau Lua secara langsung?

Bertahun-tahun yang lalu, Godot menggunakan Python, lalu Lua. Integrasi kedua bahasa tersebut membutuhkan banyak kerja keras dan memiliki keterbatasan yang parah. Misalnya, dukungan threading merupakan tantangan besar dengan Python.

Mengembangkan bahasa khusus tidak memerlukan banyak pekerjaan dan kami dapat menyesuaikannya dengan kebutuhan pengembang game. Saat ini kami tengah mengerjakan pengoptimalan kinerja dan fitur-fitur yang sulit ditawarkan dengan bahasa pihak ketiga.

Bahasa Pemrograman .NET/C#

Karena C# dari Microsoft merupakan bahasa pemrograman favorit di kalangan pengembang game, kami secara resmi mendukungnya. C# merupakan bahasa pemrograman yang matang dan fleksibel dengan banyak pustaka yang ditulis untuknya. Kami dapat menambahkan dukungan untuknya berkat sumbangan yang besar dari Microsoft.

../../_images/scripting_csharp.png

C# menawarkan keseimbangan yang baik antara kinerja dan kemudahan penggunaan, meskipun Anda harus menyadari pengumpul sampahnya.

Catatan

Anda harus menggunakan editor Godot edisi .NET untuk membuat skrip dalam C#. Anda dapat mengunduhnya di halaman unduhan situs web Godot .

Karena Godot menggunakan .NET 6, secara teori, Anda dapat menggunakan pustaka atau kerangka kerja .NET pihak ketiga mana pun di Godot, serta bahasa pemrograman yang sesuai dengan Common Language Infrastructure, seperti F#, Boo, atau ClojureCLR. Namun, C# adalah satu-satunya opsi .NET yang didukung secara resmi.

Catatan

Kode GDScript sendiri tidak dapat dijalankan secepat C# atau C++ yang dikompilasi. Namun, sebagian besar kode skrip memanggil fungsi yang ditulis dengan algoritme cepat dalam kode C++ di dalam mesin. Dalam banyak kasus, penulisan logika permainan dalam GDScript, C#, atau C++ tidak akan berdampak signifikan pada kinerja.

Perhatian

Proyek yang ditulis dalam C# menggunakan Godot 4 saat ini tidak dapat diekspor ke platform web. Untuk menggunakan C# pada platform tersebut, pertimbangkan Godot 3 sebagai gantinya. Dukungan platform Android dan iOS tersedia sejak Godot 4.2, tetapi masih bersifat eksperimental dan beberapa batasan berlaku .

Lihat juga

Untuk mempelajari lebih lanjut tentang C#, kunjungi halaman dasar-dasar C# .

C++ melalui GDExtension

GDExtension memungkinkan Anda menulis kode permainan dalam C++ tanpa perlu mengkompilasi ulang Godot.

../../_images/scripting_cpp.png

Anda dapat menggunakan versi bahasa apa pun atau mencampur merek dan versi kompiler untuk pustaka bersama yang dihasilkan, berkat penggunaan Jembatan API C internal kami.

GDExtension adalah pilihan terbaik untuk performa. Anda tidak perlu menggunakannya di seluruh permainan, karena Anda dapat menulis bagian lain dalam GDScript atau C#.

Saat bekerja dengan GDExtension, tipe, fungsi, dan properti yang tersedia sangat mirip dengan API C++ Godot yang sebenarnya.

Ringkasan

Skrip adalah berkas berisi kode yang Anda lampirkan ke suatu node untuk memperluas fungsinya.

Godot mendukung empat bahasa skrip resmi, menawarkan Anda fleksibilitas antara kinerja dan kemudahan penggunaan.

Anda dapat mencampur bahasa, misalnya, untuk mengimplementasikan algoritma yang menuntut dengan C atau C++ dan menulis sebagian besar logika permainan dengan GDScript atau C#.


Tidak ada komentar:

Posting Komentar