Yang akan Anda pelajari
-
Sistem Kemampuan Gameplay Unreal Engine
-
Mekanisme Gameplay Multi Pemain
-
Pembuatan RPG lengkap dengan Pertarungan, Pengalaman dan Peningkatan Level, Musuh, Mantra, Menu, Penghematan Game, dan banyak lagi
-
Prinsip pengkodean SOLID dan arsitektur kode kualitas AAA
-
Cara menentukan kode mana yang masuk dalam Cetak Biru dan kode mana yang masuk dalam C++ untuk performa optimal dalam game yang dikirimkan
-
Kode yang dapat diskalakan, modular, dapat dipelihara, dan dapat diperluas yang dapat berfungsi sebagai fondasi untuk game serius apa pun
-
Semua fitur inti Sistem Kemampuan Gameplay
-
Alat dan praktik debugging kode
Persyaratan
-
Pengetahuan tentang Bahasa Pemrograman C++
-
Dasar-dasar Unreal Engine C++ – setidaknya telah membuat satu proyek Unreal Engine C++
Deskripsi
Ini adalah kursus Unreal Engine terlengkap yang tersedia. Jika Anda ingin mempelajari cara merancang game RPG yang berfungsi penuh, kursus ini akan memberi Anda kemampuan untuk melakukannya dengan basis kode yang dapat diperluas, dirancang dengan kode kualitas AAA. Jika Anda pernah bertanya-tanya di mana menarik garis batas antara C++ dan Blueprints, kursus ini cocok untuk Anda. Jika Anda pernah ingin membuat RPG lengkap dengan sistem statistik, kemampuan, peningkatan level, mantra, atribut, menu, sambil menjaga basis kode Anda tetap bersih dan mengikuti praktik terbaik, kursus ini cocok untuk Anda. Jika Anda ingin meningkatkan kemampuan pengembangan Unreal Engine dan lebih memahami cara kerja mesin, kursus ini cocok untuk Anda. Jika Anda memiliki rencana untuk membuat game serius Anda sendiri dengan sistem yang saling berhubungan, yang melibatkan atribut, kemampuan, peningkatan level, musuh, dan AI,
Dalam kursus ini, kita akan membuat game bergaya RPG top-down, diisi dengan sistem yang dirancang menggunakan Gameplay ability System (GAS) bawaan Unreal Engine. Di sinilah Anda akan belajar cara merancang game yang dikirimkan, dan mengkodekannya dengan ahli sehingga dapat dengan mudah diperluas, ditingkatkan, dan dipelihara. Kami mengikuti prinsip pengkodean SOLID, dan menyeimbangkan rasio Blueprint/C++ seperti yang dilakukan game yang dikirimkan AAA, seperti Fortnite. Pengalaman kami dengan kode game yang dikirimkan AAA, serta konsultasi dengan pengembang veteran industri telah memungkinkan kami untuk mengungkapkan kepada Anda seperti apa basis kode game yang dikirimkan sebenarnya. Jika Anda pernah bertanya-tanya berapa banyak game yang dapat disimpan dalam Blueprint versus C++, tidak perlu mencari lagi. Kursus ini adalah jawabannya.
Aset dalam proyek game ini dibuat khusus untuk kursus ini, dan akan disediakan dalam paket aset. Ini termasuk:
- Karakter, termasuk Aura, karakter utama, serta karakter musuh termasuk Prajurit Goblin, Penjaga Goblin, Dukun Goblin, Setan Merah dan Hitam, Ghoul, dan Shroom.
- Paket ruang bawah tanah modular yang dapat disatukan untuk membuat ruang bawah tanah dasar
- Kuil titik jalan dan obelisk
- Efek Sistem Partikel Niagara, termasuk ledakan, efek naik level, batu ketapel, benturan, pancaran listrik, bola api, baut api, api, bintang untuk efek setrum, dan banyak lagi!
- Efek suara untuk musuh, langkah kaki, mantra, dan banyak lagi!
- Tekstur untuk HUD, termasuk tombol berkualitas tinggi, bingkai, bola mantra animasi dinamis, bilah kemajuan, bilah XP, dan banyak lagi!
- Kumpulan animasi penuh untuk Aura dan semua musuh
- Lebih banyak!
Dalam kursus ini, kami akan membahas topik-topik berikut:
- Menyiapkan Proyek Top-Down dari awal
- Pemilihan musuh dan item dengan efek garis besar
- Penggunaan OOP dan pewarisan yang tepat untuk membuat hierarki kelas karakter
- Pengantar Sistem Kemampuan Gameplay dan kelas inti yang menyusunnya
- Komponen Sistem Kemampuan Gameplay Khusus dan Kumpulan Atribut , dan cara mereplikasi Atribut
- Semua pengaturan penting untuk semua kelas dan komponen GAS
- Cara menggunakan Atribut untuk statistik pemain , termasuk Atribut Utama :
- Kekuatan (meningkatkan kerusakan fisik)
- Intelijen (meningkatkan kerusakan magis)
- Resilience (meningkatkan Armor dan Penetrasi Armor)
- Vigor (meningkatkan Kesehatan Maks)
- Atribut Sekunder , berdasarkan atribut utama dan variabel khusus lainnya:
- Armor (mengurangi kerusakan yang diterima, meningkatkan Block Chance)
- Penetrasi Armor (mengabaikan persentase Armor musuh, meningkatkan Peluang Serangan Kritis)
- Block Chance (ubah untuk memotong setengah kerusakan yang masuk)
- Critical Hit Chance (peluang menggandakan kerusakan ditambah bonus serangan kritis)
- Kerusakan Serangan Kritis (kerusakan bonus ditambahkan saat serangan kritis dilakukan)
- Critical Hit Resistance (mengurangi peluang serangan kritis untuk menyerang musuh)
- Regenerasi Kesehatan (jumlah Kesehatan yang dipulihkan setiap 1 detik)
- Regenerasi Mana (jumlah Mana yang dipulihkan setiap 1 detik)
- Max Health (jumlah maksimum Kesehatan yang dapat diperoleh)
- Max Mana (jumlah maksimum Mana yang dapat diperoleh)
- Atribut Vital – hal-hal seperti Kesehatan dan Mana , yang bergantung pada semua atribut lainnya
- Efek Gameplay – kelas dalam sistem GAS yang digunakan untuk menerapkan perubahan pada atribut
- Tag Gameplay – bagian penting dari GAS, yang memungkinkan kita mengidentifikasi kualitas, atribut, kemampuan, kelas karakter, dan hal lain apa pun yang dapat kita bayangkan
- Game UI – cara menangani UI kompleks dalam game RPG secara efisien, terorganisir, modular, dan terukur. Kami membahas paradigma UI yang berbeda, dari MVC ( Model View Controller ) dan MVVM ( Model View ViewModel , menggunakan fitur ViewModel baru dari Unreal Engine )
- Menu Atribut dan Ejaan Lengkap , dengan peningkatan kemampuan, pohon mantra, level mantra terkunci, peningkatan mantra berdasarkan tingkat kemampuan, dan banyak lagi
- Atribut – cara menggunakan Atribut Gameplay untuk mewakili statistik pemain, dan memasukkannya ke dalam mekanisme gameplay dengan membuat pipeline Aplikasi Efek, yang memungkinkan penghitungan dan hasil yang disebabkan oleh fenomena dalam game, seperti kerusakan akibat pertempuran
- Kemampuan Gameplay – jantung dari GAS. Kami menciptakan segala macam jenis kemampuan gameplay untuk menangani perapalan mantra, menangani kemampuan penting karakter pemain dan AI musuh, dan cara mengonfigurasi berbagai kemampuan agar sesuai dengan kebutuhan Anda.
- Kelas RPG Berbeda – kami menerapkan kelas RPG karakter berbeda termasuk Ranger, Warrior, dan Elementalist, dan melakukannya dengan cara yang mudah diskalakan sehingga Anda dapat memiliki sejumlah tipe kelas karakter dalam game Anda
- Kerusakan dan Pertarungan – kami menerapkan sistem pertarungan gaya RPG lengkap dengan jenis kerusakan, ketahanan terhadap kerusakan, dan debuff yang berbeda sesuai dengan jenis kerusakan, dan mengkodekan perhitungan ini ke dalam jalur kerusakan kami. Semua atribut, jenis kerusakan, resistensi, dan debuff berfungsi dalam game ini.
- Semua mekanisme pertarungan ditampilkan dalam beberapa bentuk umpan balik visual kepada pemain. Ini termasuk teks mengambang untuk kerusakan , perubahan warna berdasarkan kriteria khusus, teks mengambang untuk menginformasikan serangan kritis , serangan yang diblokir , dan serangan kritis yang diblokir . Kami juga menerapkan mekanisme knockback dan stun sebagai respons terhadap kerusakan petir, melumpuhkan karakter/musuh, serta debuff api , di mana karakter dibakar dan menerima kerusakan akibat kebakaran saat terbakar .
- AI Musuh – Kami menerapkan perilaku musuh menggunakan Unreal Engine Behavior Trees dan sistem Environment Query (EQS) untuk menyediakan perilaku yang disesuaikan untuk tipe musuh Ranged, Warrior, dan Elementalist.
- Musuh dapat merapal mantra dan memanggil minion AI
- Memudarnya geometri saat menghalangi kamera untuk permainan top-down
- Biaya Kemampuan dan Cooldown (mantra menghabiskan sumber daya Atribut – dalam game ini, mantra memerlukan Mana )
- HUD yang berfungsi penuh dengan Dilengkapi Mantra , menampilkan pengatur waktu cooldown mantra , dan pengalaman ( XP )
- Kemampuan untuk menetapkan Kemampuan ke input berbeda di menu mantra (tetapkan FireBolt ke tombol 1 dan Electrocute ke Tombol Kiri Mouse, tukar kembali, dll.)
- Sistem Pengalaman dan Peningkatan Level – Kami membuat sistem pengalaman, memberikan XP untuk menghilangkan musuh, dan naik level ketika mencapai ambang XP untuk berbagai kemampuan. XP dan Level ditampilkan di HUD, dan pesan serta efek Level Up juga ditampilkan. Naik level dikaitkan dengan perolehan Poin Atribut dan Poin Ejaan, yang dapat digunakan untuk meningkatkan kemampuan Atribut dan Eja masing-masing di Menu Atribut dan Eja, serta menambah Kesehatan dan Mana saat Naik Level. ( Pada dasarnya, Anda akan melihat cukup banyak contoh cara menggunakan sistem ini sehingga Anda dapat mengembangkannya dengan fungsionalitas apa pun yang Anda inginkan untuk game Anda sendiri )
- Mantra Pasif – Mantra yang dapat Anda gunakan dan tetap aktif selama digunakan.
- Beragam Mantra Serangan , menampilkan berbagai contoh dan fitur GAS, termasuk FireBolt, Electrocute, Arcane Shards, dan FireBlast.
- Menyimpan Kemajuan dan Transisi Level
- Topik Unreal Engine Tingkat Menengah/Lanjutan , termasuk Tugas Asinkron khusus, Tugas Kemampuan, Pustaka Fungsi Cetak Biru, Manajer Aset, Lajang (dan mengapa hal ini hanya cocok untuk SANGAT beberapa kasus tertentu), Konteks Efek Gameplay khusus, Serialisasi Bersih, Sifat Tipe Operasi Struktur , C++ Lambdas, algoritma mekanika permainan, dan oh, masih banyak lagi.
- Bagaimana memilih fungsionalitas mana yang harus dimasukkan ke dalam C++ versus Blueprint – Ini adalah salah satu pelajaran paling berharga, dan diajarkan sepanjang kursus. Siswa sering bertanya kepada kami “fungsi mana yang harus digunakan dalam C++ versus Blueprint?” Kursus ini adalah jawaban kami. Ini adalah fondasi proyek berskala serius dan tanpa pengisi . Proyek ini dirancang dengan sekitar 50% Cetak Biru dan 50% C++ . Kami tunjukkan fungsionalitas mana yang harus ada di sisi C++, fungsionalitas mana yang lebih sesuai untuk Cetak Biru, dan alasannya.
- Prinsip Pengkodean SOLID dan arsitektur kode – Kami menjaga basis kode kami tetap bersih dalam proyek ini. Pertanyaan lain yang sering kami dapatkan adalah “Apakah ini PRAKTIK CODING TERBAIK???” Kursus ini adalah jawaban kami untuk pertanyaan ini. Ini adalah contoh kode yang akan Anda lihat di game AAA, dikirimkan ke pemain. Mempertahankan kode yang bersih dan modular sangat penting untuk proyek game serius yang harus dapat diskalakan, dapat diperluas, modular, dapat dipelihara, dapat diuji, berkinerja baik, dan efisien. Kursus ini akan menunjukkan caranya.
Untuk siapa kursus ini:
- Mereka yang ingin mengetahui cara merancang game yang skalabel dan dapat dikirim di Unreal Engine
- Mereka yang ingin mengetahui cara mengimplementasikan Atribut gameplay, Kemampuan, Pengalaman, Peningkatan Level, dan cara mempertahankannya dalam basis kode yang bersih
- Mereka yang ingin mengetahui cara menangani UI game untuk sistem yang kompleks dengan cara yang efisien
- Mereka yang ingin membuat RPG, MOBA, Game Menembak sendiri, atau jenis game lainnya yang melibatkan atribut, keterampilan, mantra, atau mekanisme khusus lainnya
- Mereka yang ingin mengetahui cara mengimplementasikan AI musuh dengan Behavior Trees dan Environment Query (EQS)
- Mereka yang memiliki pengalaman Unreal Engine dan ingin mengembangkan keahlian mereka untuk membuat game yang dapat dikirimkan
- Mereka yang mencari kursus komprehensif tentang Sistem Kemampuan Gameplay (GAS) sehingga dapat menggunakannya dalam proyek game mereka sendiri
- Penghobi dan Pengembang Game Profesional sama-sama akan mendapatkan manfaat dari kursus ini
- Pengembang AAA yang perlu mempelajari dasar-dasar GAS untuk proyek game timnya
- Pemimpin proyek pengembangan game yang perlu memahami cara kerja GAS di Unreal Engine, kemampuan, keterbatasan, dan biayanya serta waktu dan tenaga bagi pengembang
- Tim yang perlu merancang proyek game mereka dengan cara yang terukur, sehingga dapat dikelola dengan mudah setelah peluncuran
- Siapa pun yang telah membuat beberapa proyek dasar Unreal Engine dan siap untuk mencapai kehebatan tingkat berikutnya!