Selasa, 07 Juli 2015

Laporan Membuat Pacman dengan Dasar Roll a Ball pada Unity

Workshop Produksi Game 4
“PACMAN”

Jhorgy Reza Pratama    (4210131006)
Mochammad Eko Prasetyo (4210131020)
2 D4 Game Technology
Prodi D4 Teknologi Game
Departemen Multimedia Kreatif
PoliteknikElektronikaNegeri Surabaya
2015



  • Tujuan
  • Mahasiswa mampu membuat game tentang pacman
  • Mahasiswa mampu mengetahui tentang AI pada game pacman

  • Dasar Teori
Pacman membuat penampilan perdananya di arcade pada tahun 1979 di Jepang di bawah Man Puck judul, berasal dari Jepang PakuPaku yang menunjukkan tindakan membuka dan menutup mulut. Permainan, yang diciptakan oleh Tohru Iwanati bagi perusahaan Namco Jepang, dibuat-Nya Release 22 Mei 1980 di Jepang dan memiliki keberhasilan legendaris segera dengan 100.000 unit terjual tahun itu.
        Pada tahun 1981, MS Pacman dibuat keluar untuk menarik pemain, mayoritas Alih-alih menjadi pemain laki-laki. Pada tahun 1982, Super PacMan dan Lagi PacMan yang muncul. Kedua ekstensi ditandai oleh pengenalan faktor acak, dan penggantian pelet dengan buah. Kemudian Pac dan Pal, Junior Profesor PacMan dan PacMan membuat penampilan mereka pada tahun 1983. Profesor PacMan akan gagal karena hanya 400 terminal akan diproduksi. Kegagalan terus tahun berikutnya dengan peluncuran Pacland, terinspirasi serial TV yang menawarkan apa-apa menarik untuk dilakukan kepada pemain. Ini adalah akhir dari era PacMan setelah 4 tahun telah menandai sejarah game. Pada tahun 1988, PacMan perlahan-lahan kembali di pasar dengan merilis PacMania tersedia di Megadrive dan SPN. Namco sedang mencoba untuk berinovasi hal ini permainan 3D termasuk memberikan kemungkinan untuk PacMan melompat, tapi permainan memiliki banyak bug, termasuk tidak bisa drop beberapa pil atau hantu tampaknya lebih dari 4. Kembali ke 2D pada tahun 1993 dengan rilis PacAttack Game Boy, campuran menyenangkan dari Tetris dan PacMan. permainan ini adalah stack blok hantu untuk pahlawan kami makan. Baru tiba pada tahun 1994, PacMan 2, yang merupakan hasil PacMan, dengan gameplay yang sangat terbatas.
1995 akan menjadi tahun pelepasan Pac-in-time, pada permainan platform Game Boy karena ada puluhan. Kami harus mengumpulkan tertentu pelet cukup untuk naik tingkat. Dunia PacMan paling menonjol, dirilis pada tahun 2001 di Playstation, yang semua gameplay dari Mario dalam permainan platform 3D dengan 36 tingkat ke tombol tersebut. MS Pac Man Maze Madness dan Demam PacMan juga tahun yang sama muncul di Playstation, permainan dalam MPMM laby Demam pada 3D dan multiplayer pertempuran, mana ada yang lain Namco permainan karakter. 2001 merupakan tahun yang besar keberhasilan kuning untuk Camembert.
           Pada tahun 2002, Pac Man Dunia 2 yang dirilis pada gamecube dan Playstation 2, sangat baik Permainan platform 3D belum, tetapi prinsipnya tetap tidak berubah, yang memberikan aspek berulang-ulang ke alam semesta yang mengelilingi pahlawan kita, benar atau Namco harus berinovasi! Ini akan diikuti World 3 pada tahun 2006.
Pada tahun 2005, Pac-Pix dan Pac'n'roll keluar di Nintendo DS. Dalam pix, harus menarik ke bawah hantu PacMan and roll memiliki beberapa 3D labirin tingkat.Akhirnya, PacMan Partai, dirilis pada tahun 2010 di Wii, dan terdiri dari 50 mini arcade game, untuk merayakan 30 tahun Pacman.

  • Alat & Bahan
Unity 5.1.0

  • Percobaan
  • Langkah pertama, klik GameObject3D ObjectCube
Cube disini berfungsi sebagai labirinnya dan bisa kita atur ukurannya sesuai keinginan kita
D:\Untitled.png
  • Langkah kedua silakan pilih Plane, caranya hampir sama seperti langkah pertama. Cuma disini pilih plane.
Plane disini berfungsi sebagai ground dari maze atau labirin yang kita buat. Dan berfungsi  untuk membuat Arena dalam game pacman
D:\Untitled.png

  • Langkah berikutnya yaitu pilih Sphere
Sphere disini berfunsi sebagai player dan enemy nya, ukuran nya sesuai keinginan kita
D:\Untitled.png

  • Di bawah ini adalah script dari si player
Pada game pacman, player yang kita gerakan akan bergerak  . Kita mengkontrol dengan menggunkan keyboard, script dibawah ini bisa kita masukan untuk meberikan pergerakan player.
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class PlayerController : MonoBehaviour {
    private Rigidbody rb;
    public float speed;
    private int counter;

    public Text countText;
    public Text winText;
    // Use this for initialization
    void Start () {
   
        rb = GetComponent<Rigidbody> ();
        counter = 0;
        SetCountText ();
        winText.text = " ";
    }
   
    // Update is called once per frame
    void FixedUpdate () {
   
        float moveHorizontal = Input.GetAxis ("Horizontal");
        float moveVertical = Input.GetAxis ("Vertical");

        Vector3 movement = new Vector3 (moveHorizontal,0.0f,moveVertical);
        rb.AddForce(movement*speed);
    }

    // Destroy everything that enters the trigger
   
    void OnTriggerEnter (Collider other) {
        if (other.gameObject.CompareTag ("Pick Up")) {

            other.gameObject.SetActive(false);
            counter = counter + 1;
            SetCountText ();
        }
    }

    void SetCountText(){
        countText.text = "Count: " + counter.ToString ();
        if (counter >= 10) {
       
            winText.text = "You Win";
        }
    }

}



  • Script untuk enemy
Di  game pacman sendiri si enemy yang terdapat dalam game ini akan selalu mengejar dimanapun posisi player berada dan enemy akan selalu mencari jarak terdekat menuju player.
using UnityEngine;
using System.Collections;

public class Ghost : MonoBehaviour {   
       
        // Use this for initialization
        public Transform victim;
        private NavMeshAgent navComponent;

        void Start () {
            navComponent = this.transform.GetComponent<NavMeshAgent>();
           
        }
       
        // Update is called once per frame
        void Update () {
           
            if(victim){
                navComponent.SetDestination(victim.position);
               
            }
        }
    void OnTriggerEnter(Collider player){
        if (player.gameObject.tag=="Victim") {
            Application.LoadLevel("Level1");
        }
    }
}

  • Scrip di bawah ini adalah menunjukan bahwa jika si player sudah mengambil 10 objek pada game, maka di kondisikan untuk menang
void SetCountText(){
        countText.text = "Count: " + counter.ToString ();
        if (counter >= 10) {
       
            winText.text = "You Win";


  • ini adalah tampilan game pacman yang kita buat
D:\Untitled.png

Jumat, 15 Mei 2015

Dasar projek 3d game dengan Unity

Dasar Unity 3D

Dasar Teori
    Pada percobaan ini akan dibuat sebuah arena dan karakter dengan menggunakan asset dari unity dan model 3d dan animasi yang sudah dibuat sebelumnya. Arena dibuat dengan menggunakan terrain yang diberi texture dan ditambahkan berbagai objek seperti pepohonan dan rumput. Untuk player menggunakan model 3d yang sudah dibuat dan kemudian ditambahkan karakter kontroler dari unity.

Percobaan
1. Arena
a. Tambahkan terrain pada scene dengan menggunakan GameObject -> 3D Object -> Terrain.


b. Buka inspector terrain, pada bagian terrain, pilih Raise/Lower Terrain untuk menambahkan bukit atau jurang.


c. Atur ketinggian terrain pada scene.


d. Sebelum menambahkan texture terrain, texture ditambahkan terlebih dahulu dengan mengimport texture dari unity.


e. Untuk menambahkan texture pada terrain, pilih Paint Texture - > Edit Texture -> Add Texture.


f. Pilih texture-texture yang akan digunakan.


g. Tambahkan texture ke dalam scene  dengan cara yang sama seperti sebelumnya


h. Untuk menambahkan pohon, pilih Place Trees -> Edit Trees -> Add Trees


i. Pilih model pohon yang akan digunakan.


j. Masukkan pohon pada scene.


k. Untuk rumput, gunakan Paint Details, lalu lakukan hal yang sama seperti saat menambahkan pohon.




l. Setelah terrain selesai, tambahkan skybox untuk mewarnai langit. Pertama-tama import asset skybox dari unity


m. Tambahkan component skybox yang berada pada rendering -> skybox ke kamera.


n. Pilih tipe skybox yang akan digunakan. 


o. Preview saat scene dijalankan


2. Arena
a. Tambahkan model 3D yang sudah dibuat


b. Masukkan model tersebut ke dalam scene


c. Tambahkan rigidbody untuk menambahkan gravitasi pada karakter


d. Import Character Controller dari unity


e. Masukkan script Third Person Camera dan Third Person Controller



j. Component dari Third Person Controller akan secara otomatis membuat component Character controller, atur ukuran controller sesuai ukuran karakter.



k. Tambahkan component Animation dan tambahkan animasi-animasi yang akan digunakan.


l. Tambahkan animasi pada component Third Person Controller.


Hasil
     Hasil saat scene dijalankan.
     

     Karakter sudah bisa digerakkan dan sudah bergerak menggunakan animasi.

Kesimpulan dan Analisa.
1. Untuk mengubah ketinggian terrain, texture terrain, dan objek-objek yang akan digunakan pada terrain, semua dapat dilakukan dengan menggunakan menu terrain pada inspector terrain tersebut.
2. Animasi pada karakter harus menggunakan loop. Jika animasi masih belum menggunakan loop ubah pengaturan animasi dalam Inspector pada bagian Wrap Mode menjadi loop


3. Jika terdapat error pada tipe animasi (seperti : harus menggunakan animasi bertipe legacy), maka ubah tipe animasi pada tab rig di dalam prefab karakter.


Update : pada Unity 5 jika menggunakan cara yang sama seperti di atas animasi tidak dapat menggunakan loop.
 
 
Nama   : M. Eko Prasetyo
Kelas   : 2 D4 Game Technology
Nrp      : 4210131020