Dasar-Dasar Pengembangan Game dengan Unity 2D
Pilihan pendaftaran
Course ini dirancang khusus untuk pemula yang ingin memahami bukan hanya bagaimana cara membuat game, tetapi juga mengapa arsitektur kode tertentu lebih baik daripada yang lain. Materi dibagi ke dalam 10 topik, di mana setiap topik menambahkan satu komponen baru ke dalam game sekaligus memperkenalkan satu prinsip pemrograman berorientasi objek (OOP) atau pola desain (design pattern). Peserta akan mulai dari setup project Unity 2D, lalu secara bertahap membangun BirdController (Encapsulation), ObstacleBase (Abstraction), PipeController (Inheritance & Polymorphism), SpawnManager (Coroutines), ScoreManager (Singleton & SRP), UIManager (Separation of Concerns), GameManager (State Coordination), sistem tombol Start/Restart (Event Listeners), dan ditutup dengan retrospektif lengkap tentang prinsip SOLID dan pola desain.
Setiap topik berisi beberapa slide dengan kombinasi diagram arsitektur, blok kode C# bergaya IDE dengan syntax highlighting, mockup Inspector Unity, perbandingan side-by-side antara pendekatan benar dan salah, serta callout dengan empat key takeaways di akhir setiap pertemuan. Materi mencakup teori (apa itu Singleton, kapan menggunakannya, apa kekurangannya), praktik (kode lengkap untuk setiap kelas), dan refleksi (trade-offs yang diambil). Total durasi estimasi untuk menyelesaikan seluruh course adalah sekitar 10 – 15 jam, sekitar 1 – 1.5 jam per topik, termasuk waktu untuk mengikuti coding di Unity, bukan hanya membaca slide.
Setelah menyelesaikan course ini, peserta akan mampu membangun game 2D sederhana dari nol di Unity menggunakan C#, menerapkan empat pilar OOP (Encapsulation, Abstraction, Inheritance, Polymorphism) dalam konteks game development nyata, menulis Coroutine untuk logika berbasis waktu, mengimplementasikan pola Singleton dengan kesadaran penuh akan trade-offs-nya, memisahkan data dan presentasi melalui arsitektur model-view, mengoordinasikan beberapa manager class melalui satu GameManager pusat, menghubungkan UI Button ke logika game lewat UnityEvent dan AddListener/RemoveListener, serta, yang paling penting, memberi nama pada apa yang peserta lakukan: peserta akan bisa berdiskusi dengan engineer lain menggunakan vokabuler SOLID dan design patterns, mengenali pola yang sama di codebase lain, dan tahu kapan harus naik level ke teknik yang lebih canggih seperti Dependency Injection, Event System, atau Object Pooling. Peserta tidak hanya keluar dengan satu game jadi, peserta keluar dengan kerangka berpikir untuk membangun game berikutnya.