Teknologi Game. Game Genres / Aliran Permainan. ratnokustiawan.wordpress.com

dokumen-dokumen yang mirip
Teknologi Game. ratnokustiawan.wordpress.com. Game Genres / Aliran Permainan

Teknologi Game. Game Genres / Aliran Permainan. ratnokustiawan.wordpress.com

Teknologi Game. Game Genres / Aliran Permainan. ratnokustiawan.wordpress.com

PEMROGRAMAN GAME MOBILE Tugas III Contoh Sprite. Oleh : I Dewa Made Yuda Aditya Putra

Teknologi Game Pengembangan Game 2D dengan Unity 3D dan Orthello Framework

Location Based Services

Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya.

Persiapan. 2.1 Hardware

Percobaan 9 Basic Widget

SOFTWARE DEVELOMENT KIT (SDK) & DASAR PENGEMBANGAN APLIKASI MOBILE

First Cup Android. TripleLands Tutorial

[Pelatihan Pemrograman Android]

Pemrograman Mobile Android # 2

UNIVERSITAS KOMPUTER INDONESIA

Persiapan Sebelum mengikuti tutorial ini, ada baiknya pembaca mendownload perangkat lunak yang dibutuhkan yaitu sebagai berikut:

BAB IV IMPLEMENTASI DAN ANALISA

Praktikum 1 - Getting Started with Android

Teknologi Game Pengembangan Game 2D dengan Unity 3D dan Orthello Framework

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

PENDAHULUAN. Gambar 1.1. GameMaker dari YoyoGames

Modul Pengembangan Aplikasi Android Berbasis Client- Server Aplikasi sederhana android Versi 1.0

BAB IV PERANCANGAN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

Membuat project Android di Eclipse Struktur project pada eclipse Mengenal Tag Layout User Interface

Pertama tama install terlebih dahulu java versi terbaru pada. atau didalam

Persiapan Lingkungan Pengembangan Android

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

Modul Pengembangan Bahan Ajar Sosiologi Berbasis Teknologi Informasi Aplikasi Game Html 5 dengan Construct 2

Mengenal Pemograman Android Menggunakan Eclipse

Menampilkan Map. B. Menambahkan referensi library google-play-service.jar ke dalam project

BONUS. Dasar Java Mobile. Mengenal Java Mobile Mengenal MIDlet Mobile Grafis Mobile Animasi Latihan Soal

Tugas Rekayasa Perangkat Lunak Berorientasi Obyek Review IDE untuk Java (NetBeans, Eclipse, Intellij IDEA)

BAB III PERANCANGAN PROGRAM PENGOLAHAN SINYAL MENGGUNAKAN ANDROID DEVICE

Teknologi Game Pengembangan Game 2D dengan Unity 3D dan Orthello Framework

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Praktikum 8 Dasar Pemprograman Android

Rekomendasi Min Perangkat Keras. Prosesor dual core 1.5 GHz RAM 2 GB Monitor 10 " VGA Onboard Keyboard PS2 Mouse PS2

BAB 4 IMPLEMENTASI DAN EVALUASI

PRAKTIKUM 6 SPINNER. 1. Aktifkanlah project baru, File New Project Android Application Project. Modul 6 Spinner Page 1

MODUL I PENGENALAN VISUAL BASIC.NET

BAB II LANDASAN TEORI

Tutorial Membuat Aplikasi Web View Android pada Eclipse

BAB 4 IMPLEMENTASI DAN EVALUASI. Adalah kebutuhan yang dibutuhkan dalam memenuhi kebutuhan spesifikasi

Membuat JSP dan Servlet Sederhana

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Persiapan Sebelum mengikuti tutorial ini, ada baiknya pembaca telah membaca beberapa tutorial sebagai berikut:

visit :

Custom Button pada Android Februari 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse

BAB I PENGENALAN FLASH DAN ACTIONSCRIPT 3.0

Gambar 1. Perangkat mobile Android

Membuat Aplikasi Sederhana Hello World untuk Android

Workshop Singkat Membuat Game Shooter

BAB III ANALISA DAN PERANCANGAN

LAMPIRAN A. Tabel Konversi Temperatur Termokopel Tipe K

MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA

PERTEMUAN KE 1 Pengenalan Aplikasi Mobile. Mahasiswa diharapkan dapat memahami dan mengetahui tentang aplikasi mobile.

Instalasi SDK dan AVD

Dasar Pemrograman. Visual Studio Program C++ Sederhana. Yoannita, S.Kom.

BAB IV. Implementasi dan Pengujian

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB II LANDASAN TEORI

BAB IV IMPLEMENTASI DAN ANALISIS

Stuktur Folder Project Di Android Studio

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV TESTING DAN IMPLEMENTASI SISTEM

Mengelola File, Folder, dan Album

BAB III ANALISA MASALAH DAN PERANCANGAN

[Pemrograman Android Dasar 02][Level: Pemula] Andi Taru Nugroho Nur Wismono S.Kom.,M.Cs. Lisensi Dokumen:

Pertemuan 2. Pemrograman Mobile. 3 SKS Semester 7 S1 Sistem Informasi. Nizar Rabbi Radliya

BAB IV IMPLEMENTASI DAN EVALUASI. Untuk mengimplementasikan dan menjalankan Aplikasi Mobile Simulasi

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

MEMULAI ECLIPSE. Juli 2009 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir.

PEMROGRAMAN LANJUTAN JAVA. Dasar-Dasar Netbeans

Instalasi Android SDK Maret 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Windows XP, Eclipse

CARA MEMBUAT SIMULASI LEVEL CONTROL

TUTORIAL APLIKASI ANDROID COOL HELLO WORLD

BAB 4 IMPLEMENTASI DAN EVALUASI

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

BAB I SEKILAS VISUAL STUDIO.NET 2008

2.1 Membuat Aplikasi Berbasis Dialog Dengan Wizard

BAB V IMPLEMENTASI DAN PEMBAHASAN

SEDUNIA v.0.1 Muhammad Amiral

DATABASE SQL SERVER. Database SQL Server Halaman 1

Fundamental Android Application Development

BAB 4 IMPLEMENTASI SISTEM APLIKASI JAVA VIDEO CONFERENCE. 1. Prosesor 500 MHz atau lebih tinggi, MB RAM minimum, 3. 1 MB free hardisk space

BAB 1 PENDAHULUAN. Semakin berkembangnya teknologi pada era ini telah membuat banyak

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

BAHASA PEMROGRAMAN JAVA

Latihan 2 List Menu Bertingkat

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB 4 HASIL DAN PENELITIAN

MODUL WORKSHOP IMPLEMENTASI CUBEACON ATTENDANCE PELAKSANA PT. EYRO DIGITAL TEKNOLOGI

Modul Pelatihan : Pembuatan Game Animasi Menggunakan Greenfoot

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. program. Pada awal bagian ini dijabarkan spesifikasi perangkat keras dan lunak pada

BAB 5 IMPLEMENTASI DAN PENGUJIAN

Panduan Operasional Streaming

Transkripsi:

Game Genres / Aliran Permainan Digunakan untuk mengkategorikan game berdasarkan pada perbedaan cara bermain daripada perbedaan secara visual atau naratif. Sebuah aliran dari permainan didefinisikan oleh sekumpulan tantangan. Beberapa genre yang ada antara lain 1. Action Sebuah game dengan jenis Action membutuhkan pemain untuk menggunakan reflek yang cepat, akurasi, dan waktu untuk mengatasi rintangan. Hal ini mungkin yang paling dasar aliran game ini. Game action cenderung memiliki gameplay dengan penekanan pada pertempuran. Ada banyak subgenre game action, seperti figting games dan first person shooter. 2. Adventure Tidak seperti film-film petualangan, game petualangan tidak didefinisikan oleh cerita atau konten. Sebaliknya, petualangan menjelaskan cara permainan tanpa adanya tantangan refleks atau tindakan. Mereka biasanya meminta pemain untuk memecahkan berbagai teka-teki dengan berinteraksi dengan orang atau lingkungan, paling sering dalam cara non-konfrontatif. 3. Role Playing Sebuah role-playing game (RPG) adalah permainan di mana pemain mengatur suatu karakter. Pemain bertanggung jawab untuk mengarahkan karakter sesuai narasi, baik melalui akting harfiah, atau melalui proses pengambilan keputusan terstruktur atau pengembangan karakter. Tindakan yang dilakukan dalam permainan berhasil atau gagal akan ditentukan menurut pedoman yang berlaku 4. Simulation Konstruksi dan simulasi manajemen (CMS/Construction Simulation Management) adalah suatu jenis permainan simulasi di mana pemain membangun, memperluas atau mengelola komunitas fiktif atau proyek-proyek dengan sumber daya terbatas. Permainan strategi kadang-kadang menggabungkan aspek-aspek CMS ke dalam perekonomian permainan mereka, sebagai pemain harus mengelola sumber daya sementara memperluas proyek mereka. Tapi murni CMS berbeda dari game game strategi, "tujuan pemain tidak untuk mengalahkan musuh, tetapi untuk membangun sesuatu dalam konteks dari proses yang berkelanjutan. Permainan dalam kategori ini kadang-kadang juga disebut" manajemen game 5. Strategy Strategi game fokus pada permainan yang membutuhkan pemikiran yang cermat dan terampil dan perencanaan dalam rangka mencapai kemenangan. Dalam permainan strategi yang paling video, kata Andrew Hollings, "pemain diberikan pandangan atas dari dunia permainan, secara tidak langsung mengendalikan unit-unit di bawah komandonya." Hollings juga mencatat bahwa "Asal usul permainan strategi berakar di dekat sepupu mereka, permainan papan. "permainan strategi yang biasanya mengambil salah satu dari empat bentuk pola dasar, tergantung pada apakah permainan ini adalah turn-based atau real-time dan apakah fokus permainan adalah 1

pada strategi atau taktik militer. Game real time strategi sering merupakan pilihan permainan unit ganda (beberapa karakter permainan dapat dipilih sekaligus untuk melakukan tugas yang berbeda, sebagai lawan hanya memilih satu karakter pada satu waktu) dengan melihat langit (melihat melihat ke bawah dari atas) tetapi beberapa permainan terakhir seperti Tom Clancy EndWar, adalah unit pilihan tunggal dan melihat sebagai sisi orang ketiga. Seperti game banyak RPG. 6. Casual Sebuah permainan kasual biasanya ditargetkan oleh khalayak massa gamer kasual. Game kasual dapat memiliki semua jenis permainan, dan cocok di genre apapun. Mereka biasanya dibedakan dengan aturan sederhana mereka dan tidak diperlukan kompleksitas seperti pada game lain. Mereka tidak memerlukan komitmen jangka panjang waktu atau keahlian khusus untuk bermain, dan ada relatif produksi rendah dan biaya distribusi bagi produsen. Casual game biasanya dimainkan pada komputer pribadi secara online di web browser, meskipun sekarang mulai menjadi populer di konsol game dan ponsel juga. Gamer kasual biasanya lebih tua dari gamer komputer tradisional, dan lebih sering dimainkan perempuan, dengan lebih dari 74% dari gamer kasual adalah perempuan. 7. Educational Game pendidikan adalah permainan yang telah dirancang untuk mengajar orang tentang topik tertentu, memperluas konsep, memperkuat pembangunan, memahami sebuah peristiwa sejarah atau budaya, atau membantu mereka dalam belajar keterampilan karena mereka bermain. Dan masih banyak sekali jenis game yang belum dijelaskan disini. 2

Istilah dalam Game Programming 1. Sprite Dalam grafik komputer, sebuah sprite adalah gambar dua dimensi atau animasi yang terintegrasi ke dalam adegan yang lebih besar. Digunakan untuk mendeskripsikan setiap objek dalam game yang memiliki gambar dan karakteristik. Anda dapat membayangkan sprite sebagai suatu gambar yang terletak di suatu tempat di layar, yang mana gambar tersebut dapat bergerak, beranimasi, dan memiliki karakteristiknya masing-masing. 2. Tile Set/Sprite Sheet koleksi gambar kecil yang disusun menyerupai ubin (biasanya ukuran seragam) yang kemudian digabungkan menjadi sebuah gambar yang lebih besar tunggal. Tile set sering digunakan dalam video game 2D untuk membuat peta yang kompleks. Menggunakan tile sets mengurangi jumlah memori sistem yang diperlukan untuk menampilkan peta karena memungkinkan untuk ubin yang sama untuk digunakan kembali beberapa kali dalam peta. Hal ini juga mengurangi jumlah karya seni yang dibutuhkan. Agar peta terbuat dari tile sets tampak lebih khas, permainan biasanya menampilkan mereka dengan ubin yang berbeda yang ditetapkan untuk setiap lingkungan yang unik. 3

Instalasi Android SDK SDK manager dapat diperoleh di http://developer.android.com/index.html, anda juga dapat memperolehnya sewaktu kuliah. Gambar dibawah ini menunjukkan paket yang sudah di download, kurang lebih 3,26 GB. Eclipse Pada praktikum digunakan eclipse versi 3.7.1, bagi anda yang hendak menggunakan versi dibawahnya atau versi 64 bit tidak menjadi masalah selama eclipse tersebut mendukung ADT 12.0.0 ADT Android Development Tools (ADT) adalah plugin untuk Eclipse IDE yang dirancang untuk memberikan Anda lingkunganyang terintegrasi untuk membangun aplikasi Android. ADT memperluas kemampuan Eclipse untuk mempermudah anda mengatur proyek-proyek baru Android, membuat UI aplikasi, menambahkan komponen berdasarkan Kerangka Android API, debug aplikasi Anda menggunakan alat SDK Android, dan bahkan ekspor file APL. File APK untuk mendistribusikan aplikasi Anda. Pengembangan aplikasi android dalam Eclipse dengan ADT adalah sangat dianjurkan dan merupakan cara tercepat untuk memulai. Dengan dipandu setup proyek, serta integrasi alat, 4

XML editor, dan panel ouput debug, ADT memberikan Anda sebuah peningkatan yang luar biasa dalam mengembangkan aplikasi Android. Untuk tutorial instalasi dapat anda ikuti pada link berikut ini http://developer.android.com/sdk/eclipse-adt.html. 5

AndEngine (http://code.google.com/p/andengine/) AndEngine adalah Engine permainan berbasiskan OpenGL 2D gratis untuk platform Android. Dibuat oleh Nicolas Gramlich. Android Virtual Device Android Virtual Device (AVD) adalah emulator yang konfigurasi memungkinkan Anda memiliki model perangkat yang sebenarnya dengan mendefinisikan pilihan hardware dan software yang akan ditiru oleh Emulator Android. Untuk keterangan selengkapnya klik link berikut ini http://developer.android.com/guide/developing/devices/index.html 1. Buka eclipse anda 2. Cek apakah Eclipse anda sudah terkoneksi dengan Android SDK melalui Window Android SDK and AVD Manager Bila muncul pesan berikut 6

Menandakan bahwa Android SDK anda belum terkoneksi dengan eclipse, maka pilih menu Window Preferences, maka akan muncul window preferences sebagai berikut Pilih Android 7

Pada SDK Location isi lokasi dari folder SDK Manager.exe, contohnya ditempat saya adalah F:\android-sdk_r11-windows\android-sdk-windows, kemudian tekan Apply. Maka akan muncul daftar dari list SDK anda. Lalu tekan OK 3. Cek kembali melalui menu berikut : Android SDK melalui Window Android SDK and AVD Manager, maka muncul window berikut 8

4. Untuk membuat Android Virtual Device silahkan ikuti petunjuk pada manual SDK Manager atau link berikut ini http://developer.android.com/guide/developing/devices/managing-avds.html. 5. Yang perlu anda ingat adalah a. Target Disini saya akan menggunakan Android 2.2 API Level 8, dengan tujuan agar mendukung APP to SD tanpa melakukan root terhadap device apabila nanti aplikasi kita dideploy. b. Size Saya beri 100 MiB c. Snapshot Saya beri nilai false atau tanpa tanda check, bila anda beri tanda check maka anda mengaktifkan mode untuk menyimpan state terakhir dari virtual device anda d. Skin Disini saya pilih Built-in kemudian HVGA e. Hardware i. Max VM Application Head Size Saya beri nilai 256 MB ii. Device ram size Saya beri nilai 512 MB Tampak seperti gambar berikut Klik create AVD, maka pada Android SDK and AVD Manager tampak seperti gambar berikut ini 9

6. Silahkan anda pilih device anda kemudian klik Tombol Start 7. Pada Launch Options, beri tanda check pada Checkbox bertuliskan Scale display to real size, ini agar device anda disesuaikan dengan ukuran sesungguhnya, a. Untuk Screen Size beri nilai 4, disini saya mengambil ukuran sama dengan LG Optimus Black, silahkan sesuaikan dengan kebutuhan anda 8. Pilih Launch 10

Project Android Standard di Eclipse Pada bagian ini kita akan mencoba untuk membuat project android, project yang kita buat adalah project standard bawaan ADT 1. Jalankan Eclipse anda 2. File New Android Project 3. Setelah muncul window New Android Project, beri nama project HelloAndroid. Pada Content pilih Create new project in workspace, beri tanda check pada use Default Location. 4. Untuk build target pilih Android 2.2 5. Untuk ApplicationName pastikan namanya HelloAndroid, untuk package name berinama com.teknogame atau terserah anda yang penting minimal 2 kata yang dipisahkan tanda titik. Lalu Pilih Finish 6. Pastikan tampilan eclipse anda seperti gambar dibawah ini Jika belum maka klik menu Window Show View Project Explorer 11

7. Pastikan anda mendapatkan tampilan seperti gambar berikut 8. Disana terdapat file HelloAndroidActivity, Apakah Activity itu?? Activity komponen aplikasi yang memberikan tampilan dimana pengguna bisa dengan aplikasi untuk memerintahkan suatu perintah. Sebuah aplikasi biasanya terdiri dari banyak activity. Umumnya, satu activity dalam aplikasi berlaku sebagai main activity (activity utama) yang akan tampil pertama kali ketika pengguna menjalankan aplikasi untuk pertama kalinya. Tiap activity dapat menjalankan activity yang lain untuk menjalankan suatu aksi yang berbeda. Setiap kali suatu activity dijalankan, maka activity sebelumnya akan dalam kondisi stop, tapi system tetap menjaga activity yang distop dalam stack. Ketika suatu activity baru mulai dijalankan, maka activity baru ini akan diposisikan di tumpukan teratas dan menjadi tampilan yang akan difokuskan ke pengguna. Jadi ketika pengguna sudah selesai beurusan dengan activity yang aktif saat ini dengan menekan tombol back, maka activity yang aktif saat ini dan terletak di tumpukan paling atas akan dihancurkan dan menampilkan activity sebelumnya. Biasanya sebuah Activity semisal HelloAndroidActivity, adalah turunan dari Activity, dalam AndEngine adalah turunan dari BaseGameActivity. 9. Disana terdapat file AndroidManifest.xml, Apakah AndroidManifest?? Android manifest file yang dimiliki Setiap aplikasi android didalam root directory. Manifest ini menyimpan informasi mengenai aplikasi kepada sistem Android, informasi kepada sistem harus ada sebelum aplikasi dapat dijalankan. 12

13

10. Silahkan anda jalankan project HelloAndroid anda dengan cara klik kanan HelloAndroid RunAs Android Application. 11. Tampilan ketika booting sistem operasi Android Sambil menunggu diharap juga sebagai sarana belajar sabar 14

12. Tampilan android anda ketika sudah running 13. Sampai saat ini anda sudah berhasil membuat Hello World, HelloAndroidActivity. 15

Latihan 1.1 (Background) AndEngine, Menampilkan Gambar Background 1. Buat project android standard dengan nama HoneyCombRush, build target pilih Android 2.2 2. Paket name beri nama com.teknogame.honey 3. Finish 4. Klik kanan project HoneyCombRush Properties 5. Pilih Java Build Path Libraries Add External Jars Cari file andengine.jar anda, sehingga library andengine.jar terdaftar pada libraries project anda 16

Lalu ok 6. Pada referenced libraries tampak andengine.jar 7. Silahkan anda buka HoneyCombRushActivity 8. Ganti extends Activity menjadi BaseGameActivity 9. Hapus method oncreate, hasilnya seperti berikut package com.teknogame.honey; import org.anddev.andengine.ui.activity.basegameactivity; import android.app.activity; import android.os.bundle; public class HoneyCombRushActivity extends BaseGameActivity { /** Called when the activity is first created. */ } Penjelasan kode program 1.1 : o package com.teknogame.honey; Kode program diatas maksudnya adalah kelas HoneyCombRushActivity terletak pada paket com.teknogame.honey o import org.anddev.andengine.ui.activity.basegameactivity; Mengimport kelas BaseGameActivity dari paket org.anddev.andengine.ui.activity, import ini berguna agar kelas HoneyCombRushActivity dapat menggunakan kelas BaseGameActivity entah sebagai kelas induk, field atau yang lain. o public class HoneyCombRushActivity extends BaseGameActivity Kode program diatas maksudnya adalah kelas HoneyComRushActivity merupakan turunan dari kelas BaseGameActivity 17

10. Tampak pada eclipse terdapat error 11. Klik bohlam yang menyala, kemudian pilih add unimplemented method Disini kita akan mengimplementasikan method yang wajib diimplemetasikan ketika kita membuat sebuah kelas (dalam hal ini HoneyComRush) menjadi turunan dari BaseGameActivity. Method tersebut adalah a. onloadcomplete b. onloadengine c. onloadresources d. onloadscene 12. Tambahkan 2 attribut untuk menentukan resolusi lebar dan tinggi pada kelas HoneyCombRush private static final int CAMERA_WIDTH = 720; private static final int CAMERA_HEIGHT = 480; Penjelasan kode program 1.2 : Maksud dari 2 baris kode program diatas adalah kita menambahkan 2 buah attribut yang sifatnya statis, memiliki modifier private, bersifat final (tidak bisa diubah ketika saat runtime). Attribut pertama bernama CAMERA_WIDTH untuk menyimpan lebar layar dan attribut kedua bernama CAMERA_HEIGHT untuk menyimpan tinggi layar. 13. Tambahkan 4 buah variabel ini di kelas HoneyCombRush private Texture texturebackground; private TextureRegion regionbackground; protected Camera camera; private Scene scene; Penjelasan kode program 1.3 Texture Digunakan untuk menyimpan image background di memory. 1 Texture dapat menyimpan lebih dari 1 image Texture Region Mendefinisikan kotak atau batasan dari texture. TextureRegion digunakan oleh sprite untuk menentukan bagian mana dari texture yang akan ditampilkan 18

Camera Digunakan untuk menentukan area mana yang akan digambar di layar. Scene Adalah root container bagi semua objek yang akan digambar di layar 14. Import yang anda butuhkan sampai saat ini adalah import org.anddev.andengine.engine.engine; import org.anddev.andengine.engine.camera.camera; import org.anddev.andengine.entity.scene.scene; import org.anddev.andengine.opengl.texture.texture; import org.anddev.andengine.opengl.texture.region.textureregion; import org.anddev.andengine.ui.activity.basegameactivity; 15. Untuk method onloadengine, isi dengan kode program dibawah ini camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); Engine engine=new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.camera)); return engine; Penjelasan kode program 1.4 : Inisialisasi object camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); Maksud dari kode program diatas adalah membuat objek camera, dimana camera mengambil posisi awal x dan y adalah 0 dan memiliki panjang dan lebar mengikuti nilai dari attribut CAMERA_WIDTH dan CAMERA_HEIGHT. Inisialisasi object engine Engine engine=new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.camera)); Maksud dari kode program diatas adalah membuat object engine, dimana object tersebut memiliki options sebagai berikut a. True berarti fullscreen b. ScrrenOrientation.LANDSCAPE orientasi layar untuk landscape (HP android di miringkan) c. new RatioResolutionPolicy bahwa resolusi yang dipakai sama dengan resolusi camera d. this.camera camera yang digunakan sebagai acuan 19

16. Import yang ditambahkan adalah sebagai berikut import org.anddev.andengine.engine.options.engineoptions; import org.anddev.andengine.engine.options.engineoptions.screenorientation; import org.anddev.andengine.engine.options.resolutionpolicy.ratioresolutionpolicy; 17. Pada method onloadresources kita tambahkan kode program berikut texturebackground = new Texture(2048, 2048, TextureOptions.BILINEAR); regionbackground = TextureRegionFactory.createFromAsset(textureBackground, this, "background/titlescreen.png", 0, 50); mengine.gettexturemanager().loadtexture(this.texturebackground); Penjelasan kode program 1.5 : Inisialisasi object texturebackground texturebackground = new Texture(2048, 2048, TextureOptions.BILINEAR); Inisialisasi object texturebackground dengan ukuran 2048x2048 dan jenis texture Bilinier. Inisialisasi object regionbackground regionbackground = TextureRegionFactory.createFromAsset(textureBackground, this, "background/titlescreen.png", 0, 0); Inisialisasi object regionbackground dengan memanggil static method createfromasset dari kelas TextureRegionFactory. Parameternya diisi : o texturebackground tempat menyimpan gambar di memory o this context dari game o background/titlescreen.png file background yang akan di load o 0 posisi x dan y di texturebackground Load Texture mengine.gettexturemanager().loadtexture(this.texturebackground); melakukan load texture dari object texturebackground dengan menggunakan method loadtexture yang didapat dari object TextureManager yang dipanggil dari method gettexturemanager di object mengine. 18. Pastikan anda sudah menambahkan 2 buah import dibawah ini import org.anddev.andengine.opengl.texture.textureoptions; import org.anddev.andengine.opengl.texture.region.textureregionfactory; 20

19. Pada method onloadscene tambahkan kode program berikut ini scene=new Scene(1); Sprite spbackground=new Sprite(0, 0, regionbackground); scene.getlastchild().attachchild(spbackground); return scene; Penjelasan kode program 1.6 : Inisialisasi object scene scene=new Scene(1); melakukan inisialisasi object scene Inisialisasi object spbackground Sprite spbackground=new Sprite(0, 0, regionbackground); Melakukan deklarasi object spbackground dengan type Sprite kemudian melakukan inisialisasi dengan posisi x dan y adalah 0 dimana sprite ini akan menampilkan gambar yang dipetakan oleh regionbackground Penambahan object spbackground ke scene scene.getlastchild().attachchild(spbackground); Menambahkan object spbackground ke scene 20. Pada folder asset tambahkan folder background kemudian beri file titlescreen.png Menambahkan file gambar di folder asset 21

21. Jalankan project HoneyCombRush anda, maka hasilnya seperi gambar berikut Hasil dari latihan 1 Coba tekan CTRL + F11 Selamat, anda sudah berhasil menampilkan halaman awal dari project game ini. Latihan 1.2 a. Buat 1 buah activity lagi dengan nama InstructionsActivity b. Tampilkan file instructions.png c. Pada file AndroidManifest.xml, <activity android:name=".honeycombrushactivity" android:label="@string/app_name"> Ubah tulisan.honeycombrushactivity menjadi.instructionsactivity agar file InstructionsActivity menjadi activity yang pertama kali dijalankan (main activity) d. Selamat mencoba Latihan 1.3 a. Buat 1 buah activity lagi dengan nama PlayActivity b. Tampilkan file GamePlayBackground.png c. Lakukan perintah latihan 1.2 bagian c dan sesuaikan nama Activity menjadi PlayActivity d. Selamat mencoba 22

Latihan 2.1 (HUD) HUD adalah singkatan dari head-up display dan mewakili semua bagian-bagian dari antarmuka pengguna yang ditempatkan pada posisi yang tetap pada layar. Dalam permainan ini biasanya mencakup lifebars, jumlah amunisi, peta, level dll. Andengine memiliki dukungan yang mudah bagi HUD dan kontrol pada layar. 1. Pastikan bahwa anda sudah menambahkan file buttonbackground.png pada folder assets background 2. Deklarasikan attribut dengan nama hudplay dan hudexit pada kelas HoneyCombRushActivity, kedua attribut tersebut bertype HUD. private HUD hudmenu; private TextureRegion regionbutton; Penjelasan kode program : Kode program diatas maksudnya a. kita mendeklarasikan attribut yang bernama hudmenu, attribut ini memiliki tipe HUD dimana satu buah tipe HUD digunakan untuk menamping 1 atau banyak sprite yang biasanya berfungsi sebagai tombol. b. Kita mendeklarasikan attribut yang bernama regionbutton, attribut ini memiliki tipe TextureRegion, attribut ini nantinya digunakan untuk menamping image tombol Jangan lupa tambahkan import berikut ini import org.anddev.andengine.engine.camera.hud.hud; 3. Pada method onloadresources, tambahkan kode program dibawah ini sesudah baris kode program berikut mengine.gettexturemanager().loadtexture(this.texturebackground); 23

Kode program yang ditambahkan yaitu a. Inisialisasi attribut regionbutton regionbutton=textureregionfactory.createfromasset(texturebackground, this, "background/buttonbackground.png",735,0); Maksud dari kode program diatas adalah objek regionbutton diinisialisasi dengan cara memanggil method createfromasset dari kelas TextureRegionFactory. Objek regionbutton akan diinisialisasi dengan gambar dari file buttonbackground.png yang nantinya di memory akan diletakkan berdampingan dengan regionbackground di objek texturebackground. Angka 735 menandakan bahwa gambar di file buttonbackground akan terletak di kanan dari regionbackground yang memiliki panjang 735. b. Inisialisasi hudmenu hudmenu=new HUD(); c. Deklarasi local variabel bernama spplay dengan tipe Sprite Sprite spplay=new Sprite(100, 300, regionbutton); Deklarasi local variabel bernama spexit dengan tipe Sprite Sprite spexit=new Sprite(400, 300, regionbutton); Kode program diatas maksudnya inisialisasi local variabel bernama spexit yang typenya Sprite, diinisialisasi dengan memanggil constructor yang meminta 3 parameter yaitu x,y dan texture region. Untuk x diberi nilai 400 Untuk y diberi nilai 300 Untuk parameter terakhir diberi nilai regionbutton agar menampilkan gambar tombol. d. Melekatkan spplay dan spexit ke hudmenu hudmenu.getlastchild().attachchild(spplay); hudmenu.getlastchild().attachchild(spexit); Kode program diatas maksudnya melekatkan spplay dan spexit ke hudmenu agar ketika game dijalankan maka tombol play dan exit muncul e. Melekatkan hudmenu ke camera camera.sethud(hudmenu); Kode program diatas maksudnya melekatkan hudmenu ke camera agar ditampilkan ketika game dijalankan. 4. Silahkan anda jalankan dan perhatikan apa yang terjadi pada project game anda. 24

Latihan 3.1 (Font) Dibagian ini kita akan mempelajari bagaimana caranya menampilkan tulisan di andengine dengan memanfaatkan font. 1. Pastikan bahwa anda sudah menambahkan file imagica.ttf ke folder assets font 2. Silahkan anda deklarasikan attribut pada kelas HoneyCombRushActivity private Font font; private Texture texturefont; a. Attribut font bertipe Font digunakan untuk menyimpan informasi font yang anda load seperti warna dan ukuran b. Attribut texturefont bertipe Texture digunakan untuk menyimpan font yang anda load di memory 3. Pada method onloadresource tambahkan kode program sesudah baris camera.sethud(hudmenu); Kode program yang ditambahkan adalah a. Inisialisasi object texturefont texturefont = new Texture(256, 256); Kode program diatas maksudnya inisialisasi objek texturefont dengan ukuran 256x256 25

b. Inisialisasi object font font = FontFactory.createFromAsset(textureFont, this, "font/imagica.ttf", 48, true, Color.BLACK); Kode program diatas maksudnya inisialisasi objek font dengan memanggil method createfromasset dari kelas FontFactory, parameternya sebagai berikut i. texturefont objek yang digunakan untuk meyimpan font di memory ii. This Menunjukkan context dari game, biasanya berupa activity atau kelas bersangkutan tempat melakukan load suatu resource atau image iii. font/imagica.ttf Menunjukkan lokasi font dan font yang akan diload iv. 48 Ukuran font yang ditentukan diawal v. True Apakah font akan diatur agar sifatnya AntiAlias (www.google.com) vi. Color.Black Warna dari font c. Load texturefont dan font mengine.gettexturemanager().loadtexture(texturefont); mengine.getfontmanager().loadfont(font); Maksud dari kode program diatas adalah meload objek texture font dan melakukan load objek font d. Melekatkan Tulisan Play dan Exit di hudmenu hudmenu.getlastchild().attachchild(new Text(140, 330, font, "Start")); hudmenu.getlastchild().attachchild(new Text(460, 330, font, "Exit")); Karena tulisan play dan exit ini akan ditempatkan ditombol yang terletak di menu, maka kita akan melekatkan objek Text di hudmenu pada posisi 140 dan 330 serta 460 dan 330 kemudian akan menampilkan tulisan Play dan Exit dimana keduanya menggunakan huruf yang terdapat di objek font 26

4. Hasil dari game anda ketika sudah dirunning adalah sebagai berikut Tampilan yang didapat dari VirtualBox Latihan 3.2 a. Buat 1 buah Activity lagi dengan nama PauseActivity b. Tampilkan gambar pausebackground.png sebagai latar belakang. c. Berikan 2 buah tombol, yaitu Resume dan End Play Latihan 4.1 (Event Handling) Dibagian ini kita akan mempelajari cara memberikan event handling di AndEngine. a. Deklarasi sprite Pindahkan deklarasi spplay dan spexit keluar dari method onloadresources, pindah keluar dari method tersebut private Sprite spplay,spexit; b. Override method onareatouched pada objek spstart Semula kode program anda seperti berikut Sprite spplay = new Sprite(100, 300, regionbutton); 27

Silahkan anda ubah seperti berikut spplay = new Sprite(100, 300, regionbutton) { @Override public boolean onareatouched(touchevent pscenetouchevent, float ptoucharealocalx, float ptoucharealocaly) { // TODO Auto-generated method stub startactivity(new Intent(HoneyCombRushActivity.this, InstructionActivity.class)); return super.onareatouched(pscenetouchevent, ptoucharealocalx, ptoucharealocaly); } }; c. Register sprite yang bertugas menangkap event handler Register spstart sebagai objek yang dapat menangkap event touch pada method onloadscene scene.registertoucharea(spplay); d. Mengaktifkan touch area Enable touch area scene.settouchareabindingenabled(true); e. Mendaftarkan activity di manifest i. Silahkan anda buka file AndroidManifest.xml ii. Tambahkan tag dibawah ini sebelum tag </application> <activity android:name=".instructionactivity"></activity> Latihan 4.2 Tambahkan event untuk menutup game apabila menyentuh tombol exit. Latihan 4.3 Tambahkan event ketika background di instructions di sentuh maka akan berpindah ke instructions activity. 28

Latihan 5.1 (Entity) Digunakan untuk mengelompokkan sprite yang nantinya akan dirender berulang kali, memadukan beberapa sprite serta sprite yang berhubungan dengan suatu objek seperti actor. Sebuah entity dalam game bisa berupa apapun yang diturunkan dari kelas yang akan menampung informasi dasar yang ada dalam game anda (http://nfostergames.com/lessons/gameentitymanagement.htm). a. paket com.teknogame.honey.entity b. Kelas BeeKeeper kelas ini digunakan untuk mengelola animasi dari pencari madu. Buat agar BeeKeeper adalah turunan dari Entity package com.teknogame.honey.entity; import org.anddev.andengine.entity.entity; public class BeeKeeper extends Entity{ } c. Deklarasikan texture di BeeKeeper untuk menyimpan gambar sprite berjalan, mengambil madu dan menuangkan madu. private static Texture texturewalktorso; tambahkan import berikut import org.anddev.andengine.opengl.texture.texture; 29

d. Deklarasikan TiledTextureRegion di BeeKeeper untuk menyimpan informasi gambar tangan, gambar kaki, gambar mengambil madu dan gambar menuangkan madu. private static TiledTextureRegion regionwalktorso; private static TiledTextureRegion regionwalklegs; private static TiledTextureRegion regioncollect; private static TiledTextureRegion regiondeposit; Tambahkan import berikut import org.anddev.andengine.opengl.texture.region.tiledtextureregion; e. Deklarasikan AnimatedSprite di BeeKeeper untuk mengimpan gerakan tangan, kaki, mengambil madu dan menuangkan madu. private AnimatedSprite spritetorso; private AnimatedSprite spritelegs; private AnimatedSprite spritecollect; private AnimatedSprite spritedeposit; Tambahkan import berikut import org.anddev.andengine.opengl.texture.region.tiledtextureregion; f. Tambahkan 1 buah constructor pada kelas BeeKeeper public BeeKeeper(BaseGameActivity basegameactivity) { } g. Tambahkan folder texture untuk menampung gambar BeeKeeper 30

h. Tambah file image Tambahkan collect.png, deposit.png, walklegs.png dan walktorso.png di folder texture i. Pengaturan path Atur agar secara otomatis path yang diambil adalah texture, panggil method setassetbasepath dikelas TextureRegionFactory. Letakkan kode program di konstruktor TextureRegionFactory.setAssetBasePath("texture/"); j. Inisialisasi Texture dengan width 4096 dan height 1024 di konstruktor if (texture == null) texture = new Texture(4096, 1024); 31

k. Inisialisasi RegionWalkTorso untuk gambar berjalan sambil mengayunkan tangan if (regionwalktorso == null) regionwalktorso = TextureRegionFactory.createTiledFromAsset(texture, basegameactivity, "walktorso.png", 0, 0, 16, 4); 0,0 berarti gambar ini akan diletakkan di texture pada posisi x=0 dan y=0 16 berarti banyaknya gambar secara horisontal (kolom), 4 berarti banyaknya gambar secara vertikal (baris) l. Inisialisasi RegionWalkLegs Untuk gambar berjalan sambil menggerakkan kaki if (regionwalklegs == null) regionwalklegs = TextureRegionFactory.createTiledFromAsset(texture, basegameactivity, "walklegs.png", 1030, 0, 16, 4); 1030,0 berarti gambar ini akan diletakkan di texture pada posisi x = 1030 and y = 0 dikarenakan disisi kiri sudah terdapat gambar walktorso. 16 berarti banyaknya gambar secara horisontal (kolom), 4 berarti banyaknya gambar secara vertikal (baris) 32

m. Inisialisasi RegionCollect Untuk gambar animasi mengambil madu if (regioncollect == null) regioncollect = TextureRegionFactory.createTiledFromAsset(texture, basegameactivity, "collect.png", 0, 400, 4, 1); 0,400 berarti gambar ini diletakkan di texture pada posisi x = 0 dan y = 400 sehingga terletak dibawah walktorso 4 berarti banyaknya gambar secara horisontal (kolom), 1 berarti banyaknya gambar secara vertical (baris) n. Inisialisasi RegionDeposit Untuk gambar animasi menyimpan madu di tempat penyimpanan if (regiondeposit == null) regiondeposit = TextureRegionFactory.createTiledFromAsset(texture, basegameactivity, "deposit.png", 300, 450, 4, 1); 300,450 berarti gambar ini diletakkan di texture pada posisi x = 300 dan y = 400 sehingga terletak di kanan dari collect 4 berarti banyaknya gambar secara horisontal (kolom), 1 berarti banyaknya gambar secara vertical (baris) o. Load texture Load texture menggunakan texture manager if(texture!=null) basegameactivity.getengine().gettexturemanager().loadtexture(texture); 33

p. Tambahkan method onloadscene Method ini dipanggil di method onloadscene di PlayActivity public void onloadscene(){ } q. Inisialisasi Sprite Sprite yang akan di inisialisasi adalah spritetorso, spritelegs, spritecollect dan spritedeposit spritetorso = new AnimatedSprite(mX, my, regionwalktorso); spritelegs = new AnimatedSprite(mX, (my + 2), regionwalklegs); spritecollect = new AnimatedSprite(mX, my, regioncollect); spritecollect.setvisible(false); spritedeposit = new AnimatedSprite(mX, my, regiondeposit); spritedeposit.setvisible(false); r. Attach sprite ke Entity Agar sprite anda menyatu dengan entity, maka perlu disatukan dengan perintah berikut s. attachchild(spritetorso); attachchild(spritelegs); attachchild(spritecollect); attachchild(spritedeposit); 34