Advertisement
  1. Code
  2. Mobile Development

Buat Game Platform 2D dengan Unity dan Dolby Audio API

by
Read Time:19 minsLanguages:
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

Indonesian (Bahasa Indonesia) translation by Dean Ramadhan (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Pengenalan

Dalam tutorial ini, Anda akan belajar cara membuat game 2D seluler menggunakan C# dan Unity. Kami akan memanfaatkan Dolby Audio Plugin for Unity untuk meningkatkan pengalaman audial game. Tujuan permainan ini sederhana, mencapai sisi lain level sambil menghindari musuh dan mengumpulkan koin.

Dalam tutorial ini, Anda akan mempelajari aspek-aspek berikut dari pengembangan game Unity:

  • menyiapkan proyek 2D di Unity
  • menciptakan Prefab
  • tombol gerakan dan aksi
  • bekerja dengan tabrakan fisika
  • menggunakan sprite sheet
  • mengintegrasikan Dolby Audio API

1. Buat Proyek Unity Baru

Buka Unity dan pilih New Project dari menu File untuk membuka dialog proyek baru. Beri tahu Unity di mana Anda ingin menyimpan proyek dan atur dropdown Set up defaults for : ke 2D.


2. Pengaturan Pembangunan

Pada langkah berikutnya, Anda disajikan dengan antarmuka pengguna Unity. Atur proyek untuk pengembangan seluler dengan memilih Build Settings dari menu File dan pilih Android sebagai platform target.


3. Perangkat

Karena kita akan membuat game 2D, hal pertama yang perlu kita lakukan setelah memilih platform target adalah memilih ukuran artwork yang akan kita gunakan dalam game. Karena Android adalah platform terbuka, ada berbagai perangkat, resolusi layar, dan kepadatan piksel yang tersedia di pasar saat ini. Beberapa yang lebih umum adalah:

  • Samsung Galaxy SIII: 720px x 1280px, 306 ppi
  • Asus Nexus 7 Tablet: 800px x 1280px, 216 ppi
  • Motorola Droid X: 854px x 480px, 228 ppi

Meskipun kami akan fokus pada platform Android dalam tutorial ini, Anda dapat menggunakan kode yang sama untuk menargetkan salah satu platform lain yang didukung Unity.


4. Ekspor Grafik

Bergantung pada perangkat yang Anda targetkan, Anda mungkin perlu mengubah artwork untuk game ke ukuran dan kerapatan piksel yang disarankan. Anda dapat melakukan ini di editor gambar favorit Anda. Saya telah menggunakan fungsi Adjust Size ... di bawah menu Tools di aplikasi Preview OS X.


5. Antarmuka pengguna Unity

Sebelum kita mulai, pastikan untuk mengklik tombol 2D di panel Scene. Anda juga dapat mengubah resolusi yang ditampilkan di panel Game.


6. Antarmuka Game

Antarmuka game kami akan mudah. Tangkapan layar di atas memberi Anda gambaran tentang artwork yang akan kami gunakan dan bagaimana tampilan akhir game nanti. Anda dapat menemukan artwork untuk tutorial ini di file sumber tutorial ini.


7. Bahasa Pemrograman

Anda dapat menggunakan salah satu dari tiga bahasa pemrograman saat menggunakan Unity, C#, UnityScript, variasi JavaScript, dan Boo. Masing-masing bahasa pemrograman ini memiliki pro dan kontra dan terserah Anda untuk memutuskan mana yang Anda sukai. Preferensi pribadi saya mengarah ke bahasa pemrograman C# jadi itulah bahasa yang akan saya gunakan dalam tutorial ini.

Jika Anda memutuskan untuk menggunakan bahasa pemrograman lain, pastikan untuk melihat pada Referensi Skrip Unity untuk contoh.


8. Grafik 2D

Unity telah membangun nama untuk menjadi platform hebat untuk membuat game 3D untuk berbagai platform, seperti Microsoft Xbox 360, Sony PS3, Nintendo Wii, web, dan berbagai platform mobile.

Sementara itu selalu mungkin untuk menggunakan Unity untuk pengembangan game 2D, itu tidak sampai rilis Unity 4.3 yang memasukan dukungan 2D asli. Kita akan belajar cara bekerja dengan gambar sebagai sprite daripada tekstur pada langkah selanjutnya.


9. Efek Suara

Saya akan menggunakan sejumlah suara untuk menciptakan pengalaman audial yang hebat untuk game ini. Efek suara yang digunakan dalam tutorial ini diperoleh dari as3sfxr dan PlayOnLoop.


10. Aset Impor

Sebelum kita mulai coding, kita perlu menambahkan aset kami untuk proyek kesatuan. Sebelum kita mulai coding, kita perlu menambahkan aset kita ke proyek Unity.

  • pilih Import New Asset dari menu Assets
  • tambahkan item ke folder assets di proyek Anda
  • seret dan lepas aset di jendela proyek

Setelah menyelesaikan langkah ini, Anda akan melihat aset di folder Assets proyek Anda di panel Project.

11. Membuat Scene

Kami siap membuat adegan permainan kami dengan menyeret objek ke panel Hierarchy atau Scene.


12. Latar Belakang

Mulailah dengan menyeret dan menjatuhkan latar belakang ke panel Hierarchy. Ini akan muncul secara otomatis di panel Scene.

Karena panel Scene diatur untuk menampilkan tampilan 2D, Anda akan melihat bahwa memilih Main Camera dalam Hierarchy menunjukkan pratinjau dari apa yang akan ditampilkan oleh kamera. Anda juga dapat melihat ini di tampilan Game. Untuk membuat seluruh scene terlihat, ubah nilai Size Main Camera menjadi 1,58 pada panel Inspector.


13. Lantai

Lantai digunakan untuk menjaga karakter utama kita agar tidak jatuh begitu kita menambahkan fisika ke dalam permainan. Seret dari folder Assets dan posisikan di tempat seperti yang ditunjukkan di bawah ini.


14. Collider Lantai 

Untuk membuat lantai mendeteksi ketika karakter menyentuhnya, kita perlu menambahkan komponen, Box Collider 2D agar lebih akurat.

Pilih lantai di tempat kejadian, buka panel Inspector, dan klik Add Component. Dari daftar komponen, pilih Box Collider 2D dari bagian Physics 2D.

15. Tombol Lompat

Kami akan menggunakan tombol untuk mengontrol karakter utama kami di game. Seret dan posisikan tombol lompat di Scene dan tambahkan komponen Circle Collider2D seperti yang ditunjukkan pada langkah sebelumnya.


16. Suara Lompat

Untuk memutar suara ketika karakter melompat, pertama-tama kita harus melampirkannya ke tombol lompat. Pilih itu dari tampilan Hierarchy atau Scene, klik tombol Add Component di panel Inspector, dan pilih Audio Source di bagian Audio.

Hapus centang Play on Awake dan klik titik kecil di sebelah kanan, di bawah ikon roda gigi, untuk memilih suara yang ingin kita mainkan ketika pemain mengetuk tombol. Pada langkah berikutnya, kami akan menerapkan logika untuk memainkan suara ketika pemain mengetuk tombol.


17. Script Lompat 

Mari kita buat skrip yang akan mengontrol karakter kita. Pilih tombol lompat dan klik tombol Add Component di panel Inspector. Pilih New Script dan beri nama Jump. Jangan lupa untuk mengubah bahasa ke C#.

Buka file yang baru dibuat dan tambahkan snippet kode berikut.

Snippet kode mungkin tampak menakutkan, tetapi sebenarnya cukup mudah. Pertama-tama kita mendapatkan referensi ke objek hero, turunan dari kelas GameObject, jadi kita bisa menggunakannya nanti. Kami kemudian mendeteksi apakah pengguna menyentuh tombol lompat dan, jika ya, tambahkan gaya ke objek hero. Terakhir tapi bukan yang akhir, kami memainkan suara lompatan saat tombol lompat diketuk.

18. Tombol Gerakan

Langkah-langkah untuk menambah dan mengimplementasikan tombol gerakan, kiri dan kanan, sangat mirip. Mulailah dengan menempatkan tombol di scene dan tambahkan Circle Collider 2D ke setiap tombol seperti yang kami lakukan dengan tombol lompat.



19. Skrip Gerakan

Buat skrip baru, pasangkan ke tombol kiri, dan beri nama MoveLeft. Ganti isinya dengan potongan kode berikut, yang berisi metode MoveLeft.

Dalam skrip ini, kami membuat array elemen yang ditandai sebagai Moveable — kami akan menandainya nanti dalam tutorial ini — untuk membuatnya lebih mudah untuk memindahkan semuanya sekaligus. Untuk memindahkan elemen, pertama-tama kita memeriksa apakah tombol disentuh dan mengubah posisi menggunakan moveSpeed ​​dalam fungsi Update. Sesederhana itu.

Buat skrip lain, pasangkan ke tombol kanan, dan beri nama MoveRight. Skrip ini berisi metode MoveRight dan implementasinya mirip dengan metode MoveLeft yang kita lihat beberapa saat yang lalu. Kami mengubah arah gerakan dengan mengganti += moveSpeed ​​dengan  -= moveSpeed. Ini akan memindahkan scene ke arah yang berlawanan.

Dalam skrip MoveRight, kami juga memeriksa apakah pemain telah menyelesaikan level.

Fungsi Alert membuat dan menampilkan pesan ke pemain dan memainkan suara yang terpasang pada sprite latar belakang. Agar ini berfungsi, tambahkan suara yang sesuai ke sprite latar belakang seperti yang kita lihat sebelumnya dalam tutorial ini. Kami juga menyembunyikan tombol dan memulai kembali game dengan jeda dua detik.

20. Sprite Sheet

Kami akan menggunakan sprite sheet untuk sisa elemen game. Unity memiliki editor sprite yang membuat penggunaan sprite menjadi mudah. Artwork yang digunakan dalam tutorial ini diperoleh dari OpenGameArt.org.

Impor artwork, pilih dari panel Assets, dan ubah opsi Sprite Mode ke Multiple di panel Inspector.

Buka Sprite Editor dengan mengklik tombol di bawah ini dan pilih Slice > Automatic.


21. Hero

Dengan sprite sheet dipotong dan siap digunakan, klik panah yang muncul ketika sprite sheet dipilih dan pilih sprite untuk pahlawan, karakter utama game kami. Letakkan di scene dan tambahkan komponen Collider 2D ke dalamnya.


22. Hero RigidBody 2D

Untuk mendeteksi tabrakan dengan hero kita, setidaknya salah satu objek bertabrakan perlu memiliki komponen RigidBody 2D yang melekat padanya. Untuk menambahkan satu ke hero kami, pilih Add Component di panel Inspector, diikuti oleh Physics 2D > RigidBody 2D.

Centang kotak Fixed Angle untuk mencegah pahlawan berputar jika terjadi tabrakan.

23. Suara Hero

Ketika pahlawan kita terkena musuh, kita memainkan suara lain untuk memberikan umpan balik kepada pemain. Jika Anda pernah memainkan Super Mario Bros, maka Anda mungkin tahu efek apa yang kami kejar. Untuk mencapai ini, pertama-tama kita perlu menambahkan suara. Pilih itu dari tampilan Hierarchy atau Scene, klik tombol Add Component di panel Inspector, dan pilih Audio Source di bagian Audio.

Rincian komponen audio akan muncul di Panel Inspector . Klik titik di bawah ikon roda gigi dan pilih suara hit.

24. Mengumpulkan Koin

Seperti di banyak platformer 2D tradisional, Anda dapat mengumpulkan koin di game kami. Karena kita akan menggunakan objek ini beberapa kali dalam game, kita akan mengubahnya menjadi Prefab setelah kita menambahkan semua komponen yang diperlukan.

Seret koin dari folder Assets dan tambahkan Collider2D seperti yang kita lihat di langkah sebelumnya.


25. Suara Koin

Kami memainkan suara setiap kali hero kami mengumpulkan koin. Tambahkan komponen Audio Source seperti yang kita lihat beberapa saat yang lalu dan pilih suara coin dari aset proyek.



26. Skrip & Prefab Koin

Lampirkan skrip sederhana ini ke koin. Mendeteksi ketika koin dan hero bertabrakan. Koin dihancurkan dan suara dimainkan untuk menunjukkan bahwa koin telah dikumpulkan oleh hero.

Dengan semua komponen di tempatnya, seret koin dari panel Hierarchy ke panel Assets untuk mengubahnya menjadi Prefab. Anda akan melihat teks menjadi biru yang menunjukkan itu sekarang menjadi Prefab.


27. Musuh

Jangan lupakan musuh dari game ini. Seret artwork untuk musuh dari folder Assets dan tambahkan dua komponen Collider 2D seperti yang ditunjukkan pada gambar di bawah.


Ukuran colliders diperkecil untuk mencegah hero bertabrakan dengan kedua colliders sekaligus. Ubah pengaturan setiap komponen Collider 2D seperti di bawah ini.

Collider pertama di panel adalah collider teratas yang kami tambahkan ke musuh. Ini akan mendeteksi jika hero melompat di atas musuh dan menghancurkannya. Logika untuk tindakan ini ditampilkan dalam skrip dibawah ini.

Kami menandai collider kedua sebagai trigger dengan mencentang kotak centang berlabel Is Trigger. Mendeteksi ketika musuh berlari ke hero dan vice versa. Ketika itu terjadi, pemain kalah di game.


Script yang melekat pada musuh ditampilkan di bawah dan menerapkan logika yang baru saja kita bahas. Seperti yang Anda lihat, musuh dipindahkan ke kiri di setiap frame dan skrip mendeteksi ketika hero melompat di atas musuh atau ketika hero berlari ke musuh.


28. Batu Bata

Batu bata yang digunakan sebagai platform. Hero dapat melompat pada batu bata untuk menghindari musuh dan mengumpulkan koin. Seret artwork batu bata dari panel Assets dan tambahkan komponen Collider 2D ke dalamnya. Jangan lupa untuk mengonversinya menjadi Prefab, karena akan digunakan cukup banyak di game.


29. Akhir

Kami akan menggunakan sprite untuk menunjukkan garis akhir level. Seret dari panel Assets ke Scene seperti yang ditunjukkan pada gambar di bawah.

30. Plugin Dolby Audio


Mari tingkatkan pengalaman audial game kami dengan menggunakan Plugin Dolby Audio untuk Unity. Namun, izinkan saya menjelaskan mengapa Anda harus menggunakan Plugin Dolby Audio  dan bagaimana hal itu akan meningkatkan game Anda.

Dolby Digital Plus adalah solusi audio canggih yang terintegrasi dalam banyak perangkat seluler termasuk tablet. Aplikasi seluler dapat memanfaatkan kemampuan Dolby Digital Plus melalui API. Beberapa manfaat termasuk Pengoptimalan Audio, Maksimalisasi Volume, dan Levelling Volume. Dolby telah membuat API-nya tersedia untuk beberapa platform, termasuk Android dan Kindle Fire. Dalam permainan kami, kami akan memanfaatkan Plugin Dolby Audio  untuk Unity.

Perhatikan bahwa plugin untuk Unity gratis untuk digunakan dan sangat mudah diintegrasikan. Dengan kata lain, tidak ada alasan untuk tidak memasukkannya ke dalam game berikutnya.

Mulailah dengan mengunduh plugin Dolby's Unity. Anda dapat mengunduhnya dari Unity Asset Store atau langsung dari situs web pengembang Dolby. Jika Anda memilih opsi yang terakhir, buat akun gratis untuk mengunduh plugin atau masuk jika Anda sudah memiliki akun pengembang Dolby. Ekstrak paket dan salin versi yang Anda perlukan ke Assets > Plugins > Android. Begitulah mudahnya menginstal plugin untuk Unity.

Buat skrip baru dan lampirkan ke objek yang selalu ada dalam game seperti latar belakang atau kamera. Beri nama script Dolby dan isi dengan snippet kode berikut.

Saya yakin Anda setuju bahwa sangat mudah untuk mengintegrasikan Dolby Audio API ke dalam game Anda. Kami pertama kali membuat objek debugText, yang bertipe GameObject, untuk menerima umpan balik dari perangkat. Kami kemudian mengimpor fungsi yang diperlukan yang ditentukan oleh Dolby Audio API dan menginisialisasi Dolby Audio API jika perangkat pengguna mendukungnya.

Untuk memastikan bahwa layanan Dolby diaktifkan, kami menunggu sebentar (0,1 detik) sebelum memanggil metode initialize(). Jika kami tidak melakukan ini, ada kemungkinan Anda menerima kesalahan -1, yang bisa terjadi ketika Anda mencoba mengaktifkan Dolby saat layanan dibuat.

Dolby juga menyertakan fungsi untuk menunda dan me-restart suara saat diperlukan, yang berguna ketika kita beralih ke aplikasi lain dan kita tidak memerlukan peningkatan suara. Ini penting untuk menghemat daya baterai dan sumber daya perangkat lainnya. Kami juga dapat menghentikan peningkatan suara sepenuhnya dengan mengaktifkan release seperti yang kami lakukan di OnApplicationQuit.


31. Pengujian

Sudah waktunya untuk menguji game. Tekan Command-P untuk memainkan game di Unity. Jika semuanya berjalan seperti yang diharapkan, Anda siap untuk langkah terakhir.


32. Pengaturan Pemain

Saat Anda senang dengan game Anda, saatnya untuk memilih Build Settings dari menu File dan klik tombol Player Settings. Ini akan memunculkan Player Settings di panel Inspector tempat Anda dapat mengatur parameter untuk aplikasi Anda.

Pengaturan ini khusus untuk aplikasi dan termasuk pencipta atau perusahaan, resolusi aplikasi, mode tampilan, dll. Pengaturan ini tergantung pada perangkat yang Anda targetkan dan toko atau pasar tempat Anda akan menerbitkan game Anda.


33. Ikon dan Gambar Splash

Menggunakan grafik yang Anda buat sebelumnya, sekarang Anda dapat membuat ikon yang bagus dan gambar splash untuk game Anda. Unity menunjukkan ukuran yang diperlukan, yang bergantung pada platform yang Anda bangun.

34. Bangun dan Mainkan


Setelah proyek Anda dikonfigurasikan dengan benar, saatnya untuk mengunjungi kembali Build Settings dan klik tombol Build. Hanya itu yang diperlukan untuk membangun game Anda untuk pengujian dan/atau distribusi.

Kesimpulan

Dalam tutorial ini, kami telah belajar tentang Plugin Audio Dolby baru untuk Unity, sprite sheet, kontrol, deteksi tabrakan, dan aspek lain dari pengembangan game menggunakan Unity. Saya mendorong Anda untuk bereksperimen dengan hasilnya dan menkostumisasi game untuk menjadikannya milik Anda. Saya harap Anda menyukai tutorial ini dan bermanfaat.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.