Mobile Game
Mobile Game
Mobile Game
Tujuan
• Mengenal game
• Mengenal Unity 3D
• Membuat game
Kontrak Perkuliahan
• Pertemuan 1 s.d 10 disampaikan dengan Metode
Ceramah, Metode Diskusi dan praktek
• Pertemuan 10 mahasiswa diharapkan mengumpulkan
desain atau aplikasi game sederhana dalam bentuk file
dan makalah (kelompok) kedalam Google Drive. Game
diupload di kanal Youtube. Software bebas
• Pertemuan 11 s.d 15 disampaikan dengan Metode
Presentasi
.
Sumber Referensi
• Winarno, Edy, dkk 2015. Membuat Game Android
dengan Unity 3D. Jakarta: PT Elex Media Komputindo.
Referensi pendukung
2. Samuel Henry
Game merrupakan suatu bentuk hiburan yang seringkali dijaikan sebagai
penyegar pikiran dari rasa penat yang disebabkan oleh aktivitas dan rutinitas
kita.
3. John Naisbitt
Game merupakan sistem partisipatoris dinamis karena game memiliki
tingkat penceritaan yang tidak dimiliki film.
4. Andik Susilo
Game adalah salah satu candu yang susah dihilangkan, bahkan ada yang
mengatakan bahwa candu game online setara dengan narkoba.
Jenis-jenis Game:
Menurut Sulistyo (2010), ada beberapa jenis platform di dunia game yang
selalu dipilih oleh pengguna games, yaitu:
1. Arcade games, yaitu yang sering disebut ding-dong di Indonesia, biasanya
berada di daerah tempat khusus dan memiliki box atau mesin yang memang
khusus di design untuk jenis video games tertentu dan tidak jarang bahkan
memiliki fitur yang dapat membuat pemain- nya lebih merasa masuk dan
menikmati, seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir
mobil (beserta transmisinya tentunya).
2. PC Games , yaitu video game yang dimainkan menggunakan Personal
Computers.
3. Console games, yaitu video games yang dimainkan menggunakan console
tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii.
4. Handheld games, yaitu yang dimainkan di console khusus video game yang
dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.
5. Mobile games, yaitu yang dapat dimainkan atau khusus untuk mobile phone
atau PDA.
Genre Game
Game dibagi atas beberapa genre, diantaranya yaitu :
1.Action Shooting (tembak–menembak): permainan pada genre ini
menunjukan aksi yang cukup memiliki konten kekerasan tinggi, dimana
terdapat aksi tembak menembak, memukul, bisa juga tusuk-tusukan,
tergantung cerita dan tokoh di dalamnya. Pada permainan jenis ini,
pemain memerlukan kecepatan dalam reflex serta kordinasi yang baik
dalam memainkannya. Contoh : PB (Point Blank), CS (Counter Strike)
dan Crysis.
2. Fighting (pertarungan). Ada yang mengelompokan permainan genre
fighting dibagian Aksi, namun penulis berpendapat berbeda, permainan
ini memang memerlukan kecepatan refleks dan koordinasi mata dan
tangan,tetapi inti dari permainan ini adalah penguasaan pada jurus atau
special action (hafal caranya dan lancar mengeksekusinya), pengenalan
karakter dan timing sangatlah penting, combo-pun menjadi cara untuk
mengalahkan lawan secepat mungkin.
Contoh : Naruto, Dragon Ball, Mortal Kombat dan Tekken.
3. Adventure (Petualangan). Permainan genre ini merupakan permainan yang
melakukan penjelajahan seperti memanjat, menulusuri hutan, meloncati
tebing yang terpisah jurang, berayun dari pohon ke pohon lainya, bergulat
melawan tanaman atau pun hewan liar demi mencari clue atau petunjuk menuju
rintangan berikutnya. Adapun yang bertualang diantara jalan jalan
perkotaan sekedar mencari tongkat kayu ataupun sabuk untuk membuat alat
untuk misi berikutya, itulah beberapa dari banyak hal yang karakter pemain
harus lakukan dan lalui dalam permainan jenis ini.
Contoh : Kings Quest, dan Space Quest.
Unsur-unsur Game
Game terdiri dari berbgai unsur dasar yang dipadukan sehingga
menciptakan suatu pengalaman yang menarik, adapun komponen-komponen game
antara lain:
1. Fitur
Fitur merupakan suatu hal yang menggambarkan game kedalam bentuk
bentuk yang dapat dilihat maupun dirasakan.
2. Gameplay
Gameplay merupakan cara kerja suatu game, dimana fitur-fitur yang ada
akan membentuk suatu gameplay. menggambarkan jalan cerita
pada sebuah game.
3. Interface
Interface merupakan semua bentuk tampilan yang ada pada sebuah game.
Interface yang baik akan membuat pemainya betah dan tidak bosan dalam
memainkan game.
4. Aturan (rules)
Rules merupakan sekumpulan aturan yang ada dalam memainkan sebuah
game.
5. Desain level
Desain level merupakan tingkat kesulitan yang menggambarkan jalan cerita
pada sebuah game.
2. Pengenalan Unity 3D
Unity adalah game engine yang cukup dikenal. Game
engine ini telah banyak digunakan baik dari kalangan
pelajar maupun penggiat game indie. Unity dapat
digunakan untuk membuat game 2D atau 3D.
A. Game Engine
6. Unreal
7. Luminous Studio
8. Crystal Tool
B. Unity 3D
C. Instalasi Unity
Berikut spesifikasi komputer yang digunakan untuk
menginstal Unity:
• Sistem operasi windows XP SP2+, 7 SP2+, 8, 10 dan
Mac OS X, 10.8+. Tidak termasuk windows Vista.
• Kartu grafis yang mendukung Direct X 9 atau kartu
grafis setelah 2004.
D. Menggunakan Unity
Berikut langkah-langkah menggunakan Unity:
1. Klik ikon Unity. Terkadang pengguna harus membuka
blok dari firewall supaya Unity dapat digunakan.
2. Sebelum menggunakan Unity, pilih tipe akun Unity.
Untuk menggunakan Unity secara gratis, klik Unity
Personal Edition.
3. Pengguna akan diberikan pilihan tujuan penggunaan
Unity. Klik pilihan paling bawah supaya dapat
menggunakan Unity secara gratis. Klik Next.
Mengenal Unity 3D (lanjutan)
2) Shortcut
Merupakan bagian dari Unity yang digunakan untuk
memudahkan pengguna dalam membuat project.
Shotcut
merupakan jalan singkat dari beberapa pilihan menu.
#pragma strict
C. Menambahkan Gunung
D. Menambahkan Material
C. Menambahkan Suara
var attackRepeatTime = 1;
private var attackTime : float;
function attack ()
{
if (Time.time > attackTime)
{
Target.SendMessage (“ApplyDamage”, Damage);
Debug.Log (“Melakukan serangan”);
attackTime = Time.time + attackRepeatTime;
}
}
5. Selanjutnya buka skrip EnemyLogic dari object Enemy
6. Ubah bagian ApplyDamage menjadi seperti berikut
function ApplyDammage(Dammage:int)
{
Health-=Dammage;
}
8. Salin skrip lengkap dari Enemylogic
9. Tambahkan komponen Javascript pada objek Player
dengan nama “Playerlogic”
10. Buka skrip PlayerLogic dan ganti semua skripn default
dengan skrip yang telah disalin
11. Klik tombol Play untuk menguji game
12. Jika karakter mendekati musuh, musuh akan
menyerang dan mengeluarkan pesan serangan
13. Setelah serangan ketiga, objek player akan hilang dari
jendela Game, dikarenakan musuh telah melakukan
serangan sebanyak 105 poin yang berarti melebihi
nyawa objek Player yang hanya 100
14. Pengguna akan mendapatkan pesan lain karena
menghilangnya objek player
15. Buka kembali sktip PlayerLogic
16. Ubah fungsi Dead menjadi seperti
function Dead()
{
Debug.Log (“Karakter Terbunuh”);
}
17. Skrip lengkap dari Playerlogic
#pragma strict
F. Membuat Pintu
#pragma strict
function update ()
{
}
#pragma strict
function changeDoorState()
{
if (doorIsClosed == true)
{
theDoor.GetComponent.<Animation>().CrossFade("Open");
theDoor.GetComponent.<AudioSource>().Play();
Debug.Log("Pintu Terbuka");
doorIsClosed = false;
yield WaitForSeconds (3);
theDoor.GetComponent.<Animation>().CrossFade("Close");
theDoor.GetComponent.<AudioSource>().Stop();
doorIsClosed = true;
Debug.Log("Pintu Tertutup");
}
}
20. Tampilan lengkap skrip membuka pintu
21. Selanjutnya membuat animasi membuka pintu. Klik objek
polySurface1 dan buka jendela Animation. Buat animasi
dengan nama “Open”
23. Tambahkan komponen Rotation pada jendela Animation
24. Ubah center menjadi pivot pada pilihan di sebelah tool
shortcut
25. Buat pintu terbuka di titik 20 detik dan hapus key di titik 1
menit
26. Klik Ctrl+S untuk menyimpan animasi
27. Buat lagi animasi dengan nama “Close”
28. Buat posisi terakhir dari animasi Open sebagai titik 0
29. Kemudian buat posisi pintu menutup di titik 20
30. Jadikan animasi Open dan Close sebagai Legacy jika
keluar peringatan untuk membuat animasi menjadi
Legacy
31. Tambahkan komponen Animation di objek Door
32. Daftarkan animasi seperti gambar
33. Pada objek Trigger daftarkan objek Door dalam
komponen DoorLogic
34. Klik tombol Play untuk menjalankan game
35. Jika melakukannyan dengan benar, pintu akan terbuka
saat mengklik tombol E dan dalam beberapa detik akan
tertutup kembali
Membuat Sistem Game (lanjutan)
G. Membuat Menu Respawn
function Start ()
{
lookAround01 =
gameObject.GetComponent(MouseLook);
lookAround02 =
Gameobject.Find(“MainCamera”).GetComponent(MouseLook);
charController =
gameObject.GetComponent(CharacterController);
}
function Update ()
{
if (playerIsDead == true)
{
lookAround01.enabled = false;
lookAround02.enabled = false;
charController.enabled = false;
}
}
Finishing
Finishing (lanjutan)
A. Menambahkan Tangan Untuk Karakter
#pragma strict
var currentWeapon =0;
var maxWeapons = 2;
var theAnimator : Animator;
function Awake ()
{
SelectWeapon (0);
}
10. Klik Melee dan lihat pad jendela Inspector terdapat The Animator
yang masih kosong.
11. Drag object Arms05 ke dalam The Animator
12. Klik tombol Play untuk menguji game
13. Pengguna dapat mengganti senjata dengan scroll
mouse aau menekan tombol 1-3. Pada saat memegang
senjata tangan, tangan akan akan menggenggam
sedangkan tanpa senjata tangan akan terbuka
14. Ketik skrip supaya serangan karakter dapat melukai
musuh. Buat Javascript di Melee dengan nama
“NewMeleeSystem” atau nama yang diinginkan
15. Ketik variabel seperti berikut
var TheDammage : int = 50;
private var Distance : float;
var MaxDistance : float = 1.5;
var TheAnimator : Animator;
var DammageDelay : float = 0.6;
16. Tambahkan variabel lain
function Update ()
{
if (Input.GetButtonDown("Fire1"))
{
AttackDammage();
}
}
18. Buat fungsi AttackDammage seperti berikut
function AttackDammage ()
{
if (Random.value >= 0.5 && Hit01Streak <= 2)
{
TheAnimator.SetBool("Hit01", true);
Hit01Streak += 1;
Hit02Streak = 0;
}
else
{
if (Hit02Streak <= 2)
{
TheAnimator.SetBool("Hit02", true);
Hit01Streak = 0;
Hit02Streak += 1;
}
else
{
TheAnimator.SetBool("Hit01", true);
Hit01Streak += 1;
Hit02Streak = 0;
}
}
yield WaitForSeconds(DammageDelay);
//Actual attacking
var hit : RaycastHit;
var ray = Camera.main.ScreenPointToRay(Vector3(Screen.width/2,
Screen.height/2, 0));
if (Physics.Raycast (ray, hit))
{
Distance = hit.distance;
if (Distance < MaxDistance)
{
hit.transform.SendMessage("ApplyDammage",
TheDammage, SendMessageOptions.DontRequireReceiver);
}
}
TheAnimator.SetBool("Hit01", false);
TheAnimator.SetBool("Hit02", false);
}
19. Klik objek Melee untuk membuka jendela Inspector
20. Pada bagian The Animator tambahkan Arms05
21. Klik tombol Play untuk menguji game
22. Sekarang karakter dapat menyerang dan melukai
musuh
Pertemuan 10
Finishing (2)
Finishing (lanjutan)
http://www.oracle.com/technetwork/java/javase/downloads/
Jdk8-downloads-2133151.html