Salam, pembaca.
Publikasi ini akan fokus pada mesin game yang menjanjikan dan cukup muda yang tidak semestinya tetap berada di bawah bayang-bayang raksasa seperti Unity atau Unreal Engine.
Pengembang adalah asosiasi penggemar yang dipimpin oleh Adam's Lair.
Seperti yang dikatakan situs web resmi kami: βDuality adalah mesin game 2D modular yang dilengkapi dengan editornya sendiri. Ia mudah dikembangkan, ditulis dalam C # dan menggunakan OpenGL untuk menampilkan grafik. " Dualitas menggunakan arsitektur berorientasi komponen yang populer untuk menulis logika. Kami menulis sebuah komponen, melampirkannya ke objek game, dan semuanya berfungsi, sepenuhnya menyelamatkan programmer dari rutin. Keuntungan lain adalah dukungan untuk plugin, yang dapat dibuat dan dihubungkan oleh siapa saja ke proyek mereka.
"Klasik," katamu, dan kamu akan benar. Dualitas tidak lebih buruk daripada alat-alat lain, ia juga mengendalikan sumber daya, menyediakan subsistem I / O, grafik, audio dan simulasi fisika. Jika Anda menambahkan Editor Dualitor yang mudah digunakan pada ini, Anda bisa mendapatkan lingkungan yang sempurna untuk mengembangkan game indie.
Jadi mengapa saya perlu Dualitas ketika ada solusi yang lebih luas seperti Unity?
- Gratis (Lisensi MIT). Anda tidak diharuskan membayar, menerbitkan kode sumber Anda dan melakukan tindakan lain yang membatasi kreativitas Anda. Sumber dualitas juga tersedia di GitHub.
- Ringan. Editor berbobot ~ 100 mb, game yang berfungsi penuh berbobot ~ 7 mb.
- Performa. Dalam versi terbaru saat ini v3, optimasi skala besar dari mesin telah dilakukan. Dalam pengujian yang dilakukan untuk perkiraan beban kerja, waktu rendering dalam kasus terburuk tidak melebihi 6 ms, dan pengumpulan sampah dilakukan sekitar lima kali per menit.
- Kesederhanaan. Jika Anda terbiasa dengan Unity atau Unreal Engine yang sama, maka Anda dapat menguasai Dualitas tanpa masalah. API didokumentasikan dengan baik dan menyediakan antarmuka yang nyaman sehingga programmer tidak terganggu oleh operasi tingkat rendah.
- Komunitas Mungkin tidak dihitung oleh ribuan pengguna, tetapi berisi pengembang berdedikasi yang secara pribadi membantu pendatang baru untuk mempelajari mesin. Sangat ramah dan tepat waktu. Selain itu, berbagai tutorial telah dibuat dan sebuah forum telah dibuka yang berisi sejumlah besar informasi berguna.
Mungkin patut dicoba
Saya pikir Anda ingin melihat bagaimana tampilannya.
Editor. Sederhana namun fungsional. Ini menunjukkan Tampilan Pemandangan, Tampilan Proyek, Inspektur dan Tampilan Kamera. Di bawah ini adalah panel log tersembunyi.
Dan ini adalah contoh kode untuk komponen yang mengontrol pergerakan pesawat ruang angkasa.
Kodeusing Duality; using Duality.Components.Physics; using Duality.Input; namespace Duality_ { [RequiredComponent(typeof(RigidBody))] public class Player : Component, ICmpUpdatable { public void OnUpdate() { RigidBody rb = GameObj.GetComponent<RigidBody>(); if (DualityApp.Keyboard[Key.Left]) rb.ApplyLocalForce(-0.001f * rb.Inertia); else if (DualityApp.Keyboard[Key.Right]) rb.ApplyLocalForce(0.001f * rb.Inertia); else rb.AngularVelocity -= rb.AngularVelocity * Time.TimeMult * 0.1f; if (DualityApp.Keyboard[Key.Up]) rb.ApplyLocalForce(Vector2.UnitY * rb.Mass * -0.2f); else if (DualityApp.Keyboard[Key.Down]) rb.ApplyLocalForce(Vector2.UnitY * rb.Mass * 0.2f); } } }
Saya tidak tahu tentang Anda, tetapi saya terkejut dengan kesederhanaan kerangka ini. Omong-omong, indikator keberhasilan mesin adalah permainan yang dibuat di atasnya. Karena digunakan oleh tim kecil, permainan juga tidak dirilis di tingkat AAA. Jadi belum ada yang perlu dibanggakan.
Di situs ini Anda dapat menonton game yang sudah jadi .
Saya juga tahu satu proyek serius yang saat ini sedang dalam pengembangan dan diposting di Steam, tetapi lebih baik untuk menulis tentang itu di lain waktu.
Apa yang tidak boleh Anda harapkan dari Dualitas
Mesin cross-platform adalah salah satu kelemahannya. Hanya keluarga OS Windows yang didukung sepenuhnya, sisanya didukung oleh pengembang pihak ketiga atau tidak didukung sama sekali. Ada juga tidak ada implementasi built-in UI, tetapi karena Dualitas adalah mesin modular, ada plugin yang menghilangkan kelemahan ini.
Kelemahan utama berikutnya adalah masalah API jaringan. Saat ini, tidak ada modul plug-in atau kernel yang akan mengimplementasikan fitur multipemain.
Dan alasan utama mengapa mesin kalah dari pesaing adalah komunitas kecil. Ada terlalu sedikit orang yang mengembangkan alat yang bagus ini.
Fitur utama dari mesin:
- Fisika 2D berdasarkan Farseer Physics Engine. Di antara komponen bawaan ada Rigidbody fungsional, yang mencakup persyaratan dasar untuk objek fisik.
- Animasi 2D menggunakan komponen AnimSpriteRenderer. Bersama dengan sistem input pengguna yang sederhana, Anda dapat dengan mudah menghidupkan karakter apa pun.
- Dukungan untuk shader vertex dan fragmen. Jika ini tidak cukup, maka Anda dapat mengimplementasikan komponen Anda sendiri untuk rendering.
- Rak itan, termasuk yang bersarang, sehingga tidak akan ada masalah dengan pengadaan objek game.
- Pengelola konten yang nyaman. Tautan ke sumber daya dikelola secara otomatis dan mudah digunakan dalam kode.
- TileMaps dibuat sebagai plugin terpisah, tetapi mereka memanfaatkan fitur engine dengan sangat baik untuk kinerja maksimum.
- Ekstensibilitas editor. Anda dapat menambahkan fungsionalitas Anda sendiri ke editor, menulis perintah dan plugin yang akan dibutuhkan secara khusus untuk tugas Anda.
Sebagai penutup ulasan singkat ini, saya ingin mengatakan bahwa ada banyak mesin gim lain yang mungkin tidak kalah dengan yang satu ini dan ini bagus. Tentu saja, saya tidak mendesak Anda untuk menyerahkan semua yang sudah Anda gunakan, tetapi saya mempersembahkan kepada Anda proyek berkualitas. Jika Anda seorang pengembang tunggal atau tim kecil yang mencari sesuatu yang sederhana dan cukup kuat, cobalah Duality.
Situs resmi.