Pengertian Entity Component System (ECS)

ecs-cover

Apa itu Entity Component System?

Entity-Component-System (ECS) adalah pola arsitektur perangkat lunak yang sebagian besar digunakan dalam pengembangan video game. Model ini banyak digunakan dalam pengembangan aplikasi game. ECS mengikuti kombinasi prinsip pewarisan, yang memberikan fleksibilitas lebih besar dan membantu Anda mengidentifikasi entitas, di mana semua objek dalam adegan game diperlakukan sebagai entitas.

Cara penulisan pada pemrograman ECS sudah diatur secara default.

Pada sistem ini terdiri dari tiga istilah yaitu:

  1. Entitas
  2. Komponen
  3. Sistem

Apa itu entitas?

Entitas adalah objek berbeda yang mewakili peserta dalam ruang simulasi. Itu tidak memiliki data atau perilaku aktual. Komponen ini menyediakan entitas datanya. Ini biasanya pilar atau kamus.

Misalnya, jika kita mensimulasikan dunia game Minecraft, semua "benda" yang terlihat dan nyata di dunia game akan diperlakukan sebagai entitas.

Apa itu komponen?

Komponen adalah perilaku tunggal yang dikaitkan dengan entitas. Idealnya, nama elemen harus menyampaikan perilaku yang akan ditunjukkan entitas. Namun, komponen itu sendiri tidak memiliki perilaku. Mereka adalah modul yang dapat digunakan kembali yang dilampirkan ke entitas. Komponen-komponen ini memberikan penampilan, perilaku, dan fungsionalitas.

Semua logika diimplementasikan menggunakan komponen, yang membantu Anda mendefinisikan berbagai jenis objek dengan mencampur dan mengonfigurasi komponen.

Apa itu Sistem?

Sistem akan mengulangi banyak komponen untuk melakukan level yang lebih kecil. Seperti rendering grafik, perhitungan atau pencarian jalan. Ini menyediakan cakupan global, manajemen dan layanan untuk kelas komponen. Namun, sistem ini tidak opsional, tetapi kita dapat menggunakannya untuk memisahkan logika dan data. Ini juga dapat membantu Anda menangani komponen logis dan bertindak sebagai wadah data.

Contoh

  • Gravity (Velocity) – Ini dapat membantu Anda mempercepat kecepatan melalui gravitasi
  • Ini meningkatkan kecepatan posisi
  • Atur input entitas dari kontrol robot sesuai dengan agen AI
  • Render (Posisi, Sprite)-gambar sprite
  • Kontrol Pemain (Input Pemain) membantu Anda mengatur input entitas kontrol pemutar sesuai dengan pengontrol.

Komposisi

Komposisi adalah elemen tempat Anda dapat melampirkan lebih banyak komponen untuk menambahkan tampilan, perilaku, atau fungsionalitas tambahan. Anda juga dapat memperbarui nilai komponen untuk dikonfigurasi entitas.

Kelebihan ECS

Berikut adalah kelebihan pada saat kita menggunakan ECS pada pemrograman.

  • Anda dapat membuat kode yang lebih pendek dan lebih mudah.
  • Memfasilitasi pengembangan 3D dan VR.
  • Memungkinkan scripting dengan cara non-teknisi.
  • Pilihan mudah untuk pengujian unit.
  • Hal ini memungkinkan Anda untuk membangun aplikasi VR yang kompleksitas.
  • Penggantian komponen dengan komponen yang mudah pada saat runtime.
  • Ini membantu Anda untuk memperluas fitur baru.
  • ECS adalah metode yang ramah untuk pemrosesan paralel dan multi-threading,
  • Membantu Anda memisahkan data dari fungsi yang tidak sesuai.
  • Memberikan fleksibilitas yang lebih baik ketika mendefinisikan objek dengan mencampur dengan bagian yang dapat digunakan kembali.
  • Juga memfasilitasi desain yang bersih menggunakan metode decoupling, encapsulation, modularization, reusability

Kekurangan menggunakan ECS

Berikut adalah beberapa kekurangan menggunakan ECS.

  • Tidak secara konkret didefinisikan sebagai pola lain seperti MVC.
  • Sulit diterapkan dengan benar, komponen yang mudah disalahgunakan. Komponen yang baik membutuhkan lebih banyak entitas.
  • ECS membutuhkan penulisan yang banyak untuk sistem-sistem kecil yang meliterasi jumlah entitas yang berpotensi besar, dalam pengembangannya risiko penulisan kode yang sangat tidak efisien.
  • Kebanyakan orang bahkan belum pernah mendengar tentang pola ini.

Posting Komentar untuk "Pengertian Entity Component System (ECS)"