Showing posts with label Download. Show all posts
Showing posts with label Download. Show all posts

Friday, 25 September 2015

Proyek 2 : Download File Game "My Balloon"



Seperti biasa agar lebih mudah belajar membuat game, vcg sudah menyiapkan file mentah dari proyek game "My Balloon" untuk diunduh. 

Game ini boleh dengan bebas merubah judul, nama game, isi dan boleh digunakan secara pribadi untuk proses pengembangan ataupun pembuatan sebuah game.

Download File Game "My Balloon"

MEDIAFIRE - 5 MB



Game "My Balloon" adalah game 3 dimensi bergenre First Person Shooter, dalam permainan pemain diharapkan dapat menembak balon dan mengumpulkan banyak point dimana balon akan muncul secara acak dari bawah arena.


Proyek game ini juga sudah dijelaskan tahapan pembuatannya :
Part 1 :  Proyek 2 : Free Game "My Balloon" [part 1/3]
Part 2 :  Proyek 2 : Free Game "My Balloon" [part 2/3]
Part 3 :  Proyek 2 : Free Game "My Balloon" [part 3/3]

Proyek 2 : Free Game "My Balloon" [part 2/3]


Tutorial lanjutan dari Tutorial Proyek 2 : Free Game "My Balloon" [part 1/3]



MULAI

Pada tahap ini vcg akan menjelaskan proses desain pada game "My Balloon".




vcg sudah membuat sebuah arena sederhana dengan menggunakan Blender.




Masukkan objek Arena ke folder Models.




Atur Scale Factor Arena menjadi 1 atau sesuai selera.



Tambahkan komponen Mesh Collider pada objek Arena, ini berguna agar pemain tidak menembus Arena. Component - Physics - Mesh Collider.




Tahap selanjutnya adalah membuat balon, buat Objek kosong, ubah nama menjadi Balloon.




1. Tambahkan 2 objek ke dalam Balloon yaitu Sphere dan Cloth, atur cloth dan posisikan satu ujung cloth menempel tepat pada sphere.

2. Klik cloth dan atur posisi angin serta tekanan angin.

3. Pada bagian Attached Colliders, masukkan objek Sphere ke kotak Collider, ini digunakan agar ujung cloth menempel pada objek sphere.





Masuk ke folder Material buat 4 material yaitu : Blue, Green, Red dan Yellow atur warna sesuai nama material.




Pertama duplikat objek Balloon menjadi 3 dan ubah nama "Balloon 1", "Balloon 2" dan "Balloon 3". Jika sudah ubah warna balon sesuai selera.




Jika sudah diwarnai, masukkan 3 objek Ballon tadi ke Folder "Prefabs". Karena Balloon yang ada di jendela hirarki sudah tidak dipakai, vcg menyarankan untuk menghapusnya.



SELESAI


Part 3 : Proyek 2 : Free Game "My Balloon" [part 3/3]

Proyek 2 : Free Game "My Balloon" [part 3/3]


Pada tutorial part 2 : Proyek 2 : Free Game "My Balloon" [part 2/3] , sudah dibuat desain model yang akan digunakan.



MULAI

Part 3 adalah tahap penutupan tentang bagaimana agar objek Balloon dapat bergerak dan diproses di dalam game.




Pertama, buka setiap Balloon yang ada di dalam folder Prefabs, Klik pada setiap objek Sphere dan berikan Tag Name "Enemy".




Tutup kembali Balloon, dan sekarang tambahkan script "EnemyDestroy" dan "EnemyMoveY" ke 3 objek Balloon di folder Prefabs.




Masih 3 objek Balloon tadi, sekarang tambahkan komponen Sphere Collider.




Jika sudah, klik objek GameSettings pada jendela Hirarki, lihat jendela Inspektor - Enemy Manager - Balon. Beri nilai 3 pada size dan masukkan objek Balloon yang ada di Prefabs ke kotak Element.




Tambahkan UI Text untuk membuat tampilan score.




Atur Text berada di tengah atas layar.

Buat C# Script baru "ScoreManager", buka script dan tambahkan baris program berikut :

A. ScoreManager.cs
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ScoreManager : MonoBehaviour {

                public static int score;
               
                public Text textScore;
               
                void Start(){
                                score = 0;
                }
               
                void Update(){
                                textScore.text = "Score = " + score;
                }

}


Kemudian buka juga script "PlayerShooter", hapus tanda "//" pada baris ScoreManager.score.

ScoreManager.score += 1;




Tambahkan script "ScoreManager" ke objek GameSettings, klik GameSettings kemudian lihat jendela inspektor - Score Manager (Script).

Masukkan UI Text ke kotak kosong Text Score.




Jalankan Game dan mulai mainkan.


Download juga File Mentah dari Proyek Game "My Balloon", setelah di download silahkan kembangkan game menjadi lebih keren.

Download : File Game "My Balloon" .




SELESAI




Proyek 2 : Free Game "My Balloon" [part 1/3]


Tutorial ini adalah tutorial intermediate jadi sebelum memulai tutorial diharapkan sudah memahami tutorial tingkat basic.


MULAI

Game "My Balloon" adalah game 3 dimensi yang dimana pemain harus menembak balon sebanyak-banyaknya untuk menambah point.




Tahap pertama buat beberapa folder yang akan digunakan, yaitu : Scenes, Scripts, Audios, Material, Models, Prefabs dan Texture.

Selanjutnya masuk ke folder Scripts dan buat C# Script "PlayerShooter", buka script masukkan listing program berikut :

A. PlayerShooter.cs
using UnityEngine;
using System.Collections;

public class PlayerShooter : MonoBehaviour {
               
                Ray ray;
                RaycastHit hit;

                AudioSource suaraPistol;
               
                public AudioClip clipPistol;
               
                void Awake(){
                                suaraPistol = GetComponent<AudioSource>();
                }
               
                void Update(){
                                if(Input.GetMouseButtonDown(0)){
                                                suaraPistol.clip = clipPistol;
                                                suaraPistol.Play();
                                               
                                                ray.origin = transform.position;
                                                ray.direction = transform.TransformDirection(Vector3.forward);
                                               
                                                if(Physics.Raycast(ray, out hit, Mathf.Infinity)){
                                                                if(hit.collider.gameObject.tag == "Enemy"){
                                                                                Destroy(hit.collider.gameObject);
                                                                                ScoreManager.score += 1;
                                                                }
                                                }
                                               
                                                Debug.DrawRay(transform.position, transform.TransformDirection(Vector3.forward) * 100, Color.red);
                                }
                }

}

Save script dan masuk kembali ke unity, akan muncul error tentang baris perintah "ScoreManager", alasannya karena belum dibuat script "ScoreManager". Untuk mencegah error tambahkan printah "//" pada baris ScoreManager.score.

Pemberian tanda hanya sementara setelah script "ScoreManager" dibuat tanda dihapus.
//ScoreManager.score += 1;




Langkah kedua adalah tambahkan beberapa komponen ke jendela game.

1. First Person Controller.
Buka FPS dan berikan script "PlayerShooter" ke objek Main Camera yang ada di dalam FPS, tambahkan juga komponen AudioSource. Kemudian hapus Main Camera yang ada di luar FPS.

Pada scrip "PlayerShooter" terdapat kotak kosong untuk "Clip Pistol", masukkan suara pistol ke kotak tersebut, jadi ketika menembak suara pistol akan dijalankan.


2. UI Image
Tambahkan UI Image dan ubah nama menjadi "Crosshair", atur posisi cross hair berada di tengah layar dan atur juga anchor point Crosshair di posisi tengah. Ubah texture UI Image menjadi Crosshair.png. Untuk texture crosshair dapat dicari di google gambar.

3. Tambahkan directional light untuk pencahayaan

4. Tambahkan objek alas menggunakan objek Cube.

5. Ubah texture langit dengan Sky Boxes, klik Asset - Import Package- Skyboxes. Untuk mengganti langit klik Edit - Render Settings - Skybox Material.




Klik objek FPS dan lihat jendela inspektor, pada bagian Character Motor(Script) - Movement, ubah nilai menjadi 0 , berguna agar pemain tidak dapat berjalan, hapus ceklis pada bagian Jumping dan Moving platform juga.





Maka hasilnya pada jendela scene seperti gamabr di atas.




Dan ini hasil dilihat dari jendela game.




Klik objek apa saja, kemudian buat Tag Name baru, klik Untagged - Add Tag, kemudian tambah tag baru "Enemy".





Tahap percobaan apakah Raycast sudah dapat dibuat ketika klik kiri ditekan, jalankan game dan coba klik kiri, jika keluar garis merah pada jendela Scene maka Raycast berhasil dibuat.




Tahap ketiga adalah buat objek kosong dan beri nama "GameSettings". Create - Create Empty.





Buat 3 C# Script baru yaitu : EnemyDestroy.cs, EnemyManager.cs dan EnemyMoveY.cs. Tambahkan script "EnemyManager" ke objek GameSettings.

Buka masing-masing script dan masukkan listing program berikut :

B. EnemyDestroy.cs
using UnityEngine;
using System.Collections;

public class EnemyDestroy : MonoBehaviour {

                void Update () {
                                Destroy(gameObject, 8);
                }

}


C. EnemyManager.cs
using UnityEngine;
using System.Collections;

public class EnemyManager : MonoBehaviour {

                public GameObject[] balon;

                float timer;
               
                void Update(){
                                timer += Time.deltaTime;
                               
                                int xPointRespawn = Random.Range(-20, 20);
                                int zPointRespawn = Random.Range(-20, 20);
                                int pointBalon = Random.Range(0, balon.Length);
                               
                                if(timer >= 1){
                                                timer = 0;
                                               
                                                Instantiate(balon[pointBalon], new Vector3(xPointRespawn, -2f, zPointRespawn), Quaternion.identity);
                                }
                }

}


D. EnemyMoveY.cs
using UnityEngine;
using System.Collections;

public class EnemyMoveY : MonoBehaviour {

                void Update () {
                                transform.Translate(0f, 2 * Time.deltaTime, 0f);
                }

}



Oke, Tahap Persiapan selesai.

SELESAI




Part 2 : Proyek 2 : Free Game "My Balloon" [part 2/3]


Wednesday, 10 June 2015

Proyek 1 : Download File Game "Island Miracle"



Agar lebih memahami pembuatan sebuah game di dalam aplikasi Unity, selain disiapkan tutorial proyek game disiapkan juga file download proyek game yang sudah dibuat.

Download File Game "Island Miracle"




Game "Island Miracle" adalah sebuah game sederhana bergenre FPS dimana sudut pandang utama adalah pengguna atau pemain. Dalam game ini pemain harus mencari dan mengumpulkan 5 buah kristal , jika sudah mengumpulkan semua maka akan ditampilkan jendela berhasil.

Game ini juga sudah dibuat pembahasannya di :

Proyek 1 : Free Game "Island Miracle" [part 3/3]


Pada part ini akan dijelaskan logika dalam listing program game "Island Miracle".

Dimana pada tutorial Proyek 1 : Game "Island Miracle" [part 2] sebelumnya sudah dibahas cara penyimpanan script.

1. HideCursor.cs
using UnityEngine;
using System.Collections;

public class HideCursor : MonoBehaviour {

  void Start () {
Screen.showCursor = false;
}
}

Penjelasan : 
Script ini digunakan untuk menghilangkan kursor. Ingin kursornya ada, hapus script atau ganti false jadi true.


2. CrystalCollect.cs
using UnityEngine;
using System.Collections;

public class CrystalCollect : MonoBehaviour {

  void OnTriggerEnter(Collider other){
if(other.gameObject.tag == "Kristal"){
Destroy(other.gameObject);
ScoreManager.score += 1;
}
}
}

Penjelasan :
Disini digunakan method void OnTriggerEnter(), berguna untuk mendeteksi benturan antar objek melalui Collider. "Enter" menandakan proses deteksi dijalankan ketika kedua objek saling bertubrukan pada awal proses.

Method yang digunakan untuk mendeteksi tubrukan melalui Collider ada 2 yaitu void OnTrigger dan void OnCollision.



if(other.gameObject.tag == "Kristal"){}

dibacanya "Jika yang ditubruk adalah objek yang memiliki nama tag = Kristal maka......"

Destroy(other.gameObject);
Maka objek tersebut dihancurkan.

ScoreManager.score += 1;
Fungsi ini adalah teknik pemanggilan variabel static yang ada di class/ file lain.
variabel static score ada pada class ScoreManager.cs,  Maka untuk memanggilnya pertama tulis dulu NamaKelas.namaVariabel;


Disini score ditambah 1 jika pemain menabrak objek Crystal.



3. ScoreManager.cs
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ScoreManager : MonoBehaviour {

  public static int score;
public Text text;

void Update(){
text.text = "Crystal  " + score + "/5";

if (score >= 5){
text.text = "BERHASIL";
}
}
}

Penjelasan :
Pada score manager akan diakses komponen UI Text maka pada header script ditambahkan "using UnityEngine.UI".

public static int score;
Dibuat sebuah variabel static bernama score.
BACA JUGA : Variabel C# Unity

public Text text;
Komponen UI Text akan diakses di dalam listing program oleh variabel text. Diberikan modifier akses "public" agar nantinya Komponen UI Text yang akan diakses oleh variabel text cukup dilakukan drag and drop pada jendela Unity.

text.text = "Crystal " + score + "/5";
text yang pertama adalah variabel "text" yang sudah mengakses komponen UI Text. Dan text yang kedua adalah fungsi untuk memberi nilai string pada variabel "text".


Proyek 1 : Free Game "Island Miracle" [part 2/3]

Tutorial lanjutan dari proyek "Island Miracle" : Proyek 1 : Game "Island Miracle" [part 1] 


MULAI
Buat komponen UI Text dan ubah text menjadi "Score" atau bebas sesuai selera, karena nantinya text ini akan diubah melalui listing program. Dan atur Anchor pointnya berada di tengan-atas layar.



Buat objek kosong dan beri nama "Penampungan Script", fungsi objek ini untuk menyimpan semua script-script di dalam game, tapi script yang hanya bisa ditampung ke sana adalah script yang bebas posisinya dalam artian script ini dapat dikasih ke objek mana saja dan tidak membuat game error.

Buat dan copy-paste 3 buah C# Script seperti pada listing program di bawah :

1. HideCursor.cs
using UnityEngine;
using System.Collections;

public class HideCursor : MonoBehaviour {

  void Start () {
Screen.showCursor = false;
}
}

2. CrystalCollect.cs
using UnityEngine;
using System.Collections;

public class CrystalCollect : MonoBehaviour {

  void OnTriggerEnter(Collider other){
if(other.gameObject.tag == "Kristal"){
Destroy(other.gameObject);
ScoreManager.score += 1;
}
}
}


3. ScoreManager.cs
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ScoreManager : MonoBehaviour {

  public static int score;
public Text text;

void Update(){
text.text = "Crystal  " + score + "/5";

if (score >= 5){
text.text = "BERHASIL";
}
}
}


Contoh Script yang bebas posisi adalah HideCursor.cs dan ScoreManager.cs. 
Tambahkan script HideCursor.cs dan ScoreManager.cs ke objek Penampung Script dan Script CrystalCollect.cs ke objek First Person Controller (pemain).


Klik pada penampung script, lihat jendela inspektor. Pada bagian Score Manager (script) kotak Text masih kosong, tambahkan UI text "Score" dari canvas.

Untuk memahami script di atas dibahas pada part 3 : Proyek 1 : Game "Island Miracle" [part 3]


Jika sudah jalankan game dan mulai bermain.
Data atau File mentah proyek game ini dapat di download disini : DOWNLOAD .





SELESAI