Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan...

29
Teknologi Game Pengembangan Game 2D dengan Unity 3D dan Orthello Framework Jurusan D3 Teknik Informatika 2012 Ratno STMIK AMIKOM YOGYAKARTA 9/15/2012

Transcript of Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan...

Page 1: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

Teknologi Game Pengembangan Game 2D dengan Unity 3D dan Orthello Framework Jurusan D3 Teknik Informatika

2012

Ratno STMIK AMIKOM YOGYAKARTA

9/15/2012

Page 2: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

1

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Intro Unity

Unity adalah software pengembangan yang unik, dimana banyak developer menghabiskan waktunya

untuk menulis kode. Unity lebih memfokuskan pada asset daripada kode, dimana fokusnya adalah

bagaimana meletakkan asset dalam ruang 3d atau 2d.

Projects Bagian projects meliputi semua elemen dalam game yang anda buat, seperti models, scripts, levels,

menu.

Scenes Setiap project terdiri dari 1 sampai banyak scenes. Satu buah scene mewakili satu buah level atau

tampilan dalam suatu game.

Game Objects GameObject adalah bagian terpenting di Unity. GameObject adalah container untuk menampung

fungsionalitas yang disebut komponen. GameObject biasanya terdiri dari lebih dari satu komponen.

Components Komponen adalah komponen pembangun dari GameObject, dimana tanpa komponen, maka game

object tidak akan berarti apapun. Komponen merepresentasikan entity, material data, script dll.

Komponen selalu terpasang di gameobject, tidak bisa berdiri sendiri.

Assets Terdiri dari material, texture, audio files maupun Prefab.

Prefab Prefab adalah asset yang sudah didefinisikan menjadi template. Ketika anda meletakkan prefab kedalam

scene, maka anda sama dengan melakukan proses instantiasi.

Bahasa Pemrograman C#

JavaScript

Boo

Editor MonoDevelop

Visual Studio 20xx (2005,2008,2010 dll)

Page 3: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

2

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Java to C#

Java C#

package namespace Import Using Extends : (dibaca titik dua) Implements : (dibaca titik dua) For(type_data object : list) For(type_data object in list)

Page 4: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

3

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Honeycomb Rush versi Unity

Yang akan dipelajari 1. Perpindahan dari satu layar ke layar yang lain 2. Pembuatan GUI dengan image 3. Tumbukan antar objek 4. Pengendalian karakter 5. Timer 6. Tileset untuk animasi 2D 7. HighScore

Software yang dibutuhkan 1. Unity 3D 3.5.3 (addon android untuk android game)

2. Java SDK

3. Android SDK dengan android platform >=15

4. Orthello 2D Free

Software tambahan yang mungkin dibutuhkan 1. Hiero(Bitmap Fonts)

2. BitmapCombine

3. BitmapMasking

Page 5: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

4

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Membuat Android Virtual Device

1. Jalankan AVD Manager yang terletak di C:\android-sdk r20.0.3

2. Setelah muncul gambar berikut

Pilih New

3. Pada window create android virtual device

Beri nama virtual device seperti berikut AVDxx.xx.xxxx dimana xx adalah nomor induk

anda contoh AVD05.11.0718

a. Pada target pilih Android 4.0.3 – API Level 15

Page 6: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

5

Tek

no

logi

Gam

e |

9/1

5/2

01

2

b. Untuk size sdcard beri nilai 50 MiB

c. Skin pilih Built-in dengan jenis Default

Pada bagian hardware Max VM beri nilai 256

4. Kemudian klik Create AVD, Maka anda akan mendapatkan pesan berikut

5. Dan daftar android virtual device anda sudah bertambah.

6. Jalankan AVD anda dengan memilih AVD yang baru anda buat, kemudian klik start, pada tampilan

gambar berikut beri tanda check pada Scale display to real size kemudian ScreenSize beri nilai 5, lalu

klik Launch

Page 7: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

6

Tek

no

logi

Gam

e |

9/1

5/2

01

2

7. Karena anda menggunakan Android Virtual Device, bukan device android yang sesungguhnya maka

harap bersabar.

8. Proses loading android virtual device

9. Apabila avd anda sudah berhasil jalan dengan baik maka seperti berikut, dan yang menandakan

tidak perlu mencari computer lain .

10. Silahkan tutup avd anda.

Page 8: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

7

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Membuat project baru di Unity 3D

1. Jalankan unity dengan cara melakukan klik ganda ikon yang terdapat pada desktop anda, jangan

lupa segera tekan ctrl + alt + panah bawah agar unity tidak membuka contoh project 3d (biasanya

jika contoh projectnya terbuka cukup berat dan memakan waktu lama).

2. Setelah muncul window berikut, pilih create new project, pada project location silahkan pilih folder

anda kemudian buat folder dengan nama HoneyCombRush, lalu klik Create

3. Setelah window unity muncul, coba cek pada folder yang tadi anda buat, isinya akan seperti berikut

Assets adalah tempat semua gambar, script, game object dan scene dari game anda.

4. Selamat anda sudah berhasil membuat project unity anda yang pertama .

Page 9: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

8

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Menambahkan orthello ke project

1. Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda.

Orthello 2D Framework Orthello 2D Framework untuk unity ditulis dalam bahasa pemrograman C#. Mengingat unity pada

dasarnya dibuat untuk mengembangkan game 3D maka Orthello sangat memudahkan kita dalam

membuat game 2D diatas lingkungan 3D. Framework ini akan mempermudah dalam menambahkan

gambar 2D atau sprite, dan animasi yang akan berinteraksi satu sama lain atau terhadap pengguna.

Orthello menggunakan camera Orthographic.

2. Double klik Orthello 2D Framework.unitypackage dari windows explorer, kemudian pada window

Importing package pilih All lalu Import

3. Pada bagian project, orthello sudah ditambahkan beserta semua sample projectnya.

Page 10: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

9

Tek

no

logi

Gam

e |

9/1

5/2

01

2

MainMenuScene

Membuat scene 1. Project pertama anda secara default akan memberikan Scene yang belum disimpan dan diberi nama

Untitled. Untuk menyimpan scene pertama ini silahkan anda tekan ctrl + s

2. Pada window save scene buat folder baru dengan nama Scenes

3. Pilih folder scenes, kemudian pada file name beri nama MainMenu lalu simpan

4. Pada tab project akan ditambahkan folder Scenes dan didalamya terdapat file scene anda

Page 11: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

10

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Menambahkan objek orthello 5. Expand folder Objects dibawah folder Orthello, cari objek OT kemudian drag ke tab Hierarchy

Sehingga seperti berikut

6. Agar perpektifnya menjadi 2D dan nilai 0,0 untuk sumbu x dan y ada di kanan bawah klik kanan pada

penanda xyz, kemudian pilih back

Maka tampilan dari tab scene seperti berikut

Page 12: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

11

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Membuat background 7. Tambahkan folder texture di project

8. Import titleScreen.png ke folder Texture dengan cara drag titleScreen.png dari windows explorer ke

folder texture di Unity.

Page 13: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

12

Tek

no

logi

Gam

e |

9/1

5/2

01

2

9. Buka folder Orthello Objects Sprite, drag ke hierarchy

10. Sehingga di tab project tampak seperti berikut

Rename menjadi SpriteBackground dengan cara klik kanan rename

Page 14: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

13

Tek

no

logi

Gam

e |

9/1

5/2

01

2

11. Pada property dari SpriteBackground, di bagian inspector cari property image

12. Drag titleScreen ke property Image

13. Gunakan zoom-in zoom-out dengan scroll mouse pada tab scene, hasilnya seperti berikut

Page 15: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

14

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Menambahkan button 1. Drag buttonBackground.png ke folder texture di unity

2. Tambahkan 1 buah Sprite objek ke bagian hierarcy kemudian ubah nama menjadi SpriteButton

Kemudian drag buttonBackground ke property dari SpriteBackground

Ubah depthnya menjadi -1

Depth diset -1 artinya bahwa objek ini akan terletak di atas tombol yang memiliki depth =0, semakin

besar nilai depth maka suatu objek akan semakin jauh dari posisi user.

3. Maka di tab scene tampak sebagai berikut

Page 16: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

15

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Menambahkan Bitmap Font 4. Cek folder font yang sudah anda dapatkan, disana terdapat 2 file, yaitu

5. Buat folder font dibawah folder texture di unity

6. Drag file ComicSansBitmap.fnt dan ComicSansBitmap.png kedalam folder font yang sudah dibuat

7. Drag SpriteAtlas-Cocos2D-fnt ke tab hierarchy, prefabs ini terletak di folder Orthello Objects

Sprites SpriteAtlas

Page 17: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

16

Tek

no

logi

Gam

e |

9/1

5/2

01

2

8. Cek di tab Hierarchy pada objek OT Containers terdapat 1 buah tambahan objek baru, bila di cek

di Inspector maka jenisnya adalah OTSprite Atlas BMFont Xml

9. Ubah nama dari Container (id=-18106) menjadi ComicSans

10. Agar bitmap dari font anda di mapping, drag ke Atlas Data File file ComicSansBitmap.png anda

Sehingga hasilnya seperti berikut

Page 18: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

17

Tek

no

logi

Gam

e |

9/1

5/2

01

2

11. Drag TextSprite ke Hierarchy untuk digunakan menampilkan tulisan, rename menjadi

FontComicSans

Pada bagian Inspector untuk objek ComicSans cari property Sprite Container, drag ComicSans ke

property ini

Page 19: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

18

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Ubah agar posisi x dan y menjadi 10 dan 50 (misal), scale menjadi 2 maka akan tampak seperti

berikut

Pada inspector

12. Ubah agar FontComicsSans menjadi child object dari SpriteButton

Page 20: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

19

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Membuat Prefabs 1. Tambahkan folder prefabs di Tab Project anda

2. Drag SpriteButton ke folder Prefabs

Maka akan menjadi berikut

3. Maka anda sudah memiliki 1 buah prefabs untuk template pembuatan button

Page 21: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

20

Tek

no

logi

Gam

e |

9/1

5/2

01

2

4. Tambahkan 1 buah button lagi, dimana button kedua diambil dari prefabs yang sudah anda buat

5. Untuk button yang sebelah kiri ubah namanya di tab project menjadi ButtonPlay

6. Untuk button sebelah kanan ubah namanya di tab project menjadi ButtonExit

Page 22: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

21

Tek

no

logi

Gam

e |

9/1

5/2

01

2

7. Pilih FontComicSans yang merupakan child objek dari ButtonExit, pada Inspector cari property Text,

ubah menjadi Exit

8. Pilih juga FontComicSans yang merupakan child objek dari ButtonPlay, pada Inspector cari property

Text, ubah menjadi Play. Coba anda perhatikan pada tab Scene

9. Tampak bahwa play dan exit tulisannya terlalu besar, pilih FontComicSans yang merupakan child

objek dari SpriteButton di folder prefabs, lihat pada property Scale, ubah nilai X menjadi 0.008 dan Y

menjadi 0.02.

Page 23: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

22

Tek

no

logi

Gam

e |

9/1

5/2

01

2

10. Ubah juga position, untuk x menjadi 0.02 dan y menjadi 0

11. Tampak bahwa sekarang tampilan tulisan sudah didalam tombol

Position untuk FontComicSans karena merupakan child objek dari SpriteButton, maka posisi x dan y

diukur berdasarkan ukuran dari SpriteButton

Scale berfungsi untuk melakukan melakukan perbesaran/pengecilan ukuran.

Page 24: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

23

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Resolusi Screen 1. Apabila anda perhatikan, tampak area hitam yang tersisa diantara gambar dan kotak berwarna

kuning, warna kuning adalah resolusi yang hendak kita ambil, oleh karena itu, pilih objek OT

kemudian View

2. Coba anda cek berapa scale dari SpriteBackground (ditempat saya 1024x512).

3. Oleh karena itu ukuran PixelPerfectResolution juga harus disamakan, cari property Pixel Perfect

Resolution di Inspector dari object View, ubah nilai Y menjadi 512

Page 25: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

24

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Latihan 1. Tambahkan 1 buah scene lagi dengan nama Instructions, gunakan gambar Instructions.png untuk

membuat background, Instructions scene tidak menggunakan tombol apapun

2. Tambahkan 1 buah scene lagi dengan nama GamePlay, gunakan gambar GamePlayBackground.png

untuk membuat background. Disini juga tidak menggunakan tombol apapun.

Page 26: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

25

Tek

no

logi

Gam

e |

9/1

5/2

01

2

Event Handling di Unity

Untuk menangani event handling di OrthelloFramework yang berjalan di Unity, kita akan menggunakan

C# (baca CSharp). Dengan bantuan editor MonoDevelop atau Visual Studio.

Script untuk MainMenu 1. Pastikan Scene yang anda pilih adalah MainMenu, jika belum maka double klik MainMenu. Kita

masih mirip seperti gambar

Double klik pada MainMenu di tab Project agar MainMenuScene terpilih.

2. Buat 1 buah folder lagi dengan nama Scripts

Page 27: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

26

Tek

no

logi

Gam

e |

9/1

5/2

01

2

3. Klik pada tombol Create, kemudian pilih C# Script, kemudian beri nama MainMenu

4. Dragdrop Script MainMenu ke objek Main Camera

Page 28: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

27

Tek

no

logi

Gam

e |

9/1

5/2

01

2

5. Coba anda piliih Main Camera, cek pada Inspector, maka script MainMenu sudah menjadi

component dari Main Camera

6. Untuk membuka editor double klik pada script MainMenu

7. Maka anda akan mendapatkan script MainMenu.cs seperti gambar berikut

Kelas MainMenu adalah kelas turunan MonoBehaviour, jika anda menggunakan JavaScript maka

secara otomatis akan merupakan turunan dari MonoBehaviour, tapi jika menggunakan C# atau Boo

anda harus menuliskan di kode program bahwa suatu kelas turunan MonoBehaviour, dimana disini

ditulis dengan kode program

: MonoBehaviour

Method Start Method ini adalah method yang dipanggil sebelum method update dipanggil untuk yang pertama kali.

Start hanya dipanggil sekali pada setiap Behaviour.

Method Update Method ini adalah method yang dipanggil setiap frame ketika sebuah behavior bersifat enable. Update

adalah fungsi yang umumnya digunakan untuk menuliskan logic atau behavior dari objek.

Page 29: Teknologi Gameelearning.amikom.ac.id/index.php/download/materi/190302158-DT070-99... · Pastikan anda sudah mendapatkan Orthello 2D Framework.unitypackage di komputer anda. Orthello

28

Tek

no

logi

Gam

e |

9/1

5/2

01

2

8. Deklarasikan field bertipe OTSprite dengan nama buttonPlay untuk menghubungkan dengan

GameObject ButtonPlay yang terdapat di hierarchy

private OTSprite btnPlay;

9. Deklarasikan juga field bertipe OTSprite dengan nama buttonExit

private OTSprite btnExit;

Menghubungkan Field dengan GameObject 1. Untuk menghubungkan field buttonPlay dengan GameObject ButtonPlay maka tambahkan kode

program berikut dimethod update

if(btnPlay==null)

btnPlay=GameObject.Find("ButtonPlay").GetComponent<OTSprite>();

Sehingga kode program di method Update menjadi seperti kode program berikut

void Update () {

if(btnPlay==null)

btnPlay=GameObject.Find("ButtonPlay").GetComponent<OTSprite>();

}

Kode program diatas dibaca :

Apabila field btnPlay masih null atau belum diinisialisasi maka field btnPlay akan diinisialisasi dengan

memanggil method Find dari kelas GameObject, dimana GameObject yang dicari bernama

ButtonPlay, kemudian memanggil method GetComponent yang bertipe OTSprite untuk

mendapatkan kelas OTSprite di GameObject ButtonPlay

Latihan 1. Tuliskan kode program untuk menghubungkan field btnExit dengan GameObject ButtonExit