Sabtu, 02 April 2016

Konsep Pembuatan Script Game Computer

Apa itu game?

Dalam kamus bahasa Indonesia “Game”diartikan sebagai permainan. Sebuah permainan adalah sebuah sistem dimana pemain terlibat dalam konflik buatan, disini pemain berinteraksi dengan sistem dan konflik dalam permainan merupakan rekayasa atau buatan, dalam permainan terdapat peraturan yang bertujuan untuk membatasi perilaku pemain dan menentukan bagaimana jalannya permainan. Game bertujuan untuk menghibur, biasanya game banyak disukai oleh anak-anak namun saat ini orang dewasa pun banyak yang bermain game yang artinya penikmat game tidak dibatasi oleh umur demikian pula gender karena saat ini game banyak pula dimainkan oleh wanita. Games sebenarnya penting untuk perkembangan otak, untuk meningkatkan konsentrasi dan melatih untuk memecahkan masalah dengan tepat dan cepat karena dalam game terdapat berbagai konflik atau masalah yang menuntut kita untuk menyelesaikannya dengan cepat dan tepat. Tetapi game juga memiliki sisi negative yang dapat merugikan karena jika kita sudah kecanduan game kita akan lupa waktu dan akan mengganggu kegiatan atau aktifitas yang sedang kita lakukan
Game berasal dari kata bahasa inggris yang berarti dasar permainan. Permainan dalam hal ini merujuk pada pengertian kelincahan intelektual( Intellectual Playability Game) yang juga bisa diartikan sebagai arena keputusan dan aksi pemainnya. Dalam game, ada target-target yang ingin dicapai pemainnya.
Terdapat beberapa komponen-komponen di dalam game dan diantaranya:
1. Grafik
Grafik merupakan suatu hal yang penting dalam game, dimana grafik ini akan membuat game menjadi daya tarik user untuk memainkan game. pada awalnya game menggunakan grafik monokrom dengan layar hitam putih sampai sekarang sudah menggunakan teknologi 3D,  semakin bagus grafik maka game tersebut semakin seperti dalam  dunia nyata.
2. Suara
suara menjadi komponen game karena dengan adanya suara pada game maka game tersebut akan menarik sehingga kita dapat merasakan kondisi dalam game tersebut. selain itu, dengan adanya suara, kita tidak bosan bermain game.
3. AI(kecerdasan Buatan)
Kecerdasan buatan atau AI(artificial Inteligence) menjadi komponen game karena dengan hal tersebut game menjadi lebih menantang. Dengan menggunakan AI, game dapat berpikir untuk mengalahkan pemain sehingga membuat game lebih seru.
4. Skenario Game
Skenario game menjadi komponen game karena dengan adanya skenario dalam game, si pemain seolah-olah bermain sesuai dengan petunjuk yang ada di game tersebut, sehingga dapat dikatakan game tersebut memiliki cerita sehingga membuat pemain lebih asyik memainkan game tersebut
5. Multiplayer
Multiplayer bisa menjadi komponen  game  karena dengan hal tersebut, pemain dapat bermain dengan teman-temannya dan orang lain sehingga game itu dapat dimainkan lebih dari 1 orang. dengan kata lain, multiplayer adalah sebuah mode dalam game dimana game dimainkan oleh pemain lainnya sehingga bermain game secara bersama-sama.

 Apa itu game engine?

Game Engine adalah sebuah sistem yang dirancang untuk penciptaan dan pengembangan video game. Ada banyak Gam Engine yang dirancang untuk bekerja pada Video Game Console maupun PC. Fungsionalitas inti yang biasanya disediakan oleh Game Engine  mencakup mesin rendering (“renderer”) untuk grafis 2D atau 3D, mesin fisika atau deteksi tabrakan (dan tanggapan tabrakan), suara, script, animasi, AI, jaringan, streaming, Memory Management, Threading, Localization, dan grafik adegan.
Tujuan Penggunaan Game Engine
Game engine menyediakan seperangkat alat pengembangan visual di samping komponen software. Kebanyakan Game Engine menyediakan fasilitas yang memudahkan pengembangan, seperti grafik, suara, fisika dan fungsi AI. Game Engine ini kadang-kadang disebut “middleware” karena, seperti dengan istilah naluri bisnis, mereka menyediakan sebuah platform perangkat lunak yang fleksibel dan dapat digunakan kembali yang menyediakan semua fungsionalitas inti yang dibutuhkan, langsung untuk mengembangkan sebuah aplikasi permainan sambil mengurangi biaya , kompleksitas, dan waktu.
Seperti solusi middleware lainnya, Game Engine biasanya menyediakan abstraksi platform, yang memungkinkan permainan yang sama untuk dijalankan pada berbagai platform termasuk Console Game dan PC. Seringkali, Game Engine dirancang dengan arsitektur berbasis komponen yang memungkinkan sistem tertentu dalam mesin yang akan diganti atau diperpanjang dengan lebih khusus (dan sering kali lebih mahal) komponen middleware game seperti Havok untuk fisika, Miles Sound System untuk suara, atau Bink untuk Video.
Beberapa Contoh Game Engine Open Source :
– 3Dgame Studio
– Delta 3D
– UnrealEngine
– Panda3D
– Torque
– Quake Engine

Pemilihan Bahasa Pemrograman
1. Speed
Bahasa scripting untuk game harus mampu berjalan secepat mungkin. Jika kita berniat untuk menggunakan banyak script untuk perilaku karakter dan kejadian di level game, maka script akan perlu untuk mengeksekusi sebagai bagian dari loop game utama. Ini berarti bahwa script yang lambat akan memakan waktu yang kita butuhkan untuk membuat suatu adegan,menjalankan mesin fisika, atau menyiapkan audio.
2. Kompilasi dan Interpretasi (penyusunan dan penafsiran)
Bahasa scripting secara luas diinterpretasikan,melalui susunan serangkaian byte. Penafsiran bahasa diambil melalui format teks. Interpreter melihat setiap baris, penyusunan bekerja sesuai yang maksud dari script, dan melakukan tindakan yang spesifik. Bahasa byte-terkompilasi dikonversi dari teks ke format internal, yang disebut byte code. Kode byte biasanya jauh lebih padat daripada format teks.Karena kode byte dalam suatu format dioptimalkan ketika dieksekusi, agar dapat berjalan lebih cepat.
3. Ekstensibilitas dan Integrasi
Bahasa scripting perlu memiliki akses kefungsi yang signifikan ke dalam game. Sebuah script yang mengendalikan karakter, misalnya harus mampu untuk menanyai game untuk mencari tahu apa yang bisa dilihat dan kemudian membiarkan game tahu apa yang akan dilakukan sebagai aksinya.
4. Re-Entrancy (ikut serta ulang)
Fungsi ini sering berguna untuk memanggil script menjadi diikut sertakan ulang. Mereka dapat berjalan untuk sementara waktu, dan ketika anggaran waktu telah habis script akan dapat ditunda. Ketika script selanjutnya mendapatkan beberapa waktu kembali, maka akan dapat menjalankan kembali script yang ditunda sebelumnya. Hal ini sering membantu untuk membiarkan kontrol hasil script saat mencapai jeda normal. Kemudian sebuah algoritma penjadwalan dapat memberikan lebih banyak waktu untuk meminimalisasi penggunaan sumber daya. Sebuah script untuk mengendalikan sebuah karakter, misalnya, mungkin memiliki limatahapan yang berbeda (memeriksa situasi, memeriksa kesehatan, menentukan gerakan, rencana rute, dan melaksanakan gerakan). Ini semua dapat dimasukkan dalam satu script yang menghasilkan penyekat antara setiap bagian. Kemudian masing-masing akan berjalan dengan setiap lima frame, dan beban dari eksekusi AI akan didistribusikan.

Embedding (Penanaman)
Embedding berhubungan dengan ekstensibilitas.Sebuah bahasa yang tertanam dirancang untuk dimasukkan ke dalam program lain. Ketika kitamenjalankan bahasa scripting dari workstation, biasanya akan menjalankan program khusus untuk menafsirkan file source code. Dalam game, sistemscripting perlu dikontrol dari dalam program utama.Game yang menentukan jalannya script harusdijalankan dan harus dapat memberitahu mesin terkait bahasa scripting yang cocok untuk memproses script tersebut.
Tahapan Pengolahan bahasa
Memulai sebagai teks dalam sebuah file teks, script biasanya melewati empat tahap: tokenization, parsing (penguraian), kompilasi, dan interpretasi. Keempat tahapan membentuk sebuah jalur, masing-masing memodifikasi masukan untuk mengubahnya menjadi format yang lebih mudah dimanipulasi.
1.    Tokenizing
Tokenizing mengidentifikasi unsur-unsur dalam teks. Sebuah file teks hanya berisi serangkaian karakter (dalam pengertian karakter ASCII). Hasil tokenizer keluar sebagai kumpulan  byte tertentu dan jenis dari kelompok tertentu yang membentuk mereka. Sebuah string dalam bentuk : 1 a = 3.2;


2. Parsing
Makna dari sebuah program adalah sangat hirarkis: nama variabel dapat ditemukan dalam sebuah statement pemberian nilai, ditemukan di dalam pernyataan IF-, yang ada di dalam tubuh fungsi, di dalam definisi kelas, maupun di dalam sebuah deklarasi namespace. Contoh : 1 if (a < b) return
dapat dilakukan proses parsing seperti pada bagan di bawah ini :


3.    Compiling           
Compiler mengubah parse tree ke dalam kode byte yang dapat dijalankan oleh interpreter. Kode byte  biasanya berbentuk data biner berurutan.
Contoh :

4.    Interpreting
Tahap akhir dari serangkaian ini ialah menjalankan kode byte. Dalam sebuah compiler untuk bahasa seperti C atau C++, produk akhir akan menjadi mesin instruksi yang dapat langsung dijalankan oleh prosesor.
Bahasa Yang Sering Digunakan
Lua
Lua adalah bahasa prosedural sederhana yang dibangun dari dasar ke atas sebagai bahasa embedding. Desain bahasa didorong oleh ekstensibilitas. Tidak seperti kebanyakan bahasa embedded, hal ini tidak terbatas untuk menambahkan fungsi baru atau tipe data di C atau C + +. Cara kerja bahasa Lua juga dapat men-tweak.
Python
Python adalah bahasa yang mudah dipelajari, bahasa scripting berorientasi objek dengan ekstensibilitas  baik dan dukungan embedding. Python menyediakan dukungan yang sangat baik untuk  pemrograman bahasa campuran, termasuk kemampuan untuk secara transparan memanggil C dan C + + dari Python.
Tools Lex dan Yacc
Lex dan Yacc adalah dua tool utama yang digunakan dalam membangun tokenizers dan parser. Masing-masing memiliki implementasi yang berbeda dan kebanyakan disediakan untuk platform UNIX (namun tersedia versi untuk platform lain juga). Varian Linux yang sering digunakan contohnya adalah Flex dan Bison.

Sumber : 
https://chikhungunya.wordpress.com/2011/05/26/definisi-game-dan-jenis-jenisnya/
https://hafidsun.wordpress.com/2012/03/11/apa-itu-game/
https://tito0809.wordpress.com/category/tugas-kuliah/pengantar-teknologi-game/
http://www.academia.edu/3875722/Scripting_dalam_Pembuatan_Game
Les Pradew,”Beginning Illustration and Storry Boarding for Games”, Thomson Course Technology, 2005
Christy Marx, ”Writing for Animation, Comics and Games”,Elsevier,2007.

0 komentar:

Posting Komentar