Disusun Oleh :
Farhan Fauzan (201913021)
Dosen Pengampu :
POLITEKNIK KAMPAR
2021
KATA PENGANTAR
Puji dan syukur saya ucapkan kehadirat Allah SWT atas rahmat dan
karunia-Nya, sehingga penulis telah dapat menyelesaikan Laporan Projek Akhir
Animasi ini dengan baik dan tepat waktu, dengan judul “Perancangan game Flappy
Bird menggunakan Unity”.
Tidak lupa penulis ucapkan rasa sangat terima kasih kepada :
1. Bapak Andri Nofiar, Am, S.Kom, M.Kom selaku Dosen Pengampu.
2. Teman-teman yang telah membantu melalui support.
Sehingga terlaksananya kegiatan praktikum yang berjalan dengan lancar.
Semoga Tuhan memberikan imbalan pahala yang sebanding. Dalam proses
penyelesaian laporan ini, penulis memperoleh benyak bantuan dari berbagai pihak.
Baik berupa bimbingan, dorongan, petunjuk, saran, keterangan-keterangan kritik serta
data-data baik secara tertulis maupun lisan. Akhir kata semua kritik dan saran atas
laporan ini akan penulis terima dengan senang hati, dan akan menjadi bahan
pertimbangan bagi penulis untuk menyempurnakan laporan ini.
Penulis
i
DAFTAR ISI
ii
DAFTAR GAMBAR
iii
Gambar ke 31 menampilkan mengatur kekuatan loncat flappy bird .................................... 16
Gambar ke 32 menampilkan memasukkan sound ke folder sound ....................................... 17
Gambar ke 33 menampilkan menambahkan component pada sound .................................. 17
Gambar ke 34 menampilkan pembuatan codingan untuk sound ......................................... 18
Gambar 35 menampilkan drag sound ke variable suara loncat............................................ 18
Gambar ke 36 menampilkan pembuatan codingan rotasi pada bird .................................... 19
Gambar ke 37 menampilkan mengatur rotasi ....................................................................... 20
Gambar ke 38 menampilkan pembuatan script gamemanager.............................................. 21
Game 39 menampilkan codingan untuk gamemanager ........................................................ 21
Gambar ke 40 menampilkan pembuatan layer gamemanager ............................................. 22
Gambar ke 41 menampilkan membuat script baru untuk ground ........................................ 22
Gambar ke 42 menampilkan memasukkan script gamemanager .......................................... 23
Gambar ke 43 menampilkan mengatur kecepatan jalan ground ........................................... 23
Gambar ke 44 menampilkan memasukkan image pipa......................................................... 24
Gambar ke 45 menampilkan drag image pipa ke tab hierarchy ............................................ 24
Gambar ke 46 menampilkan merapikan image pipa ............................................................ 25
Gambar ke 47 menampilkan menduplicate pipa ................................................................... 25
Gambar ke 48 menampilkan membuat script baru untuk pipa............................................. 26
Gambar ke 49 menampilkan menambahkan codingan untuk pipa ....................................... 26
Gambar ke 50 menampilkan drag script pipa ke masing masing pipa ................................. 27
Gambar ke 51 menampilkan mengatur maxdanmintinggipipa ............................................. 27
Gambar ke 52 menampilkan tab animation .......................................................................... 28
Gambar ke 53 menampilkan pembuatan animation baru ...................................................... 28
Gambar ke 54 menampilkan drag bird ke dalam animation ................................................. 29
Gambar ke 55 menampilkan masuk ke tab animator ............................................................ 29
Gambar ke 56 menampilkan make transition idle ke fly ...................................................... 30
Gambar ke 57 menampilkan mengatur transition idle ke fly ................................................ 30
Gambar ke 58 menampilkan mengatur make transition fly ke idle ...................................... 31
Gambar ke 59 menampilkan membuat script untuk animator .............................................. 31
Gambar ke 60 menampilkan menambahkan component box pada pipa ............................... 32
Gambar ke 61 menampilkan codingan bila bird menabrak pipa atau ground ....................... 32
Gambar ke 62 menampilkan menambahkan sound saat bird menabrak ............................... 33
iv
Gambar ke 63 menampilkan memasukkan variable sound ................................................... 33
Gambar ke 64 menampilkan memasukkan file sound ke variable suaranabrak ................... 34
Gambar ke 65 menampilkan menambahkan canvas ............................................................. 34
Gambar ke 66 menampilkan menambahkan image pada canvas .......................................... 35
Gambar ke 67 menampilkan menutup tampilan game dengan image .................................. 35
Gambar ke 68 menampilkan membuat script baru untuk splash .......................................... 36
Gambar ke 69 menampilkan memasukkan codingan untuk splash....................................... 36
Gambar ke 70 menampilkan mengatur color untuk splash image ........................................ 37
Gambar ke 71 menampilkan memasukkan codingan splash ke script bird........................... 37
Gambar ke 72 menampilkan membuat layer point trigger.................................................... 38
Gambar ke 73 menampilkan menambahkan component pada point trigger ......................... 38
Gambar ke 74 menampilkan drag point trigger ke pipe ........................................................ 39
Gambar ke 75 menampilkan merapikan point trigger diantara pipa ..................................... 39
Gambar ke 76 menampilkan pembuatan text di game canvas .............................................. 40
Gambar ke 77 menampilkan pembuatan nama untuk text .................................................... 40
Gambar ke 78 menampilkan membuat script Uimanager ..................................................... 41
Gambar ke 79 menampilkan drag script UIManager ke gamecanvas ................................... 41
Gambar ke 80 menampilkan memasukkan image game over pada tab hierarchy ................ 42
Gambar ke 81 menampilkan codingan untuk game over ...................................................... 42
Gambar ke 82 menampilkan memasukkan image gameover ke variabel ............................. 43
Gambar ke 83 menampilkan codingan script button restart.................................................. 43
Gambar ke 84 menampilkan pembuatan button restart......................................................... 44
Gambar ke 85 menampilkan memasukan image ke button restart........................................ 44
Gambar ke 86 menampilkan menyesuaikan tata letak button restart .................................... 45
Gambar ke 87 menampilkan drag button ke onclick ............................................................ 45
Gambar ke 88 menampilkan masuk ke build settings ........................................................... 46
Gambar ke 89 menampilkan drag Samplescene ke buildsettings ......................................... 46
Gambar ke 90 menampilkan pendeklarasian variable .......................................................... 47
Gambar ke 91 menampilkan codingan component ............................................................... 47
Gambar ke 92 menampilkan menyambungkan variable ....................................................... 48
Gambar ke 93 menampilkan method update......................................................................... 48
Gambar ke 94 menampilkan method fixedUpdate................................................................ 48
v
Gambar ke 95 menampilkan method ontriggerenter2D ........................................................ 49
Gambar ke 96 menampilkan codingan point ........................................................................ 49
Gambar ke 97 menampilkan method oncollisonenter2D ...................................................... 50
Gambar ke 98 menampilkan method loncat ......................................................................... 50
Gambar ke 99 menampilkan method mainkansuara ............................................................. 51
Gambar ke 100 menampilkan method aturrotasi .................................................................. 51
Gambar ke 101 menampilkan method start .......................................................................... 52
Gambar ke 102 menampilkan method update....................................................................... 52
Gambar ke 103 menampilkan method start .......................................................................... 53
Gambar ke 104 menampilkan method update....................................................................... 53
Gambar ke 106 menampilkan method awake ....................................................................... 54
Gambar ke 107 menampilkan method updatescore .............................................................. 55
Gambar ke 108 menampilkan method splashit .................................................................... 55
Gambar ke 109 menampilkan mengakses splash image ....................................................... 55
Gambar ke 110 menampilkan method restartgame ............................................................... 56
vi
LANGKAH KERJA
1. Langkah pertama kita buka dulu aplikasi unity dan pilih new, setelah klik
new maka tampilan nya akan seperti gambar dibawah ini. Selanjutnya kita
buat nama project nya, penyimpanan nya, akun yang digunakan, dan template
nya (disini karena kita akan buat game 2D maka akan kita pilih template nya
2D) setelah semuanya selesai klik create project.
2. Setelah itu maka tampilan unity nya akan seperti gambar dibawah ini. Sedikit
penjelasan untuk tampilan yang mana disini bagian scene disini berfungsi
untuk tampilan dalam untuk mengedit, dan dibagian Game disini berfungsi
untuk tampilan pas dijalankan.
1
Gambar ke 2 menampilkan lembar kerja unity
3. Selanjutnya klik kanan di bagian assets klik Create lalu klik folder, dan buat
folder untuk menyimpan asset-asset seperti untuk menyimpan image, sound,
script dan lain sebagainya.
2
4. Disini telah dibuat folder folder nya, yang dimana folder Graphic berfungsi
untuk menyimpan gambar, folder Sound berfungsi untuk menyimpan audio,
folder Script berfungsi untuk menyimpan codingan, dan folder Scenes
berfungsi untuk menyimpan Scene.
5. Selanjutnya kita akan mengatur tampilan display untuk tampilan game nya,
disini karena kita ingin membuat game flappy bird berbasis android maka
akan kita buat tampilan layarnya menjadi potraid dengan cara klik 5:4 dan
klik tombol tambah.
3
6. Setelah itu kita akan atur tinggi dan lebar tampilan nya, disini saya mengatur
720 untuk lebar dan 1280 untuk tinggi.
7. Maka tampilan display untuk game nya akan seperti gambar dibawah ini.
4
8. Selanjutnya kita masukkan image background ke dalam folder Graphic
dengan cara drag image dan masukkan ke dalam folder Graphic.
9. Setelah itu kita akan buat background untuk game nya dengan cara drag
image background ke tab hierarchy seperti gambar dibawah ini.
5
10. Langkah selanjutnya kita akan atur image background biar rapi dengan cara
klik background yang ada pada tab hierarchy setelah itu klik rect tool lalu
sesuaikan pada layar.
6
12. Langkah selanjutnya, kita akan masukkan image ground ke folder Graphic
dengan cara sama seperti cara masukin imaga background yaitu dengan cara
drag dari folder penyimpanan laptop ke folder unity.
13. Setelah itu kita akan drag image ground nya ke tab hierarchy
7
14. Lalu kita akan rapikan ground nya dengan cara klik ground yang ada di tab
hierarchy setelah itu klik rect tool lalu sesuaikan dengan layar.
15. Langkah selanjutnya kita akan atur sorting layer untuk menyesuaikan layer
layer dengan cara klik sorting layer yang ada pada tab inspector
8
16. Setelah itu lalu klik add sorting layer
17. Selanjutnya klik tombol panah lalu kita buat nama sorting layer nya, disini
saya buat sorting layer untuk background yang slalu di belakang dan sorting
layer untuk foreground yang slalu didepan.
9
18. Lalu kita atur untuk background kita buat sorting layernya background
10
20. Langkah selanjutnya kita akan tambahkan Image Bird ke tab hierarchy dengan
cara drag image ke tab hierarchy, lalu kita buat namanya menjadi flappy bird
agar memudahkan kita dalam mengenalnya.
21. Setelah itu kita akan atur sorting layer nya seperti yang telah dijelaskan diatas,
untuk nama sorting layernya disini saya membuat namanya player.
11
22. Lalu selanjutnya kita klik add component lalu kita tambahkan component
rigitbody 2d dan circle collider 2d
23. Selanjutnya kita akan atur radius bird menyesuaikan badan nya flappy bird.
12
24. Langkah selanjutnya kita tambahkan componen pada ground yaitu componen
box collider 2d.
25. Langkah selanjutnya kita buat ground nya agar menjadi 2 dengan cara klik
ground lalu tekan ctrl+d untuk menduplikat, lalu kita sesuaikan ground nya
menjadi panjang.
13
26. Langkah selanjutnya kita akan buat script untuk bird, dengan cara klik kanan
di folder script lalu create dan klik C# Script.
14
28. Setelah itu kita klik 2 kali di codingan bird.
29. Lalu kita masukin codingan menggerakkan flappy bird agar pas ditekan
tombol space flappy bird nya bergerak ke atas.
15
30. Selanjutnya masuk lagi ke unity, lalu drag codingan bird ke layer flappy bird
maka akan muncul component script bird.
31. Lalu selanjutnya kita atur kekuatan loncat untuk flappy bird nya,disini saya
mengatur kekuatan loncat nya 4.
16
32. Lalu langkah selanjutnya kita akan masukkan sound untuk flappy bird nya
agar pas ditekan flappy bird nya ada suara, yaitu dengan cara menambahkan
sound ke folder sound.
33. Selanjutnya kita tambahkan component audio source pada flappy bird.
17
34. Setelah itu klik 2 kali pada codingan bird, disini kita akan menambahkan
codingan untuk membuat bird nya ada suara. Disini codingan untuk sound nya
ada tanda comentar.
35. Lalu selanjutnya kita drag suara sound ke Bird(script) suara loncat yang
terdapat pada flappy bird
18
36. Langkah selanjutnya kita akan buat rotasi untuk flappy bird agar pas tombol
space ditekan flappy bird nya nengok ke atas dan pas tombol space ga ditekan
flappy bird nya nengok ke bawah, caranya kita akan buat codingan untuk
rotasi di dalam script bird. Note : Codingan untuk rotasi yang ada tanda
komentar rotasi (//rotasi)
37. Untuk langkah selanjutnya masuk lagi ke unity lalu kita akan atur rotasi nya
di variable script bird.
19
Gambar ke 37 menampilkan mengatur rotasi
20
38. Selanjutnya kita akan buat script baru, yaitu GameManager yang digunakan
untuk menyimpan data.
39. Lalu klik dua kali di Script GameManager untuk membuat codingan nya,
disini kita akan membuat codingan untuk menyimpan data Pipa dan ground,
seperti contoh data untuk maximal tinggi pipa, minimal tinggi pipa,dan
kecepatan jalan ground.
21
40. Setelah itu balik lagi ke unity, dan kita buat layer untuk game manager dengan
cara klik kanan di tab hierarchy dan pilih create empy lalu kita buat namanya
gamemanager.
41. Selanjutnya kita akan buat ground nya bergerak dengan cara yang pertama
kita buat script baru untuk ground
22
42. Lalu kita masukin juga script GameManger ke layer GameManager.
43. Lalu kita atur kecepatan jalannya ground, disini saya mengatur kecepatan
ground 3, disini kita bisa juga menyesuaikan.
23
44. Langkah selanjutnya kita akan buat Pipa untuk rintangan flappy bird, dengan
cara yang pertama yaitu kita drag dulu image pipa nya ke folder graphic.
45. Setelah itu kita drag image pipe ke tab hierarchy lalu kita buat sorting
layernya menjadi foreground.
24
46. Lalu kita atur image pipe biar rapi.
47. Setelah itu kita duplicate pipe menjadi 4 bagian lalu kita rapikan.
25
48. Lalu kita buat script baru untuk pipe.
49. Setelah itu kita tambahkan codingan pada script Pipe dengan cara klik 2 kali
pada script Pipe.
26
50. Lalu setelah itu kita drag script Pipe ke masing masing pipe.
51. Lalu setelah itu kita atur maxTinggiPipa dan MintinggiPipa di layer
GameManager, disini saya mengaturnya untuk min=0 dan max=5, maka unity
akan mengacak acak tinggi dan rendahnya Pipa.
27
52. Selanjutnya kita akan membuat animasi untuk pergerakan flappy bird, jika
flappy bird nya ke atas maka sayapnya akan bergerak yaitu dengan cara yang
pertama klik flappy bird lalu masuk ke tab animation.
53. Setelah itu klik create, lalu buat nama animasi nya, setelah animasinya dibuat
lalu kita akan drag image bird ke animasi tepatnya di detik 0
28
54. Lalu setelah itu kita buat animasi baru yang bernama fly dan setelah dibuat
lalu drag 8 image bird ke animasi seperti gambar berikut.
55. Selanjutnya kita akan masuk ke tab animator lalu klik tombol + setelah itu
klik trigger lalu buat namanya fly.
29
56. Selanjutnya klik kanan di idle lalu make transition ke fly.
30
58. Lakukan hal yang sama pada fly ke idle
59. Langkah selanjutnya buka script bird lalu kita akan buat script untuk animator
31
60. Langkah selanjutnya adalah menambahkan component box collider pada
masing masing Pipa.
61. Selanjutnya klik masuk ke script bird untuk menambahkan codingan bila bird
menabrak pipa maka bird akan jatuh ke tanah.
32
62. Langkah selanjutnya kita akan membuat play sound saat bird menabrak yaitu
dengan cara yang pertama masukin file sound ke folder sound.
63. Setelah itu masuk ke script bird untuk memasukan variable sound.
33
64. Selanjutnya balik lagi ke flappy bird, lalu kita masukkan file sound ke
variable suara nabrak.
65. Selanjutnya kita akan buat effect slash putih ketika flappy bird menabrak pipa
atau ground, yaitu pertama dengan cara klik kanan pada tab hierarchy lalu
pilih ui, lalu klik canvas dan buat namanya menjadi game canvas.
34
66. Setelah itu klik kanan pada game canvas lalu klik ui lalu image.
67. Setelah itu kita sesuaikan image nya sehingga menutupi tampilan game.
35
68. Selanjutnya kita akan buat script baru yang bernama splash.
69. Setelah itu kita akan masukan codingan untuk script Splash
36
70. Setelah balik lagi ke unity lalu kita akan mengatur warna untuk splash image
nya.
71. Selanjutnya kita akan masukkan sedikit codingan splash ke dalam script bird.
37
72. Selanjutnya kita akan membuat sistem ketika flappy bird mendapatkan point
yaitu dengan cara yang pertama klik kanan pada tab hierarcy lalu pilih create
empty lalu buat namanya point trigger.
38
74. Selanjutnya drag point trigger ke pipe
39
76. Selanjutnya kita akan buat text untuk poin yaitu dengan cara pertama tama
klik kanan pada Game Canvas lalu pilih ui lalu klik text.
77. Setelah itu kita buat namanya point text, lalu kita sesuaikan tempatnya.
40
78. Setelah itu kita buat script baru yaitu UiManager dan klik 2 kali untuk
membuat kodingan nya.
41
80. Langkah selanjutnya kita akan membuat kata gameover ketika bird menabrak
pipa atau ground, yaitu dengan cara yang pertama drag dulu image gameover
ke folder Graphic lalu kita drag ke tab hierarchy.
81. Setelah itu kita buat codingan nya agar pas bird nya nabrak akan muncul kata
game over.
42
82. Selanjutnya masukkan image gameover ke variable game over yang terdapat
pada flappy bird.
83. Selanjutnya kita akan buat tombol untuk restart, dengan cara yang pertama
yaitu kita buat dulu script yang bernama restart, setelah dibuat klik dua kali
lalu kita buat codingan seperti gambar dibawah ini.
43
84. Setelah itu balik lagi ke unity dan disini kita akan membuat button restart
dengan cara klik kanan pada tab hierarchy pilih ui dan klik button, disini kita
buat namanya restart.
85. Lalu kita masukin image restart ke button restart dengan cara drag imager
restart ke button restart.
44
86. Selanjutnya kita sesuaikan ukuran dan letak nya.
87. Setelah itu kita drag script restart ke button restart lalu drag button ke onclick
45
88. Selanjutnya masuk ke file dan klik build settings.
89. Lalu selanjutnya drag SampleScene ke buildsettings, biar pas ditekan tombol
restart maka dia akan pergi ke SampleScene. (Scene yang kita pakai).
46
PEMBAHASAN CODINGAN
1. Bird
47
Gambar ke 92 menampilkan menyambungkan variable
48
Gambar ke 95 menampilkan method ontriggerenter2D
Gambar ke 95 baris 57-58 berfungsi untuk jika sudah game over maka akan
bersifat return, baris 61 berfungsi untuk mengetahui jika flappy bird menabrak Pipa,
baris 63 berfungsi untuk mengambil langkah game over ketika menabrak pipa, baris
64 berfungsi untuk memainkan suara ketika menabrak pipa, barid 65 berfungsi untuk
menampilkan image splash ketika menabrak pipa, bari 66 dan 67 berfungsi untuk
menampilkan image game over dan instruction ketika menabrak pipa.
49
Gambar ke 97 menampilkan method oncollisonenter2D
50
Gambar ke 99 menampilkan method mainkansuara
Gambar ke 100 baris 116-117 berfungsi untuk membuat flappy bird ada
rotasi, jika flappy bird loncat maka flappy bird akan nengok ke atas dan jika flappy
bird tidak loncat makan flappy bird akan nengok ke bawah.
51
2. Ground
Gambar ke 101 baris 13-14 berfungsi untuk menjalankan ground dari kanan
ke kiri sesuai dengan batas kiri kamera dan setlebar.
Gambar ke 102 baris 20-21 berfungsi untuk jika sudah gameover maka akan
bersifat return, baris 23 berfungsi untuk melihat kalau ground sudah tidak terlihat lagi
dikamera, baris 24 berfungsi untuk memindahkan ground ke kanan seperti semula,
baris ke 26 berfungsi untuk menggerakkan ground ke kiri.
52
3. Pipa
Gambar ke 103 baris 14-16 berfungsi untuk menjalankan pipa dari kanan ke
kiri sesuai dengan batas kiri dan kanan kamera serta setengah lebar, baris 17-18
berfungsi untuk memposisikan pipa nya secara random.
Gambar ke 104 baris 24-25 berfungsi jika sudah gameover maka akan bersifat
return, baris 27-29 berfungsi jika pipa sudah tidak terlihat dikamera makan pipa akan
dipindahkan ke kanan, baris 31 berfungsi untuk menggerakkan pipa ke kiri.
53
4. GameManager
Gambar ke 105 baris 21-24 berfungsi untuk menyimpan data untuk variable
yang terdapat pada gamemanager.
5. UIManager
Gambar ke 106 baris 16-20 berfungsi untuk menyimpan data untuk variable
yang terdapat pada UIManager.
54
Gambar ke 107 menampilkan method updatescore
6. Splash
Gambar ke 109 baris 20-25 berfungsi untuk mengakses splash image dan
untuk memasukkan dua warna yaitu warna yang 0f dan 1f (hitam dan putih) dimana
kondisinya disini jika splash berfungsi maka warna hitam dan putih akan muncul
tetapi akan pudar.
55
7. Restart
Gambar ke 110 baris 10 berfungsi untuk jika button restart ditekan maka akan
kembali ke scene “main” (scene yang digunakan).
56