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

3D Game Development dengan ShiVa3D Suite: AI & animasi

by
Read Time:12 minsLanguages:
This post is part of a series called 3D Game Development with ShiVa3D Suite.
3D Game Development with ShiVa3D Suite: Scene Editing
3D Game Development with ShiVa3D Suite: Project Deployment

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

Penasaran tentang pengembangan game 3D? Sekarang adalah waktu untuk belajar! Ini lima bagian seri tutorial akan menunjukkan cara untuk membangun sebuah permainan sederhana dengan ShiVa3D Suite, 3D game engine yang lintas-platform dan alat authoring. Ini adalah angsuran keempat dari seri, yang mana Anda akan menyelesaikan AI Model pemrograman untuk permainan dan belajar bagaimana untuk membuat unit test untuk memeriksa pekerjaan Anda.


Mengembangkan permainan di Siwa Editor - lanjutan

Pada bagian 3, kita belajar bagaimana untuk mengedit adegan dari aplikasi kita. Kami juga mulai memasukkan kode untuk AIModels permainan dan selesai pengkodean untuk DuckAI. Di bagian 4, kita akan menyelesaikan pengkodean untuk sisa AIModels, EggAI dan MainAI, 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 authoring yang berbeda dalam Siwa Authoring Tool: satu untuk menghasilkan Android executable dan lain satu untuk menghasilkan sebuah proyek Eclipse.


Masukkan variabel dan kode untuk EggAI

Di AIModel Editor, pilih EggAI tab. (jika Anda tidak melihat tab EggAI, membawa AIModel Editor dan Data Explorer berdampingan. Kemudian, pergi ke Data Explorer-> sumber daya-> AIModels dan klik ganda pada EggAI. Ini harus menampilkan EggAI di tab di AIModel Editor.)
Tambahkan dua variabel ke EggAI:

  • Nama: isBack, tipe: boolean, Init nilai: benar
  • Nama: melompat, ketik: nomor, nilai Init: 0

Tambahkan handler onInit dan onEnterFrame seperti yang kita lakukan sebelumnya. Juga, tambahkan handler kustom dengan memilih Tambahkan Handler-> Custom seperti ditunjukkan di bawah.

Custom Handler
53 gambar. Kustom Handler

Nama kustom handler 'onCaptureInput.' Catatan: hal ini penting bahwa Anda tidak mengetik 'pada' karena itu ditambahkan oleh dialog seperti ditunjukkan di bawah.

Naming Custom Handler
54 gambar. Penamaan kustom Handler

Anda harus melihat berikut.

EggAI HandlersEggAI HandlersEggAI Handlers
55 gambar. EggAI Handler

Sekarang membawa AIModel Editor dan Script Editor di samping, seperti yang kita lakukan sebelum. Pada AIModel Editor, pilih EggAI tab. Klik ganda pada onInit, onEnterFrame, dan onCaptureInput satu per satu, membawa kode yang sesuai dalam Script Editor dan menggantinya dengan berikut. Dalam setiap kasus, jangan lupa untuk menyimpan script dalam Script Editor melalui Control + S.

Untuk onInit:

Untuk onEnterFrame:

Untuk onCaptureInput:

Kami selesai dengan variabel dan kode untuk EggAI.


Masukkan variabel dan kode untuk MainAI

Sekarang, kita akan bekerja pada MainAI. Ini adalah bagian terakhir dari kode sebelum kita menyusun segala sesuatu dan jalankan pengujian lokal. Di tab MainAI AIModel Editor, tambahkan ketiga variabel yang ditunjukkan di bawah ini.

  • Nama: telur, ketik: objek, nilai init: nil
  • Nama: prevTouchCount, tipe: nomor, nilai init: 0
  • Nama: prevY0, tipe: nomor, nilai init: 0

Dengan mengklik Tambahkan fungsi, menambahkan tiga fungsi: displayRestart, requestRestart dan me-reset.

Akhirnya, tambahkan empat penangan: onInit, onTouchSequenceBegin, onTouchSequenceChange dan onTouchSequenceEnd. Perhatikan bahwa untuk menambahkan pengendali tiga terakhir, Anda perlu pilih Tambahkan Handler-> pengguna Handler.

Untuk masing-masing fungsi dan penangan di atas, ganti kode dengan berikut dalam Script Editor. Jangan lupa untuk menyimpan menggunakan Control + S.

Untuk displayRestart:

Untuk requestRestart:

Untuk ulang:

Untuk onInit:

Untuk onTouchSequenceBegin:

Untuk onTouchSequenceChange:

Untuk onTouchSequenceEnd:

Sekarang, tekan F7 untuk mengkompilasi segalanya. Anda harus melihat 0 kesalahan dan peringatan 0.

Compilation ResultsCompilation ResultsCompilation Results
56 angka. Hasil kompilasi

Menghidupkan permainan untuk menguji

Sekarang, mari kita coba permainan. Di atas bar menu, pilih animasi. Selanjutnya, pilih tampilan-> ukuran-> Android-> 480 x 800 seperti ditunjukkan di bawah.

Selecting Display SizeSelecting Display SizeSelecting Display Size
57 gambar. Memilih ukuran layar

Selanjutnya, pilih tampilan-> View Mode-> Runtime.

Selecting View ModeSelecting View ModeSelecting View Mode
58 gambar. Memilih Mode tampilan

Tekan F9 untuk memulai menghidupkan. Permainan mulai bermain sebagai berikut.

Animating The GameAnimating The GameAnimating The Game
59 gambar. Menghidupkan permainan

Catatan bahwa Anda tidak bisa bergerak telur pada titik ini, karena gerakan telur yang dikontrol melalui layar sentuh peristiwa. Oleh karena itu, pengujian yang sebenarnya bergerak telur dapat dilakukan hanya setelah memasangnya di perangkat Android. Saat menghidupkan di Editor Siwa, bebek dan telur akan bergerak bebas tanpa masukan. Selama gerakan gratis, mereka mungkin berbenturan dengan satu sama lain setiap sekali dalam beberapa saat. Ketika ini terjadi, bebek akan berubah arah rotasi di sumbu global. Anda juga akan melihat bahwa setelah tabrakan setiap browser akan dibuka untuk menampilkan URL https://www.stonetrip.com. Hal ini karena baris berikut dalam fungsi DuckAI.onSensorCollisionBegin:

Tujuan ini adalah untuk bergetar perangkat saat terjadi tabrakan. Kita akan mengedit kode Java dalam Eclipse untuk menimpa system.openURL() acara handler bergetar perangkat bukan membuka browser. Untuk saat ini, Anda dapat mencegah Editor Siwa membuka browser secara otomatis selama animasi. Untuk tujuan itu, komentar baris kode di DuckAI.onSensorCollisionBegin sebagai berikut dan mengkompilasi ulang kemudian sebelum memulai animasi.

Namun, jangan lupa untuk menghapus ganda dash (-) dan mengkompilasi ulang segala sesuatu sebelum mengekspor permainan.


Ekspor permainan

Setelah selesai mengembangkan permainan kami, sekarang kami akan ekspor untuk digunakan oleh alat Authoring Siwa.

Dalam Data Explorer, Sorot folder permainan dan pilih bebek. Dari menu klik kanan pilih ekspor permainan seperti yang ditunjukkan di bawah ini.

Exporting the GameExporting the GameExporting the Game
60 gambar. Mengekspor permainan

Pilih folder lokal, misalnya D:\temp. Juga pilih Runtime paket untuk Android. Klik ekspor. (Lihat di bawah).

Export DialogExport DialogExport Dialog
Angka 61. Dialog ekspor

Dialog progres akan muncul sebagaimana ditunjukkan di bawah ini.

Export Progress DialogExport Progress DialogExport Progress Dialog
62 gambar. Dialog progres ekspor

Tunggu sampai ekspor selesai dan tekan OK untuk mengabaikan dialog. Lihat di bawah ini:

Dismiss the Export Progress DialogDismiss the Export Progress DialogDismiss the Export Progress Dialog
63 gambar. Mengabaikan Dialog progres ekspor

Sekarang, Anda akan melihat sebuah file bernama Duck.stk di folder lokal Anda telah memilih untuk mengekspor permainan.


Siwa Authoring Tool

Dalam bagian ini, kita akan membahas alat Authoring Siwa. Seperti disebutkan sebelumnya, tujuan utama dari alat Authoring ShiVa adalah untuk mengubah permainan, dibuat melalui Editor Siwa, ke aplikasi yang dapat digunakan di perangkat tertentu. Di bawah ini, kami akan menjelaskan langkah-langkah untuk mengubah permainan ke aplikasi Android.

Mempersiapkan instalasi perangkat Android

Karena alat Authoring Siwa yang dapat digunakan untuk menginstal permainan pada perangkat Android, Anda perlu mempersiapkan perangkat untuk instalasi. Pertama, dalam pengaturan aplikasi, Periksa sumber-sumber yang tidak diketahui seperti ditunjukkan di bawah.

Device Application SettingsDevice Application SettingsDevice Application Settings
64 gambar. Pengaturan aplikasi perangkat

Kemudian, dalam opsi-opsi pengembangan perangkat Anda memeriksa USB debugging seperti ditunjukkan di bawah.

Device Development OptionsDevice Development OptionsDevice Development Options
65 gambar. Opsi-opsi pengembangan perangkat

Juga, pastikan bahwa perangkat Anda terhubung ke mesin pengembangan Anda melalui kabel USB. Perhatikan bahwa ketika Anda menghubungkan perangkat Android ke komputer pengembangan untuk pertama kalinya, Windows akan menginstal pengandar perangkat sesuai di komputer Anda. Anda mungkin perlu untuk menunjuk Wizard Hardware Tambahkan ke lokasi folder instalasi Android SDK untuk wizard untuk menemukan driver yang cocok.

Authoring untuk proyek

Seperti yang kita bahas sebelumnya dalam tutorial, dua jenis authoring tersedia dalam Siwa Authoring Tool adalah proyek dan APK paket. Authoring proyek menghasilkan sebuah proyek Eclipse untuk lebih lanjut menyesuaikan aplikasi game di Eclipse. Authoring untuk paket APK menghasilkan file langsung memasang aplikasi game di perangkat Android APK. Karena kami ingin menyesuaikan permainan bergetar perangkat saat terjadi tabrakan, kita pertama akan meninjau proses authoring untuk proyek.

Dalam petunjuk di bawah ini, diasumsikan bahwa Duck.stk diinstal di D:\tmp. Jika Anda disimpan di tempat lain, mengubah instruksi tersebut sesuai.

Dalam persiapan untuk bagian ini, ekstrak app_icon.png dan app_splash.png dari arsip download menyertai tutorial ini dan menyimpannya di bawah folder lokal, misalnya D:\tmp. File app_splash.png yang akan ditampilkan sebagai halaman splash pada perangkat untuk permainan ketika mulai. App_icon.png akan ditampilkan pada layar Beranda perangkat Android seperti ditunjukkan di bawah.

 The Icon Location The Icon Location The Icon Location
Angka 66. Lokasi ikon

Membawa alat Authoring Siwa. Pilih Android di samping kiri. Klik pada gambar panah di bawah ' atau mulai sekarang...' seperti ditunjukkan di bawah.

Shiva Authoring Tool Start PageShiva Authoring Tool Start PageShiva Authoring Tool Start Page
67 gambar. Siwa Authoring alat halaman awal

Pada langkah 1, pilih Duck.stk, app_icon.png, dan app_splash.png dari folder lokal komputer Anda seperti ditunjukkan di bawah. Di sini, perhatikan bahwa folder pemisah slash (/), tidak backslash (\). Tekan berikutnya.

Shiva Authoring Tool Step 1Shiva Authoring Tool Step 1Shiva Authoring Tool Step 1
68 gambar. Siwa Authoring Tool langkah 1

Dalam langkah 2 di bawah tipe Authoring, pilih proyek. Untuk bundel pengenal ketik nama, misalnya com.shiva3d.demo. Nama ini sesuai dengan nama paket Jawa. Menerima default untuk versi dan versi kode (lihat bawah). Klik langkah 3: membangun.

Shiva Authoring Tool Step 2 - ProjectShiva Authoring Tool Step 2 - ProjectShiva Authoring Tool Step 2 - Project
69 angka. Siwa Authoring Tool langkah 2 - proyek

Di langkah 3, pilih jenis membangun: pengembangan, dan meninggalkan semua kotak centang dicentang, seperti yang ditunjukkan di bawah ini.

Shiva Authoring Tool Step 3Shiva Authoring Tool Step 3Shiva Authoring Tool Step 3
70 angka. Siwa Authoring Tool langkah 3 - membangun jenis

Juga, membuat pilihan berikut:

  • Audio backend: Default
  • Dukungan minimum OS: Android 3.2 (tingkat API: 13)
  • Menyediakan folder output, misalnya D:\temp
  • Menerima opsi No script untuk Custom posting membangun script

Mereka akan ditampilkan di bawah ini.

Shiva Authoring Tool Step 3Shiva Authoring Tool Step 3Shiva Authoring Tool Step 3
71 gambar. Siwa Authoring Tool langkah 3

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

Klik membangun. Ini akan membawa pandangan konsol. Jika semuanya berjalan dengan baik, Anda akan melihat pesan yang mengatakan 'Membangun selesai berhasil!', seperti ditunjukkan di bawah ini. Juga, dalam folder output (D:\temp) Anda harus melihat Duck_Android.zip.

Shiva Authoring Tool - Build FinishedShiva Authoring Tool - Build FinishedShiva Authoring Tool - Build Finished
72 gambar. Siwa Authoring Tool - membangun selesai

Authoring APK paket

Di sini, kita akan meneliti proses authoring yang digunakan untuk membuat file APK (yang merupakan aplikasi Android) yang dapat langsung diinstal dalam perangkat. Sebagai suatu pilihan, Anda dapat menginstal permainan di perangkat Anda sebagai bagian dari membangun. Untuk melakukan ini, Anda harus menyelesaikan langkah-langkah yang dijelaskan di atas dalam 'Mempersiapkan perangkat Android untuk instalasi'.

Catatan bahwa jika Anda authoring untuk paket APK, kustomisasi kode dalam Eclipse tidak akan mungkin. Sebagai akibatnya, fitur bergetar tidak akan tersedia (yaitu, ketika bebek dan telur bertabrakan perangkat tidak akan bergetar). Untuk alasan ini, Anda perlu mengedit DuckAI.onSensorCollisionBegin dan komentar atau Hapus baris berikut:

Kemudian, kompilasi dan ekspor Duck.stk seperti yang kita lakukan sebelum.

Sekarang, membawa alat Authoring Siwa dan pergi melalui langkah yang sama seperti di atas dengan pengecualian berikut.

Pada langkah 2, memilih jenis authoring sebagai APK paket bukan sebagai pembangunan:

Shiva Authoring Tool Step 2 - APK PackageShiva Authoring Tool Step 2 - APK PackageShiva Authoring Tool Step 2 - APK Package
73 gambar. Siwa Authoring Tool langkah 2 - APK paket

Di langkah 3, periksa Install pada perangkat terhubung (lihat bawah)

Shiva Authoring Tool Step 3 - InstallShiva Authoring Tool Step 3 - InstallShiva Authoring Tool Step 3 - Install
74 gambar. Siwa Authoring Tool langkah 3 - Install

Ketika langkah-langkah membangun selesai, dalam output folder Anda harus melihat bebek-debug.apk. Selain itu, permainan harus telah dipasang di perangkat Anda. (Perhatikan bahwa jika Anda tidak ingin menginstal aplikasi pada perangkat sebagai bagian dari membangun, tidak memeriksa menginstal pada perangkat yang terhubung. Anda dapat menginstal bebek-debug.apk di perangkat Anda lain kali menggunakan alat ADB di Android SDK.)


Penutup untuk bagian 4

Di bagian 4, kami selesai pengkodean untuk EggAI dan MainAI, dan dilakukan unit pengujian dengan cara menghidupkan permainan. Kami kemudian diekspor permainan dari ShiVa Editor untuk mengimpor ke alat Authoring Siwa. Akhirnya, kita 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 belajar bagaimana untuk menyesuaikan permainan dalam Eclipse. Ini akan mencakup setup proyek Eclipse, perubahan kode, 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 dan mendiskusikan cara untuk port permainan untuk perangkat iOS.


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.