BEHAVIOUR NPC GAME HISTORICAL WAR 3D USING FINITE
STATE MACHINE
SKRIPSI
ANDEAN ARIPPA
101402010
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
BEHAVIOUR NPC GAME HISTORICAL WAR 3D USING FINITE STATE
MACHINE
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
ANDEAN ARIPPA
101402010
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : BEHAVIOUR NPC GAME HISTORICAL WAR 3D
USING FINITE STATE MACHINE
Kategori : SKRIPSI
Nama : ANDEAN ARIPPA
Nomor Induk Mahasiswa : 101402010
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc. Muhammad Fadly Syahputra, B.Sc., M.Sc.IT
NIP. 19860303201012 1 004 NIP. 198301292009121003
Diketahui/Disetujui Oleh
Program Studi Teknologi Informasi
Ketua,
Muhammad Anggia Muchtar, ST.,MM.IT
PERNYATAAN
BEHAVIOUR NPC GAME HISTORICAL WAR 3D
USING FINITE STATE MACHINE
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2016
ANDEAN ARIPPA
UCAPAN TERIMA KASIH
Puji dan syukur penulis ucapkan kepada Allah SWT dengan segala rahmat dan
karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah
ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta
doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan
terima kasih sedalam-dalamnya dan penghargaan kepada:
1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan
dan motivasi baik materil dan spiritual selama penulis mengikuti
pendidikan hingga selesainya tugas akhir ini.
2. Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT, selaku pembimbing 1 sekaligus
Sekretaris Program Studi Teknologi Informasi dan Bapak Romi Fadillah
Rahmat, B.Comp.Sc.,M.Sc. selaku pembimbing 2 yang telah banyak
meluangkan waktu dan pikiran beliau, memotivasi, memberikan arahan,
kritik dan saran kepada penulis.
3. Bapak Dan Ibu Dosen Penguji yang telah memberikan kritik dan saran kepada
penulis.
4. Semua dosen, staff dan pegawai di Jurusan Teknologi Informasi serta Fakultas
Ilmu Komputer dan Teknologi Informasi yang tidak dapat saya sebutkan
satu-persatu.
5. Rekan seperjuangan dalam penelitian ini, M.Kurniawan Widhianto, Ovy
Rizky, dan Joko Almady, serta rekan-rekan mahasiswa yang tidak dapat
saya sebutkan satu-persatu, khususnya angkatan 2010 Program Studi
Teknologi Informasi USU yang telah memberikan dukungan dan semangat
untuk saya.
Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga
ABSTRAK
Sumatera Utara memiliki banyak cerita sejarah tentang perjuangan. Misalnya tentang
agresi militer belanda di Indonesia setelah merdeka. Banyak perlawanan-perlawanan yang
dilakukan tiap daerah di sumatera utara untuk mempertahankan kemerdekaannya.
Aplikasi ini dibuat untuk menampilkan game dalam bentuk 3D yang digunakan sebagai
sarana hiburan dan edukasi. Game ini bergenre First-Person Shooting yang mana pemain
mencari musuh dan membunuh dengan cara menembaknya. Perancangan aplikasi game
ini berdasarkan cerita rakyat sumatera utara tentang memperebutkan stabat dari tangan
belanda. Game Engine yang digunakan adalah Unity 5. Unity dapat digunakan untuk
menghasilkan game dalam bentuk 3D untuk merealisasikan dunia nyata dalam bentuk
virtual. Perancangan game ini adalah hasil dari analisis, desain , dan implementasi dari
metode Finite State Machine yang digunakan untuk behavior NPC. Hasil dari
perancangan game ini adalah Game dalam bentuk 3D berdasarkan cerita sejarah dan
untuk Npcnya menggunakan metode Finite State Machine.
BEHAVIOUR NPC GAME HISTORICAL WAR 3D USING FINITE
STATE MACHINE
ABSTRACT
North Sumatra has a lot of stories about the history of the struggle. For instance on the
Dutch military aggression in Indonesia after independence. Many insurgencies do each
region in northern Sumatra to maintain its independence. This application was created to
show the game in the form of 3D for entertainment and education. This game genre of
First-Person Shooter in which players seek to kill the enemy and shot her way. This game
application design based on the folklore of North Sumatra on fighting Stabat from Dutch
hands. Game Engine used is Unity 5. Unity can be used to produce the game in 3D to
realize the real world in virtual form. The design of this game is the result of the analysis,
design, and implementation of methods Finite State Machine is used for NPC behavior.
Results from the design of this game is a game in 3D based on the story of history and to
Npc using Finite State Machine.
DAFTAR ISI
BAB 2 LANDASAN TEORI
2.1 Sejarah Singkat Perang Merebut Stabat 7
2.2 Teori 2D dan 3D 9
2.2.1 Prinsip Vektor 9
2.2.2 Defenisi Ruang 2D dan 3D 12
2.2.3 Translasi, Rotasi dan Skala 13
2.3 Prinsip Desain atau Aturan pada game First-Person Shooter 15
2.4 Teori Finite State Machine 16
2.4.1 Perencanaan State dan Transisi 17
2.4.2 Menerapkan Finite State Machine 17
2.6 Penelitian Terdahulu 29
BAB 3 ANALISIS DAN PERANCANGAN
3.1 Arsitektur Umum 30
3.2 Pengumpulan Data 31
3.2.1 Foto-Foto Masa Lalu 31
3.3 Modelling 34
3.3.1 Pemodelan NPC 34
3.3.2 Pemodelan Environment 35
3.3.2.1 Membangun Landscape 36
3.3.2.2 Pengaturan Cahaya 36
3.3.2.3 Collision Detection 38
3.3.2.4 Penggunaan Player Controller 38
3.3.2.5 Camera 39
3.4.2 Implementasi Finite State Machine 43
3.5. Antarmuka Pengguna (User Interface) 44
3.5.1 Tampilan Menu Utama 46
3.5.2 Tampilan Loading Screen 46
BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1.3 File Asset 49
4.1.4 Eksekusi Aplikasi 50
4.2 Pengujian Sistem 54
4.2.1 Uji Metode 54
4.2.2 Uji Antarmuka 55
4.2.3 Uji Sistem 57
BAB 5 KESIMPULAN
5.1 Kesimpulan 60
5.2 Saran 61
DAFTAR TABEL
Halaman
Tabel 4.1 Konfigurasi perangkat keras yang digunakan 49
Tabel 4.2. Konfigurasi perangkat lunak yang digunakan 49
Tabel 4.3 Kategori Pemberian Nilai 56
DAFTAR GAMBAR
Halaman
Gambar 2.1 Peta imajinatif menggambarkan penggunaan vektor 10
Gambar 2.2 Koordinat di Edit Scene pada Unity 11
Gambar 2.3 Memahami Ruang 2D 13
Gambar 2.4 Menskalakan Objek 14
Gambar 2.5. Siklus Mekanisme Game 15
Gambar 2.6 Menggambarkan Otak dari Semut 18
Gambar 2.7 FSM Menggambarkan Otak dari Semut. Perhatikan kurangnya
Transisi antara Run away dan Go home 18
Gambar 2.8 FSM dari Otak Semut Dengan Berfokus Pada Kode 20
Gambar 2.9 FSM Semut Diperbaharui Dengan Transisi Baru 24
Gambar 3.1 Arsitektur Umum 30
Gambar 3.2 Tampilan Laman Situs KITLV 32
Gambar 3.3 Tampak Depan Stasiun Kereta Api Tanjung Pura 32
Gambar 3.4 Tampak Belakang Stasiun Kereta Api Tanjung Pura 33
Gambar 3.5 Jembatan Menuju Stabat 33
Gambar 3.6 Peta Jalur Kereta Api Tanjung Pura – Stabat 34
Gambar 3.7 Tampilan Adobe FUSE 35
Gambar 3.8 Lingkungan Virtual Stasiun Kereta api 37
Gambar 3.9 Intensitas Cahaya yang Terlalu Tinggi atau Terlalu
Rendah Akan Merusak Realitas Pada Dunia Virtual 37
Gambar 3.10 Cara Kerja Collision Detection 38
Gambar 3.11 Kamera Perspective di Unity3D 40
Gambar 3.12 Terrain Tools pada Inspector 41
Gambar 3.13 Enam Texture Digunakan Untuk Membuat Sebuah Skybox 42
Gambar 3.16 Desain Tampilan Antarmuka Pengguna Loading Screen 47
Gambar 4.1 Berkas File Pada Folder Project Unity 50
Gambar 4.2 Tampilan Awal Game 50
Gambar 4.3 Tampilan Loading Screen 51
Gambar 4.4 Tampilan In-Game Pertempuran Stabat 51
Gambar 4.5 Pause Pada Saat inGame 52
Gambar 4.6 Tampilan Player Kehabisan Health Point 53
Gambar 4.7 NPC Berpatroli 54
Gambar 4.8 NPC kembali Berpatroli 55
Gambar 4.9 Frame per Second game 58