
Buat teman teman yang belum pernah membuat program menggunakan flutter. saya sarankan untuk teman teman pelajari dulu beberapa hal sebelum memulai kelas ini
Video ini memberikan tools apa saja yang digunakan dan juga cara memulai sebuah proyek flutter flame
aplikasi yang diperlukan untuk diinstal :
- flutter framework
- visual studio code
- flutter extension untuk visual studio code
Game Widget adalah widget utama yang diperlukan flame engine. Widget inilah yang akan dipasangkan pada root flutter application kita dan mencakup game yang akan nanti kita buat. FlameGame adalah class yang diperlukan oleh GameWidget. Di dalam FlameGame inilah nanti kita membuat game kita
Management asset adalah salah satu kunci pembuatan aplikasi game. Asset seperti gambar, lagu, dan tipe tipe asset lainnya dapat disimpan di dalam folder yang sama dengan proyek flutter kita. pada folder dengan nama assets. Video ini akan mengajarkan kita untuk mengimport asset, mengubah pubspec.yaml agar flutter mengenali asset kita, dan lalu memasangnya pada permainan kita.
SpriteComponent adalah component utama kita.
Pada sebuah game 2D, kita perlu gambar gambar yang dapat kita gerakan dan animasikan. gambar gambar ini semuanya adalah sebuah SpriteComponent. Walaupun disini kita belum menggunakan animasi karena untuk animasi diperlukan component yang terpisah.
Video ini mengajarkan kita menggunakan PositionComponent dan juga menjelaskan lifecycle dari sebuah aplikasi Flame Game
Input user adalah sesuatu yang amat penting bagi sebuah permainan. Berbagai macam input disediakan di dalam Flame Engine ini, video ini akan memberikan gambaran dasar beberapa tipe input yang tersedia pada Flame Engine
Video ini mengajarkan bagaimana melakukan perhitungan arah dan tujuan bagi karakter utama kita.
Setelah pergerakan pemain, kita dapat menambahkan latar belakang untuk permainan kita. Latar belakang yang kita pasang dapat saja berupa sebuah spritecomponent tapi dalam kasus ini kita akan menggunakan parallax component. Parallax Component ini memungkinkan kita memasang layar yang bergerak untuk game kita
Video ini mengajarkan pembuatan musuh pada game kita dan juga penggunaan mixin khususnya mixin HasGameRef
Membuat musuh, atau power up, atau benda lain yang muncul dalam jumlah banyak dalam sebuah aplikasi permainan adalah sesuatu yang sangat umum. SpawnComponent adalah sebuah komponen yang bertugas untuk melakukan hal itu.
Setelah membuat asteroid, kita harus membuat pergerakannya. disini saya memilih untuk menggerakan asteroid secara acak. Tapi pada implementasi teman teman dapat saja mengubah target arah asteroid ke manapun (misalkan ke arah posisi pemain )
Video ini mengajarkan pembuatan instance baru dari sebuah sprite component yang berupa peluru. hal ini amat penting untuk pembuatan game karena seringkali kita butuh membuat instance baru dari sebuah class secara programatically.
Video ini mengajarkan penggunaan Collision detection native yang tersedia pada flame engine. Flame engine juga menyediakan physics library terpisah dalam bentuk forge2D. Namun ini tidak akan dibahas dulu pada kelas ini.
Particle Effect dapat digunakan untuk berbagai macam hal dalam pemrogaman game. Dalam hal ini kita menggunakan particle effect untuk ledakan yang terjadi saat pemain menembak asteroid
Video ini mengajarkan cara menambahkan UI element pada game kita. ada banyak cara penambahan UI di dalam flame engine. Ini adalah salah satu cara yang tersederhana yang dapat teman teman coba
Decorator adalah sebuah fitur pada flame engine untuk memberikan dekorasi pada sprite yang kita miliki. Video ini memberikan contoh penggunaan dekorator untuk permainan kita.
Selain SpriteComponent, Flame Juga menyediakan SpriteAnimationComponent untuk menangani sprite yang dianimasikan. ada banyak tipe animasi yang tersedia namun pada video ini akan diberikan contoh penggunaan kumpulan sprite (list of sprite)
Video ini mengajarkan penggunaan SpriteComponent namun sebagai UI. Jadi UI pada Game juga dapat berasalah dari Sprite. video ini mengajarkan contoh penggunaan tersebut.
Overlay adalah sebuah fitur pada Flame Engine dimana kita dapat memiliki layar yang berada diatas permainan kita untuk menampilkan banyak hal, Untuk Video ini kita akan menggunakan overlay untuk menampilkan layar game over untuk permainan kita
Video ini mengajarkan kita untuk melakukan reset pada permainan kita. Sebenarnya masih banyak cara untuk melakukan reset pada permainan. Pendekatan yang diberikan di video ini adalah salah satu yang paling sederhana yang dapat menjadi template untuk pengembangan selanjutnya
Pada Video ini kita akan menambahkan juga start menu pada game kita. disini kita juga mempelajari bagaimana melakukan resumeEngine dan PauseEngine pada game kita
Pada video ini kita akan belajar bagaimana menambahkan audio pada game kita menggunakan library flame_audio
Di Video terakhir ini kita akan mencoba melakukan publishing game kita ke 3 platform yaitu web, windows, dan android.
khusus untuk android kalau teman teman mencoba aplikasi android lalu ada bug, itu dikarenakan ukuran font kita terlalu besar, Teman teman boleh mencoba membetulkannya dengan mengubah ukuran font, bila masih gagal silahkan tanya aja di forum ya, sekalian jadi ujian buat temen2 :)
Kenapa memilih kursus ini :
Flame Engine adalah sebuah game engine yang berbasis Flutter Framework. Flutter sendiri sudah menjadi salah satu framework terpopuler untuk pengembangan aplikasi mobile. Flame Engine ini dibuat agar pengembang dapat membuat game sederhana dengan pengetahuan yang sudah dimiliki sebelumnya pada flutter framework. Namun tidak perlu kuatir, flame engine ini bila sudah dimengerti sangat mudah dan sangat cocok untuk membuat game game kecil untuk mobile. Dan karena flame ini dibuat diatas flutter maka dengan satu code yang sama, kita dapat membuat game pada beberapa platform sekaligus. Keren kan :)
Kursus ini memberikan pengenalan singkat namun padat tentang semua fitur dasar yang tersedia pada flame engine. Pengenalan ini diberikan melalui tutorial yang membuat sebuah proyek permainan yang lengkap dari awal hingga publish.
Biasanya pada sebuah tutorial peserta diberikan langsung bagaimana melakukan A, B, atau C. Namun di tutorial yang saya buat, saya akan menjelaskan kenapa saya melakukan sesuatu, pilihan apa saja yang tersedia, teori teori di balik codingan yang saya buatpun akan saya jelaskan. Sehinga peserta dari kursus ini diharapkan bukan hanya bisa membuat game yang sama, namun juga memiliki kemampuan untuk membuat game yang berbeda dengan prinsip yang sudah dipelajari pada kursus ini.
Materi yang tercakup :
Spritecomponent, positionComponent, SpawnComponent .Particle, Overlay, Collision detection, Decorator, Input, Mixin
Dan lain lain