GAME CLICK CLACK AWAY

tulisan blog kali ini ngebahas tentang project game yang dibuat deket deket sidang PKB. game berbasiskan prolog. sedikit gambaran mengenai interface game serta cuplikan cuplikan dari game ini sendiri. semoga bisa menjadi pencerahan buat temen temen yang kesulitan mencari refrensi untuk pembuatan game menggunakan strawberry prolog. untuk listing program bisa langsung pm saya di ym :)

Apa itu Prolog?

Prolog adalah bahasa pemrograman logika atau di sebut juga sebagai bahasa non procedural. Namanya diambil dari upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer. prolog menggunakan teknik pencarian yang di sebut heuristic (heutistic) dengan menggunakan pohon logika (Wikipedia)

download Strawberry Prolog disini

Perkenalan : CLICK CLACK AWAY

merupakan permainan dengan konsep AI (Artificial Intelligence) dimana user berusaha untuk mengalahkan komputer yang telah di beri pembelajaran untuk memenangkan permainan. Click Clack Away merupakan game semacam matches (game Strawberry Prolog). Player dan Komputer berlomba untuk tidak mendapatkan giliran terakhir dalam menghabiskan item apel-apelnya dengan prinsip take the last you fool. terdapat timer selama 20 detik setiap sekali permainan. player harus menyelesaikan permainan sebelum waktu habis.

(Interface Game)


MANUAL BOOK

INITIAL STATE :
Penggunaan initial state sebagai acuan untuk membuat program Click Clack Away adalah pembuatan area permainannya. Penulis menggunakan gambar Apel yang berukuran 56x60 sebagai pengganti “korek api”. Game Click Clack Away merupakan Permainan Mental seorang pemain melawan AI komputer. Pada game ini akan menampilkan 16 spot/apel dalam 4 baris dan 7 kolom dan kolom menyusun meningkat. Game ini akan mengasah otak pemainnya. Pemain harus untuk menerapkan strategi yang tepat untuk memenangkan game ini. Permainan ini hanya satu pemain, sedangkan Komputer bertindak sebagai lawan dari pemain.

(Papan Permainan)


RULES :
            Aturan main (Rules) pada games Click Clack Away  ini adalah sebagai berikut :
1.      User memulai permainannya terlebih dahulu, dan user menentukan apel mana yang akan user ambil untuk memulai permainan. User diberi kebebasan untuk memilih apel mana saja yang akan diambil selama berada di papan permainan.
2.      Komputer melakukan pembelajaran untuk menghalangi jalan user untuk mencapai Goal (Tujuan).
3.      Komputer juga melakukan pembelajaran untuk memenangkan games ini menyisakan apel terakhir untuk user ambil (mengambil lebih dahulu dari user)

GOAL :
            Goal (tujuan) untuk menyelesaikan games Click Clack Away ini adalah mengambil lebih dulu dari lawan kita yaitu Komputer. Dengan menyisakan 2 buah apel pada permainan maka user dapat menang. Banyak sekali cara untuk mencapai goal(tujuan) terbentuk, salah satunya adalah sebagai berikut:

(MENANG)

(KALAH)


Konsep AI :
Kecerdasan buatan atau AI pada game ini terletak pada computer yang akan bertindak sebagai lawan. Komputer akan selalu berusaha mengalahkan user. Komputer dapat menyusun strateginya sendiri agar menjadi pemenang. Konsep AI pada game ini terletak pada komputer yang akan bertindak sebagai lawan dari user. Komputer akan selalu berusahan mengalahkan user dengan menghalangi langkah user menyisakan apel terakhir.

Game ini menggunakan Runut-balik (backtracking) Algoritma Runut-balik adalah algoritma yang berbasis pada DFS untuk mencari solusi persoalan secara lebih Praktis. Runut-balik, yang merupakan perbaikan dari algoritma brute-force, secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada. Dengan metode runut-balik, kita tidak perlu memeriksa semua kemungkinan solusi yang ada. Hanya pencarian yang mengarah ke solusi saja yang selalu dipertimbangkan. Akibatnya, waktu pencarian dapat dihemat.

Runut-balik merupakan bentuk tipikal algoritma rekursif. Saat ini algoritma runut-balik banyak diterapkan untuk program games (seperti permainan tic-tac-toe, menemukan jalan keluar dalam sebuah labirin, catur, dll) dan masalah-masalah pada bidang kecerdasan buatan (artificial intelligence).


OUTPUT PROGRAM

(START)


(RULES)


(ABOUT)

(WAKTU HABIS)

(EXIT)

RENDERING


Rendering adalah proses akhir dari keseluruhan proses pemodelan ataupun animasi komputer. Dalam rendering, semua data-data yang sudah dimasukkan dalam proses modeling, animasi, texturing, pencahayaan dengan parameter tertentu akan diterjemahkan dalam sebuah bentuk output (tampilan akhir pada model dan animasi).
Rendering tidak hanya digunakan pada game programming, tetapi juga digunakan pada banyak bidang, misalnya arsitektur, simulator, movie, spesial effect pada tayangan televisi, dan design visualization. Rendering pada bidang-bidang tersebut memiliki perbedaan, terutama pada fitur dan teknik renderingnya. Terkadang rendering juga diintegrasikan dengan model yang lebih besar seperti paket animasi, tetapi terkadang berdiri sendiri dan juga bisa free open-source product.

Metode Rendering


·         Ray Tracing Rendering
Ray tracing sebagai  sebuah metode  rendering pertama kali digunakan pada tahun 1980 untuk pembuatan gambar tiga dimensi. Ide dari metode rendering ini sendiri berasal dari percobaan Rene Descartes,  di mana ia menunjukkan pembentukan  pelangi  dengan  menggunakan  bola  kaca berisi air dan kemudian merunut kembali arah datangnya cahaya  dengan  memanfaatkan  teori  pemantulan  dan pembiasan cahaya yang telah ada saat itu.
Metode  rendering ini  diyakini  sebagai  salah  satu metode  yang  menghasilkan  gambar  bersifat  paling fotorealistik. Konsep dasar  dari  metode ini  adalah  merunut  proses yang  dialami  oleh  sebuah  cahaya  dalam perjalanannya dari  sumber  cahaya  hingga  layar  dan  memperkirakan warna  macam apa  yang  ditampilkan  pada  pixel  tempat jatuhnya  cahaya.  Proses  tersebut  akan  diulang  hingga seluruh pixel yang dibutuhkan terbentuk.
·         Wireframe rendering
Wireframe yaitu Objek 3D dideskripsikan sebagai objek tanpa permukaan. Pada wireframe rendering, sebuah objek dibentuk hanya terlihat garis-garis yang menggambarkan sisi-sisi edges dari sebuah objek. Metode ini dapat dilakukan oleh sebuah komputer dengan sangat cepat, hanya kelemahannya adalah tidak adanya permukaan, sehingga sebuah objek terlihat tranparent. Sehingga sering terjadi kesalahpahaman antara siss depan dan sisi belakang dari sebuah objek.
·         Hidden Line Rendering
Metode ini menggunakan fakta bahwa dalam sebuah objek, terdapat permukaan yang tidak terlihat atau permukaan yang tertutup oleh permukaan lainnya. Dengan metode ini, sebuah objek masih direpresentasikan dengan garis-garis yang mewakili sisi dari objek, tapi beberapa garis tidak terlihat karena adanya permukaan yang menghalanginya.
Metode ini lebih lambat dari dari wireframe rendering, tapi masih dikatakan relatif cepat. Kelemahan metode ini adalah tidak terlihatnya karakteristik permukaan dari objek tersebut, seperti warna, kilauan (shininess), tekstur, pencahayaan, dll.
·         Shaded Rendering
Pada metode ini, komputer diharuskan untuk melakukan berbagai perhitungan baik pencahayaan, karakteristik permukaan, shadow casting, dll. Metode ini menghasilkan citra yang sangat realistik, tetapi kelemahannya adalah lama waktu rendering yang dibutuhkan.
Contoh nyata dari rendering adalah dengan menggunakan software Blender, Vray (3DS Max) dan OpenGL. Satu trik khusus membuat kita dapat me-render seluruh film yang tengah kita buat dengan sangat cepat, yaitu render pranala. Bayangkan kita dapat segera menyaksikan karya kita, memeriksa kualitas animasi dan narasinya, tanpa perlu menunggu proses render yang terlalu lama. Render pranala memanfaatkan pustaka OpenGL yang menggambar seluruh antarmuka Blender termasuk viewport 3D ke layar, sehingga meski ia mengorbankan kualitas visual, jenis render ini dapat dilakukan dengan sangat cepat.
Contoh rendering dengan menggunakan OpenGL adalah render pranala. Render ini tidak dapat langsung dilakukan melalui baris perintah. Blender harus terlebih dahulu memiliki “kanvas” OpenGL, yang artinya proses render harus dimulai saat antarmuka grafis tersedia. Eksekusi perintah render dilakukan dengan injeksi perintah Python, dengan satu-satunya perbedaan adalah fungsi yang dipanggil. Bila render normal dipanggil dengan fungsi bpy.ops.render.render(animation=True), maka render OpenGL dipanggil dengan fungsi:
bpy.ops.render.opengl(animation=True, view_context=False)
Untuk merender dengan menggunakan Vray (3DS Max), proses rendering dibagi ke dalam 3 tahapan, yaitu pertama untuk proses rendering RGBA (Red Green Blue Alpha) image, kedua untuk rendering Ambience Occlusion, dan ketiga untuk rendering shadow. Vray sampai saat ini telah mengeluarkan versi Cinema 4D.

Gambar-gambar Rendering:





Category: 27 komentar