Abstrak— Game merupakan sebuah permainan dengan adanya dilakukan oleh Olsson dan Frank pada 2017, mereka berhasil
sistem yang melibatkan player dengan konflik buatan yang telah menghasilkan sebuah kota yang layak menggunakan Perlin
ditentukan atau adanya peraturan untuk memberikan hasil yang Noise.
terukur dan adanya interaksi antara player dengan sistem didalam Tujuan penelitian ini adalah membangun game racing
permainan tersebut. Aplikasi permainan terbagi menjadi dua yaitu
dengan pembuatan map atau daratan menggunakan algoritma
aplikasi permainan 2D (dua dimensi) dan 3D (tiga dimensi). Metode
Perlin Noise merupakan teknik yang digunakan untuk Perlin Noise. Game ini bernama "Safety Riding" dan juga
mensimulasikan sesuatu yang terlihat berantakan dan natural. Peta berfungsi untuk mengedukasi masyarakat dan pemain game
merupakan rancangan dua dimensi yang berskala medium dari agar lebih berhati-hati dan patuh terhadap peraturan berkendara.
kumpulan objek untuk membuat suatu jalan, tempat, untuk Pembuatan game ini menggunakan PCG untuk menghasilkan
mengetahui apa saja yang ada disekitar, biasanya digunakan untuk konten secara otomatis dalam bentuk 2D.
titik tujuan.Map sangat penting dalam permainan petualangan.
Genre permainan petualangan adalah genre dengan setting tempat II. METODOLOGI PENELITIAN
yang luas untuk menjelajahi suatu tempat atau wilayah. Unity
merupakan software yang dapat digunakan untuk pengembangan A. Pendekatan Penelitian
game yang digunakan diberbagai platform.. Pendekatan ini menggunakan metode pengembangan
waterfall. Metode pengembangan dari pendekatan yang
Kata kunci— Game, Perlin Noise, Petualangan, Unity, Map digunakan dalam penelitian deskriptif-kualitatif. Metode
Waterfall ini merupakan metode pengembangan pada
I. PENDAHULUAN perangkat lunak yang diterapkan secara beruntun, yang
Menurut [1]sebanyak 1,24 juta orang meninggal setiap tahun dianggap seperti air terjun dengan melewati fase-fase beruntun
di seluruh dunia akibat kecelakaan lalu lintas, sementara 20–50 mulai dari analisa kebutuhan (Reqruirements), desain,
juta orang mengalami luka-luka. Kecelakaan lalu lintas juga implementasi dan testing.
menjadi penyebab utama kematian anak di seluruh dunia,
B. Sumber Data Penelitian
dengan rata-rata 1000 anak dan remaja meninggal setiap
harinya dalam rentang usia 10–24 tahun. Di Indonesia, Peneliti mengumpulkan data sekunder. Berikut adalah
kecelakaan lalu lintas merupakan penyebab kematian terbesar metode yang digunakan dalam mencari dan mengumpulkan
ketiga setelah penyakit jantung koroner dan tuberkulosis, data sumber sekunder.
menurut penilaian WHO.[2]. C. Studi Literatur
Perkembangan teknologi di industri game menghasilkan
variasi game yang semakin beragam. Saat ini, topik yang Pada tahap awal penelitian ini, dimulai dengan membuat
banyak diteliti oleh peneliti dalam pembuatan konten game studi literatur yang digunakan untuk menemukan suatu masalah
adalah AI, terutama menggunakan metode Procedural Content dan mencari sumber-sumber terkait dengan penelitian yang
Generation (PCG). Metode ini sukses diterapkan dalam sedang dilakukukan,beberapa tinjauan pustaka yang digunakan
berbagai genre game seperti RPG, Petualangan, Platformer, sebagai acuan untuk memulai penelitian ini. Terkait literatur
Racing, SandBox, dan Simulation. yang dilakukan oleh peneliti menggunakan internet dengan
Dalam pembuatan game racing, elemen pentingnya adalah menggunakan beberapa situs jurnal-jurnal seperti Google
pembuatan map secara otomatis tanpa batasan tertentu. Scholar, ScientDirect dan masih banyak lagi dengan
Penggunaan metode PCG dengan algoritma Perlin Noise menggunakan kata kunci seperti “perlin noise”,”game dengan
menjadi solusi untuk menghasilkan map yang terlihat natural genre racing”,”pembuatan map dengan perlin
karena mengikuti bentuk gradien yang halus daripada noise”,”kecelakaan lalu lintas di indonesia” dan lainnya.
pembuatan acak. Penelitian sebelumnya telah berhasil D. Alur Penelitian
menciptakan kota layak menggunakan Perlin Noise.
Perlin Noise dapat mempresentasikan bentuk daratan yang
lebih terlihat natural dibandingakan dengan membuatnya
secara acak karena dapat menghasilkan angka acak terstruktur
mengikuti bentuk gradien yang halus. Pada penelitian yang
1
Gambar 1 Alur Penelitian
Gambar 3 Wireframe Pilih Level
1. Analisa Kebutuhan (Requirements)
Pada tahap selanjutnya dalam proses penelitian Pada gambar 3 merupakan tampilan setelak
adalah menganalisa kebutuhan yang dibutuhkan untuk mengklik button play dari main menu, terdapat pilihan
membuat sebuah game. Analisa kebutuhan yang level stage, player dapat memilih level stage untuk
pertama yaitu melakukan studi literatur tentang dimainkan. Jika belum menyelesaikan lavel
membuat map atau peta dengan perlin noise, peraturan sebelumnya, maka level selanjutnya tidak terbuka.
berkendara yang aman dan mencari gagasan ide untuk
game yang bergenre racing dua dimensi. Selanjutnya
merinci seluruh kebutuhan yang dibutuhkan pada
proses perancangan desain asset game dan lainnya.
2. Perancangan Desain (Design)
Semua kebutuhan yang sudah didapatkan pada
proses sebelumnya kemudian diimplementasikan
kedalam bentuk desain sistem. Proses perancangan
pada desain game dengan membuat sebuah wireframe
dari game yang akan dibuat, mulai dari tampilan awal
mulai, sampai dengan akhir game dapat dilihat pada
wireframe.
2
Pada gambar 5 merupakan wireframe dari setting
menu, pada tampilan setting menu, player dapat
mengatur music volume dari game.
4. Testing
Pengujian game merupakan tahap akhir dari
penelitian ini. Pengujian game dilakukan dengan
menguji hasil rancangan sesuai dengan analisis
kebutuhan awal. Pengujian ini bertujuan untuk
mengetahui hasil dari pembentukan dunia game yang
Gambar 7 Wireframe Pause Menu sudah dibuat,apakah map untuk berkendara yang
Gambar 7 merupakan wireframe dari pause menu dihasilkan sudah terstruktur rapi dan terlihat natural.
didalam game yang terdapat button resume untuk Bentuk dari rancangan game yang pertama adalah
melanjutkan game, restart untuk mengulang permainan menentukan variabel jangkauan noise yang akan
dan exit untuk keluar dari permainan. membentuk sebagai pondasi perlin noise. Hasil dari
perlin noise yang diperoleh akan diimplementasikan
kedalam sebuah bentuk tile map untuk memperoleh
bentuk dunia.
3
Pada tampilan menu utama terdapat tombol Play, bagian bawah ada tombol X untuk keluar dari menu
tombol Shop, tombol Setting, dan tombol Keluar. setting ke menu utama.
Pengguna dapat memilih tombol play jika ingin
langsung memainkannya, untuk menuju menu memilih
new game dan continue. Tombol Setting sebelah kanan
pengguna digunakan untuk mengatur besar kecilnya
volume backsound atau musik yang ada didalam game.
Tombol shop sebelah kiri pengguna digunakan untuk
memilih kendaraan untuk bermain. Pada bagian atas
terdapat logo dari game yaitu Safety Riding. Pada
bagian kiri atas terdapat tulisan yang menandakan coin
yang diperoleh oleh pengguna dalam bermain dan Gambar 11 Tampilan Menu Setting
digunakan untuk membeli kendaraan pada menu shop,
pada bagian pojok kanan bawah adalah menu untuk 4. Implementasi Menu Tutorial
melihat peraturan dan tombol yang digunakan didalam Tampilan Tutorial muncul ketika player mengklik
game, dan pada bagian kanan atas terdapat tombol tombol tutorial pada bagian pojok kanan bawah dimenu
keluar digunakan untuk keluar dari game. utama. Tutorial berfungsi untuk melihat peraturan yang
ada didalam game dan tombol yang digunakan. Pada
bagian bawah ada tombol X untuk keluar dari menu
setting ke menu utama.
4
6. public class TerrainCreator : MonoBehaviour
7. {
8. public SpriteShapeController shape;
9. public int scale = 50;
10. public int numofPoints = 100;
11.
12. private void Start()
13. {
14. shape =
GetComponent<SpriteShapeController>();
Gambar 14 Tampilan Menu Game Over 15. float distanceBwtnpoints = (float)scale /
(float)numofPoints;
7. Implementasi Menu Winner
16. shape.spline.SetPosition(2,
Tampilan winner muncul ketika player berhasil shape.spline.GetPosition(2) + Vector3.right *
menuju finish dan melewati semua rintangan yang ada. scale);
Pada menu winner terdapat tombol untuk mengulangi 17. shape.spline.SetPosition(3,
permainan dan melanjutkan permainan ke level shape.spline.GetPosition(3) + Vector3.right *
selanjutnya. scale);
18.
19. for (int i = 0; i < 100; i++)
20. {
21. float xPos = shape.spline.GetPosition(i
+ 1).x + distanceBwtnpoints;
22. shape.spline.InsertPointAt(i + 2, new
Vector3(xPos, 5 * Mathf.PerlinNoise(i *
Random.Range(5.0f, 15.0f), 0)));
23. }
24.
Gambar 15 Tampilan Menu Winner 25. for (int i = 2; i < 102; i++)
26. {
8. Implementasi Sebelum diterapkan Perlin Noise di Map 27. shape.spline.SetTangentMode(i,
atau Jalan ShapeTangentMode.Continuous);
Tampilan sebelum diterapkan perlin noise, map 28. shape.spline.SetLeftTangent(i, new
berbentuk seperti persegi yang mempunyai empat sisi. Vector3(-2, 0, 0));
29. shape.spline.SetRightTangent(i, new
Vector3(2, 0, 0));
30. }
31.
32.
33. }
5
posisi x titik sebelumnya. Kemudian, kita menggunakan tombol keluar digunakan untuk kembali ke menu new
Mathf.PerlinNoise untuk menghasilkan nilai vertical y game dan continue game.
berdasarkan perhitungan perlin noise dengan input
berdasarkan nilai i * Random.Range(5.0f,15.0f).
Hasil perlin noise ini kemudian dikalikan dengan 5
agar mendapatkan variasi yang lebih besar pada tinggi
terrain. Titik baru dengan posisi(xPos,y) ditambahkan
ke spline menggunakan shape.spline.InsertPointAt().
6
Proses untuk menerapkan perlin noise kedalam map 49. spriteRenderer.sprite = redSprite;
menggunakan kode program yang sudah dibuat dengan 50. }
Bahasa C# sebagai berikut: 51. else if (spriteRenderer.sprite ==
yellowSprite)
52. {
1. using System.Collections;
53. spriteRenderer.sprite = greenSprite;
2. using System.Collections.Generic;
54. }
3. using UnityEngine;
55. }
4.
56.
5. public class TraficLightController : MonoBehaviour
57. void OnTriggerEnter2D(Collider2D other)
6. {
58. {
7. public GameObject losserObject;
59. if (other.transform.tag == "Player")
8. private GameObject myGameObject1, myGameObject2,
60. {
myGameObject3, myGameObject4;
61.
9. PlayerMovement componentPlayer;
62. if (spriteRenderer.sprite == redSprite)
10. public enum LightColor
63. {
11. {
64. if (myGameObject1 != null)
12. Red,
65. {
13. Yellow,
66. myGameObject1.SetActive(false);
14. Green
67. losserObject.SetActive(true);
15. }
68. componentPlayer.traficRed =
16. public LightColor CurrentLight { get; private
true;
set; }
69. AudioManager.instance.Play("Game
17. public Sprite greenSprite;
Over");
18. public Sprite yellowSprite;
70. }
19. public Sprite redSprite;
71.
20.
72. if (myGameObject2 != null)
21. private SpriteRenderer spriteRenderer;
73. {
22.
74. myGameObject2.SetActive(false);
23. private void Awake()
75. losserObject.SetActive(true);
24. {
76. componentPlayer.traficRed =
25. spriteRenderer =
true;
GetComponent<SpriteRenderer>();
77. AudioManager.instance.Play("Game
26. }
Over");
27.
78. }
28. private void Start()
79.
29. {
80. if (myGameObject3 != null)
30. // Mulai animasi dengan memanggil fungsi
81. {
ChangeLight setelah jeda waktu tertentu
82. myGameObject3.SetActive(false);
31. InvokeRepeating("ChangeLight", 0f, 3f);
83. losserObject.SetActive(true);
32. componentPlayer =
84. componentPlayer.traficRed =
FindObjectOfType<PlayerMovement>();
true;
33. myGameObject1 =
85. AudioManager.instance.Play("Game
GameObject.Find("Player01(Clone)");
Over");
34. myGameObject2 =
86. }
GameObject.Find("Player02(Clone)");
87.
35. myGameObject3 =
88. if (myGameObject4 != null)
GameObject.Find("Player03(Clone)");
89. {
36. myGameObject4 =
90. myGameObject4.SetActive(false);
GameObject.Find("Player04(Clone)");
91. losserObject.SetActive(true);
37. }
92. componentPlayer.traficRed =
38.
true;
39.
93. AudioManager.instance.Play("Game
40. private void ChangeLight()
Over");
41. {
94. }
42. // Ganti Sprite berdasarkan urutan lampu
95.
(merah - kuning - hijau)
96. }
43. if (spriteRenderer.sprite == redSprite)
97.
44. {
98. }
45. spriteRenderer.sprite = yellowSprite;
99. }
46. }
100. }
47. else if (spriteRenderer.sprite ==
greenSprite)
48. {
7
Kode Program 2 Penerapan Lampu Lalu Lintas
Kode di atas adalah sebuah skrip dalam bahasa
pemrograman C# yang digunakan dalam Unity Engine
untuk mengontrol lampu lalu lintas dalam permainan.
Berikut adalah penjelasan singkat dari kode tersebut:
a) Variabel losserObject adalah objek game yang akan
diaktifkan saat player bertabrakan dengan lampu
merah.
b) Variabel myG ameObject1, myGameObject2,
Gambar 23 Tampilan Pohon Tumbang
myGameObject3 dan myGameObject4 adalah objek
game player. 1. using System.Collections;
c) Variabel componentPlayer adalah komponen 2. using System.Collections.Generic;
PlayerMovement yang digunakan untuk mengakses 3. using UnityEngine;
fungsi-fungsi pada skrip PlayerMovement. 4.
5. public class tertimpa : MonoBehaviour
d) enum LightColor mendefinisikan kemungkinan warna 6. {
lampu lalu lintas: Merah (Red), Kuning (Yellow) dan 7. private GameObject myGameObject1, myGameObject2,
Hijau (Green). myGameObject3, myGameObject4;
e) Properti CurrentLight merupakan properti pembaca 8.
9. PlayerManager componentPlayer;
yang memberikan nilai warna lampu saat ini. 10. void Start()
f) greenSprite, yellowSprite, dan redSprite adalah sprite 11. {
untuk masing-masing warna lampu lalu lintas. 12. componentPlayer =
FindObjectOfType<PlayerManager>();
g) spriteRenderer adalah komponen SpriteRenderer yang
13. myGameObject1 =
digunakan untuk mengubah sprite pada objek ini. GameObject.Find("Player01(Clone)");
Dalam metode Start(), InvokeRepeating() 14. myGameObject2 =
digunakan untuk memanggil fungsi ChangeLight() GameObject.Find("Player02(Clone)");
15. myGameObject3 =
secara berulang setiap 3 detik, yang mengubah sprite
GameObject.Find("Player03(Clone)");
lampu lalu lintas secara berurutan. 16. myGameObject4 =
Selain itu, dalam metode Start(), variabel GameObject.Find("Player04(Clone)");
componentPlayer diinisialisasi dengan menemukan 17. }
18.
komponen PlayerMovement pada game object yang ada
19. // Update is called once per frame
di dalam scene. 20.
Selain itu, variabel myGameObject1, 21. void OnTriggerEnter2D(Collider2D other)
myGameObject2, myGameObject3, dan 22. {
23. if (other.transform.tag == "Player")
myGameObject4 diinisialisasi dengan mencari game 24. {
object dengan nama yang sesuai. 25. if (componentPlayer.tertimpa == false)
Dalam metode ChangeLight(), sprite lampu lalu lintas 26. {
berubah sesuai dengan urutan (merah - kuning - hijau). 27. if (myGameObject1 != null)
28. {
Dalam metode OnTriggerEnter2D(Collider2D other), 29. myGameObject1.SetActive(false);
jika objek yang bersentuhan memiliki tag "Player" dan 30. componentPlayer.tertimpa = true;
sprite lampu lalu lintas adalah merah, maka objek player 31. }
akan dinonaktifkan, losserObject akan diaktifkan, dan 32.
suara "GameOver" akan diputar menggunakan 33. if (myGameObject2 != null)
AudioManager. Hal ini menunjukkan bahwa player 34. {
bertabrakan dengan lampu merah dan kalah dalam 35. myGameObject2.SetActive(false);
permainan. 36. componentPlayer.tertimpa = true;
15. Implementasi Pohon Tumbang 37. }
38.
Rintangan pada level dua sama halnya seperti pada
39. if (myGameObject3 != null)
level satu. Hal yang berbeda adalah jumlah rintangan
40. {
pohon tumbang bertambah banyak. 41. myGameObject3.SetActive(false);
42. componentPlayer.tertimpa = true;
43. }
44.
45. if (myGameObject4 != null)
8
46. { semua fungsi game dan mecatatnya dalam
47. myGameObject4.SetActive(false); tabel. Berikut tabel hasil pengujian alpha.
48. componentPlayer.tertimpa = true;
49. } Table 1
50. }
Pengujian Alpha Menu Utama
51.
52. AudioManager.instance.Play("GameOver"); Langkah Hasil yang Hasil
53. Kasus Uji
Pengujian diterapkan uji
54. }
Tombol Tekan Menampilkan Berhasil
55. }
Play tombol cerita yang
56. }
icon play menandakan
game
Kode Program 3 Pohon Tumbang dimulai
Kode di atas adalah sebuah skrip dalam bahasa Tombol Tekan Menampilkan Berhasil
pemrograman C# yang digunakan dalam Unity Engine Setting tombol setting
untuk menangani tabrakan antara player (dengan tag icon setting volume
"Player") dan objek tertentu. Berikut adalah penjelasan Tombol Tekan Menampilkan Berhasil
singkat dari kode tersebut: Shop tombol menu
icon shop pembelian
Variabel myGameObject1, myGameObject2,
kendaraan
myGameObject3, dan myGameObject4 adalah objek Tombol Tekan Menampilkan Berhasil
game player. Keluar tombol konfirmasi
Variabel componentPlayer adalah komponen icon keluar keluar
PlayerManager yang digunakan untuk mengakses ya atau tidak
variabel dan fungsi pada skrip PlayerManager.
Dalam metode Start(), variabel componentPlayer
diinisialisasi dengan mencari komponen PlayerManager
Pada table 1 pengujian berupa tombol
pada game object yang ada didalam scene. Play,Setting,Shop,Keluar yang ada dimenu utama
Selain itu, variabel myGameObject1, myGameObject2, game.Tombol tersebut telah diuji dan berhasil semua.
myGameObject3, dan myGameObject4 diinisialisasi
Table 2
dengan mencari game object dengan nama yang sesuai.
Dalam metode OnTriggerEnter2D (Collider2D other), Pengujian Menu Play
jika objek yang bersentuhan memiliki tag "Player" dan Kasus Langkah Hasil yang Hasil
componentPlayer.tertimpa adalah false, maka objek player Uji Pengujian diterapkan uji
akan dinonaktifkan dan componentPlayer.tertimpa diubah Tombol Tekan Memulai Berhasil
menjadi true. Hal ini menunjukkan bahwa player tertimpa New tombol game baru
oleh objek tertentu dalam permainan. Game icon new dan
game menampilkan
Setelah itu, AudioManager.instance.Play("GameOver")
menu pilih
dipanggil untuk memutar suara "GameOver". level
Dengan menggunakan kode diatas, kita dapat menangani Tombol Tekan Melanjutkan Berhasil
tabrakan antara player dan objek tertentu dalam permainan, Continue tombol game yang
menonaktifkan player dan mengubah status tertimpa pada icon sudah
PlayerManager continue dimainkan
B. Pembahasan dan
menampilkan
1. Pengujian menu pilih
Tahap pengujian (testing) adalah tahap untuk level
menguji beberapa fungsi utama yang ada pada game, Pengujian berupa tombol New Game dan Continue
apakah fungsi tersebut berfungsi sesuai yang yang ada dimenu play game. Tombol tersebut telah
diharapkan atau tidak. Pengujian yang dilakukan pada diuji fungsinya dan berhasil semua.
game “Safety Riding” adalah dengan pengujian alpha
dan pengujian beta. Table 3
a) Pengujian Alpha Pengujian Alpha Menu Pilih Level
Dalam pengujian ini penulis menguji
langsung game dengan menjalankan Kasus Langkah Hasil yang Hasil
Uji Pengujian diterapkan uji
9
Tombol Tekan Memulai Berhasil Tombol Tekan Mengulang Berhasil
Level tombol game sesuai Restart tombol game dari
icon level level yang icon restart awal
dipilih Pada table 5 pengujian berupa tombol Next, dan
Tombol Tekan Mengunci Berhasil Restart yang ada dimenu Winner Tombol tersebut
Kunci tombol level yang telah diuji berhasil semua dan sesuai dengan
Level icon kunci belum fungsinya.
level diselesaikan
Table 6
Tombol Tekan Kembali ke Berhasil
Kembali tombol Menu play Pengujian Alpha Game Over
icon
kembali Kasus Langkah Hasil yang
Hasil uji
Pada table 3 pengujian berupa tombol Level, Kunci Uji Pengujian diterapkan
Level dan Kembali yang ada dimenu Pilih Tombol Tekan Mengulang Berhasil
Level .Tombol tersebut telah diuji fungsinya dan Restart tombol game dari
berhasil semua. icon restart awal
Pada table 6 pengujian berupa tombol Restart yang
ada dimenu Game Over Tombol tersebut telah diuji
berhasil semua dan sesuai dengan fungsinya.
Table 7
Table 4 Pengujian Alpha Menu Setting
Pengujian Alpha Menu Game Pause Kasus Langkah Hasil yang
Hasil uji
Kasus Langkah Hasil yang Uji Pengujian diterapkan
Hasil uji Slider Geser Mengatur Berhasil
Uji Pengujian diterapkan
Tombol Tekan Melanjutkan Berhasil slider volume
Play tombol game yang untuk music game
icon play diapause mengatur
besar
Tombol Tekan Mengulang Berhasil
kecilnya
Restart tombol game dari
backsound
icon awal
restart Tombol Tekan Kembali ke Berhasil
Kembali tombol menu utama
Tombol Tekan Kembali ke Berhasil
icon
Home tombol menu utama
kembali
icon home
Pada table 7 pengujian berupa slider dan tombol
Pada table 4 pengujian berupa tombol Play, Restart,
Kembali yang ada dimenu Setting Tombol tersebut
dan Home yang ada dimenu Game Paused. Tombol
telah diuji berhasil semua dan sesuai dengan
tersebut telah diuji berhasil semua dan sesuai dengan
fungsinya.
fungsinya.
Table 8
Table 5
Pengujian Alpha Menu Shop
Pengujian Alpha Menu Winner
Kasus Langkah Hasil yang
Kasus Langkah Hasil yang Hasil uji
Hasil uji Uji Pengujian diterapkan
Uji Pengujian diterapkan
Tombol Tekan Bergerak Berhasil
Tombol Tekan Melanjutkan Berhasil
Arah tombol maju ke
Next tombol ke level
Kanan iicon arah kanan
icon play selanjutnya
kanan
dan menuji ke
menu pilih Tombol Tekan Bergerak Berhasil
level Arah tombol mundur ke
Kiri kiri
10
icon arah mempertahankan minat Anda dalam
kiri bermain?
Tombol Tekan Membeli Berhasil
Price tombol Kendaraan Seberapa puaskah anda terhadap fitur
icon price 11 kebebasan dalam memilih kendaraan di
Tombol Tekan Kembali ke Berhasil game racing 2D ini?
Back tombol menu utama Seberapa puaskah anda terhadap fitur stage
icon back 12 atau level yang berbeda-beda di dalam
Pada table 8 pengujian berupa tombol arah kanan, game racing 2D ini?
arah kiri, Price dan Back yang ada dimenu shop Bagaimana Anda menilai kualitas grafis
13
tombol tersebut telah diuji berhasil semua dan sesuai dalam game racing 2D ini?
dengan fungsinya. Seberapa puaskah anda terhadap kualitas
b) Pengujian Beta 14 suara dan efek suara dalam game racing 2D
Pengujian beta merupakan pengujian ini?
langsung kepada pengguna untuk Seberapa puaskah anda terhadap fitur
mencoba game dan mengisi kuesioner 15 mendapatkan coin dari bermain dan
mengenai game Safety Riding. Pengujian digunakan untuk membeli kendaraan?
ini dilakukan secara online dengan Seberapa puaskah anda terhadap jalan atau
membagikan link google form kepada 30 16 map dalam game racing yang tidak menentu
orang. Kuisioner terdiri dari 25 dan selalu berubah?
pertanyaan.Data yang didapat diuji secara Seberapa puaskah anda terhadap tingkat
statistik menggunakan spss. dari hasil uji 17
kesulitan game safety riding?
tersebut dapat dilihat kesimpulan Seberapa puaskan anda terhadap durasi
mengenai game Safety Riding yang telah 18 bermain yang diberikan di game racing 2D
dibuat. Berikut adalah daftar pertanyaan di ini?
kuisioner tersebut, dapat dilihat pada table
9 19 Seberapa puaskah anda terhadap alur cerita
game safety riding?
Table 9 Seberapa puaskah anda terhadap rambu lalu
Pertanyaan 20 lintas untuk memperingati banyaknya
tanjakan jalan?
No Pertanyaan Seberapa puaskah anda terhadap rintangan
Seberapa puaskan anda terhadap tampilan 21 pohon tumbang yang ada didalam game
1
game racing safety riding ini? safety riding?
Seberapa puaskan anda terhadap kecocokan Seberapa puaskah anda terhadap asset
2
tema game dan tampilannya? 22 karakter atau kendaraan dalam game racing
Sebarapa puaskah anda terhadap 2D ini?
3 pengalaman visual yang diberikan oleh Seberapa puaskah anda terhadap game
tampilan game ini? 23 racing 2D ini yang hanya dimainkan secara
Seberapa puaskah anda terhadap offline?
4 kemudahan untuk mengontrol kendaraan di Seberapa puaskah anda terhadap
game racing 2D ini? 24
Lampu lalu lintas pada game safety riding?
Seberapa puaskah anda terhadap aturan dan Seberapa puaskah anda terhadap
5
tujuan dalam game racing 2D ini? 25 keseluruhan game safety riding, mulai dari
Seberapa puaskan anda terhadap tantangan gameplay, tampilan dan alur cerita?
6 yang diberikan saat memainkan game Pertanyaan kuisioner mempunyai indikator penilaian
racing 2D ini? sebagai berikut:
Seberapa puaskah anda terhadap fitur yang
7
dimiliki oleh game racing 2D ini? Nilai Keterangan
Seberapa puaskah anda terhadap efek visual
8
di game racing 2D ini? 1 Tidak Memuaskan
Seberapa puaskah anda terhadap efek visual
2 Kurang Memuaskan
di game racing 2D ini untuk memberikan
9 3 Cukup Memuaskan
pengalaman bermain yang lebih
menyenangkan? 4 Memuaskan
Seberapa puaskan anda terhadap fitur yang 5 Sangat Memuaskan
10
dimiliki game racing 2D ini untuk
11
Selanjutnya hasil pengisian kuisioner tersebut Table 10
dihitung validitas dan reliabilitasnya menggunakan SPSS.
Frekuensi hasil kuisioner
Berikut adalah hasil dari perhitungan menggunakan SPSS:
Hasil nilai korelasi antara skor item dengan skor Jawaban
IV. PENUTUP
A. Kesimpulan
1. Penerapan perlin noise pada source code dan sisi map
yang digenerate secara otomatis sehingga map
Gambar 25 Validitas
mempunyai variasi ketinggian yang berbeda-beda.
Nilai dari corrected item correlation semuanya nilai diatas 0,5.
12
2. Penerapan alogaritma perlin noise kedalam map
disetiap level menghasilkan map yang berbeda-beda
setiap akan memulai game.
3. Penerapan unsur Safety Riding ke dalam game racing
dengan menambahkan rambu tanjakan agar pemain
berhati-hati, menaati aturan lampu lintas,
menggunakan helm, jaket, dan sepatu saat berkendara
B. Saran
Karena keterbatasan game yang dibuat masih 2
dimensi sehingga menyebabkan penerapan unsur dari safety
riding kurang, dan map pada game selalu berubah
menyebabkan beberapa asset game didalamnya tidak tepat
dalam peletakannya.
REFERENSI
[1] World Health Organization., Global status report on
road safety : time for action. World Health
Organization, 2013.
[2] Badan Intelijen Negara Republik Indonesia,
“Kecelakaan Lalu Lintas menjadi Pembunuh Terbesar
Ketiga,” 2014. <http://www.bin.go.id/
awas/detil/197/4/21/03/2013/kecelakaan-lalulintas-
menjadi-pembunuh-terbesar-ketiga> (accessed Jan.
10, 2023).
[3] R. A. T. Kala’tiku, Arifuddin, and Syamsuddin,
“BRAINSTORMING SEBAGAI
PEMODERASIPENGARUHPENGALAMAN,
PELATIHAN,SKEPTISISME PROFESIONAL DAN
INTEGRITAS TERHADAP KEMAMPUAN
MENDETEKSIKECURANGAN,” vol. 7, pp. 81–90,
2018.
13