Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Game Engines

Pengembangan Game 3D dengan ShiVa3D Suite: Tinjauan Proyek

by
Read Time:15 minsLanguages:
This post is part of a series called 3D Game Development with ShiVa3D Suite.
3D Game Development with ShiVa3D Suite: The ShiVa Editor

Indonesian (Bahasa Indonesia) translation by Fodal Fadul (you can also view the original English article)

Penasaran dengan pengembangan game 3D? Sekarang saatnya belajar! Seri tutorial lima bagian ini akan mendemonstrasikan cara membuat gim sederhana dengan ShiVa3D Suite, mesin permainan 3D lintas platform, dan alat pengembangan. Serial ini awalnya ditujukan untuk anggota Tuts + Premium saja, tetapi sebaliknya akan diberikan kepada komunitas secara gratis dengan setiap bagian yang diterbitkan secara berulang-ulang selama 5 hari ke depan. Baca terus untuk memulai perjalanan Anda ke dalam pemrograman 3D!


Pengantar Seri

Dalam seri tutorial ini, kami akan memperkenalkan pengembangan game 3D untuk platform Android menggunakan ShiVa3D Suite. Mengembangkan aplikasi Android dengan grafis 3D dapat menjadi tantangan karena beberapa alasan. Pengembang harus terbiasa dengan OpenGL API dan API Android spesifik yang mendukungnya. Juga, pengembangan grafik 3D mungkin termasuk kode C / C ++ asli untuk alasan kinerja selain Java / Objective-C code. Ini meningkatkan tingkat pengetahuan dan upaya yang diperlukan untuk mengembangkan aplikasi Android 3D. Lebih lanjut, membuat grafik 3D melibatkan keahlian unik yang independen dari Java atau kompetensi pemrograman C / C ++. Singkatnya, pengembangan aplikasi 3D membutuhkan keterampilan canggih dari berbagai disiplin ilmu.

ShiVa3D Suite adalah seperangkat alat yang dirancang untuk mengembangkan aplikasi 3D multi-platform. Alat-alat ini mempermudah merancang dan menyusun aplikasi Anda berdasarkan tugas dan konsep tertentu. Misalnya, Anda dapat memisahkan model visual 3D dari perilakunya dan bekerja pada aspek-aspek tersebut secara mandiri. Selain itu, pengembangan game di ShiVa3D Suite memungkinkan untuk abstraksi permainan dari platform target tertentu. Permainan yang dikembangkan dengan suite ini dapat digunakan di beberapa platform target, termasuk Windows, iOS dan Android OS antara lain.

Tutorial ini memberikan contoh bagaimana untuk mengembangkan permainan 3D untuk platform Android menggunakan dua unsur utama dari ShiVa3D Suite, Editor Siwa dan alat Authoring Siwa. Sistem operasi target aplikasi tutorial ini adalah Android 3.2 (Honeycomb). Namun, kami juga akan menyediakan sebuah diskusi tentang cara untuk port permainan untuk perangkat iOS seperti iPhone/iPod Touch dan iPad/iPad2.


Organisasi dari seri

Tutorial ini telah diselenggarakan sebagai 5-bagian seri. Dalam bagian 1, kita akan memperkenalkan aplikasi tutorial, mendiskusikan berbagai konsep ShiVa3D dan alat-alat utama di ShiVa3D Suite. Dalam bagian 1, kami juga akan menjelaskan file dalam download arsip tutorial ini yang menyertainya. Pada bagian 2, kita akan mulai menjelaskan bagaimana untuk mengembangkan permainan yang menggunakan Editor Siwa. Kami akan memperkenalkan modul Editor Siwa yang digunakan dalam mengembangkan aplikasi tutorial. Kemudian, kita akan berbicara tentang model Collada file yang mewakili karakter utama dalam aplikasi. Akhirnya, kita akan membahas beberapa langkah awal untuk membuat aplikasi seperti menciptakan permainan dan adegan serta mengimpor model Collada.

Pada bagian 3, kita akan menunjukkan bagaimana untuk mengedit adegan dari aplikasi kita. Kami juga akan mulai memasukkan kode untuk AIModels permainan. Di bagian 4, kita akan menyelesaikan coding untuk AIModels sisa dan melakukan unit pengujian dengan cara menghidupkan permainan. Kami akan kemudian ekspor permainan dari ShiVa Editor untuk mengimpor ke alat Authoring Siwa. Akhirnya, kita akan membahas dua pilihan yang berbeda authoring tool Authoring Siwa, satu untuk menghasilkan Android executable dan lain satu untuk menghasilkan sebuah proyek Eclipse.

Dalam Bagian 5, kita akan mulai dengan menyesuaikan permainan dalam Eclipse. Ini akan mencakup setup proyek Eclipse, perubahan kode dan membangun kode Java dan perpustakaan yang asli. Pada saat itu kami akan menyelesaikan tutorial dalam hal pengembangan dan penyebaran. Dalam Bagian 5 kami akan meninjau kode, membahas bagaimana port permainan untuk perangkat iOS dan memberikan beberapa kesimpulan.


Kredit

Collada model dan file gambar terkait untuk bebek kuning bathtub serta model Collada bagi telur yang seizin Sony Computer Entertainment Inc. Model-model telah di-download dari bagian dasar sampel collada.org Model Bank, dan berlisensi di bawah persyaratan lisensi SCEA berbagi sumber.

Tekstur 'marmer' digunakan di latar belakang telah diunduh dari http://www.texturewarehouse.com dan berlisensi di bawah lisensi Creative Commons, Attribution-NonCommercial-ShareAlike 2.0.

Penulis sangat diuntungkan dari sebuah buku tentang ShiVa3D, berjudul Pengantar Pemrograman 3D dengan ShiVaÆ. Selain itu, kode penanganan peristiwa multitouch yang dijelaskan dalam 'Tinjauan Kode' meminjam sebuah teknik yang diperkenalkan dalam tutorial di situs pengembang ShiVa3D, bernama Manajemen Multitouch.


Deskripsi permainan

Permainan dimulai dengan layar splash yang menampilkan karakter utama dari permainan: bathtub kuning bebek di latar depan dan telur di balik itu, seperti ditunjukkan di bawah.

Splash ScreenSplash ScreenSplash Screen
Gambar 1. Splash Screen

Kemudian, layar utama permainan muncul dengan dua objek, bebek dan telur. Bebek membuat gerakan sudut dalam ruang 3D pesawat tetap didefinisikan oleh y = 3. Telur hanya bisa bergerak sepanjang garis lurus yang didefinisikan oleh x = 0, y = 3. Gerakan bebek dan telur dalam sumbu global x, y, z ditunjukkan di bawah ini.

Duck and Egg - Global MotionDuck and Egg - Global MotionDuck and Egg - Global Motion
Gambar 2. Bebek dan Telur - Gerak Global

Pada saat yang sama, bebek berputar di sekitar lokal x, y, z kapak, independen dari rotasinya global, seperti yang ditunjukkan di bawah ini.

Duck - Local Motion
Gambar 3. Bebek - gerak lokal

Demikian pula, telur berbalik sumbu-x lokal yang independen dari gerak global (lihat bawah).

Egg - Local Motion
Gambar 4. Telur - gerak lokal

Gerakan (global) telur sepanjang jalan linier dapat dikontrol oleh pengguna touch tunggal tindakan pada layar. Jika pengguna jari bergerak dari kiri ke kanan kemudian telur bergerak ke arah negatif z. Sebaliknya, bila pengguna jari bergerak dari kanan ke kiri kemudian telur bergerak ke arah yang positif z. (Lihat di bawah).

Moving The EggMoving The EggMoving The Egg
Gambar 5. Bergerak telur

Dari geometri pada gambar 2, mengamati itu jalan linier yang menggambarkan gerakan global telur di pesawat tetap yang bebek membuat gerak global. Oleh karena itu, bebek dan telur mungkin bertabrakan di persimpangan dua titik didefinisikan oleh jalan linier telur dan bebek sudut jalan. Jalur tabrakan ditunjukkan dalam diagram di bawah.

Collision PointsCollision PointsCollision Points
Gambar 6. Tabrakan poin

Jika bebek dan telur bertabrakan, rotasi bebek akan mengubah arah, dari searah jarum jam untuk melawan searah jarum jam, atau sebaliknya.

Tujuan dari permainan ini adalah untuk bertabrakan dengan telur dan bebek sebanyak mungkin. Setiap kali tabrakan terjadi, pengguna Skor, ditampilkan di sudut kanan bawah layar, akan bertambah. Juga, perangkat Android akan bergetar selama 100 milidetik.

Pengguna dapat me-restart permainan dengan menerapkan ganda touch tindakan (misalnya, bergerak dua jari di layar) seperti ditunjukkan di bawah.

Restarting The GameRestarting The GameRestarting The Game
Gambar 7. Memulai Kembali Game

Sebelum restart aplikasi, informasi pesan ditampilkan untuk sekitar satu detik seperti ditunjukkan di bawah.

Game Restarting
Gambar 8. Permainan restart

Ketika me-restart aplikasi, posisi bebek dan telur dan nilai awal yang akan semua reset.

Lingkungan pengembangan ShiVa3D

Konsep ShiVa3D

Dalam bagian ini, kita akan membahas konsep-konsep dasar pengembangan permainan 3D dengan ShiVa3D. Sebagian besar diskusi di sini dipinjam dari dokumen asli ShiVa3D. Untuk informasi lebih lanjut, silakan lihat http://www.stonetrip.com/developer/doc/ dan panduan pengguna yang datang dengan editor Siwa.

Permainan ini mewakili sebuah permainan, entitas utama dari aplikasi. Ia merangkum segala sesuatu yang lain dalam aplikasi seperti kamera, adegan, model dll. Permainan ini berdiri sendiri penyebaran unit.

Adegan mewakili tempat atau pemandangan yang berhubungan dengan permainan. Ada satu set objek atau model yang terkait dengan adegan. Permainan dapat memiliki lebih dari satu adegan. Untuk kesederhanaan, permainan dalam aplikasi tutorial memiliki pemandangan tunggal.

Kamera mewakili sudut pandang dalam permainan. Pengguna akan melihat permainan melalui kamera. Kamera dapat berpindah dari satu posisi ke yang lain, atau arah dapat berubah. Dalam penuntun ini, kamera akan tinggal tetap.

Model adalah sebuah objek atau serangkaian obyek dengan berbagai atribut seperti bentuk, cahaya dan sensor. Dalam permainan kami ada dua model: bebek dan telur. Mereka adalah tiga dimensi objek dengan tertentu 'peran' dalam permainan kami. Setiap peran bebek dan telur memiliki AIModel sendiri (Lihat di bawah) untuk menggambarkan peran melalui kode.

AIModel menyiratkan 'kecerdasan buatan' dan mewakili perilaku. AIModel dapat dikaitkan dengan pengguna yang memainkan permainan atau objek dalam permainan. Dalam tutorial ini, kita akan menggunakan hanya objek AIModels. AIModel dapat memiliki fungsi, penangan, Serikat dan variabel untuk menggambarkan perilaku tertentu.

Script berisi kode di AIModel, misalnya, kode untuk fungsi atau pengendali. Bahasa scripting di ShiVa3D adalah Lua. (http://www.lua.org)

Sensor dapat mendeteksi peristiwa fisik tertentu. Dalam permainan kami, bebek dan telur memiliki sensor tabrakan untuk mendeteksi tabrakan. Ketika sebuah sensor mendeteksi suatu peristiwa, dapat ditangani oleh sesuai event handler di AIModel yang terkait dengan objek yang mengandung sensor.

HUD singkatan "kepala up display" dan adalah istilah yang digunakan untuk mewakili berbagai widget antarmuka pengguna seperti tombol, label, daftar, dan slider, memungkinkan pengguna untuk berinteraksi dengan permainan. Komponen HUD hanya kita akan menggunakan dalam permainan kami adalah label teks.

Alat ShiVa3D

Untuk mengembangkan aplikasi kami tutorial kita akan menggunakan versi gratis dari Suite ShiVa3D (http://www.stonetrip.com/download.html), yang mencakup PLE Siwa Editor (edisi belajar pribadi) dan alat Authoring Siwa. Diagram di bawah ini memberikan gambaran dari proses pengembangan kami digunakan dengan alat tersebut.

ShiVa3D Development Process
Gambar 9. Proses pengembangan ShiVa3D

Mari kita membahas langkah-langkah individu dari proses itu.

ShiVa Editor

ShiVa Editor memiliki berbagai komponen untuk mengembangkan dan menguji permainan 3D dari awal. Fitur penting dari ShiVa Editor adalah bahwa permainan yang dikembangkan dengan alat dapat digunakan (setelah menulis dalam Siwa Authoring Tool) dalam perangkat yang berbeda dengan sistem operasi yang berbeda (misalnya PC yang menjalankan Windows OS, atau tablet dengan Android OS atau iPhone) .
Beberapa tindakan dasar yang dapat Anda lakukan dengan ShiVa Editor adalah sebagai berikut.

  • Mengembangkan:
    • Membuat permainan baru.
    • Buat adegan baru dan menghubungkannya dengan permainan.
    • Impor model 3D, mengedit atribut mereka dan posisi mereka dalam sebuah adegan.
    • Membuat AIModels, menghubungkan mereka dengan model dan menulis naskah untuk AIModels.
    • Melampirkan sensor model dan menulis naskah untuk menangani peristiwa-peristiwa yang berhubungan dengan sensor tersebut.
    • Kompilasi script dalam permainan.
  • Test:
    Anda dapat melakukan pengujian awal permainan Anda di lingkungan pengembangan sebelum penggelaran itu di target perangkat. Pengujian dilakukan melalui fitur bernyawa Siwa Editor. Untuk animasi, Anda dapat mengubah pengaturan ukuran layar untuk melihat bagaimana permainan akan ditampilkan di perangkat target yang sebenarnya. Anda dapat memasukkan klik mouse dan peristiwa-peristiwa kunci dari mouse dan keyboard dari komputer pembangunan. Untuk meniru sentuhan acara Anda mungkin perlu tambahan ketentuan. Misalnya, untuk menguji penangan untuk sentuhan acara, salah satu pilihan adalah untuk menulis sebuah penangan untuk peristiwa-peristiwa kunci yang merangkum fungsi dalam sentuhan event handler. (Lihat http://www.stonetrip.com/developer/1720-mix-mouse-and-multitouch). Pilihan lain adalah untuk menginstal alat-alat pengembangan perangkat (http://www.stonetrip.com/download.html). Kemudian mengintegrasikan perangkat target sebenarnya, menjalankan Siwa 3D perangkat Input Simulator, dengan Editor Siwa dalam pengembangan mesin melalui jaringan Wi-Fi. Dengan pilihan, Anda dapat mensimulasikan input secara langsung menggunakan perangkat target.
  • Export:
    Setelah pengujian selesai, ekspor permainan. Ini akan menghasilkan sebuah file dengan ekstensi .stk. Permainan diekspor akan digunakan oleh alat Authoring Siwa, yang dibahas berikutnya.

Siwa Authoring Tool

Tujuan utama dari alat Authoring Shiva adalah untuk mengubah permainan, dibuat melalui Editor Siwa, ke aplikasi yang dapat digunakan di perangkat tertentu (misalnya iPhone, iPad atau Android tablet). Berlaku pembatasan tertentu tentang sistem operasi mesin menjalankan alat Authoring Siwa dan perangkat target untuk konversi. Sebagai contoh, Shiva Authoring Tool berjalan pada mesin Windows tidak dapat menghasilkan aplikasi iPad atau iPhone. Dalam tutorial ini, kami menggunakan Windows PC sebagai mesin pengembangan dan Android adalah platform target kami. Informasi di bawah ini berlaku untuk ini lingkungan tertentu.

Beberapa tindakan dasar yang satu dapat melakukan dengan Shiva Authoring Tool adalah sebagai berikut.

  • Import: Impor permainan yang diekspor melalui Editor Siwa.
  • Authoring: Ada dua jenis authoring: APK paket dan proyek.
    • Jika jenis authoring dipilih sebagai paket APK, ini akan membuat apk file siap untuk penyebaran ke perangkat target. Opsional Anda dapat memilih opsi instalasi sambil membangun. Ini secara otomatis akan menginstal APK file dalam perangkat sebagai bagian dari proses membangun. Jika Anda tidak memilih opsi instalasi sementara gedung, APK paket yang dihasilkan dapat diinstal dalam perangkat target waktu lain yang menggunakan perangkat Android SDK ADB.
    • Jika jenis authoring dipilih sebagai proyek, ini akan menciptakan sebuah arsip zip yang dapat diimpor ke Eclipse sebagai proyek Android. Proyek akan berisi file Jawa dan C yang dibuat oleh Siwa Authoring Tool. Anda dapat mengedit file-file tersebut untuk lebih lanjut menyesuaikan aplikasi untuk perangkat target. Harap dicatat bahwa ada tidak perlu untuk memilih tipe authoring sebagai proyek kecuali jika Anda ingin lebih lanjut menyesuaikan aplikasi Anda dalam Eclipse.

    Catatan: Untuk setiap jenis authoring, ada dua membangun pilihan: distribusi dan pengembangan. Dalam tutorial ini, kita hanya akan membahas pengembangan membangun jenis.

Gerhana

Satu dapat menyesuaikan permainan dalam Eclipse sebagai berikut.

  • Import: Impor aplikasi Android ke dalam Eclipse.
  • Mengembangkan: Menyesuaikan kode. Anda dapat mengubah kode Java dan C yang secara otomatis dihasilkan oleh alat Authoring Siwa.
  • Membangun: Mengkompilasi kode Java melalui Eclipse. Kompilasi kode C dan membangun Perpustakaan asli melalui Cygwin membuat utilitas.
  • Menginstal: Menginstal aplikasi ke perangkat target melalui Eclipse.

Perangkat lunak pra-syarat

Untuk menggunakan alat Authoring Siwa di lingkungan Windows untuk Android pengembangan, kami menggunakan perangkat lunak pra-berikut. Perhatikan bahwa Eclipse dan ADT untuk Eclipse hanya diperlukan jika Anda ingin menghasilkan proyek Eclipse untuk kustomisasi kode. Untuk detailnya, lihat http://www.stonetrip.com/developer/doc/authoringtool/installation.

Perangkat lunak Versi yang digunakan dalam aplikasi Tutorial
Android SDK revisi 13 (Android 3.2)
Android NDK revisi 7
Cygwin, GNU membuat paket Versi 3.82.90
Apache semut Versi 1.8.0
Java SDK Versi 1.6
Eclipse Versi 3,7
ADT untuk Eclipse Versi 16.0.1

Perhatikan bahwa sasaran utama kami dalam tutorial ini Android 3.2 (Honeycomb), yang aplikasi telah diuji.


File dalam Download Arsip

Dalam bagian ini, kami akan memberikan deskripsi file dalam file arsip yang menyertai tutorial ini.

File arsip memiliki tiga sub-folder: set1, set2, dan set3.

  • Folder set1 terdiri dari duck.dae, duckCM.tga, marble.jpg dan sphere.dae yang digunakan untuk membuat permainan di Siwa Editor. Silakan lihat bagian ' pengembangan permainan di Siwa Editor' untuk rincian tentang cara menggunakan file-file tersebut.
  • Folder set2 terdiri dari app_icon.png, app_icon_72x72.png, app_splash.png dan app_splash_800x1280.png. Lihat bagian bernama 'Siwa Authoring alat' untuk rincian tentang bagaimana menggunakan app_icon.png dan app_splash.png. See'Customizing The Game di Eclipse' untuk rincian tentang bagaimana menggunakan app_icon_72x72.png dan app_splash_800x1280.png.
  • Dalam set3, ada tiga file: Duck.ste, Duck.stk dan Duck_Android_final.zip.
    • Duck.Ste adalah ekspor bebek permainan tutorial dari Editor Siwa. Ini menyediakan Anda dengan versi lengkap dari permainan dengan semua sumber daya, termasuk kode serta duck.dae, duckCM.tga, marble.jpg dan sphere.dae. Ini mewakili keadaan akhir dari permainan di bagian ' pengembangan permainan di Siwa Editor'. Jika Anda mengalami masalah saat mengikuti petunjuk dalam bagian tersebut, Duck.ste harus sangat berguna. Anda dapat membuka dua contoh terpisah dari Editor ShiVa, mengimpor Duck.ste dalam satu contoh sebagai referensi dan bekerja pada instance lain untuk menjalankan instruksi. (Untuk mengimpor Duck.ste di Editor Siwa, pergi ke Main-> proyek untuk membuka dialog Seting dan klik Tambah untuk menambahkan sebuah proyek baru. Kemudian, dalam proyek itu buka Data Explorer dan pilih Impor -> Arsip. Di bidang teks Arsip Impor, tentukan jalur lengkap ke Duck.ste.)
    • Duck.stk adalah ekspor dari permainan tutorial Bebek dari Editor ShiVa sebagai paket runtime Android. Ini adalah masukan untuk Alat Penulisan ShiVa. Jika Anda mau, Anda dapat melewati semua langkah dalam 'Mengembangkan Game Dalam Editor ShiVa', buka bagian bernama 'Shiva Authoring Tool' dan mulailah menulis dengan mengimpor Duck.stk.
    • Akhirnya, Duck_Android_final.zip adalah arsip proyek Android di mana kustomisasi kode telah dibuat. Arsip proyek ini dapat bermanfaat dalam beberapa cara:
      • Anda bisa menggunakannya sebagai referensi sambil mengikuti petunjuk dalam 'Customizing The Game In Eclipse'.
      • Jika Anda ingin melewatkan instruksi di 'Menyesuaikan Gim In Eclipse', cukup impor ke Eclipse. Jangan ubah kode, lalu terapkan permainan ke perangkat Anda. (Catatan: Lingkungan Eclipse Anda harus memiliki lokasi Android SDK yang disiapkan di Eclipse Preferences, seperti yang dijelaskan dalam 'Customizing The Game In Eclipse'.)
      • Arsip ini berisi file aplikasi Android Duck.apk dalam folder Bebek \\ bin \\ classes yang dapat dengan mudah dipasang di perangkat yang kompatibel dengan Android 3.2 melalui alat ADB SDK Android tanpa Eclipse.

Pernyataan Penutup Untuk Bagian 1

Di bagian 1 dari tutorial ini, kami memperkenalkan aplikasi tutorial, membahas berbagai konsep ShiVa3D serta alat utama dalam suite ShiVa3D. Kami juga menjelaskan file dalam arsip unduhan yang menyertai tutorial ini. Pada bagian 2, kami akan mulai menjelaskan cara mengembangkan gim menggunakan Editor ShiVa. Kami akan memperkenalkan modul Editor ShiVa yang digunakan dalam mengembangkan aplikasi tutorial. Kemudian, kita akan berbicara tentang file model Collada yang mewakili karakter utama dalam aplikasi. Kami kemudian akan membahas beberapa langkah awal untuk membuat aplikasi, seperti membuat gim dan adegan serta mengimpor model Collada.


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.