Search:

Rabu, 22 Oktober 2014

Game Maker : Begining for Scripting in GML part 2 (Variable) [Indonesia]

0 komentar
Oke , maaf jarak waktu posting nya lama.
kali ini saya akan menjelaskan dan mempraktekan variable pada Game Maker.
sebelumnya kalian sudah mempersiapkan semuanya kan? dan tentu nya kalian sudah bisa mendeklarasikan Variable di Game Maker.

Oke.

ketentuan saat kita menggunakan Variable di Game Maker yaitu :
  1. Variable yang digunakan harus dideklarasikan terlebih dahulu.
           kita menganggap variable itu adalah penampung nilai, dengan begitu kita hanya bisa melakukan 2 pilihan yaitu Mendeklarasikan Variable (menetapkan atau mengubah nilai) dan Memanggil Variable (menerima value dari variable).

  2. Variable ada dan dikenal.
           Ya, asal kalian tahu. Variable itu memiliki 2 alamat yaitu Id Instance dan Name. pada Variable jika kita hanya mendeklarasikan nama nya saja, berarti kita memberikan alamat variable tersebut Id Instance pada object itu sendiri, dan Name pada nama yang kita deklarasikan.

ketentuan kedua mungkin kalian masih agak bingung. seperti contoh pada object0 saya mendeklarasikan variable dengan sebuah script.

variable_baru = 10;


disini saya mendeklarasikan dengan namanya saja bukan?. mengapa Alamat Id Instance tidak di tentukan?
Ya, sebab seperti yang katakan sebelumnya, jika kita hanya medeklarasikan namanya saja , dengan berarti kita memberikan alamat variable tersebut pada object itu sendiri.

Dengan berarti Variable diatas itu memiliki alamat yaitu :

  • Alamat Id Instance = object0;
  • Alamat Name  = variable_baru;
Berarti sama dong dengan :

object0.variable_baru = 10;


Yap! silahkan dicoba, mengetesnya dengan show_message()  yaitu show_message(variable_baru); setelah variable ditentukan.

dengan begitu kita mempunyai 2 script yang berbeda :

variable_baru = 10;

show_message(variable_baru);

dan

object0.variable_baru = 10;

show_message(variable_baru);


coba ditest, pasti hasilnya sama ^_^.

Lalu apa kelebihan kita saat mengenal Alamat Id Instance ?
Yap. kita bisa mengubah variable Object lain , padahal aksinya bukan diobject itu ^_^ mudah kan?

Sekian tutorial saya hari ini, ingat , semakin lama kalian belajar dan berlatih Scripting , semakin mahir kalian dalam membuat Game.
READ MORE - Game Maker : Begining for Scripting in GML part 2 (Variable) [Indonesia]

Sabtu, 27 September 2014

Game Maker : Begining for Scripting in GML part 1 (Variable) [Indonesia]

0 komentar
Selamat datang teman-teman, kali ini saya ingin memberitahukan hal-hal bagi kalian yang merasa sulit untuk memasuki dunia scripting di Game Maker. judul dari posting ini adalah "Memulai untuk Scripting di GML (Game Maker Language) Part 1 (Variable)"..

Berarti sudah tahu dong apa yang kita ingin latih sekarang?. Yap, Variable pada Game Maker.

Rekomendasi saya untuk dapat melalui tahap ini dan selanjutnya, kalian telah sepenuhnya mengerti apa itu :
  • Event (Create, Step, dan Draw)
  • DnD of Execute Code (yang saya maksud disini adalah kalian dapat membuat Subevent Execute Code kedalam Event)
  • mengetahui function draw_text() , jika belum klik disini.
  • mengetahui function show_message().
Oke , jika kalian ingin melanjutkan Tutorial, saya harap syarat diatas terpenuhi ,oke?.
sebab tanpa memenuhi syarat diatas, saya rasa kalian akan sukar menerima perintah-perintah selanjutnya.

Baiklah...

Variable

     Variable adalah sebuah simbol atau ketetapan yang memiliki nilai tertentu, dengan ketetapan yang dimaksud adalah Variable yang digunakan harus memiliki ketetapan, jadi kita tidak akan di-PHP-in (Pemberi Harapan Palsu) sama Variable, jikalau pun kita merasa di-PHP-in , secara tidak langsung sebenarnya kita lah yang PHP-in diri sendiri.

Pertama yang harus kita ketahui adalah cara mendeklarasikan Variable, Variable terdeklarasi jika nilai variable ditentukan (sebelumnya belum diketahui nilainya) , oleh maka itu kita bisa mendeklarasikan Variable kapanpun tidak dibatasi oleh waktu dan Event.

Cara nya mudah kok, yaitu dengan penulisan sebagai berikut :
variable_baru = <nilai>;


yang dimaksud adalah sebuah string atau integer, yang dimaksud dari string itu adalah nilai jenis text, seperti "A" , "Text" atau "Nama Saya". seperti contoh saya membuat variable baru dengan nama "nama_saya" :


nama_saya="Harbi Martin";


contoh diatas adalah pendeklarasian Variable Text , tidak lupa juga pada integer, yang dimaksud dari integer adalah jenis nilai yang berbentuk angka. seperti 1 , 2 , ataupun 3.1415 (tidak dibatasi). seperti contoh saya membuat variable baru dengan nama "nilai_pi" :

nilai_pi=3.1415;




Jenis Jenis Variable


Variable Array (Hanya Review, mungkin di Part 8 keatas kita akan gunakan)

       Variable array adalah variable yang memiliki nilai lebih dari 1, nama dari variable itu sama , namun yang membedakan adalah nilai blok nya atau nomor susunannya. batas dari Variable array sampai sekarang belum saya ketahui, Namun, nilai bloknya tidak bisa lebih kecil dari 0.

seperti contoh, cara mendeklarasikan 2 Variable array yang memiliki nilai blok [0] dan [1]:

variable_baru[0]="Huruf A";
variable_baru[1]="Huruf Z";

Check Variable

Cara mengecek apakah nilai dari sebuah variable, bisa dengan cara show_message() ataupun draw_text().
disini saya memberi contoh mengecek variable dengan show_message().

seperti script berikut :

nilai_pi=3.14;

show_message(nilai_pi);


silahkan dicoba dan diplay, apakah nilai_pi yang ditampilkan sama, dengan apa yang kita deklarasikan ^_^.

Oke , karena ini baru Part 1 dengan begini kalian sudah memahami cara mendeklarasikan Variable, karena di Part 2 berikutnya kita akan menggunakan variable, karena dalam GML dan Bahasa Pemograman lainnya, Variable lah yang sangat sangat berpengaruh dalam pelaksanaan script.

Silahkan tunggu part berikutnya.
Semoga Bermanfaat~
READ MORE - Game Maker : Begining for Scripting in GML part 1 (Variable) [Indonesia]

Kamis, 25 September 2014

Game Maker : My special function package (Direction) Free! [With Indonesia Explanation]

1 komentar
 Selamat datang kembali, bingung nih mau buat refrensi untuk game maker apa lagi, setelah saya pikir-pikir saya punya External Function sendiri untuk Game Maker tentunya ^_^ .

Sebenarnya function ini adalah function pribadi, khusus untuk saya sendiri, namun karena bagi saya Function ini mungkin lebih dibutuhkan oleh orang lain dibanding saya, maka tidak salah bukan kalau kita berbagi :) hehehe..

Oke, kalau boleh saya jelaskan. Function ini adalah function yang dikhususkan dalam sisi Direction atau Sudut. jadi waktu saya ingin membuat project yaitu game jenis tembak-tembakan berbentuk 2d (kamera hadap atas) saya kesulitan membuat sistem tembok nya, jadi saya kebingungan saat itu dengan kondisi saya belum memahami materi Trigonometri yang telah diajarkan dari kelas 2 SMA.. waktu itu saya amat benci dengan Materi Trigonometri karena kita harus memahami apa itu fungsi Sin() Cos() dan Tan().. padahal setahu saya Sin, Cos , Tan ini sangat berguna pada pembuatan Game 3D .. oleh maka itu saya mulai belajar Trigonometri dan membuat function agar dapat membantu saya untuk memecahkan logika dalam membuat script , seperti ujung tembakan, arah peluru, tembok yang akan mengenai peluru dan sebagainya.

dan Voala!... saya sekarang mencintai materi Trigonometri, dan semakin bangga kalau saya telah mengenal Game Maker ^_^ ..

Oke, tidak lama-lama saya akan menjelaskan function external ini.
Ettss... terakhir saya ingin memberitahu masa pembuatan Function ini, Function Package yang saya publikasikan ini adalah revisi kedua dari Function Package yang telah dibuat dari 14 Agustus 2013, Revisi kedua saya selesaikan pada tanggal 13 Desember 2013.

Kalian bisa mendownloadnya disini :

http://adf.ly/sKtYD

Oke saya akan jelaskan.

Pada Function Package ini, berisi 9 Function , yaitu :

  • dir_in_dir( dirmin,dir,dirmax );
  • dir_in_line( line_x1,line_y1,line_x2,line_y2,point_x,point_y,point_dir );
  • direct( direction );
  • dirview_in_line(  line_x1,line_y1,line_x2,line_y2,point_x,point_y,point_dir_min,point_dir_max );
  • length_of_dir( dir1,dir2 );
  • length_on_dir( dir1,dir2 );
  • point_cross( x1,y1,dir1,x2,y2,dir2 );
  • point_cross_x( x1,y1,dir1,x2,y2,dir2 );
  • point_cross_y( x1,y1,dir1,x2,y2,dir2 );

Baiklah saya akan menjelaskan satu persatu :

Point Cross

     Disini saya menamakan point cross karena ini menghitung pertemuan titik silang antara 2 garis yang berbeda, ada garis 1 dan garis 2.

Bisa dilihat dari gambar disamping, dari ketiga function point cross itu mempunyai kesamaan argument, yaitu x1,y1,dir1,x2,y2,dir2.

pada gambar disamping (x1,y1) adalah titik awal garis 1 dan "A" pada gambar disamping adalah nilai dir1. begitu juga dengan (x2,y2) adalah titik awal garis 2 dan "B" adalah nilai dari dir2.

pada ketiga function mempunyai nilai value yang berbeda, yaitu :

point_cross_x(x1,y1,A,x2,y2,B) menghasilkan nilai dari x3 (bisa dilihat digambar titik ke 3 adalah pertemuan antara garis 1 dan 2)

point_cross_y(x1,y1,A,x2,y2,B) menghasilkan nilai dari y3.

sedangkan , point_cross(x1,y1,A,x2,y2,B) menghasilkan nilai dari L (L adalah jarak dari titik 1 ke titik persilangan yaitu dari (x1,y1) ke (x3,y3) ).


Direct

      Direct adalah function yang saya buat untuk membetulkan nilai sudut pada suatu nilai. dengan syntax :
direct( direction );

direction adalah nilai integer. seperti yang kita ketahui, sudut adalah sebuah nilai dari 0°-359° (360° adalah 0°). oleh maka itu fungsi Direct ini adalah sebagai function untuk membetulkan nilai yang bersyarat ini.

sebagai contoh , seperti script ini :

true_dir = direct(-122);

-122 adalah nilai diluar 0° dan 359° , oleh maka itu saat kita menggunakan direct(), maka hasilnya nilai sudut yang benar akan muncul , yaitu pada nilai true_dir. dan setelah dilihat , nilai true_dir adalah 238 ^_^.

Length Of/On Dir

     Disini saya ketahuan membuat script dengan nama bahasa inggris yang belum tentu benar ^_^ , tujuan utama saya untuk menamakan length_of_dir dan length_on_dir adalah untuk membedakan fungsi namun memiliki tujuan yang hampir sama. lalu apa perbedaannya?

Informasi sedikit. Kedua function ini dibuat untuk menentukan jarak antara sudut dengan sudut. namun bedanya, hasil pada length_of_dir adalah jarak dari sudut pertama ke sudut kedua (arah berlawanan jarum jam), sedangkan length_on_dir adalah jarak terdekat antara sudut pertama ke sudut kedua , dengan berarti length_on_dir memiliki nilai <=180 dan >=0.


seperti simulasi pada gambar berikut :



pertama tama kita ketahui nilai dari masing-masing variable :

a = 0;

b = 50;
c = 225;

jika kita menulis length_on_dir(a,c) , maka nilai dari fungsi tersebut adalah jarak sudut terdekat antara sudut a kesudut b. dengan begitu nilai dari :

length_on_dir(a,c)  adalah 135
° .



namun berbeda dengan length_of_dir(a,c) , nilai yang dihasilkan adalah jarak dari sudut a ke sudut b.
yaitu :

length_of_dir(a,c) adalah 225° (225°-0°) .. 
berarti,  dengan begitu rumusnya adalah (c-a) ?Nah, ini tidak bisa dikatakan salah, namun length_of_dir() ini akan lebih efektif pada sudut yang melewati nilai 0° . seperti :

length_of_dir(c,b) --> yaitu jarak dari 225° ke 50° , jika kita menggunakan length_of_dir, maka akan menghasilkan nilai 185 , yaitu (360-225) [jarak dari 225° ke 0°] +(50-0) [jarak dari 0° ke 50°].

Dir in

    Dir in adalah Function yang saya buat untuk mengecek sebuah sudut , apakah sudut tersebut berada pada sebuah kondisi? Yap, pada function Point Cross itu adalah fungsi yang menghitung titik yang menyilang dari sudut 1 pada sudut ke 2. namun berbeda kasus pada Dir In ini, Dir In adalah function yang hanya memberikan nilai true atau false , yang membuktikan bahwa sudut berada pada suatu kondisi.

Terdapat 2 function Dir In ini :


  1. dir_in_dir( dirmin,dir,dirmax );

        dir_in_dir()
    adalah function yang menghasilkan nilai true jika dir berada pada dirmin dan dirmax.sebagai contoh pada gambar berikut :

    terdapat 2 sudut garis yang berbeda, yang 1 adalah A yang berada pada dirmin dan dirmax sedangkan B berada diluar garis dirmin dan dirmax.

    dengan begitu jika kita menulis :

    dir_in_dir(dirmin,A,dirmax) maka akan menghasilkan nilai true, karena sudut A berada didalam dirmin dan dirmax, sedangkan.

    dir_in_dir(dirmin,B,dirmax) akan menghasilkan nilai false, karena berada diluar dirmin dan dirmax ..

    dengan begitu, jika dir_in_dir(0,90,180) bernilai false atau true ? .. ya jelas true, sebab 90° berada pada 0° dan 180° (semoga dengan contoh ini kalian mengerti ya) ..
  2. dir_in_line( line_x1,line_y1,line_x2,line_y2,point_x,point_y,point_dir );

         dir_in_line()
    adalah function untuk mengecek pada suatu sudut yang berada pada sebuah garis yang letak dan sudutnya telah ditentukan. hampir sama dengan dir_in_dir() namun dir_in_line() mempunyai dirmin yaitu sudut terkecil dari titik sudut ke salah satu ujung garis, dan dirmax yaitu sudut terbesar dari titik sudut ke salah satu ujung garis .. seperti gambar berikut :

    gambar disamping memperlihatkan 2 sudut yaitu A dan B, memiliki nilai yang berbeda dan kondisi yang berbeda, yaitu kondisi A dimana berada pada dirmin dan dirmax, sedangkan kondisi B dimana B diluar dari dirmin dan dirmax.

    oleh maka itu saat kita menulis :

    dir_in_line(x1,y1,x2,y2,point_x,point_y,A);maka hasil dari dir_in_line() adalah true, berbeda jika sudutnya adalah B, maka hasilnya adalah false.

    silahkan cari dir_in_line(10,0,100,0,55,60,90) , true atau false?.. coba bayangkan diotak anda, gampang kok!


    Dir View In Line

          dirview_in_line() sama seperti dir_in_line() , namun perbedaannya adalah titik sudut dari point nya, dalam dirview_in_line() ini tidak hanya mempunyai dirmin dan dirmax pada line nya , namun pointnya juga punya memiliki dirmin dan dirmax, kali ini saya hanya akan memberitahukan secara kompleks bagaimana hasil dari dirview_in_line() ini bekerja , dengan sebuah gambar berikut :

    Hasil disamping menyatakan bahwa :

    dirview_in_line(x1,y1,x2,y2, point_x,point_y,point_dirmin,point_dirmax);

    bernilai true, sebab diantara dirmin point dengan dirmax point terdapat daerah antara dirmin line dengan dirmax line. jika diantara dirmin point dengan dirmax point tidak terdapat daerah antara dirmin line dengan dirmax line maka hasil yang dihasilkan adalah false.




    Oke, inilah Extension yang sudah tidak lagi menjadi pribadi buat saya.. hehe..
    semoga dengan begini kalian mungkin akan "sedikit" terbantu dalam membuat game yang berbau sudut atau direction.Download nya diatas (bukan fake kok) , nanti ada file *.gex, dan silahkan di Install dulu digame maker , dengan cara pilih pada title bar yaitu Resources > Select Extension Package > Click Install > akan muncul box baru dan pilih Install pada captionnya. > Cari File *.gex yang baru didownload, (tadi downloadnya format *.rar , lebih baik di extract dahulu , agar file *.gex-nya kelihatan) > Jika sudah, Click Open > lalu akan terlihat di available package ada Extension baru. lalu Click "Direction Function Package" > dan akan muncul panah kekiri, lalu Click Panah Ke Kiri yang baru muncul tersebut > Lalu pilih ok ,dan....... > Selesai!

    Oke, semoga Extension saya dapat membantu, mohon maaf jika ada salah kata.
    Terima Kasih~
    READ MORE - Game Maker : My special function package (Direction) Free! [With Indonesia Explanation]

    Selasa, 23 September 2014

    Game Maker : Let's Drawing! [Indonesia]

    0 komentar
    Kembali lagi teman-teman ^_^ ..
    saya akan memberikan refrensi nih buat kalian-kalian yang menggemari membuat game dari sisi grafik.

    Grafik itu menentukan sekali lhoo saat kita membuat game, maka dari itu jika kita ingin memainkan game-game besar, tidak asing jika kita melihat spek recommendation dari game itu dan dicocokan ke komputer kita, gak jauh-jauh deh misalnya besar nya RAM kita atau VGA komputer kita, nah siapa sih dalang semua itu yang ngebuat kita susah-susah mikirin RAM sama VGA cuman buat main game aja?..

    Yah! itu semua adalah perbuatan si Grafik. Grafik lah yang membuat game mempunyai julukan lag atau berat. inilah Komponen terbesar selagi kita mengisi game kita agar enak dimainkan..

    oleh maka itu, saya disini akan menerangkan apa aja sih Function-Function atau Fitur-Fitur dasar saat kita membuat script yang khususnya dilakukan oleh Draw Event :

    • Alpha , alpha dalam game maker itu adalah intensitas nilai sebuah Opacity/transparasi. jika kita sering memakai program drawing seperti CorelDraw atau Photoshop kita pasti sering memakai Opacity pada Layer, nah "Opacity" nya Game Maker itu adalah Alpha.

      nah untuk mengaplikasikan fungsi Alpha ini , kita bisa memakai function draw_set_alpha(opacity).
      opacity yang kita isi bisa dari nilai 0-1 (nilai desimal juga berpengaruh), semakin nilai opacity mendekati 0 maka semakin transparan gambar yang dihasilkan. secara default (dari awal ) nilai opacity pada Game Maker ada 1 , oleh maka itu disaat kita sudah selesai menset alpha ke nilai yang bukan 1 , maka ubahlah lagi nilai alpha ke 1 agar saat kita membuat script drawing di object lain tidak terganggu.

      Untuk dapat menguasai betul apa itu fungsi Alpha, kamu bisa klick disini.
    • Color , color dalam bahasa indonesia artinya adalah warna, nah ini adalah salah satu pengaturan kita dalam melakukan drawing seperti draw_rectangle(), draw_circle()  dan lain-lain. kita bisa isi dengan Variable Constants seperti c_white, c_black , atau warna-warna yang sudah ditemukan valuenya.

      Untuk membuat warna baru yang kita inginkan, kita bisa membuatnya dengan fungsi make_color_rgb() atau make_color_hsv() , tiga value yang perlu kita isi adalah nilai-nilai dari syaratnya seperti make_color_rgb() yang perlu kita isi adalah Red, Green , dan Blue. begitu juga dengan make_color_hsv().

      Untuk dapat menguasai betul apa itu fungsi Color, kamu bisa klick disini.
    • Font , font ini sangat berguna pada saat kita melakukan drawing dengan fungsi draw_text() dan macam-macam fungsi draw text lainnya.
      Saat mengubah font, kita bisa menggunakan fungsi draw_set_font( value_font ). value_font yang harus kita isi adalah sebuah value font yang sudah kita buat, biasanya saya menggunakan nama font atau variable font yang telah saya buat sebelumnya. cara membuatnya bisa kamu lihat gambar dibawah.
      Nah, dengan begitu kita bisa dengan kreatif membuat warna game kita sendiri, sebagai contohnya dalam sisi tulisan point yang berbeda dengan level . gaya Font yang banyak pada game kita dapat membuat pemain menjadi tidak bosan bukan?. Ya dong !

      tetapi sebenarnya ada juga cara agar kita dapat membuat font saat game sudah dijalankan yaitu dengan menggunakan fungsi :
      font_add(name,size,bold,italic,first,last);

      name (str) , size (int) , bold (bool) , italic (bool) , first (int) , last (int). 
      *(int = integer [sebuah nilai], str = string [teks])


      gunakan variable untuk mendapatkan id dari font yang sudah dibuat. Seperti contoh saya membuat begini :


      Create Event :

      new_font=font_add("calibri",13,false,false,32,127);

      Draw Event :draw_set_font(new_font);
      draw_text("This is New Font : Calibri 13px",0,0);

      maka hasilnya pun adalah tulisan dari draw_text dengan font yang kita buat tadi di Create Event, tetapi ingatlah bahwa font_add() ini hanya sekali dilakukan saja jika font tersebut belum dibuat, seperti contoh saya membuatnya di Create Event agar hanya sekali dilakukan, jika kita menaruh di Event Step dan sebagainya itu mungkin dapat menjadi masalah besar.

    Seperti nya hanya 3 itu saja dulu yang harus saya jelaskan pertama ^_^ .

    untuk draw_set_alpha() dan draw_set_color(), ada function-function draw yang berpengaruh pada fungsi tersebut , yakni :
    •  draw_arrow( x1,y1,x2,y2,size )
    •  draw_circle( x,y,r,outline)
    •  draw_ellipse( x1,y1,x2,y2,outline )
    •  draw_line( x1,y1,x2,y2 )
    •  draw_line_width( x1,y1,x2,y2,w )
    •  draw_point( x,y )
    •  draw_rectangle( x1,y1,x2,y2,outline )
    •  draw_roundrect( x1,y1,x2,y2,outline )
    •  draw_text( x,y,string )
    •  draw_text_ext( x,y,string,sep,w )
    •  draw_text_ext_transformed( x,y,string,sep,w,xscale,yscale,angle )
    •  draw_text_transformed( x,y,string,xscale,yscale,angle )
    Oke sekian dari saya, semoga refrensi ini bermanfaat bagi kita semua ^_^.
    Sekian~
    READ MORE - Game Maker : Let's Drawing! [Indonesia]

    Game Maker : For (Looping Statement) [Indonesia]

    0 komentar
    Hai teman teman :) ,, kali ini saya akan menjelaskan apa itu Statement for.

    setelah sekian lama saya tidak membuat posting lagi, itu dikarenakan internet dirumah saya terputus. Walaupun sebenarnya saya bisa membuat posting dari rumah dan di publikasi di warnet (warung internet) ,, tapi mau bagaimana lagi... diwarnet jadi maniak Game lagi.. huhuhuhuhu :'(
    sedih, sedih ,sedih .. nyesel jadinya.
    lho? kok jadi curhat ? bener-bener -_-" ..

    Oke.

    Langsung saja ketopik utamanya yaitu cara menggunakan statement For dan tentu saja saya akan menjelaskan sampai tuntas-tas-tas ^_^ .. harapan nya setelah membaca posting ini kita tidak akan kebingungan lagi cara menggunakan statement For. kebetulan saya ikut Grup Game Maker untuk bahasa saya sendiri, disitu saya pernah menjawab permasalahan seseorang dalam membuat Script, karena kebetulan statement For adalah jurus saya, jadi saya lampiaskan statement itu discript yang ingin saya berikan ..

    sungguh disayangkan komentar yang diberikan adalah ber inti pada sebuah pernyataan :
    "kalau orang yang sering menggunakan statement For itu adalah orang-orang hebat dalam GML , apa-apa For , apa-apa For" ..

    Yah.. padahal kan untuk pemula aja sebenarnya statement For ini harus sering digunakan dan seharusnya sudah matang di-statement ini, nah ini dia tujuan saya untuk membuat post ini agar pernyataan tersebut salah, benar-benar salah.

    Oke, saya jelaskan statement For itu apa. statemtent For adalah statement looping pada sebuah script, dari semua statement looping, For itu yg lebih dapat ter-handle ... statement for memiliki bentuk :


    for (<statement1> ; <expression> ;<statement2>)

    dan dibuka , untuk membuat script yang dilooping,

    {

    }


    Bentuk Statement For
    disini saya akan menjelaskan bentuk dari statement for dahulu :
    • <statement1> yang dimaksud adalah kita diminta untuk menuliskan sebuah deklarasi variable/statement yang akan kita gunakan di script yang ingin diloop nanti, ini sifatnya sekali yaitu disaat statement For pertama kali melakukan loopnya.
    • <expression> adalah sebuah persyaratan ekspresi yang akan menentukan apakah loop for dihentikan atau dijalankan , dan <expression> ini akan terjadi setelah <statement2> atau <statement1> dilakukan (sesuai step) .
    • <statement2> kebalikan dari <statement1> , <statement2> ini melakukan statementnya saat kedua kalinya statement For melakukan loopnya. 
    ya... cuman itu sebenarnya yang perlu kita pahami.. hanya itu yang perlu kita ingat, sedikit bukan?
    saat nya kita melatih bagaimana statement For ini bekerja.

    Melatih menggunakan Statement For

    Saya akan membuat contoh script sebagai berikut, sebagai contoh saya melakukannya diobject baru yaitu di Event Create (karena kita akan mengeksekusi statement For ini sekali)...

    for( iii=1;iii<=2;iii+=1){
      show_message(iii); // show message adalah function untuk menampilkan pesan pada game.
    }

    coba kita play dan melihat hasilnya .. dan ,

    Voala! game akan menampilkan pesan yang berisi text "1" dan "2" berurutan.
    mengapa demikian?.. coba kita buka kembali catatan diatas.

    disini saya akan menjabarkan statement perulangan ini menjadi script yang sesungguhnya (secara manual)..

    Pertama, sebelum statement For dijalankan, sesuai catatan, apakah statement yang akan dijalankan pertama?.. yap <statement1> , sesuai contoh , kita tahu bahwa <statement1> berisi statement :

    iii=1;

    lalu, apakah yang akan dilakukan kedua? .. yap <expression> ,, dengan berarti kita akan melakukan script yang diloop jika kondisi expression itu benar , karena iii=1 , berarti sama seperti kita tulis script, seperti :

    if 1<=2{
    show_message(1);
    }

    sampai sini sudah paham?..

    Oke!,  karena (1<=2) itu nilai nya true/benar , maka kita masih melanjutkan loop

    Darimanakah saya dapat kondisi "if 1<=2" ?
    saya mendapat kondisi "1<=2" dari "iii<=2" (itu yang sesungguhnya), namun karena iii=1 oleh maka itu saya buat mudah menjadi "1<=2"..

    Kok nilai nya true/benar? ini untuk yang masih belum ngerti yah .. hehe..
    kita lihat lagi, 1 lebih kecil atau sama dengan 2 benar atau salah?? ,benar dong , harus bisa matematika ya :p .. Oke!

    Lanjut ke step tiga..
    karena itu loop kedua, maka kita akan menuliskan <statement1> atau <statement2> ?? .. lihat catatan kembali..

    Yap! <statement2> lah yang akan ditulis, sebab ini sudah loop kedua , bukan pertama lagi.. dengan begitu kita akan menulis <statement2> sebagai step ke tiga kita :

    iii+=1;

    Tadi iii=1, jika iii+=1 , berarti iii ditambah 1 , yaitu iii menjadi 2 nilainya ^_^ .. oke setelah statement dijalankan maka kita akan menuliskan <expression> lagi dan menjalankan script loop nya :

    if 2<=2{
    show_message(2);
    }

    Yap! ternyata <expression> nya masih bernilai true nih.. dengan begitu kita akan melakukan <statement2> lagi :

    iii+=1;

    sekarang iii=3 , untuk lolos ke loop berikutnya maka kita akan melakukan <expression> kembali :

    if 3<=2{
    show_message(3);
    }

    bagaimana ? apakah <expression> masih bernilai true? .. jelas tidak bukan?.. dengan begitu maka loop segera dihentikan dan tidak dilanjutkan lagi..

    kita Rapih kan script yang sudah kita cacah dari contoh Statement For tadi , dan ini hasilnya :

    iii=1;
    if 1<=2{
    show_message(1);
    }

    iii+=1;
    if 2<=2{
    show_message(2);
    }

    iii+=1;
    if 3<=2{
    show_message(3);
    }


    dan coba kita jalankan script diatas..

    bagaimana teman-teman? sama bukan hasilnya? tapi mudahan mana ya? ya jelas saat kita memakai statement For tadi,, dengan begitu sangat membantu bukan statement For yang satu ini :)


    Oke sekian dari saya , semoga kalian dapat mengerti Statement ter-kenal ini :) ..
    Jika dibutuhkan , saya akan memberikan kuis untuk Statement For ini ,

    Semoga Bermanfaat.
    READ MORE - Game Maker : For (Looping Statement) [Indonesia]

    Sabtu, 14 Juni 2014

    Game Maker : Drawing Sprites Function [Indonesia]

    0 komentar
    Hallo.. senang bertemu kembali di Posting ini ^_^..
    Kali ini saya akan menjelaskan apa saja itu Function pada Drawing Sprite.

    Pertama-tama, kita harus memahami object biasanya mempunyai Sprite sejati yang memang harus di draw..

    tetapi tentu saja kita tahu bahwa sangat merepotkan jika kita hanya menggunakan object untuk draw sprite (menggambar sprite) saja. yap, kalau begitu kita akan menggeser peran sejati object itu sendiri. karena Object itu sebagai pelaku Aksi , dan bukan untuk menggambar sprite saja ^_^ .

    yap dengan begitu object bisa menggambar sprite yang lain , dan Background untuk mengisi background pada Room. dan tentu saja hal itu dilakukan dengan beberapa Function yang dapat diakses secara default oleh Game Maker lalu dengan begitu kita akan dapat mengembangkan Peranan Object , Ialah sebagai pengendali dan pengatur Room ^_^.

    Lalu apakah Function-Function untuk menggambar Sprite dan Background tersebut?. dari yang paling dasar saya akan menjelaskan :
    • draw_sprite(sprite,subimg,x,y)
               function ini berfungsi untuk mendraw sprite , ini adalah function Basic dalam menggambar sprite, dan tentu saja gambar yang dihasilkan apa adanya, tanpa perubahan bentuk atau lainnnya. namun tentu saja bisa diubah jika ada pengaruh dari function lain (contoh : draw_set_color() , draw_set_alpha() dan lainnya)

      untuk memahami lebih jelas , silakan klik nama function tersebut atau klik disini.
    • draw_sprite_ext(sprite,subimg,x,y,xscale,yscale,rot,color,alpha)
               function ini berfungsi untuk mendraw sprite (sama seperti draw_sprite() ) namun letak perbedaannya adalah, function ini lebih berguna dalam menggambar sprite untuk lebih bisa dikendalikan, dan pada argumentnya ada 9 dan harus masing-masing diisi, yaitu sprite , subimg , x , y , xscale , yscale , rot , color , alpha. dengan berarti function ini lebih berguna dalam menggambar sprite , yaitu merubah scale/ukuran, memutar , mengganti warna dalam gambar, dan men-set nilai transparant pada gambar (semakin kecil semakin transparant, dan bernilai dari 0-1).

      untuk memahami lebih jelas , silakan klik nama function tersebut atau klik disini.
    • draw_sprite_stretched(sprite,subimg,x,y,w,h)
               function ini juga berfungsi untuk mendraw sprite, namun lebih berguna dalam men-stretched atau meregangkan sebuah sprite :) .. pada parameter , w dan h digunakan untuk menstretched sebuah sprite, nilai w adalah lebar sprite dan h adalah tinggi sprite. (secara langsung , dengan berarti nilai yang kita masukan itu BENAR-BENAR nilai dari lebar dan tinggi sprite).

      untuk memahami lebih jelas , silakan klik nama function tersebut atau klik disini.
       
    • draw_sprite_stretched_ext(sprite,subimg,x,y,w,h,color,alpha)
               function ini sama seperti draw_sprite_stretched() namun perbedaannya function ini adalah function lanjutan (ext) dan tentu saja lebih banyak pengaturan yang bisa dihandel.. pada parameter , ada pertambahan "color" dan "alpha" yaitu color untuk mengubah warna , dan alpha adalah untuk memberikan nilai besar transparant (antara 0-1) semakin kecil semakin tidak terlihat. ^_^

      untuk melihat maksud parameter yang lain ,
      bisa lihat keterangan draw_sprite_streched() atau klik disini.
    • draw_sprite_part(sprite,subimg,left,top,width,height,x,y)
               function ini adalah function menggambar sprite yang ditunjukan pada sprite yang ditampilkan namun hebatnya, function ini lebih berguna pada pemotongan sprite, yaitu menampilkan gambar sprite yang dipotong dari sprite yang sebenarnya.

      left , top, width, height adalah parameter dalam pemotongan tersebut.
      untuk memahami lebih jelas , silakan klik nama function tersebut atau klik disini.
    • draw_sprite_part_ext(sprite,subimg,left,top,width,height,x,y,xscale,yscale,color,alpha)
               function ini sama seperti function yang tidak external, namun perbedaan nya juga pada pertambahan parameter, yaitu parameter xscale, yscale, color , dan alpha.

      xscale adalah pembesaran horizontal gambar yang dihasilkan dari nilai skala, dan begitu juga pada yscale namun yscale adalah pembesaran secara vertikal..
      color berguna untuk mengubah warna , dan alpha adalah untuk memberikan nilai besar transparant (antara 0-1).. jadi, semakin kecil nilai maka sprite yang digambar semakin tidak terlihat.

      untuk memahami lebih jelas , silakan klik nama function tersebut atau klik disini.

    • draw_sprite_tiled(sprite,subimg,x,y)
               function ini adalah function untuk mendraw sprite, jadi function ini akan mengisi seluruh ruangan. parameter nya sama seperti draw_sprite() yaitu sprite, subimg, x dan y.
      agar lebih jelas , silahkan klik nama function tersebut atau klik disini.

    • draw_sprite_tiled_ext(sprite,subimg,x,y,xscale,yscale,color,alpha)
               function ini adalah function untuk mendraw sprite, jadi function ini akan mengisi seluruh ruangan. sama seperti function draw_sprite_tiled() tapi tentu saja dengan tambahan parameter , yaitu color dan alpha.. color berguna untuk mengubah warna , dan alpha adalah untuk memberikan nilai besar transparant (antara 0-1).. jadi, semakin kecil maka sprite yang digambar semakin tidak terlihat.

      untuk memahami lebih jelas , silakan klik nama function tersebut atau klik disini.

    • draw_sprite_general(sprite,subimg,left,top,width,height,x,y,xscale,yscale,rot,c1,c2,c3,c4,alpha)
               function ini adalah function untuk menggambar sprite dan tentu saja semua parameter lengkap , seperti gabungan antara semua drawing sprite function yang external ataupun tidak (terkecuali stretched). untuk parameter rot butuh diperhatikan sebab pusat Rotasi diambil dari pojok kiri-atas dari sebuah part (yaitu dari parameter left, top , width, dan height);

      untuk memahami lebih jelas , silakan klik nama function tersebut atau klik disini.
    Selesai
    Oke , penjelasan singkat tentang function-function built-in yang ada pada Game Maker sudah saya jelaskan, untuk judul atau link yang berwarna merah itu artinya adalah Tidak ada post yang menyangkut link diatas. mohon tunggu untuk penjelasan function-function diatas sebab saya belum membuat Posting tersebut.

    Dan ingatlah saya selaku pembuat Blog ini memiliki Ilmu dan pengalaman tentang Bahasa Pemograman GML, tidak asal copy-paste sebab ini hasil ketikan saya sendiri.. Terima kasih telah berkunjung kesini ^_^..
    READ MORE - Game Maker : Drawing Sprites Function [Indonesia]

    Kamis, 12 Juni 2014

    Game Maker : draw_text() Function [Indonesia]

    0 komentar
    Hallo kembali ^_^ ...
    hari ini saya akan menjelaskan function dasar yang sering digunakan dalam output grafis pada Game kita .

    yap! draw_text() ,, dari namanya kita sudah mengetahui bahwa draw_text() ("draw" : menggambar, "text" : text/tulisan) artinya adalah menggambar text/tulisan ^_^ ..

    Dari sini sudah paham? ayo lanjut!..

    Pertama, function draw_text() ini adalah function output tampilan untuk menampilkan sebuah teks sederhana, kalau tidak salah dengan font "Arial" dan ukuran 13px. (Jika salah, silahkan komentar)... nah, karena ini adalah function untuk menggambar berarti Function ini default di execute di Event Draw..

    Yap.. Event Draw :) ,, lalu bagaimana cara menuliskannya..

    pertama bisa kita taruh di Event Draw seperti ini :

    draw_text(0,0,"Hallo Dunia!");


    "0,0" yang dimaksud adalah koordinat letak x dan y pada room,, jika saya menulis (0,0) dengan berarti letak gambar nya ada di ujung kanan-atas :) ..

    dari syntax diatas telah diketahui bahwa function draw_text() ini memiliki persyaratan atas argument yang diberikan , yaitu :

    draw_text(x,y,string)
    

    • x = letak x,
    • y = letak y, dan
    • string = tulisannya , dan biasanya ditulis dengan text (text itu adalah tulisan huruf yang berada pada simbol kutip) ^_^

    String

    Mengisi String dengan Integer/Bilangan (bukan text)
    namun pada pengisian string , kita bisa mengisinya dengan angka atau tipe data integer (nilai/bilangan).

    sebagai contoh :

    draw_text(0,0,10000);
    

    maka output yang dihasilkan adalah tulisan "10000" ^_^ ..

    Kesalahan Operator saat mengisi Value String
    namun jika kita menulis seperti ini :

    draw_text(0,0,"nilai ="+10000);
    


    maka hasil adalah error ^_^ ...


    COMPILATION ERROR in code action
    
    Error in code at line 1:
    
       draw_text(0,0,"nilai ="+10000)
                              ^
    
    at position 20: Wrong type of arguments to +.
    
    

    kenapa? karena kesalahannya bukan karena kita menulis bilangan ataupun text untuk pengisian string, namun itu terjadi disebabkan oleh kesalahan pada operatornya..

    secara sederhana simbol "+" digunakan untuk menambahkan 2 buah nilai atau text,, seperti contoh ,1+1 atau pada text "saya "+"ganteng".. hal contoh tersebut seperti itu bisa dilakukan , namun akan salah fatal jika kita melakukan operator pertambahan pada text dan bilangan, seperti contoh diatas , "nilai ="+10000. ini tidak bisa dilakukan , mengapa? yap.. sebab text tidak bisa ditambahkan dengan bilangan ..

    bagaimana cara untuk membetulkannya? .. pertama, yang kita ketahui bahwa kesalahannya adalah pada nilai integer yaitu 10000 yang tidak berbentuk text ,, dengan begitu, kita akan menjadikan nilai 10000 dengan function string().

    dengan berarti akan menjadi,  "nilai ="+string(10000) ,, itu sama saja seperti : "nilai ="+"10000" ...

    Yap! text dengan text , dengan begitu tidak akan terjadi kesalahan :) ..
    berarti seharusnya agar tidak error.. function draw_text() yang kita tulis adalah seperti ini :


    draw_text(0,0,"nilai ="+string(10000));


    Selesai

    Oke sepertinya cukup untuk menjelaskan function ini.. sampai ketemu di penjelasan selanjutnya! ^_^
    READ MORE - Game Maker : draw_text() Function [Indonesia]

    Minggu, 08 Juni 2014

    Game Maker : All about Surface Function [Indonesia]

    0 komentar
    Yap... update lagi posting tentang fungsi dari surface.

    Apa itu surface di Game Maker ?.. ini adalah pertanyaan untuk orang-orang yang ingin mendalami sisi grafis pada game, khususnya di Game Maker ini...

    Surface itu dari bahasa inggris, yang berarti Permukaan. Atau Latar yang dapat lebih dipahami.

    Permukaan atau Latar yang dimaksudkan disini adalah sebuah Permukaan yang dapat kita atur sesuai kegunaan dari Surface tersebut..

    sama seperti Sprite.. lalu apa bedanya?,, Sprite (dalam individual, atau itu sendiri) hanya dapat menampilkan Gambar atau Animasi yang sudah kita set sebelumnya.. (sudah tahu kan?)... lalu apa bedanya dengan Surface?

    Surface (dalam individual juga) dapat menampilkan sebuah hasil Menggambar, yang sudah digambar sebelumnya, dengan begitu hasil Menggambar tersebut dapat diubah kapan pun.. karena sistem nya , Surface ini seperti Canvas.. dan proses penggambaran disurface itu sendiri adalah tiban meniban , atau timpa menimpa (warna ataupun gambar)..


    seperti layak nya mewarnai dengan aplikasi Paint ^_^

    dan aksi combine/ tiban-meniban dalam surface ini bisa dilakukan terus menerus , tidak dibatasi dalam 1 step.. sehingga hal inilah yang membedakan Surface dengan sprite :) ..

    Secara basic/dasar , Surface ini hal yang harus dilakukan dahulu adalah mendeklarasikan variable/ nama surface nya..



    nama_surface=surface_create(100,100)

    sebagai contoh disini saya membuat Surface dengan width dan height 100 ^_^ .. (nama_surface is "surface_name" in bahasa indonesia) dan untuk melukis/menggambar pada surface yang sudah dibuat tadi , maka kita bisa menulis seperti script dibawah :

    surface_set_target(nama_surface)
    // script drawing : bisa kamu isi dengan gambar 
    //(seperti menggambar pada event draw)
    surface_reset_target()
    
    
    surface_set_target() berguna untuk memulai dalam penggambaran atau penibanan gambar , ini bisa dilakukan dimana saja...

    Dan ini lebih baik dilakukan sekali (jika sesuatu yang dilukis sama).. sebab sama seperti menulis.. saat kita menulis "A" pada kertas, maka 1 detik dan terus menerus tulisan "A" akan selalu ada dikertas tersebut.. begitulah gambaran simple tentang Surface ini ^_^ ..

    surface_reset_target() berguna untuk menghentikan penggambaran, ini artinya kita sudah selesai menggambar atau meniban dengan gambar pada surface .. dan tenang saja , sebab arti kata selesai yang dimaksud bukan berarti surface sudah tidak dapat ditiban lagi, tetapi ini hanya untuk mengehentikan sementara... yaitu agar tidak mengganggu script-script lain karena kita sudah menulis surface_set_target() sebelumnya..

    dan, tentu saja surface ini seperti Sprite dalam melakukan draw pada room, bedanya Surface didraw tidak menggunakan draw_sprite() ,, tetapi menggunakan draw_surface()..
    dan perhatikan juga, sebab draw_surface() dilakukan sama seperti draw_sprite() di event Draw.

    draw_surface(nama_surface,0,0)

    Maksud diatas adalah saya mendraw surface dengan nama nama_surface dan diletakan di (0,0) pada room.

    Oke , semoga tutorial kali ini berguna dan bermanfaat... silahkan komentar untuk bertanya tentang materi ini... untuk menguasai dalam menggunakan Surface ini, silakan tunggu posting selanjutnya.. ^_^
    READ MORE - Game Maker : All about Surface Function [Indonesia]

    Senin, 19 Mei 2014

    Game Maker : draw_sprite() Function [Indonesia]

    0 komentar
    Hallo , kali ini saya akan menjelaskan function draw_sprite() di Game Maker dengan bahasa indonesia. dari namanya ,kalian pasti sudah tahu apa kegunaannya.

    "draw" yang artinya gambar (bukan 'seri' ^_^) dan "sprite" yang artinya sprite.

    dengan begitu kegunaan function draw_sprite() adalah menggambar sprite ^_^.
    Tapi bagaimana cara menggunakannya?
    Disini lah saya akan menjelaskan cara menggunakannya ^_^


    draw_sprite(sprite,subimg,x,y);

    Parameter :
    • sprite = nama sprite yang ingin di-draw/digambar (integer) ,
    • subimg = nomor index dari sprite , ini lebih digunakan untuk sprite yang memiliki beberapa frames, jika sprite hanya memiliki 1 frame, maka valuenya adalah 0 (int),
    • x = letak kordinat x gambar pada room, dan
    • y = letak kordinat y gambar pada room.
    draw_sprite(walkleft_spr,0,100,100)

    maksud dari function diatas adalah kita ingin menggambar sprite walkleft_spr di kordinat room (100,100)

    Sub Image / subimg

    Dulu waktu saya pertama kali menggunakan draw_sprite() hal yang saya sangat tidak memperdulikan adalah parameter subimg ini, pada saat itu saya tidak pernah mengeksploitasi kegunaan subimg , padahal subimg ini sangat berguna pada sprite animasi. jika Game Maker meminta value dari subimg , saya selalu tulis '0'. karena menurut saya memang harus 0.
    Tetapi saya salah, subimg ini mempengaruhi tampilan sang sprite, jika sprite memiliki lebih dari 1 frame, maka subimg harus dapat kita isi dengan benar , sebab draw_sprite() akan men-draw/menggambar frame pertama atau kedua, itu menurut value dari subimg.
    seperti contoh pada engine berikut :

    5 FPS; (fps=5)
    subimg = 0
    disini saya menggunakan sprite dengan 4 gambar :
    1. gambar warna merah,
    2. gambar warna kuning,
    3. gambar warna hijau,
    4. gambar warna biru.

    dan 4 gambar itu adalah frames pada sprite yang saling berurutan.
    kalian dapat melihat hasil gambar jika subimg nya diubah,
    Dan catat juga, jika value pada subimg adalah -1 , maka gambar tidak tetap pada frames itu, tapi berganti-gantian setiap step (ini berlaku untuk sprite yang memiliki frame lebih dari 1).
    untuk itu image_index sangat berperan penting dalam menggambar sprite ber-animasi.


    Umumnya di eksekusi dengan Draw Event

    Yap, draw_sprite ini umumnya dieksekusi di Draw Event, karena function ini termasuk function drawing
    dengan begitu jika Draw Event ada pada object maka gambar sprite_index akan hilang (tidak digambar) , dengan begitu agar imgind atau gambar asal object tidak hilang maka tulis script berikut di Draw Event.

    // Script Lainnya
    
    draw_sprite(sprite_index,image_index,x,y)
    
    // Script Lainnya
    

    Selesai

    Oke , sudah selesai bukan penjelasan untuk Function draw_sprite() ?


    Silahkan komentar atau bertanya mengenai function draw_sprite(), saya akan menjawabnya dengan tuntas ^_^
    Good Luck~
    READ MORE - Game Maker : draw_sprite() Function [Indonesia]

    Game Maker Reference : Your First Step (Priority Step)

    0 komentar
    Selamat datang kawan sekalian...
    kali ini saya akan memberitahukan awal yang harus kita lakukan untuk membuat Game di Game Maker, Apakah kawan-kawan sekalian mempunyai Game Maker?.

    Untuk yang belum punya silahkan klik disini untuk download (bebas earn link). Oke, bagi kalian semua sudah siap dengan Game Maker di Dekstop.

    apakah timbul pertanyaan-pertanyaan saat pertama kali membuka game maker ,seperti :
    • Saat saya sudah membuka Game Maker, apa yang harus saya lakukan untuk membuat Game?
    • Apa langkah yang harus dilakukan untuk membuat Game di Game Maker?
    • Apa ada yang harus dilakukan untuk memulai membuat Game di Game Maker?
    • Apa itu Object, Sprite, dan Room?

    Disinilah saya akan menjelaskan langkah-langkah atau keharusan yang dilakukan saat membuat Game di Game Maker. Pertama-tama saya akan menjelaskan apa bagian-bagian dalam Game Maker :
    • Sprite
      Sprite adalah komponen gambar pada Game, hal-hal yang berbau pada Animasi atau pegambaran akan ditampung pada komponen ini.
    • Object
      Object adalah komponen yang melakukan Aksi pada Game, sebagai komponen yang berperan penting dalam Game, komponen ini harus digunakan dengan bijak dan tidak asal-asalan. Namun dengan begitu , komponen ini lebih sulit dipelajari daripada komponen lain.
    • Room
      Room adalah komponen yang digunakan sebagai wadah dalam game. layaknya Canvas untuk melukis, komponen ini berperan penting dalam penampilan dan pengaturan window Game. Jika tidak ada komponen ini dalam Game, maka saat Game di-run ,Game tidak akan menghasilkan apa-apa, sebab Canvas pada game itu tidak ada.
    • Background
      Background adalah komponen yang berpengaruh dalam tampilan visual pada Game, seperti namanya komponen ini lebih diasumsikan sebagai Background Visual saja, namun , dalam tingkat yang lebih tinggi (menjuru ke game 3D), komponen ini lebih berperan dari sebelumnya.
    • Sound
      Sound adalah komponen suara dalam game. hanya berperan dalam suara, namun sangat dibutuhkan dalam sebuah Game agar terbentuknya suasana.


    Semakin jauhnya berkembangannya kemampuan dalam menggunakan Game Maker, maka semua komponen tersebut harus dipahami lebih lanjut.
    Namun apa yang harus kita lakukan dalam mengawali membuat Game?

    Seperti yang tertulis diatas, harusnya kita memahami saat membuat Game itu adalah seperti saat kita melukis.
    hal yang harus kita tanyakan dari awal adalah , "Apa yang harus saya gambar", begitu juga dengan Game :
    • "Apa Game yang akan saya buat?" atau "Game seperti apa yang akan buat?"

    Dengan begitu kita akan mempunyai sebuah target dan mengetahui apa yang harus dilakukan. Dan seperti melukis tadi, hal kedua yang harus kita persiapkan adalah :
    • Sebuah Canvas
    lalu apakah Canvas itu?, Yap... itulah Room,
    Berarti yang harus kita persiapkan kedua adalah membuat Room.
    Lalu ,seperti melukis ,hal yang kita lakukan selanjutnya adalah menggambar, menggambar adalah sebuah Aksi untuk mengisi sebuah Canvas yang kosong. Dengan begitu Prioritas ke-3 adalah membuat Sprite ,Background,Sound dan Object. Namun, seperti yang saya katakan sebelumnya bahwa Object adalah Komponen yang berperan penting dalam Game,
    Oleh karena itu , kita akan melakukan :
    • Membuat Object sebagai hal yang selanjutnya dilakukan
    Dan sisanya adalah kebutuhan, yaitu Sprite, Background, dan Sound. Kita memakai komponen-komponen tersebut sebagai kebutuhan, tidaklah diharuskan ada pada Game. dengan begitu :
    • Membuat Sprite, Background dan Sound, sebagai kebutuhan.
    Oke dengan begitu, Penjelasan dalam memahami prioritas dalam membuat game telah selesai. Namun ini baru sampai penjelasan untuk memahami saja, Bagaimana dalam membuat Game langsung?
    Klik disini untuk melakukan Tutorial My First Game ^_^

    Semoga SUKSES!
    READ MORE - Game Maker Reference : Your First Step (Priority Step)

    Selasa, 13 Mei 2014

    Game Maker : Basic Tutorial Part 7 (Your First Game) [Indonesia]

    0 komentar
    Selamat datang kembali!! kita sekarang sudah di Part 7 yaitu Part terakhir dari Tuturial Your First Game , sampai disini memang Game sudah lengkap dan sudah dapat dimainkan.. lalu apa yang perlu ditambahkan?

    sebelumnya , pasti kalian sudah melewati Tutorial yang ke-6 ...Untuk yang belum lihat silahkan klik disini (Basic Tutorial Your First Game Part 6).

    Tutorial ini adalah penutup dan tidak terlalu panjang. namun disinilah kita akan melengkapi nya "sedikit".
    dan ditutorial asalnya (dari Game Maker) ini adalah tahap terakhir yaitu 15 dari 15...

    oke , akan saya lanjutkan! ^_^ ..
    dalam Game Maker ada yang namanya Game Information, Game Information ini kegunaannya adalah memberikan Informasi untuk Pemain agar mengerti dan paham betul bagaimana cara memainkannya.

    Oke , tidak berlama-lama saya akan menujukan caranya...


    Caranya cukup mudah, kalian hanya perlu meng-klik 2 kali tulisan "Game Information" , maka kalian akan membuka window untuk membuat Text , apakah kegunaan Textnya?,, yap.. tidak lain adalah untuk meng-informasikan Game tersebut.

    dan jika sudah menulis. Maka Run gamenya, lalu saat kita bermain maka saat menekan tombol F1 maka akan tampil Game Information-nya ^_^..


    SELAMAT!!! KAMU TELAH MEMBUAT GAME PERTAMAMU!!


    Jika kita lihat, ini benar-benar mudah saat membuatnya. silahkan bagikan keteman-teman kalian, dan katakan bahwa membuat game itu adalah pekerjaan yang tidak membosankan.
    Oke sampai sini Tutorial sudah selesai.
    bagi kalian yang berhasil , seperti yang saya tulis di part 6, "boleh saja kalian ber-experimen atau berkreasi dengan selera game kalian". Dengan begitu bagi kalian yang ingin meng-share hasil kreasi (lanjutan) game dari Tutorial ini ,, silahkan cantumkan Link Download nya dikomentar, maka tidak akan segan" saya akan memasang game kalian di Galeri Game blog ini ^_^ saya akan usahakan tidak akan dibajak...

    Baiklah,, sampai di Tutorial lain selanjutnya ^_^ ...





    Adakah orang yang bisa mengalahkan saya? :3
    Sampai Ketemu , di Tutorial SELANJUTNYA !!



    READ MORE - Game Maker : Basic Tutorial Part 7 (Your First Game) [Indonesia]

    Minggu, 11 Mei 2014

    Game Maker : Basic Tutorial Part 6 (Your First Game) [Indonesia]

    0 komentar
    Selamat Datang ,, bagi yang mengikuti tutorial Game Maker Your First Game dari part 1, ini sudah ke-6 kalinya saya mengatakan Selamat Datang ^_^ ..

    Pada part ini kita sudah membuat game dengan bagus dan tersusun, namun tentu saja masih ada kekurangan dari sisi Game Play, yaitu kerumitan atau difficult dalam Game yang kita buat. oke, bagi yang belum membaca part sebelumnya, silahkan klik disini.
    oke kita lanjutkan tutorialnya!.. bocoran sedikit , Tutorial ini akan berakhir dipart 7, dan tentu saja game sudah terisi dan dapat dimainkan, dan boleh saja kalian ber-experimen atau berkreasi dengan selera game kalian (mau kerjain pemain atau memudahkan pemain) . Namun untuk sekarang seperti yang saya katakan sebelumnya , bahwa kita akan membuat game menjadi lebih sulit, Bagaimanakah caranya?, pertama-tama yang harus kita ketahui adalah apa yang harus kita buat.

    Yap!, membuat obj_bomb bertambah jumlahnya diroom setiap waktunya. kita sebenarnya membutuhkan Object baru untuk melakukan aksi tersebut, untuk apa?. inilah yang akan menghadirkan Object Control pada game, Object Control yang dimaksud adalah object yang berkerja dan beraksi dibelakang room, dengan kata lain, object ini diasumsikan tidak membuat Visual pada game (untuk advance , object ini digunakan untuk mengakses script saja, kadang digunakan untuk mengoprasikan nilai variable, kadang digunakan sebagai otak Room. tergantung karakteristik Programmer dalam membuat program).

    Oke... karena sebenarnya kita tidak perlu membuat object baru, sebab kita telah membuatnya.
    pertanyaan muncul : "Apa? Dimana? Kapan?" , saya akan menjawab "object music (obj_music)" ^_^ ..

    Ya, itulah object control yang sebenarnya sudah kita buat, karena kita sudah membuatnya, dengan berarti kita akan menaruh aksi baru pada object tersebut (obj_music). Apakah aksinya?, yap aksinya adalah Set Alarm. kita dapat menemukannya di tab "main2" dibagian Timing tepat disamping action "zZz" ^_^ .

    kita taruh Action tersebut di obj_music dan Event Create (sebelumnya sudah kita buat kan?), lalu kita Drag&Drop dan Yap! akan muncul Window pengaturan actionnya, sebelum kita mengatur action tersebut, silahkan klik Link berikut, (lihat pada penjelasan Event Alarm).

    kalau sudah dibaca , maka kita akan menemukan maksud dari apa yang ingin kita buat,, dan tentu saja kita akan membuat Hitungan mundur ^_^ yaitu waktu hitung mundur pada saat obj_bomb dibuat, sebagai contoh kita akan membuat pembuatan obj_bomb setiap 2 detik , karena Game kita 1 detik = 30 step, maka kita akan menulis Value sebesar 60. jadi setiap 2 detik obj_bomb dibuat dan berulang seterusnya.

    Dan untuk "in alarm no" sebaiknya biarkan valuenya Alarm 0 , sebab dengan begitu kita akan menggunakan Event Alarm 0.

    untuk hasil pengaturannya bisa dilihat seperti gambar disamping.


    Selanjutnya adalah menaruh Action saat Event Alarm 0 yang sudah kita tentukan waktunya. dengan cara klik "Add Event" lalu pilih Alarm dan pilih lagi Alarm 0, dengan begitu kita akan membuat Event Alarm 0 ^_^ ,, seperti gambar dibawah ini :

    jika sudah. maka kita akan membuat Action pada Event yang tadi kita buat, seperti yang saya katakan sebelumnya event ini akan aktif jika waktu telah habis.

    Action yang akan kita buat adalah Action membuat Instance baru (yaitu obj_bomb) dan Action menjalankan penghitung mundur lagi.

    untuk Action membuat Instance baru bisa ditemukan di tab "main1" dibagian Object dan berada pada pojok kiri-atas. jika ketemu, silahkan tambahkan Action tersebut ke Event Alarm 0 tadi.

    pada Action tersebut atur value menjadi :
    object : obj_bomb,
    x : 0
    y : 0

    jika sudah maka klik OK ..
    dan kita akan memulai Game Kita (dan jangan lupa untuk budayakan Save Project , dengan begitu kita akan Save Project)

    Bagaimana hasilnya?. pasti ada kendala ^_^ yap, obj_bomb dibuat dengan letak yang salah, dari hasil yang kita inginkan adalah obj_bomb diletakan secara random (acak).
    oke, dengan begitu apa yang harus kita tambahkan?..

    Selama kalian melakukan Tutorial ini, pernahkah kalian membuat Action yang membuat letak object berpindah secara acak?... hihihi,, Yap! saat kita mengklik buah,, dan apakah Action itu?  jawabannya adalah

    Jump To Random, yap saya akan menampilkan gambar untuk membuat Action ini :

    1. buka window obj_bomb
    2. kita akan membuat aksi saat obj_bomb dibuat , oleh maka itu kita akan memilih Create event.
    3. Buat Action baru , bisa dilihat gambar disamping apa Actionnya. (di tab Move > bagian Jump > namanya Jump To Random (bergambar X dan ?)
    4. jika sudah biarkan kedua value bernilai 0 , pada pengaturannya. dan Klik OK.


    Bagaimana? Mudah kan?..
    sekarang kita akan play lagi Game kita, dan lihat hasilnya ^_^ (oh ya, budayakan Save Project! )

    Oke! BERHASIL dong? ^_^
    lalu apa yang kurang?.. tidak sadarkah kalian bahwa object buah hanya 1 macam?,, padahal kita sudah disiapkan bermacam-macam sprite buah dari Game Maker, dan sprite itu bukan hanya Apel saja.. oke , tidak berlama-lama, kita akan membuat lebih banyak buah!

    Kita sudah mengetahui bagaimana cara membuat sprite, mengambil gambar dari komputer, membuat object.
    kalau begitu sebagai contoh kita akan membuat object buah baru yang kita asumsikan sebagai buah yang memiliki nilai score yang lebih tinggi, dan tentu saja menaikan kerumitan dalam mengambil (meng-klik) buah ini. dan buah yang kita pilih adalah PISANG. mengapa? karena dari sekian sprite yang disediakan , menurut saya sprite yang paling "langsing" adalah sprite pisang ^_^ hehehe...

    oke pertama-tama kita buat sprite pisang dan kita Load Image sprite pisang, di Folder namanya banana.png . oke, jika sudah ketemu maka kita upload dan selanjutnya kita ubah namanya menjadi spr_banana lalu klik OK tanda sudah selesai.

    Lalu bagaimana kita membuat object nya? apa harus sama dengan obj_apple? jika "iya", mungkinkah ada cara mudahnya ? ,, hihihi,, cara mudah lagi , cara mudah lagi .... tenang! cara mudah itu benar-benar ada ^_^

    yaitu dengan cara klik kanan obj_apple dan pilih "Duplicate" ..

    oke dengan begitu akan ada object baru yang bernama default ( kalau saya namanya object4 ) , agar mudah kita akan mengubahnya dengan nama obj_banana , dan juga ubah spritenya menjadi spr_banana.

    Oh ya... dan jangan lupa untuk mengubah Speed (gerak) object, yaitu pada Event Create, di action "Start Moving in a direction" , ubah speed nya, kalau saya valuenya bernilai 12 (50% lebih cepat).

    Dan Jangan lupa pada Event Left Pressed , tepatnya di Action set Score, bisa kalian ubah sesuai keinginan, sebagai contoh saya akan menaruh nilai 100 (2 kali lebih besar).

    Oke , kalau begitu kita akan memulai game. jangan lupa untuk disave Project nya ^_^..

    Bagaimana? ada perubahan?, apakah pisangnya ada?.. kok bisa tidak ada?
    hihihi... ya iyalah sebab obj_banana yang kita buat belum kita taruh di Room,, lupa ya... ^_^
    karena kita sudah tahu letak salahnya, mari kita fix dengan menaruh obj_banana pada room (sebagai contoh saya menaruh 2 pisang) , jika sudah maka kita mulai game nya kembali, dan jangan lupa untuk meng-save gamenya ..

    Yap,, kita akan menambahkan lebih banyak buah lagi, sama seperti pisang. sprite yang disediakan Game Maker adalah Cherry dan Strawberry..

    untuk pisang dan strawberry saya mempunyai perubahan Speed dan hasil Score :
    _____________________
    Cherry________________
    Speed : 10 (25% lebih cepat)
    Score : 75
    Jumlah pada Room : 4
    _____________________
    Strawberry____________
    Speed : 9 (12.5% lebih cepat)
    Score : 60
    Jumlah pada Room : 6
    _____________________

    dan jangan lupa untuk mengubah jumlah Apel pada Room menjadi 8 (agar lebih banyak)

    oke, dengan begitu kita sudah berhasil membuat Buah lebih banyak , saya menghasilkan hasil seperti berikut :




    Apakah kalian mempunyai hasil yang sama?,, mudah-mudahan lebih bagus ya ^_^ ..

    Oke karena saya tulis dari awal bahwa Tutorial ini mencapai Part 7 , maka sampai bertemu lagi di part selanjutnya! ^_^
    Semangat!!

    Belum Tersedia [X]
    _________________________________________________
    ----- Melanjutkan ke part selanjutnya---------
    menuju ke :
    http://d-cgen.blogspot.com


    READ MORE - Game Maker : Basic Tutorial Part 6 (Your First Game) [Indonesia]

    Selasa, 06 Mei 2014

    Game Maker : Basic Tutorial Part 5 (Your First Game) [Indonesia]

    0 komentar
    Welcome , selamat datang ^_^

    melanjutkan ke part 5 Tutorial Your First Game ,, walaupun sudah banyak komponen yang kita buat pada game kita sekarang, namun tentu saja masih banyak kekurangan ...

    Untuk yang belum/ ingin melihat Posting tutorial sebelumnya , silahkan klik link ini (Tutorial Your First Game Part 4) .

    Seperti yang saya katakan sebelumnya bahwa tahap yang akan kita lakukan adalah membuat obj_bomb dan menaruhnya digame.

    Apa gunanya object bomb? gunanya sebagai perusuh dalam game , atau yang membuat game dapat berakhir. Sangat aneh jika sebuah game tidak dapat Game Over/ Kalah atau dihentikan dengan cara alt+F4 saja. otomatis kualitas game menjadi berkurang , malahan lebih parah, yaitu tidak bisa dianggap Game yang selesai,, hihihi...

    Oke, nggak usah bicara panjang , saya akan menjelaskan bagaimana cara membuat nya , dan tentunya menggunakan Bahasa Indonesia ^_^ ..


    Pertama-tama kita buat sprite baru untuk object bomb nya. ambil file png yang bernama bomb di folder sprites>Tutorial1 (sama seperti sprite-sprite sebelumnya) , ubah namanya menjadi spr_bomb.

    Dan selanjutnya ,buat object baru , sampai disini pasti kalian sudah bisa membuat object.
    buat namanya menjadi obj_bomb dan gunakan sprite bomb yang tadi kita buat.

    Kita lakukan upload lagi , yaitu meng-upload efek suara sang bomb. Kita tambahkan Sound dengan cara klik icon sound , ubah Name menjadi snd_explode dan Load Sound file wav yang bernama explosion.wav.

    Dan hasilnya akan seperti gambar disamping. jika sudah ,,


    kembali ke object obj_bomb yang sudah kita buat, buat event baru yaitu Event Mouse Left Pressed , event ini aktif sekali jika kita mengklik kiri mouse, dan tentu saja seperti yang saya katakan sebelumnya bahwa jika obj_bomb diklik maka game akan berakhir, dengan demikian kita akan memainkan sound effect bomb meledak yang sudah kita buat tadi.

    dengan begitu kita akan menambahkan Action di event tadi , yaitu action Play Sound ditab "main1" pada bagian kanan window object. sama seperti kita membuat sound effect lainnya (seperti saat kita mengklik buah) kita akan mengubah pengaturan Action yaitu Sound : snd_explode dan Loop dijadikan False.

    selanjutnya kita akan tambahkan beberapa efek, yaitu saat pemain meng-klik bomb ,dengan kata lain game over, kita akan membuat game menunggu beberapa saat saja, agar pemain menyadari bahwa iya telah kalah.
    jadi kita akan menambahkan Action di Event dan Object yang sama. yaitu Action yang berada di tab "main2" yang berada pada bagian Timing (yang tertulis zZz ). biarkan valuenya default dan klik OK, defaultnya sleep timing (waktu menunggu) adalah 1000 milisecond , yaitu 1 detik .

    Karena kita tahu game sudah over/berakhir dengan begitu sesaat pemain sudah menunggu selama 1000 milisecond atau 1 detik , maka kita akan tampilkan Highscore list. bagaimana caranya? tentu mudah,,
    kita hanya tinggal menambahkan action lagi di Event yang sama dan Actionnya yaitu Show Highscore (berada di tab "score" dan dibagian "score"). kalian bisa mengganti valuenya sesuai keinginan kalian, untuk Background, kalian bisa menggantinya dan tentunya harus lebih baik daripada tidak memakai Background, dan beberapa warna , dan juga Font, untuk Border adalah sebuah garis tepi pada Highscore yang akan ditampilkan.

    dan selanjutnya adalah membuat game di restart , dan tentu saja Action yang akan kita buat nanti terjadi setelah Pemain menutup table Highscore yang ditampilkan , tepatnya di Tab main2 dibagian Game, disamping icon shut down. sudah dapat?.. oke, selanjutnya kita drag&drop, dan tentu saja tidak ada pengaturan , sebab ini hanyalah Action tunggal.

    sekarang kita sudah membuat 4 Action dievent , dan tentu saja Letak nya harus teratur , seperti ini.


    jika tidak berturut-turut seperti diatas,, kalian bisa memindahkannya dengan cara Drag&Drop ,,oke, jika sudah beres.


    Selanjutnya kita akan menaruh Object bomb yang sudah kita buat di room. Taruh 1 atau 2 object secara random, dan jangan sampai menghilangkan/meniban object lain.

    Jika sudah kita akan mulai Gamenya. oh ya,
    sebelumnya kita budayakan Save Project.

    Saat kita bermain mulailah dahulu mengklik Buah untuk mendapatkan Highscore , setelah itu kita klik Bomb agar Game Over, maka Game akan menunggu dan Table highscore akan muncul , dan tentu saja kita menulis nama atas score kita , jika kita selesai menamai score kita (tekan enter atau esc) maka Game akan terestart atau diulang kembali .

    Apa ada yang kurang?
    Yap,, bomb tidak merancam pemain saat bermain, sebab bomb hanya diam dan tidak bergerak, oleh maka itu kita akan membuat bomb menjadi seperti buah..
    maka kita akan membuat Action pada Event Create, yaitu Action "moved fixed" di tab "move" (gambar panah 8 arah berwarna merah),, dan tentu saja directionnya kita penuhkan semuanya (termasuk tengah , agar ada bomb yang diam)  dan speed nya 8,,dan centang Relative  lalu klik OK..

    jika sudah kita akan membuat lagi event diobject bomb, yaitu event Collision with wall, dengan Action Bounce.. biarkan pengaturannya secara default ,, dan setelah itu kita akan memulai game nya kembali, (jangan lupa save projectnya)...

    Bagaimana hasil dari object bomb?,, apakah bagus?
    Oke , sebenarnya game kita tidak harus menambahkan fitur lagi, dengan begitu di Tutorial selanjutnya kita akan meningkatkan kualitas game, yaitu membuatnya lebih susah..






    bocoran sedikit , di part selanjutnya kita akan membuat obj_bomb bertambah jumlahnya sesuai dengan waktu yang disediakan, semakin lama kita bermain , semakin susah bukan?

    Oke... terima kasih yang telah membaca postingan saya kali ini,, harap comment jika ada kesalahpahaman dari sisi penulis ataupun hasil teman-teman sekalian..

    Good Luck~

    Tersedia [O]
    ______________________________________________________________
    ---------- Melanjutkan ke part selanjutnya ------------------
    menuju ke :
    http://d-cgen.blogspot.com/
    READ MORE - Game Maker : Basic Tutorial Part 5 (Your First Game) [Indonesia]