Sabtu, 10 Mei 2014

Progres Game Kriting Wajik 5x5

KECERDASAN BUATAN
Kecerdasan Buatan dimunculkan oleh seorang professor dari Massachusetts Institute of Technology (MIT) yang bernama John McCarthy pada tahun 1956 pada saat Dart Mouth Conference yang dihadiri oleh para peneliti AI.
  • Definisi Kecerdasan Buatan
Banyak cara untuk mendefinisikan Kecerdasan Buatan, diantaranya adalah:
ü  Suatu studi yang mengupayakan bagaimana agar computer berlaku cerdas.
ü  Studi yang membuat komputer dapat menyelesaikan persoalan yang sulit.
Kecerdasan Buatan (Artificial Intelligence) adalah Teknologi yang mensimulasikan kecerdasan manusia, yaitu bagaimana mendefinisikan dan mencoba menyelesaikan persoalan menggunakan komputer dengan meniru bagaimana manusia menyelesaikan dengan cepat.
Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.

INITIAL STATE
Initial state dalam game TicTacToe 5x5 ini akan menampilkan arena permainan dengan papan kotak-kotak yang berdimensi 5x5, dimana terdapat 5 baris dan 5 kolom. Objek yang akan bermain dalam game ini adalah “user” atau pemain dan komputer yang telah diberi AI. TicTacToe yang saya buat ini sedikit berbeda dengan kebanyakan game sejenis yang ada. Pada permainan TicTacToe yang umum biasanya menggunakan X dan O sebagai simbol dari pemain dan komputer. Sedangkan pada game yang buat akan sedikit dimodifikasi karena saya menggunakan tema TinkerBell dengan simbol X dan O yang diganti dengan gambar Kriting  dan Wajik
Penggunaan tema game yang berbeda dari yang umum digunakan dimaksudkan untuk menghilangkan kejenuhan pada pemainnya. Karena game ini merupakan salah satu permainan asah otak yang baik diterapkan kepada anak-anak dalam masa perkembangannya, maka mengganti tema game saya pilih untuk lebih menarik minat pemainnya.


Didalam game ini terdapat menu yang terdapat dibagian atas kotak permainan, antara lain :
  1. New Game       : jika menu ini di klik maka menandakan pemain sudah siap untuk memulai permainan, dan waktu akan berjalan mundur selama 15 detik.
  2. Help                 : jika menu ini di klik maka akan ada kotak dialog sebagai penjelasan yang harus dilakukan dalam game ini.

  1. Exit                  : untuk keluar dari permainan.
  2. Music               : jika menu ini di klik maka akan terdengar backsound saat kita memainkan game ini.
  3. Stop                 : jika menu ini di klik maka backsound saat kita memainkan game ini akan berhenti
Tampilan saat Game dijalankan



Tampilam Awal Game



Tampilan Tanpa New Game



Tampilan New Game






















Tampilan Menu Help



Tampilan Waktu Habis




















Listing Program


win_deep(0). % You can change this two numbers to make the AI more clever
nolose_deep(0).

?- 
G_BG is bitmap_image("latar4.bmp",_),
G_A is bitmap_image("kriting.bmp",_),
G_B is bitmap_image("wajik.bmp",_),   
  set(pos([[f,f,f,f,f], [f,f,f,f,f], [f,f,f,f,f], [f,f,f,f,f], [f,f,f,f,f]])),
  set(lose_flag(false)),
  brush(system_color(window)),
  window_n( _, _, win_func,"Kriting Wajik", 10, 10, 430, 450,_,_,rgb(0,0,0)),
  message("Mulai permainan","untuk memulai permainan klik new game",i).

win_func(init) :-
  window_brush(_,rgb(100,250,250)),
  menu( normal, _, _, menu_new(_), "&New Game"),
  menu( normal, _, _, menu_help(_), "&Help"),
  menu( normal, _, _, menu_exit(_), "&Exit"),
  menu(normal,_,_,music(_),"&music"),
  menu(normal,_,_,stop(_),"&stop").

music(press) :-
  execute("sound\\1.exe"),
  fail.

stop(press) :-
  execute("sound\\d.bat"),
  close_window(parent(_)).

menu_new(press) :-
  G_Interval:=1,
  G_Time:=25,
  G_Time2:=1,
  G_Timer := set_timer(_, G_Interval, time_func),
  set(pos([[f,f,f,f,f],[f,f,f,f,f],[f,f,f,f,f],[f,f,f,f,f],[f,f,f,f,f]])),
  set(lose_flag(false)),
  update_window(_).
%Deklarasi waktu
time_func(end) :-
  G_Time=0, !,
  kill_timer(_, G_Timer),
  message("waktu habis","maaf waktu anda habis",i),
  close_window(_),
  execute("sound\\d.bat"),
  fail.

time_func(end) :-
  G_Time2 :=1,
  G_Time2 :=G_Time,
  G_Time := G_Time - 1,
color_text(_, rgb(0,0,0)),
font(12,20,"Arial"),
  text_out(185,5, "Time Left  "+ G_Time),
  fail.

time_func(end) :-
  G_Time2:=G_Time2 - 1,
  fail.

menu_help(press) :-
  message("Options","Membuat Garis Lurus Vertical, Horizontal atau Diagonal", i).

menu_exit(press) :-
  execute("sound\\d.bat"),
  close_window(_).


put_mark(Mark) :-
   pos(Current_Pos),
   member(Current_Pos, L, Y),
   member(L, Mark, X),
   X1 is 40 + 60*X, Y1 is 40 + 60*Y, X2 is X1 + 40, Y2 is Y1 +40, 
   write_mark(Mark, X1, Y1, X2, Y2),
   fail.
put_mark(_).

write_mark(x, X1, Y1, X2, Y2) :-
  %line(X1, Y1, X2, Y2),
  %line(X2, Y1, X1, Y2).
  draw_bitmap(X1, Y1, G_B, _, _).

write_mark(o, X1, Y1, X2, Y2) :-
  %ellipse(X1, Y1, X2, Y2).
  draw_bitmap(X1, Y1, G_A, _, _).


win_func(paint) :-  
   pen(2, rgb(255, 255, 255)),   % grey
   draw_bitmap(0, 0, G_BG, _, _),
   line(30, 30, 30, 330),
   line(30, 330, 330, 330),
   line(30, 270, 330, 270),
   line(330, 330, 330, 30),
   line(330, 30, 30, 30),
   line(90, 30, 90, 330),
   line(150, 30, 150, 330),
   line(210, 30, 210, 330),
   line(30, 90, 330, 90),
   line(30, 150, 330, 150),
   line(30, 210, 330, 210),
   line(270,30, 270,330),

   pen(4, rgb(255, 128, 192)),   % pink
   put_mark(x),
   pen(4, rgb(0, 128, 255)),   % blue
   put_mark(o),
   
   fail.

win_func(mouse_click(X, Y)) :- 
  lose_flag(false),
  X>30, Y>30,
  X<330, Y<330,
  X1 is (X - 30)//60,
  Y1 is (Y - 30)//60,
  pos(Current_Pos),
  member(Current_Pos, L, Y1),
  member(L, f, X1),
  !,
  replace(L2, L, x, X1),
  replace(Current_Pos2, Current_Pos, L2, Y1),
  set(pos(Current_Pos2)),
  not(win_func(paint)),
  think(Current_Pos2).

win_func(mouse_click(X, Y)) :-
  beep.

think(Pos) :-
  victory(x, Pos), !,
  set(lose_flag(true)),
  beep("sound\\tepuk.wav"),
  message("Selamat","Anda Menang", !).

think(Pos) :-
  try_to_win(Pos), !.

think(Pos) :-
  retractall(last_good_move(_)), try_nolose(Pos).

think(_) :-
  last_good_move(Sit2), !,
  set(pos(Sit2)),
  not(win_func(paint)).

think(Pos) :-
  move(o, Pos, Sit2),
  nolose(x, Sit2, Deep), !, % Tries to make the lose farther
  set(pos(Sit2)),
  not(win_func(paint)).

think(Pos) :-
  move(o, Pos, Sit2),
  set(pos(Sit2)),
  not(win_func(paint)).

try_nolose(Pos) :-
  move(o, Pos, Sit2),
  nolose_deep(Deep),
  nolose(x, Sit2, Deep),
  set(last_good_move(Sit2)),
  random(3)=:=0, !, fail. % this makes the game more interesting

try_to_win(Pos) :-
  move(o, Pos, Sit2),
  is_it_win(Sit2).

is_it_win(Sit2) :-
  victory(o, Sit2),
  set(pos(Sit2)),
  not(win_func(paint)),
  set(lose_flag(true)),
  beep("sound\\ketawa.wav"),
  message("Maaf","Anda Kalah", s).

is_it_win(Sit2) :-
  win_deep(Deep),
  win(x, Sit2, Deep),
  set(pos(Sit2)),
  not(win_func(paint)).

member([Element, _, _, _, _], Element, 0).
member([_, Element, _, _, _], Element, 1).
member([_, _, Element, _, _], Element, 2).
member([_, _, _, Element, _], Element, 3).
member([_, _, _, _, Element], Element, 4).


replace([Element, A, B, C, D], [_, A, B, C, D], Element, 0).
replace([A, Element, B, C, D], [A, _, B, C, D], Element, 1).
replace([A, B, Element, C, D], [A, B, _, C, D], Element, 2).
replace([A, B, C, Element, D], [A, B, C, _, D], Element, 3).
replace([A, B, C, D, Element], [A, B, C, D, _], Element, 4).


victory( Who, [[Who, Who, Who, Who, Who], [_, _, _, _, _], [_, _, _, _, _], [_, _, _, _, _], [_, _, _, _, _]]).
victory( Who, [[_, _, _, _, _], [Who, Who, Who, Who, Who], [_, _, _, _, _], [_, _, _, _, _], [_, _, _, _, _]]).
victory( Who, [[_, _, _, _, _], [_, _, _, _, _], [Who, Who, Who, Who, Who], [_, _, _, _, _], [_, _, _, _, _]]).
victory( Who, [[_, _, _, _, _], [_, _, _, _, _], [_, _, _, _, _], [Who, Who, Who, Who, Who], [_, _, _, _, _]]).
victory( Who, [[_, _, _, _, _], [_, _, _, _, _], [_, _, _, _, _], [_, _, _, _, _], [Who, Who, Who, Who, Who]]).

victory( Who, [[Who, _, _, _, _], [Who, _, _, _, _], [Who, _, _, _, _], [Who, _, _, _, _], [Who, _, _, _, _]]).
victory( Who, [[_, Who, _, _, _], [_, Who, _, _, _], [_, Who, _, _, _], [_, Who, _, _, _], [_, Who, _, _, _]]).
victory( Who, [[_, _, Who, _, _], [_, _, Who, _, _], [_, _, Who, _, _], [_, _, Who, _, _], [_, _, Who, _, _]]).
victory( Who, [[_, _, _, Who, _], [_, _, _, Who, _], [_, _, _, Who, _], [_, _, _, Who, _], [_, _, _, Who, _]]).
victory( Who, [[_, _, _, _, Who], [_, _, _, _, Who], [_, _, _, _, Who], [_, _, _, _, Who], [_, _, _, _, Who]]).

victory( Who, [[Who, _, _, _, _], [_, Who, _, _, _], [_, _, Who, _, _], [_, _, _, Who, _], [_, _, _, _, Who]]).
victory( Who, [[_, _, _, _, Who], [_, _, _, Who, _], [_, _, Who, _, _], [_, Who, _, _, _], [Who, _, _, _, _]]).

victory( Who, [[_, _, _, Who, _], [_, _, Who, _, _], [_, Who, _, _, _], [Who, _, _, _, _], [_, _, _, _, _]]).
victory( Who, [[_, Who, _, _, _], [_, _, Who, _, _], [_, _, _, Who, _], [_, _, _, _, Who], [_, _, _, _, _]]).
victory( Who, [[_, _, _, _, _], [Who, _, _, _, _], [_, Who, _, _, _], [_, _, Who, _, _], [_, _, _, Who, _]]).
victory( Who, [[_, _, _, _, _], [_, _, _, _, Who], [_, _, _, Who, _], [_, _, Who, _, _], [_, Who, _, _, _]]).

win( o, Sit, Deep) :- move(o, Sit, Sit2), win(x, Sit2, Deep).
win( x, Sit, _) :- victory(o, Sit).
win( x, Sit, 0) :- !, fail.
win( x, Sit, Deep) :- Deep1 is Deep - 1, not(nowin( x, Sit, Deep1)).

nowin(x, Sit, _) :- not(move(Sit)). % the last move belongs to O
nowin(x, Sit, Deep) :- move(x, Sit, Sit2), nowin(o, Sit2, Deep).
nowin(o, Sit, _) :- victory(x, Sit).
nowin(o, Sit, Deep) :- not(win(o, Sit, Deep)).

lose( x, Sit, Deep) :- move(x, Sit, Sit2), lose(o, Sit2, Deep).
lose( o, Sit, _) :- victory(x, Sit).
lose( o, Sit, 0) :- !, fail.
lose( o, Sit, Deep) :- Deep1 is Deep - 1, not(nolose( o, Sit, Deep1)).

nolose(o, Sit, Deep) :- move(o, Sit, Sit2), nolose(x, Sit2, Deep).
nolose(x, Sit, _) :- victory(o, Sit).
nolose(x, Sit, _) :- not(move(Sit)). % the last move belongs to O
nolose(x, Sit, Deep) :- not(lose(x, Sit, Deep)).

move(P, Sit, Sit2) :- 
  member(Sit, L, Y),
  member(L, f, X),
  replace(L2, L, P, X),
  replace(Sit2, Sit, L2, Y).

move(Sit) :- 
  member(Sit, L, _),
  member(L, f, _).

Goal

            Tujuan (goal) untuk menyelesaikan permainan ini adalah membuat sebuah garis lurus yang terdiri 5 kotak deretan simbol secara vertical, horizontal maupun diagonal.
Terdapat beberapa kondisi yang mungkin terjadi pada permainan ini, yaitu :
  1. KONDISI MENANG
Kondisi menang terjadi apabila kita berhasil membentuk sebuah garis lurus yang terdiri dari 5 buah simbol Kucing, baik secara horizontal, vertikal maupun diagonal.




  1. KONDISI KALAH
Kondisi kalah yang pertama terjadi apabila kita tidak berhasil membentuk 5 buah simbol Kucing secara horizontal, vertikal ataupun diagonal. Atau kondisi dimana AI menang terlebih dahulu.


  1. KONDISI SERI
Kondisi seri terjadi apabila semua kotak telah terisi tetapi belum ada yang bisa membentuk 5 buah simbol secara berurutan secara vertikal, horizontal maupun diagonal. 



Daftar Pustaka



Minggu, 04 Mei 2014

Manual Book Game Keriting Wajik


                      A.  Initial Game

§  Bahasa dan Program Editor
Game “Kriting Wajik” adalah game yang diadaptasi dari game Tic Tac Toe lalu saya kembangkan dengan menggunakan bahasa pemrograman Prolog. Prolog adalah bahasa pemrograman logika atau disebut juga sebagai bahasa non-procedural. Namanya diambil dari bahasa Perancis programmation en logique (pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer.
Dalam hal ini saya menggunakan Strawberry Prolog sebagai program editor. Alasan kami menggunakan strawberry prolog ini karena menurut kami editor ini mudah untuk digunakan dan mudah untuk mengimplementasikan AI secara sederhana dan merupakan aplikasi light edition yang artinya program ini dapat dijalankan langsung tanpa perlu diinstal. Strawberry Prolog dihasilkan oleh Institut Matematika dan Informatika pada Akademi Ilmu Pengetahuan Bulgaria . Versi pertama dirilis pada tahun 1996. Pemimpin tim Strawberry Dimiter Dobrev.

§  Tampilan Menu Utama



Pada tampilan utama game Kriting Wajik terdapat tiga tombol yang masing-masing fungsinya yaitu sebagai berikut :
Ø  Mulai                 = Tombol ini berfungsi untuk masuk ke jendela untuk memainkan game
                               Kriting Wajik.
Ø  Cara Bermain    = Tombol ini berfungsi untuk masuk ke jendela cara bermain yang di
                             dalamnya terdapat cara memainkan game Kriting Wajik.
Ø  Keluar               = Tombol ini berfungsi untuk keluar dari game Kriting Wajik.

§  Tampilan Main



Pada tampilan main game Kriting Wajik terdapat sisa waktu, arena bermain, dan menu dengan submenu Mulai Baru, Cara Main, About, dan Keluar. Fungsi-fungsinya yaitu sebagai berikut:
Ø  Sisa Waktu          = berfungsi untuk menghitung mundur waktu jika waktu habis maka
                                  permainan selesai.
Ø  Arena Bermain = tempat untuk memainkan game Kriting Wajik.
Ø  Menu                    =     -      Mulai Baru : berfungsi untuk mamulai permainan dari awal.
-          Cara Main  : berfungsi untuk masuk ke jendela Cara Bermain.
-          About         : berfungsi untuk menampilkan tentang game.
-          Keluar         : berfungsi untuk keluar dari game Kriting Wajik.

§  Tampilan Cara Bermain


         

Pada tampilan cara bermain yaitu menjelaskan tentang cara memainkan game Kriting Wajik. Di dalamnya juga terdapat dua tombol yaitu Kembali Ke Menu dan Main yang masing-masing fungsinya adalah sebagai berikut :
Ø  Kembali Ke Menu            = berfungsi untuk kembali ke layar utama game Kriting Wajik.
Ø  Main                                 = berfungsi untuk masuk ke layar main.

II.                                                  B.  Rules (Peraturan Permainan)

Game Kriting Wajik adalah game yang diadaptasi dari game Tic Tac Toe. Game TicTacToe adalah sebuah game 2 dimensi yanng bertujuan untuk melatih otak dan untuk hiburan semata.

Peraturan Permainan :

1.       Game ini hanya dapat dimainkan oleh satu pemain melawan satu AI.

2.       Pemain menggunakan logo Kriting sedangkan AI menggunakan logo Wajik.

3.       Pemain mengisi kotak terlebih dahulu dalam permainan.

4.       Pemain dan AI saling bergantian untuk mengisi kotak.

5.       Isi kotak yang masih kosong, tidak bisa mengisi kotak yang telah diisi sebelumnya.

6.       Cara menyusun untuk memenangkan permainan bisa dengan vertikal, horizontal maupun diagonal sebanyak sepuluh (10).

7.       Jika waktu habis, maka permainan akan selesai dan permainan dianggap seri.

8.       Pemenang adalah yang paling cepat menyusun Kriting ataupun Wajik sebanyak sepuluh.

III.                                               C. GOAL

v  Tampilan Saat Menang
Untuk memenangkan permainan ini hanya dengan menyusun logo kriting sebanyak sepuluh dengan cara diagonal, vertical, maupun horizontal dan akan memunculkan kotak dialog yang mengatakan “Anda Menang”.

v  Tampilan Saat Kalah


Jika logo wajik disusun lebih dulu oleh AI sebanyak sepuluh maka pemain akan kalah dan akan muncul kotak dialog yang mengantakan “Yah Kalah”.



            D.              Konsep Algoritma

Kecerdasan buatan atau yang sering disebut dengan AI pada game ini terletak pada komputer yang akan bertindak sebagai lawan. Algoritma yang digunakan pada game ini yaitu algoritma Minimax. Komputer akan selalu berusaha mengalahkan user. Komputer dapat menyusun strateginya sendiri agar menjadi pemenang. Keuntungan yang didapat dengan menggunakan algoritma minimax ini yaitu algoritma minimax mampu menganalisis segala kemungkinan posisi permainan untuk menghasilkan keputusan yang terbaik karena algoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum.

Semua strategi lawan akan dihitung dengan algoritma yang sama dan seterusnya. Ini berarti, pada langkah pertama komputer akan menganalisis seluruh pohon permainan. Dan untuk setiap langkahnya, komputer akan memilih langkah yang paling membuat lawan mendapatkan keuntungan minimum, dan yang paling membuat komputer itu sendiri mendapatkan keuntungan maksimum. Dalam penentuan keputusan tersebut dibutuhkan suatu nilai yang merepresentasikan kerugian atau keuntungan yang akan diperoleh jika langkah tersebut dipilih. Untuk itulah disini digunakan sebuah fungsi heurisitic untuk mengevaluasi nilai sebagai nilai yang merepresentasikan hasil permainan yang akan terjadi jika langkah tersebut dipilih. Biasanya pada permainan tac tic toe ini digunakan nilai 1,0,-1 untuk mewakilkan hasil akhir permainan berupa menang, seri, dan kalah. Dari nilai-nilai heuristic inilah komputer akan menentukan simpul mana dari pohon permainan yang akan dipilih, tentunya simpul yang akan dipilih tersebut adalah simpul dengan nilai heuristic yang akan menuntun permainan ke hasil akhir yang menguntungkan bagi komputer. Dan algoritma greedy juga termasuk di dalamnya.

Algoritma greedy merupakan metode yang paling populer untuk memecahkan masalah optimasi. Algoritma greedy membentuk solusi langkah per langkah.Pendekatan yang digunakan di dalam algoritma greedy adalah membuat pilihan yang tampak memberi perolehan terbaik, yaitu dengan membuat pilihan optimum local pada setiap langkah dengan harapan akan mengarah ke solusi optimum global.Prinsip algoritma greedy pada setiap langkah ialah mengambil pilihan terbaik yang dapat diperoleh saat itu tanpa memperhatikan konsekuensi ke depan, dan berharap bahwa dengan memilih optimum lokal pada setiap langkah akan menghasilkan optimum global pada akhir proses.Persoalan optimasi algoritma greedy disusun oleh elemen-elemen berikut :

1.   Himpunan kandidat, yang berisi elemen-elemen pembentuk solusi.
2.   Himpuan solusi, berisi kandidat-kandidat yang terpilih sebagai solusi persoalan.
3.   Fungsi seleksi, dinyatakan dengan predikat SELEKSI memilih kandidat yang
      paling memungkinkan mencapai solusi optimal pada setiap langkah.

4.   Fungsi kelayakan, dinyatakan dengan predikat LAYAK, memeriksa apakah suatu
kandidat yang telah dipilih dapat memberikan solusi yang layak dengan tidak melanggar constraints yang ada.
5.   Fungsi objektif, yang memaksimumkan atau meminimumkan nilai solusi.Prinsip
algoritma greedy pada setiap langkah ialah mengambil pilihan terbaik yang dapat diperoleh saat itu tanpa memperhatikan konsekuensi ke depan, dan berharap bahwa dengan memilih optimum lokal pada setiap langkah akan menghasilkan optimum global pada akhir proses.

E. Glosarium

1.      Strawberry Prolog                   : Adalah dialek dari Prolog bahasa pemrograman . Sintaksnya sangat dekat dengan ISO-Prolog tapi itu memiliki banyak ekstensi yang bukan bagian dari standar.

2.      AI (Artificial Intelegent)          : Biasa disebut dengan Kecerdasan Buatan adalah kecerdasan yang diciptakan dan dimasukkan ke dalam suatu mesin, dalam   hal ini adalah computer agar dapat melakukan pekerjaan seperti yang dapat dilakukan oleh manusia.

3.      Algoritma greedy                    : Merupakan metode yang paling populer untuk memecahkan masalah optimasi.

           4.      Kriting                                    : Logo kriting diambil dari logo kartu bridge.

           5.      Wajik                                      : Logo wajik diambil dari logo kartu bridge.


           Daftar Pustaka
           M09Algoritma%20Greedy.pdf


Pengantar Game


Artikel game

 A.          Pengertian Game

Pengertian game menurut para ahli :

1. JOHN C BECK & MITCHELL WADE
Game adalah penarik perhatian yang telah terbukti. Game adalah lingkungan pelatihan yang baik bagi dunia nyata dalam organisasi yang menuntut pemecahan masalah secara kolaborasi.
2. IVAN C. SIBERO
Game merupakan aplikasi yang paling banyak digunakan dan dinikmati para pengguna media elektronik saat ini.
3. FAUZI .A
Game merupakan suatu bentuk hiburan yang seringkali dijadikan sebagai penyegar pikiran dari rasa penat yang disebabkan oleh aktivitas dan rutinitas kita.
4. SAMUEL HENRY
Game merupakan bagian tak terpisahkan dari keseharian anak, sedangkan sebagian orang tua menuding game sebagai penyebab nilai anak turun, anak tak mampu bersosialisasi, dan tindakan kekerasan yang dilakukan anak.
5. ANDIK SUSILO
Game adalah salah satu candu yang susah dihilangkan, bahkan ada yang mengatakan bahwa candu game online setara dengan narkoba.
6. JOHN NAISBITT
Game merupakan sistem partisipatoris dinamis karena game memiliki tingkat penceritaan yang tidak dimiliki film.
7. ALBERT EINSTEIN
Game adalah bentuk investigasi paling tinggi .
8. WIJAYA ARIYANA & DENI ARIFIANTO
Game merupakan salah satu kebutuhan yang menjadi masalah besar bagi pengguna komputer, karena untuk dapat memainkan game dengan nyaman, semua komponen komputernya harus memiliki kualitas yang baik, terutama VGA card-nya.
9. AGUSTINUS NILWAN
dalam bukunya “Pemrograman Animasi dan Game Profesional”
Game diartikan sebagai suatu aktivitas terstruktur atau juga digunakan sebagai alat pembelajaran.


     Jadi, bermain game adalah suatu proses “fine tuning” (atau penyamaan frekuensi) dari logika berpikir seseorang dengan logika berpikir aplikasi komputer yang canggih. Pada saat bersamaan, game juga secara nyata mempertajam daya analisis para penggunanya untuk mengolah informasi dan mengambil keputusan dengan cepat dan jitu.

 B.          Sejarah Game
Generasi game pertama muncul dari ATARI 2600 yang merupakan konsole game pertama yang sukses di masanya. ATARI 2600 ini dirilis pada Oktober 1977, setelah itu dikenal dengan nama VCS (Video Computer System) setelah sukses pada generasi pertama ATARI tidak menyerah sampai disitu saja untuk memajukan dunia game elektronik pada generasi kedua muncullah ATARI 7800 konsol yang dirilis pada Juni 1986, terdapat sedikit kemajuan dengan menambahkan joystik sehingga user dapat lebih mudah untuk memainkan konsole game ini namun pada masanya harga dari konsole game ini selangit yaitu $140. Pada jamannya mungkin ini menjadi salah satu permainan termahal. Setelah Atari 7800 ada NES Nintendo Entertaintment System, inilah konsole permainan pertama kali yang menggunakan 8 bit.
Nintendo ini menghasilkan produk game yang lain daripada yang lain. Salah satu game yang compatible dengan NES ini adalah super mario bros. Setelah NES laris manis dengan super marionya lalu muncul lagi konsole game Sega Mega Drive, sega mega drive ini merupakan generasi ke tiga dari dunia game. Sega menggunakan 16 bit dan dirilis pada tahun 1988, kalau tadi nintendo dikenal dengan super mario brossnya, Sega juga tidak mau kalah dengan mengeluarkan game Sonic The Hedhog. Pada generasi ke empat dari sejarah game produksi game semakin menjamur dan berkembang pesat. Salah satu contoh pada generasi ke empat ini lahirlah Playstation yang merupakan salah satu game konsole terlaris dan menurut saya terbaik di indonesia bahkan di dunia merupakan terobosan baru di dunia game dengan menggunakan 32 bit. Generasi kelima playstation atau yang lebih akrab kita sebut PS semakin gencar melakukan produksi lainnya yang lebih mutakhir dengan mengeluarkan konsole game PS2 namun pada generasi ke lima ini sangat banyak sekali saingan PS2, XBox, Sega Saturn, Dreamcast karena pada generasi kelima ini sudah mulai banyak perusahaan yang memproduksi konsole game. Generasi sekarang, pada tahun ini sudah banyak sekali konsole game menjamur di dunia PS juga masih terus mengem bangkan sistemnya dengan mengeluarkan PS3, Xbox juga mengeluarkan XBOX 360, lalu nintendo juga mengeluarkan WII.

 C.          Klasifikasi Game

a. Advergaming
merupakan Personal Computer yang berupah aplikasi game pada PC,game ini dimainkan pada personal computer dengan durasi penayangan tidak ada batasan,serta game tesebut menarik perhatian audience atau pemain maka di situlah tingkat kesukaan pemain semakin tinggi. Pembuatan game menggunakan bahasa C++ atau C# yang mana membutuhkan waktu kurang lebih 3 – 6 bulan.
b. Edutainment
merupakan salah satu bentuk media pembelajaran yang dipenuhi nuansa hiburan serta menyenangkan serta mudah untuk di cernah oleh para penonton.
c. Edumarket Games
merupakan kombinasi antara  advergaming dan edutainment.
d. News games atau Journalistic games
merupakan game baru dan pemberitahuan tentang perkembangan game terbaru.
e. Simulation Games
merupakan permainan  yang dimainkan dalam bentuk simulasi.

 D.          Perbedaan Game Offline dan Game Online

1. Game Offline

Kelebihan Game Offline

Ø  Tidak membutuhkan koneksi internet
Ø  Memiliki grafis serta alur cerita lebih menarik
Ø  Waktu tunggu cepat
Ø  Santai dalam memainkannya

Kekurangan Game Offline

Ø  Cenderung membosankan
Ø  Membutuhkan uang yang cukup,jika ingin mendaparkan game yang baru lagi
Ø  Hanya bisa bermain sendiri 

2. Game Online

Kelebihan Game Online

Ø  Dapat berinteraksi dengan pemain lain
Ø  Memperbanyak pertemanan
Ø  Dapat dimainkan dalam bentuk Group/Team Kekurangan Game Online
Ø  Membutuhkan koneksi internet
Ø  Menyita banyak waktu
Ø Dapat mengakibatkan kecanduan yang berat,hingga susah untuk berhenti
Ø  Jenis game terbatas

 E.          Dampak sering Bermain Game Online
menurut penelitian yang pernah dipublikasikan dalam jurnal Pediatrics—yang antara lain dilakukan di Seattle Children’s Research Institute (2011), Iowa State University (2010), dan Stanford University School of Medicine (2009), kebanyakan main game bisa mengganggu proses tumbuh kembang anak, antara lain berupa:
·         Masalah sosialisasi
Berhubung lebih banyak menghabiskan waktu untuk bermain dengan mesin (bukan manusia), si praremaja bisa merasa canggung dan kurang nyaman kala datang kesempatan untuk bergaul dengan temannya.
·         Masalah komunikasi
Kegiatan berkomunikasi bukan sebatas berbicara dan mendengarkan kalimat yang terucap, tetapi juga membaca ekspresi lawan bicara. Anak yang kurang sering bersosialisasi biasanya kesulitan melakukan hal ini.
·         Mengikis empati
Seringkali anak menyukai jenis game yang melibatkan kekerasan, seperti perang-perangan, martial art, dan sebagainya. Efek samping dari memainkan jenis game ini adalah terpicunya agresivitas anak dan terkikisnya empati si kecil terhadap orang lain.
·         Gangguan motorik
Tubuh yang kurang aktif bergerak akan mengurangi kesempatananak untuk melatih kemampuan motoriknya. Risikonya, anak bisa terserang obesitas dan pertumbuhan tinggi badannya tidak maksimal.


·         Gangguan kesehatan
Menatap layar video games secara konstan dalam waktu lama bisa mencetus serangan sakit kepala, nyeri leher, gangguan tidur, dan gangguan penglihatan.

 F.          Aplikasi yang Digunakan dalam Pembuatan Game

Berikut ini berbagai aplikasi membuat game yang bisa digunakan siapapun yang ingin membuat game sendiri.
v  Membuat Game Berbasis Flash

1.  AlbinoBlackSheep
http://www.albinoblacksheep.com, di situs ini banyak sekali game dan video termasuk tutorial tentang bagaimana membuat game berbasis flash.

2.  FlashKit
http://www.flashkit.com, di situs ini anda bisa menemukan banyak tutorial bekerja dengan flash termasuk panduan langkah demi langkah untuk beberapa tipe game.
3.  Kirupa
http://kirupa.com, banyak sekali tutorial ekstensif untuk membuat game flash termasuk panduan untuk game-game spesifik seperti game shooter.

4.  Lassie Adventure Studio
http://lassie.gmacwill.com/lower.php?section=news&page=index, dengan aplikasi ini, anda dapat membuat gambar 2D untuk game petualangan dengan mudah dan membuat gamenya.

5.  Sploder
http://www.sploder.com, di situs ini anda bisa membuat game flash dari berbagai macam jenis obyek dan kemudian meletakkannya pada MySpace, Blogger dan situs-situs lainnya.


v  Membuat Game Standard dan Panduannya

1.  Anim8or
http://www.anim8or.com, aplikasi modeling animasi 3D untuk game yang mudah digunakan.

2.  Byond
http://www.byond.com, di situs ini anda bisa membuat game anda sendiri dengan bantuan peralatan alikasi yang sudah disediakan dan kemudian anda sharing dengan orang lain untuk mengetahui pendapat mereka.

3. Game Discovery
http://www.gamediscovery.com, di situs ini semua yang anda inginkan untuk membuat game ada, character making, gameplay making dan juga anda bisa menemukan ide-ide membuat game disini.
4.  Martin Piecyk’s Website
http://www.pages.drexel.edu/%7Emfp27/gamemaking/, panduan belajar bagaimana untuk membuat game dengan disertai link ke berbagai sumber.

5. VGMusic
http://vgmusic.com, jJika anda ingin menambahkan efek sound atau soundtrack game yang anda buat, anda bisa temukan disini, banyak sekali file-file midi yang bisa anda gunakan untuk keperluan game yang anda buat.

6.  Visionaire2d
http://www.visionaire2d.net, aplikasi ini dapat membantu anda membuat game petualangan 2D tanpa perlu pengetahuan programming.

7. YoYoGames
http://www.yoyogames.com, disini anda akan temukan banyak perlengkapan untuk membuat game seperti beta testing, download, work in progress, community dan banyak lagi lainnya.


v  Membuat Game RPG

1.  Charas-Project
http://charas-project.net, generator karakter yang mudah digunakan untuk karakter RPG yang anda ingin buat.

2. CrankEye
http://www.crankeye.com, ada banyak sekali panduan untuk membuat RPG seperti editor karakter, soundfile dan lain sebagainya.

3.  DualSolace
http://dualsolace.com, disini anda dapat menemukan software membuat game MMORPG 2D RealFeel.
4. FreeMMORPGMaker
http://www.freemmorpgmaker.com, software gratis untuk membuat MMORPG termasuk membuat bagian-bagian game seperti karakter, efek dan suara.

5.  PhanxGames
http://www.phanxgames.com/index.asp, anda bisa membuat RPG dan juga disertai membuat grafis, soundfile midi, wav, kemudian jika anda selesai membuatnya, anda bisa menguploadnya di situs tersebut hingga ukuran 50 MB.

6. PlayerWorlds
http://www.playerworlds.com, aplikasi populer yang banyak digunakan untuk membuat game seri RPG.

7.  RPG Maker
http://www.rpg-maker-downloads.tnrstudios.com/, program RPG Maker di situs ini ada beberapa seri yang bisa anda pilih sesuai keinginan anda.

8.  RPGCrisis
http://rpgcrisis.net, disini anda dapat menemui berbagai download dan aplikasi untuk membuat RPG pada berbagai sistem apakah PC atau yang lainnya.

9. RPG Revolution

          http://www.rpgrevolution.com, di situs ini perlengkapan
    dan aplikasi untuk membuat game RPG ada lebih dari 13 sistem
    game making yang berbeda.