Game Horrible Racing menggunakan Strawberry

MAKALAH SOFTSKILL

Kunjungiiiiii Universitas Gunadarma  images

Pendahuluan

Assalamualaikum Wr, Wb. Salam sejahtera bagi kita semua. Puji syukur kita panjatkan kepada Tuhan yang maha Esa, karena atas karunia Nya lah kami bertiga dapat menyelesaikan makalah sederhana pembuatan game Horrible Racing menggunakan bahasa pemrograman Strawberry prolog.

Makalah ini dibuat untuk memenuhi syarat kelulusan mata kuliah Pengantar Teknologi Game (softskill) di Universitas Gunadarma.

Dengan Kerendahan hati, kami bertiga menyadari bahwa masih terdapat kekurangan dalam penulisan makalah sederhana ini karena keterbatasan kemampuan kami bertiga. Namun demikian diharapkan penulisan ini dapat memenuhi standar kelulusan untuk mata kuliah terkait.

Pada kesempatan ini kami bertiga ingin mengucapkan terima kasih yang sebesar – besarnya kepada ibu Yuli Maharetta Arianti atas bimbingan dan pengarahan pada mata kuliah ini.

Penulis menyadari masih banyak kekurangan yang terdapat pada penulisan ilmiah ini, baik dalam segi materi, teknis maupun penyajian bahannya. Oleh karena itu penulis mengharapkan partisipasi dari para pambaca untuk memberikan kritik dan saran yang bersifat membangun guna menyempurnakan penulisan ini.

Akhir kata semoga penulisan ini dapat bermanfaat, digunakan dan dikembangkan oleh para pembaca.

Latar Belakang Masalah

Permainan atau game merupakan media yang digunakan untuk memenuhi berbagai kebutuhan. Semisal kebutuhan yang timbul akibat raa jenuh, kebutuhan akan hiburan sampai kebutuhan dalam dunia bekerja. Dewasa ini lebih banyak bermunculan game yang mengutamakan kecerdasan berpikir atau respon berpikir. Game diidentikkan dengan pengaplikasian pada suatu device, dengan begitu keaktifan dalam merespon secara fisik lambat laun terabaikan.

Untuk melengkapi dalam pemenuhan keaktifan respon fisik, kami bertiga membuat game yang mengutamakan respon pikiran yang terintegrasi dengan respon fisik. Game ketangkasan berbalap yang menguji respon pikiran yang cepat dan pengambilan keputusan yang diwujudkan dengan gerakan jari untuk memainkannya.

Batasan Masalah

Game ini memberikan tantangan kepada setiap pemain dengan menggunakan berbagai rintangan. Kami bertiga membatasi masalah pada ruang lingkup usia pengguna dan berjalan secara offline. Usia yang dianjurkan untuk memainkan Game ini adalah 5 tahun keatas.

Tujuan Penulisan

Adapun tujuan penulisan dari makalah sederhana ini adalah agar pengguna game dapat juga melatih respon fisik, bukan hanya respon pikiran dalam bermain game yang diaplikasikan pada sebuah device.

 

ADAPUN PROGRAM DARI GAME HORRIBLE RACING

?-

G_Lifes:=3, % nyawa

G_Counter:=0,

G_Times:=10, % waktu turun bata

G_Score:=0,

G_Depth:=10, % jarak bata ke kepala

G_Crashed:=0,

G_Col1:=0, G_Col2:=0, G_Col3:=0, % posisi awal bata

G_Pos:=2, % posisi kepala

G_OldPos:=GPos,

G_Pen0:= pen(1, rgb(155, 155, 255)), % lintasan kepala

G_Pen1:= pen(1, rgb(0, 0, 255)), % batas bata

G_Brush0:= brush(rgb(155, 155, 255)), % warna background

G_Brush1:= brush(rgb(255, 255, 0)), % warna kuning kepala

G_Brush2:= brush(rgb(255, 0, 0)), % warna merah mata

window(G_Wnd, _, win_func(_), “Horrible Racing”, 100, 0, 212, 580). % menampilkan window

win_func(init):-

G_Timer:=set_timer(G_Wnd, 0.15, time_func). % kecepatan bata

win_func(key_down(37, _)) :-                                       % keyboard panah kiri

(G_Pos > 1 -> G_OldPos:=G_Pos, G_Pos:=G_Pos – 1), draw_car.

win_func(mouse_click(_, _)) :-                                     % mouse klik kiri

(G_Pos > 1 -> G_OldPos:=G_Pos, G_Pos:=G_Pos – 1), draw_car.

win_func(key_down(39, _)) :-                                       % keyboard panah kanan

(G_Pos < 3 -> G_OldPos:=G_Pos, G_Pos:=G_Pos + 1), draw_car.

win_func(r_mouse_click(_, _)) :-                                   % mouse klik kanan

(G_Pos < 3 -> G_OldPos:=G_Pos, G_Pos:=G_Pos + 1), draw_car.

win_func(paint):- draw.

draw_car:-                          % fungsi untuk menggambar kepala

pen(G_Pen0), brush(G_Brush0),

rect(0, 420, 212, 460),

Pos:=G_Pos*60- 40,

pen(G_Pen1), brush(G_Brush1),

ellipse(Pos, 420, Pos+40, 460),

Pos:=G_OldPos*60- 40,

brush(G_Brush2),

ellipse(Pos+7- G_Crashed, 428- G_Crashed, Pos+15+G_Crashed, 439+G_Crashed),

ellipse(Pos+25- G_Crashed, 428- G_Crashed, Pos+33+G_Crashed, 439+G_Crashed),

ellipse(Pos+13- G_Crashed, 447- G_Crashed, Pos+27+G_Crashed, 453+G_Crashed).

draw:-                              % Menampilkan tulisan score

pen(G_Pen0), brush(G_Brush0),

rect(0, 0, 300, 600),

color_text_back(G_Wnd, rgb(155, 155, 255)),

color_text(G_Wnd, rgb(255, 255, 0)),

text_out(10, 512, “Score : “+print(G_Score)),

text_out(10, 530, “Lifes : “+print(G_Lifes)),

Pos:=G_Pos*60- 40,

pen(G_Pen1), brush(G_Brush1),

ellipse(Pos, 420, Pos+40, 460),

brush(G_Brush2),

ellipse(Pos+7- G_Crashed, 428- G_Crashed, Pos+15+G_Crashed, 439+G_Crashed),

ellipse(Pos+25- G_Crashed, 428- G_Crashed, Pos+33+G_Crashed, 439+G_Crashed),

ellipse(Pos+13- G_Crashed, 447- G_Crashed, Pos+27+G_Crashed, 453+G_Crashed),

Mask:= 1 << (G_Depth- 1),

for(I, 1, G_Depth),

(

(G_Col1 /\ Mask > 0 -> round_rect(20, I*40- 20, 60, I*40, 10, 10)),

(G_Col2 /\ Mask > 0 -> round_rect(80, I*40- 20, 120, I*40, 10, 10)),

(G_Col3 /\ Mask > 0 -> round_rect(140, I*40- 20, 180, I*40, 10, 10)),

Mask:= Mask >> 1, fail

).

time_func(end):-                    % fungsi hitung score dan waktu

G_Counter:=G_Counter+1,

(G_Counter >= G_Times ->

G_Score:=G_Score+1,

G_Crashed:=0,

Pos:=random(300) // 100 + 1, put_trap(Pos),

once(crash(Z)),

(Z =:= G_Pos -> beep, G_Lifes:= G_Lifes- 1, G_Crashed:=3),

(G_Lifes  =< 0 -> kill_timer(G_Wnd, G_Timer)),

G_Col1:=G_Col1>>1, G_Col2:=G_Col2>>1, G_Col3:=G_Col3>>1,

G_Counter:=0,

G_Times:= (200- G_Score) // 40,

draw

).

put_trap(1):- G_Col1:= G_Col1 \/ (1 << G_Depth).   % fungsi untuk menjatuhkan bata

put_trap(2):- G_Col2:= G_Col2 \/ (1 << G_Depth).

put_trap(3):- G_Col3:= G_Col3 \/ (1 << G_Depth).

crash(1):- G_Col1 /\ 1 > 0, G_Pos =:= 1.           % fungsi jika kena bata

crash(2):- G_Col2 /\ 1 > 0, G_Pos =:= 2.

crash(3):- G_Col3 /\ 1 > 0, G_Pos =:= 3.

crash(4).

KESIMPULAN

Aplikasi ini sudah selesai dibuat dan sudah diterapkan pada note book masing – masing penulis. Dan dari hasil uji coba program yang telah dilakukan, game ini sudah bisa dijadikan sebagai alternatif media untuk kembali mengaktifkan respon fisik dalam bermain game berbentuk digital. Dengan adanya peningkatan kecepatan dan rintangan, pengguna mendapatkan tantangan dalam memainkan game ini.

Game ini juga disadari masih memiliki kekurangan yaitu dalam hal penyajian desain tempat objek bergerak yang belum memiliki kualitas gambar yang baik. Serta kurang menariknya bentuk objek dari permainan ini. Semoga penulisan ini dapat memenuhi standar kelulusan penilaian Mata Kuliah Pengantar Teknologi Game (softskill), semoga bermanfaat. Wassalam.

Angga Maulana          50410799

Gandha Ryanto           52410948

Maulana Sahid Akbar

Mata Kuliah    :  Pengantar Teknologi Game (softskill)

Dosen              :  Ibu Yuli Maharetta