Minggu, 04 Juni 2017

Pembuatan Game



CARA MEMBUAT BASKET GAME

Dalam Makalah ini berisi tentang cara membuat game basket sederhana, pada pembuatan objek ini saya  menggunakan aplikasi Blender 2.78, Game basket ini adalah game yang di kembangkan dari game memasukkan bola ke lubang hanya pda game basket ini nilai yang ada berada di atas atau lubangnnya tidak dibawah melainkan diatas jadi permainan ini mirip dengan permainan basket.

Scene Pembuka
Langkah awal adalah dengan mengatur letak camera menghadap kebawah yang mengarah pada suatu plane dengan mengklik kanan kamera lalu tekan N, akan muncul properties untuk mengatur posisi kamera lalu masukkan pada kolom location dengan X=0,Y=0,Z=10 , jjuga rotasi X=Y=Z=0. Seperti ini.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVd_2GA3RP2JSBTR6dlLnCsFArmqJTUjnY4iyhk3Hx7FHNQBjcVQTeeBiCSLoDiSLVYlA7ANQTnyTSaCCEnjJWASWPcajVlPMt0unhaQYIrllTSAuwyu4bSvwMZoBDR1A5HbvkU8UaGO8/s400/Untitled.png
Akan terlihat camera menghadap kebawah tegak lurus dengan objek, setelah itu kita hapus objek kotak nya dan kita ganti dengan objek plane. Shift A pilih mesh lalu plane. Lalu tekan numpad 0 untuk masuk ke view camera.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCVLBzpLZLiXGS4Z8H64iPyMV-kJfwEmmIUaqiTGwTax295Sg86XX2gHaZ-mSh6h8NKZjayVbl90BZU3OIJPtLpoU9qCEKCeTjFvqL69BUQpvRC9EwusUJ-Cc2mIr-5yjabHRcRG5ii1c/s400/Untitled1.png
Kemudia perbesar ukuran plane hingga menutupi ruang view camera.
untuk memperbesar plane . tekan S lalu atur skalanya usahakan sampai menutupi view camera seperti gambar diatas. Setalah itu tambahkan objek Text dan ganti tulisannya dengan play caranya tekan Shift A lalu edit mode untuk mengubah tulisannya lalu beri warna. Seperti ini.
Tambahkan plane satu lagi untuk alas objek play agar membentuk button. Seperti ini

Beri warna plane tersebut agar terlihat
Lalu gabungkan plane yang kedua dengan objek text. Caranya tekan shift sembaring mengklik kedua objek. Lalu tekan ctrl + P dan pilih objek.


maka 2 objek tersebut akan bersatu dan tidak lepas jika kita ingin mengubah posisi atau besarnya. Selanjutnya melakukan animasi cara nya bertahap pertama klik gambar kunci yang ada dibawah pojok kanan.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2Y7shsV7LnVwNo7HtAhCX2Mq-eEY9Wc7Y2eP6OicQLgWpZUMfIkWVNsUHBwEb1-TB1gqXQ3jeHb-TLT_60J654TrXNMA2AikrMV0AiZ27FYy2amhJ1M7czzDwkGwKl-eSfZtTx7Tipws/s400/Untitled11111.png
setelah itu atur lagi frame menjadi 3 lalu klik I lagi. Terakhir atur frame ke 2 lalu perbesar  sedikit 2 objek gabungan tadi dengan menekan S lalu klik I seperti ini.


Lalu jika animasi klik button sudah diuat lanjut ke tahap game interface caranya masuk dahulu ke blender game dengan memlih menu yang atas.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj72kSiGHh9rtQTazyefs2poSzsRVEAnfNvnfJTYDK4gKM6n10It2vgj4ApJuipLZmDYyNb220cb2B-hzxoukiDNn9sQ9oN_qwVCjmhiJ_P5m2Palgb-puukzgjvbSQBBGJZUJh5ZWqUP0/s400/Untitled111111111.png
Lalu plilih yang bagian default dab ubah menjadi game logic.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK2D5UiB8XGb8tC_N9om0RHKqlYMi13j9ULeh71jVnC2eQVTXlE8bz8VPjFppkgi-9XDip4S5xf_CnBoDuM3vTcat9v8ztyIfoNkic7FU7GPBd-5FFgITuXTZKV-uVe-DzmxqOZfI-OBA/s320/Untitled1111111111.png

maka akan muncul tampilan game logic
Di situ akan muncul menu untuk sensor , contrtoller , dan actuator.
Sensor berguna untuk device apa yang akan menggerakkan suatu objek. Pilih add sensor lalu pilih mouse maka akan muncul tampilan sensor untuk mouse karena kita akan menggerakan objek dengan mouse. Dan mouse event pilih yang left button untuk menggerakkan objek dengan klik kiri pada mouse
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLda7Akyb0Nu9KKpyx8xVfNQb5flvEnhpz0QvjR5QIgD8MXmdSVU7VmTf4nMIXmdNoplbF06tqHo-EaE7n5juJJyZjd2KL9iP1uWigXslJBbXdafEdx4zUnL9FwH3Tyj-WQY8XexT6p70/s1600/Untitled11111111111.png
di situ ada sebuah titik, itu adalah sebuah link yang menghubungkan satu fungsi dengan fungsi yang lain.
Pada fungsi controler   pilih add controler lalu pilih AND.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwgWxyVr28jfZxEFWXm6zh4O0TOlFE1pwbLoNPxJcyn0_TlrE-bgpxnaga4pRbwmf3WyiRSCkWNKhzCNsuNXDwRNcngmQqQ4n9Duf3QWc7HYrXi5MAbO7C9BjORjN_RTIAWaPFGKJb-hQ/s1600/Untitled111111111111.png
Dan pada fungsi actuator pilih action.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYZK1JTpJ33YBLTXURlzIljDeGhh_1K1KUFq2ruzIuLr0CpxkWQiAIkjIpoBxdTKm_hPmZW4msoVZi2dvuCANInke9ZaLBA_HN9eGWnBptRmvYBN03mbVuB8YJSMnZFEzMA1rJffMpm2Y/s1600/Untitled1111111111111.png
klik pada kolom di samping continue pilih Plane yang kedua tadi dan berikan angka satu pada kolom Start dan dua pada End. Lalu coba link kan dari fungsi Sensor ke fungsi controler dan dari funsi controler ke fungsi actuator. Seperti ini
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj29WJtMS-qiCoS_248zYq_r4zCCcxlu2HAZzMzgMVur2Rpj1ABh_lqzLPjuevOYcOxtawCzH83OFjbctv6u0nJMXNvcLwbJopi81x8BAXMcz_4C2BAJh7WprLBU-tvbW9DNTh9qm12Ri0/s640/Untitled11111111111111.png
Agar mouse terlihat saat di game di jalankan. Pilih properties yang sebelah kiri cari mouse cursor lalu centang mouse cursor tersebut. Seperti ini
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSNGlkXoJK2iRIUSWG_eLZX7ZeVVQG83op8ZOxhCA1x5dnze9_6CmwmtJnvJThs_PO23Iuh5lslKSRusJ4HEI5FK8QG6nata4XB4yFmKjtSBy8xTyM8AQZBVpYu4w-c6JbUAZiGH73eR4/s1600/Untitled111111111111111.png
Setelah selesai semua tekan P untuk run.

button akan membesar jika di klik. Dan lakukan seperti tadi untuk membuat button credit dan button exit. hingga ada 3 button yang utama untuk tampilan awal sebuah game. Seperti ini

Scene Permainan

Sekarang kita masuk kedalam Scene Permainan, Pada scene ini permainan akan berjalan. Langkah pertama adalah dengan membuat sebuat plane dengan lebar selebar lebarnya lalu di tambahkan objek bola dan objek ring basketnya. Seperti ini

Kita tambahkan penyannga pada bola yaitu seubah objek kubus yang dibentangkan agar nantinya bola saat terjatuh dapat restart. Jika tidak ditambahkan maka sistem permainan tidak akan berjalan dan karena bola akan restart terus menerus ke posisi awal nya.
Selanjutnya pada objek bola diberi pola untuk locat dan geser kanan dan kiri. Agar bisa memasukkan bola ke keranjangperlu ditambahkan sensor dan actuator motion.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHVSCUY7cpO6MNgcXXBu7UIlUfDZjiUI3uR9o6PfDwt5gdCsTgY6Q8zrSppEpKsi-R23OPlUw6GvW60FJ-PyrcMAnpHCBf9lPZkQx0bs0S7_i79_HZbWApV2GqrQMNPT2jCizVVxcbrV8/s640/Untitled222.png
Keyboard pertama yaitu loncat diberi dengan menekan Spasi lalu jarak loncatnya menggunakan simple motion yang diberi nilai pada Force : X=0 , Y=7, Z=7, sama nilai Pada variable torque, Linear variable, dan Anuglar. Lalu untuk gerakan kanan dan kiri. Kanan menggunakan Key D pada  keyboard dengan jarak X=0.1 sumbu lainnya 0 , lalu gerakan ke kiri menggunakan key A dengan jarak X= -0.1 sumbu laiinnya bernilai 0. untuk bola sendiri menggunakan Rigid body.
Karena jika menggunakan ini maka gerakan bola akan bebas . Seakan akan seperti benda nyata. Untuk lapangan permainan menggunakan sensor collison.
Yang apabila bola bersentuhan dengan lapangan maka posisi bola akan kembali normal, maka dari itu dipasangkan kubus tadi agar bola tidak looping terus menerus.
Selanjutnya membuat score dengan object empty dan pada objek terseubt ada beberapa fungsi yang digunakan serta kodingan.
Sensor nya menggunakan always agar otomatis beroperasii pada controler mengunakan Python karena di dalammnya terdapat kodingan . Pada script update.py.:

import bge
def main():
 cont = bge.logic.getCurrentController()
 own = cont.owner
 def init():
  #first time there will not be an 'init' property
  if not 'init' in own:
  #create property 'init'
   own['init'] = 1
  
   if not 'score' in bge.logic.globalDict:
  
    #create propery and set initial value
    bge.logic.globalDict['score'] = 0
    bge.logic.globalDict['timer'] = 0
 def update():
 
  #update he game score from global dictionary
  own['score'] = bge.logic.globalDict['score']
  bge.logic.globalDict['timer'] += 0.0167
  own['time'] = bge.logic.globalDict['timer']
  init()
 update()
 main()
script ini berguna untuk deklarasi untuk nilai pertama pada variabble score dan time yang nantinya keduanya akan di proses pada script nilai add5,8, dan 10. di game propertie ada beberapa type data yang digunakan diantara :
Score = integer dan timer=float
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIzWklAaCRMgQQgY7oiptiUosIXaoUBz_-AyDGo5Djf81rTPEI5AeGR-SuZyN95unbA_iWrnAAT3KagT-fy8MBVmGl2pNnWYvWnFlYTT4-1ojVGyjqAbStQKlhtB7ktP3kUXx92tmcvew/s400/Untitled2222222.png
agar timer berhenti dan berpindah scene maka ditambahkan actuator scene untuk berganti scene
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVjViipLBUVcYlciis9mBDE2WAJLU5Zkxjt2iS5boijbpwUkrRh5Bvpv8vW6Oo5dFSkSfnK9Fc00qOVeWDVD_1xjf3OiCxoxh1LUCFFON94LnOxgPdY9qE4ut70P5ozpJegD-6xVTyfqo/s400/Untitled22222222.png
jika time sudah 30 maka waktu habis dan akan kembali ke menu.
Agar timer berjalan mundur klik pada bagian tanda kutip seperti gambar diatas.
Untuk score yang bernilai di setiap ringnya. Dimasukkan kodingan dari score di setiap ringnya seperti ini.
Benda yang berada di ring tersebut adalah sebuah kubus tadinya, gunanya sebagai sensor agar bola yang masuk ke ring tersebut dapat terbaca oleh score, maka dari itu oject tersebut di hilangkan dengan menekan invisible di panel sebelah kanan.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyYCye2R_ubLcMBOvfMyBBhVIGM7P5iOa-cydxm32h_2ngBGq__oaa7AEZrGSWc8TiKA3OCP1FrsPStCoRXrs0jOqceIqQm8UsINCPioweh_TTi0ug9hggPuKlQcINn4uAvkXRFUZ0b4Q/s320/Untitled3.png
Pada script score.
Score yang ditambahkan dari setiap memasukkan bola pada ring nomor 10 adalah sebesar 10 point. Begitu seterusnnya dari setiap ring yang bernomor.
Untuk timernya menggunakan script python juga dan fungsi
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidUGq3SW8shdBQxKuxhMpD7EcQuPqjkWKYWbK2f0qBLhTBNw_wxnEUbyFgju5mdI21UD6bofsxGOYvOCO5V5ME4-XcH8FwLT8UcpCc47JnHyicnuS7_Gf2E3Q8hl91ivN0IAiSc2V4rGA/s640/Untitled33.png
Script pada Testtimer.py

import bge
def main():
 cont = bge.logic.getCurrentController()
 own = cont.owner
 own.text = "Time %4.1f" % (30 – bge.logic.globalDict['timer'])
main()
"Time %4.1f" % (30  --> untuk memulai nilai dari timer dari detik ke 30


pada proses score
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_R169UsGr85sybBF1Tn-hCCf9mhqAjUShSN46j1Sb_ufwZL9CkmxqnfeqD86R2XbVdZHTmMgG0jJH3swVl1ALnbcHA0Y2cmC0lr0H0J_mueJxzqrgTuzcJpwzYc_FjnMSfHOcDp-FlbA/s640/Untitled333.png
diberi script Testscore.py

import bge
def main():
 cont = bge.logic.getCurrentController()
 own = cont.owner
 own.text = "Score " + str(bge.logic.globalDict['score'])
main()
variable Score nantinya akan di jumlahkan dari setiap script pada ring yang bernomor 10 5 dan 8.

Scene Finish

Pada bagian ini saya akan menjelaskan bagaimana membuat scene akhir, scene tersebut berguna sebagai scene terakhir dan memberi pernyataan bahwa kita telah menyelesaikan permainan. Langkah yang awal yang harus kita lakukan adalah buat objek Plane dengan menekan SHIFT+A>Mesh>Plane dan membesarkannya dengan menekan S. Lalu diberi teks, dan diberi warna seperti ini
Lalu kembali ke game logic dan select ojet empty dan atur penempatan untuk memunculkan scene tersebbut seperti ini
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsq-ND5SoyO7EJ-AN1Vx9iBM0lpfN5fHoVjUWNQaS-_lzN5IPUlb3WljJLhXlLEt11E0X8MG-mHsP1Ho9XaZWV0gplPpLOIYqnN3U6sMUeTE6R2HMysxQWEgowX67YxULA49CivB5NtUQ/s640/Untitled33333.png
agar scene terakhir muncul gunakan expresi score>=30, jika score lebih dari sama dengan 30 maka akan muncul scene ending yaitu scene yang menyatakan menang.
Selanjutnya adalah menyimpan project ini dengan ekstensi .exe, langkah pertama yaitu buka File>User Preferences>Addons>Game Engine>Game Engine: Save As Game Engine Runtime>Save User Settings>Close. Buka File>Export>Save As Game Engine Runtime, dan usahakan meletakannya dalam satu folder. Dan jika ingin memplaynya klik file yang berextensi exe. Demikianlah manual book sederhana yang di buat, Maka dari itu penulis berharap teman-teman dapat terus membagi ilmunya agar menjadi bermanfaat bagi orang lain.


Sumber : http://rizkygundar.blogspot.co.id/2015/06/tugas-game-softskill.html

0 komentar:

Posting Komentar

Tolong komentarnya tentang hal yang saya pos di blog ini