Sabtu, 23 April 2016

Artificial Intelligence Pada Game





pada postingan kali ini saya akan membahas tentang artificial intelligence pada game, sebelum kita membahas tentang artificial intelligence pada game, kita harus mengerti apa itu artificial intelligence.

Pengertian Artificial Intelligence
artificial intelligence atau AI dalam bahasa Indonesia artinya Kecerdasan Buatan yaitu kecerdasan yang ditunjukkan oleh suatu entitas ilmiah. Kecerdasan dibuat dan dimasukkan ke dalam suatu mesin/ komputer supaya bisa melakukan pekerjaan seperti yang bisa dikerjakan oleh manusia. Contohnya adalah kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, perencanaan dan penjadwalan, pengendalian, serta pengenalan tulisan tangan, suara dan wajah.


Fungsi utama dari AI
Fungsi utama dari AI  adalah kemampuannya untuk mempelajari data yang diterima secara berkesinambungan. Semakin banyak data yang diterima dan dianalisis melalui algoritma khususnya, semakin baik pula AI dalam membuat prediksi. dan juga Aplikasinya pun cukup beragam. Beberapa startup seperti Enlitic menggunakan kecerdasan buatan di bidang kesehatan yang dapat mendiagnosis penyakit berdasarkan gejala-gejala yang dialami oleh pasien. Ada juga MetaMind yang memberi solusi kepada perusahaan-perusahaan besar dengan memberi sebuah sistem kecerdasan buatan untuk melakukan tugas-tugas dasar seperti menyortir sebuah database.

Pengertian Game

Game adalah permainan komputer yang dibuat dengan teknik dan metode animasi. Permainan game merupakan bidang AI yang sangat populer berupa permainan antara manusia melawan mesin yang mempunyai intelektual untuk berpikir. Komputer dapat bereaksi dan menjawab tindakan-tindakan yang diberikan oleh lawan mainnya.Salah satu komputer yang ditanamkan AI untuk game bernama Deep Blue. Deep Blue adalah sebuah komputer catur buatan IBM pertama yang memenangkan sebuah permainan catur melawan seorang juara dunia (Garry Kasparov) dalam waktu standar sebuah turnamen catur. Kemenangan pertamanya (dalam pertandingan atau babak pertama) terjadi pada 10 februari 1996, dan merupakan permainan yang sangat terkenal.Kini telah banyak berkembang game AI yang semakin menarik, interaktif, dan dengan grafis yang sangat bagus. Ditambah dengan kemajuan teknologi jaringan komputer yang semakin cepat, sudah banyak terdapat game-game AI yang berbasiskan online. Tidak sedikit orang yang tertarik dengan game saat ini. Mereka memainkan game untuk mengisi kekosongan waktu mereka atau pun melatih skill mereka dalam berpikir. Game memiliki beberapa tipe :

  • Informasi lengkap = suatu game dimana permain mengetahui semua langkah yang mungkin terjadi dari dirinya sendiri dan dari lawan dan hasil akhir dari permainan. Contoh game : catur dan tic tac toe
  • Informasi tak lengkap : game dimana pemain tidak tahu semua kemungkinan langkah lawan. Contoh game : Kartu Poker dan Brigde karena semua kartu tidak diketahui oleh para pemain

Artificial Intelligence Pada Game
Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia.Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi dengan sesama manusia. Contoh media interaksi ialah
  •  Penglihatan (vision)
  • Suara (voice), ucapan (speech)
  • Gerakan anggota badan ( gesture)
      Untuk pembentukan Artificial Intelligence pada game ternyata digunakan pula algoritma, yaitu jenis pohon n-ary untuk suatu struktur. Implementasi pohon (tree) ini biasa disebut game tree. Berdasarkan game tree inilah sebuah game disusun algoritma kecerdasan buatannya. Artificial intellegence yang disematkan dalam sebuah game yang membentuk analisis game tree biasanya merepresentasikan kondisi atau posisi permainan dari game sebagai suatu node, dan merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi suatu pohon (tree).
      Namun, biasanya representasi langsung tersebut mempunyai kelemahan, yaitu representasi data pohon akan menjadi sangat lebar dan banyak. Mungkin bagi sebuah mesin komputer mampu melakukan kalkulasi sebanyak apapun masalah, namun game tree yang lebar dan besar memberikan beberapa masalah, antara lain konsumsi proses memori, kapasitas penyimpanan yang cukup besar dan kinerja yang kurang pada konsol game berspesifikasi rendah. Karena itu dibentuklah beberapa algoritma dan penyederhanaan bagi sebuah game tree.
     Pada salah satu contoh game klasik, yaitu tic tac toe, penyederhanaan dapat dilakukan dengan berbagai metode. Salah satu diantaranya adalah minimax. Metode ini berhasil diterapkan dan memberikan nilai reduksi yang cukup signifikan. Dan tidak hanya bisa digunakan secara monoton, minimax juga bisa digunakan untuk game-game yang lebih rumit seperti catur, tentunya dengan algoritma dan representasi berbeda.
     Minimax yang merupakan salah satu metode penerapan (implementasi) pohon n-ary pada suatu game, menandakan bahwa implementasi struktur (pohon khusunya) sangatlah diperlukan pada pembuatan dan penerapan Artificial Intelligence, dan tidak menutup kemungkinan ilmu dan metode baru yang lebih canggih akan ditemukan di masa depan.
Read more »»  

Kamis, 14 April 2016

Mobile Computing


pada kali ini disini saya akan membahas tentang mobile komputing. pertama kita akan membahas tentang definisi mobile computing itu sendiri. dari beberapa sumber didapat bahwa definisi mobile komputer atau mobile computing, yaitu :

  • Mobile Computing merupakan kemajuan teknologi komputer, sering disebut sebagai mobile computer (portable computer) yang dapat berkomunikasi dengan jaringan tanpa kabel (nirkabel).
  • Mobile Computing adalah sebuah komputasi menggunakan teknologi yang tidak terhubung secara fisik, atau dalam jarak jauh atau lingkungan mobile (non statik).
  • Mobile Computing adalah suatu istilah yang digunakan untuk menggambarkan aplikasi pada piranti berukuran kecil, portable, dan wireless serta mendukung komunikasi.
dari pengertian diatas kita dapat mengambil kesimpulan bahwa mobile computing itu adalah teknologi tanpa kabel, biasanya berkuran kecil, portable / dapat dibawa kemana-mana dan dapat mendukung komunikasi.


Aplikasi Mobile Computing
untuk aplikasi mobile computing sudah banyak sekali pada zaman ini dan kemungkinan akan terus bertambah dan berkembang. salah satu contohnya adalah

1.BCA Mobile


Cukup dengan terhubung internet, dan mengakses BCA mobile, seluruh urusan perbankan Anda selesai dalam hitungan menit. Ini yang ditawarkan BCA mobile, aplikasi pada smartphone yang dapat Anda gunakan untuk transaksi perbankan, baik mobile banking BCA (m-BCA) maupun internet banking BCA (KlikBCA versi smartphone), kapan dan di manapun Anda berada.

2. MatahariMall.com


MatahariMall.com adalah eCommerce No. #1 dan terbesar di Indonesia. menyediakan lebih dari ratusan ribu pilihan produk dengan harga terbaik dari segala kebutuhan, mulai dari fashion wanita, fashion pria, kesehatan & kecantikan, handphone & tablet, laptop, gadget, elektronik, lifestyle, hobi, keperluan rumah tangga, dan lainnya. MatahariMall.com memberikan fasilitas pelayanan yang terbaik untuk mendukung Anda berbelanja online dengan aman dan terpercaya. Didukung oleh tim yang berpengalaman dalam bidang online, kami menyediakan berbagai kemudahan untuk bertransaksi. Seperti transfer antar bank, kartu kredit dengan cicilan 0%, COD (Cash On Delivery,) dan sistem O2O (Online-to-Offline). MatahariMall.com merupakan online retailer pertama di Indonesia yang mengadopsi sistem belanja "O2O" (Online-to-Offline dan Offline-to-Online), yang memungkinkan para customer untuk membayar, mengambil dan mengembalikan produk di ratusan cabang Matahari Department Store di seluruh Indonesia.

3. Traveloka
Traveloka adalah salah satu situs pencarian tiket pesawat dan hotel terkemuka di Asia Tenggara, melayani lebih dari 18.000 rute penerbangan dan ribuan hotel di kawasan Asia Pasifik. dengan menggunakan aplikasi ini pengguna tidak perlu repot untuk mencari travel karena dengan aplikasi sangat memudahkan pengguna untuk bisa mendapatkan tiket pesawat terbang maupun hotel.

dan masih banyak lagi aplikasi mobile computing yang beredar sekarang

Salah satu perusahaan yang menerapkan mobile computing adalah BCA.


 banyak produk produk yang dikeluarkan BCA salah satunya terdapat mobile bca dimana aplikasi tersebut kita dapat mengurus perbankan anda hanya dengan menggunakan smartphone, dan juga terdapat aplikasi sakuku, Sakuku adalah dompet elektronik yang dapat digunakan bertransaksi melalui aplikasi smartphone dalam melakukan bayar belanja, isi pulsa, dan transaksi perbankan lainnya.






Read more »»  

Sabtu, 02 April 2016

Konsep Pembuatan Script Game Computer








Apa itu game?


Dalam kamus bahasa Indonesia “Game”diartikan sebagai permainan. Permainan merupakan bagian dari bermain dan bermain juga bagian dari permainan keduanya saling berhubungan. Permainan adalah kegiatan yang kompleks yang didalamnya terdapat peraturan, play dan budaya. 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 permainan. Game bertujuan untuk menghibur, biasanya game banyak disukai oleh anak – anak hingga orang dewasa. 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 bisa merugikan karena apabila 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.


Di dalam sebuah game, terdapat komponen-komponen dalam game:


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) mesin permainan adalah sebuah sistem yang dirancang untuk penciptaan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada video game konsol dan komputer pribadi. Fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin rendering (“renderer”) untuk grafis 2D atau 3D, mesin fisika atau deteksi tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, memori manajemen, threading, dukungan lokalisasi, dan grafik adegan. Proses pengembangan game sering dihemat oleh di menggunakan kembali sebagian besar / mengadaptasi mesin permainan yang sama untuk membuat game yang berbeda.


Sejarah Game Engine


Sebelum (Game Engine) mesin permainan, permainan yang biasanya ditulis sebagai entitas tunggal: game untuk Atari 2600, misalnya, harus dirancang dari bawah ke atas untuk memanfaatkan optimal hardware layar tampilan ini rutin-core hari ini disebut kernel oleh retro pengembang. Platform lain telah kelonggaran lebih, tetapi bahkan ketika layar itu bukan masalah, kendala memori biasanya menyabotase upaya untuk menciptakan desain data-berat yang mesin kebutuhan. Bahkan pada platform menampung lebih, sangat kecil dapat digunakan kembali antara permainan. Kemajuan pesat hardware arcade-ujung tombak dari pasar-berarti bahwa sebagian besar kode harus dibuang setelah itu pula, sebagai generasi kemudian akan menggunakan desain permainan game yang sama sekali berbeda yang mengambil keuntungan dari sumber daya tambahan. Jadi desain paling permainan melalui 1980 dirancang melalui ruleset-keras dikodekan dengan sejumlah kecil data tingkat dan grafis.



Generasi pertama dari mesin grafis pihak ketiga atau renderers (dan pelopor untuk apa yang sekarang kita kenal sebagai mesin) didominasi oleh tiga pemain; BRender dari Argonaut Software, Renderware dari Kriteria Software Limited dan RenderMorphics ‘Realitas Lab. Realitas Lab adalah tercepat dari tiga dan adalah yang pertama diperoleh dalam langkah agresif oleh Microsoft. Tim RenderMorphics Pegawai Negeri Keondjian, Kate Seekings dan Doug Rabson kemudian bergabung dengan proyek Microsoft yang berubah Realita Lab ke Direct3D sebelum Keondjian dan Rabson kiri untuk memulai perusahaan lain middleware Qube Software. Renderware akhirnya dibeli oleh EA (Electronic Arts) tetapi dikesampingkan oleh raksasa permainan.


Istilah “Game Engine (Mesin Permainan)” muncul pada pertengahan 1990-an, terutama dalam kaitannya dengan game 3D seperti penembak orang pertama (FPS). (Lihat juga:. mesin first-person shooter) tersebut adalah popularitas Id Doom Software dan game Quake, daripada bekerja dari awal, pengembang lain berlisensi bagian inti dari perangkat lunak dan desain grafis mereka sendiri, karakter, senjata dan tingkat -The “permainan isi ” atau “aset permainan.” Pemisahan aturan permainan spesifik dan data dari konsep-konsep dasar seperti deteksi tabrakan dan entitas permainan berarti bahwa tim bisa tumbuh dan mengkhususkan.


Kemudian permainan, seperti Quake III Arena dan 1998 Epic’s Unreal Games dirancang dengan pendekatan ini dalam pikiran, dengan mesin dan konten dikembangkan secara terpisah. Praktek lisensi teknologi tersebut telah terbukti menjadi aliran pendapatan yang berguna tambahan untuk beberapa pengembang game, sebagai lisensi satu untuk mesin game high-end komersial dapat berkisar dari US $ 10.000 untuk jutaan dolar, dan jumlah lisensi dapat mencapai beberapa lusin perusahaan, seperti terlihat dengan Unreal Engine. Paling tidak, mesin dapat digunakan kembali membuat sekuel game berkembang lebih cepat dan mudah, yang merupakan keunggulan yang berharga dalam industri video game yang kompetitif.


Mesin permainan modern adalah beberapa aplikasi yang paling kompleks yang ditulis, sering menampilkan puluhan sistem tersetel berinteraksi untuk memastikan pengalaman pengguna yang tepat dikendalikan. Evolusi terus mesin permainan telah menciptakan sebuah pemisahan yang kuat antara rendering, scripting, karya seni, dan desain tingkat. Sekarang umum, misalnya, untuk tim pengembangan game khas untuk memiliki beberapa kali banyak seniman sebagai programmer yang sebenarnya.


Permainan penembak orang-pertama tetap menjadi pengguna utama dari mesin permainan pihak ketiga, tetapi mereka sekarang juga digunakan dalam genre lain. Sebagai contoh, RPG The Elder Scrolls III: Morrowind dan MMORPG Dark Age of Camelot didasarkan pada mesin Gamebryo, dan MMORPG Lineage II didasarkan pada Unreal Engine. Game mesin digunakan untuk game awalnya dikembangkan untuk rumah konsol juga, misalnya, mesin RenderWare digunakan dalam Grand Theft Auto dan waralaba Burnout.


Threading adalah mengambil lebih penting karena sistem multi-core modern (misalnya Cell) dan tuntutan meningkat pada realisme. Benang Khas melibatkan rendering, streaming, audio, dan fisika. Permainan Balapan yang biasanya berada di garis depan threading dengan mesin fisika berjalan di sebuah thread terpisah jauh sebelum subsistem inti lainnya dipindahkan, sebagian karena rendering dan tugas terkait perlu update hanya pada 30-60 Hz. Sebagai contoh, di PlayStation 3, fisika berlari di Need For Speed ​​pada 100 Hz versus Forza Motorsport 2 pada 360 Hz.
Meskipun istilah ini pertama kali digunakan pada 1990-an, ada sistem sebelumnya beberapa tahun 1980-an yang juga dianggap permainan mesin, seperti Sierra’s Adventure Game Interpreter (AGI) dan sistem SCI, LucasArts ‘SCUMM sistem dan Insentif Software mesin Freescape . Tidak seperti kebanyakan mesin permainan modern, mesin permainan ini tidak pernah digunakan dalam produk pihak ketiga (kecuali untuk sistem SCUMM yang dilisensikan dan digunakan oleh humongous Entertainment).


Tujuan Penggunaan Game Engine


Game engine menyediakan seperangkat alat pengembangan visual di samping komponen software digunakan kembali. Alat-alat ini umumnya diberikan dalam suatu lingkungan pengembangan terpadu untuk mengaktifkan disederhanakan, perkembangan pesat dari permainan dengan cara data-driven. Mesin pengembang Game upaya untuk “pra-menciptakan roda” dengan mengembangkan suite perangkat lunak kuat yang mencakup banyak unsur pengembang game mungkin perlu untuk membangun sebuah permainan. Kebanyakan mesin permainan suite menyediakan fasilitas yang memudahkan pengembangan, seperti grafik, suara, fisika dan fungsi AI. Mesin permainan 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 dari kotak, untuk mengembangkan sebuah aplikasi permainan sambil mengurangi biaya , kompleksitas, dan waktu-ke-pasar-semua faktor penting dalam industri video game yang sangat kompetitif. Gamebryo dan RenderWare adalah seperti program middleware banyak digunakan.


Seperti solusi middleware lainnya, mesin permainan biasanya menyediakan abstraksi platform, yang memungkinkan permainan yang sama untuk dijalankan pada berbagai platform termasuk game konsol dan komputer pribadi dengan sedikit, jika ada, perubahan yang dibuat ke kode sumber permainan. Seringkali, mesin permainan 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 mesin permainan seperti RenderWare bahkan dirancang sebagai rangkaian dihubungkan secara longgar komponen middleware permainan yang bisa selektif dikombinasikan untuk membuat mesin khusus, bukan pendekatan yang lebih umum dari memperluas atau menyesuaikan solusi terintegrasi yang fleksibel. Namun diperpanjang tercapai, hal itu tetap menjadi prioritas tinggi dalam mesin game karena berbagai kegunaan yang mereka diterapkan. Meskipun kekhususan nama, mesin permainan yang sering digunakan untuk jenis lain aplikasi interaktif dengan kebutuhan grafis real-time seperti demo pemasaran, visualisasi arsitektur, simulasi pelatihan, dan lingkungan pemodelan.


Beberapa mesin permainan hanya menyediakan 3D real-time rendering kemampuan bukan berbagai fungsi yang dibutuhkan oleh game. Mesin ini mengandalkan pengembang game untuk melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya. Jenis mesin umumnya disebut sebagai “mesin grafis,” “mesin render,” atau “mesin 3D” bukan meliputi lebih istilah “mesin permainan.” Terminologi ini tidak konsisten banyak digunakan sebagai fitur lengkap mesin permainan 3D disebut hanya sebagai “mesin 3D.” Beberapa contoh mesin grafis adalah: Crystal Space, Genesis3D, Irrlicht, JMonkey Engine, OGRE, RealmForge, Truevision3D, dan Visi Engine. Modern permainan atau mesin grafis umumnya memberikan grafik adegan, yang merupakan representasi berorientasi objek dari dunia permainan 3D yang sering menyederhanakan desain game dan dapat digunakan untuk rendering yang lebih efisien dari dunia maya yang luas.


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 perilakukarakter dan kejadian di level game, maka scriptakan perlu untuk mengeksekusi sebagai bagiandari loop game utama. Ini berarti bahwa scriptyang 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 luasdiinterpretasikan,melalui susunan serangkaian byte. Penafsiran bahasa diambil melalui formatteks. Interpreter melihat setiap baris, penyusunan bekerja sesuai yang maksud dari script, danmelakukan tindakan yang spesifik. Bahasa byte-terkompilasi dikonversi dari teks ke formatinternal, yang disebut byte code. Kode byte biasanya jauh lebih padat daripada format teks.Karena kode byte dalam suatu formatdioptimalkan 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 mencaritahu 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 membiarkankontrol 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 scripttersebut.


Memilih Sebuah Bahasa


Sejumlah besar bahasa scripting tersedia, dan banyak dari mereka yang dirilis di bawah lisensi yang cocok untuk dimasukkan dalam sebuah game. Beberapa mesin game komersial dilengkapi dengan dukungan bahasa scripting ini (Unreal dan Quake oleh id Software, misalnya). Hal ini memberikan solusi lengkap dalam efisiensi waktu pembuatan game, karena sebagian besar bahasa yang ada yang digunakan dalam game pada awalnya tidak dirancang untuk tujuan ini.


Open Source


Open-source software, seperti namanya, juga memungkinkan akses untuk melihat dan mengubah source code. Hal ini membuat mudah untuk menarik studio dengan memberikan kebebasan untuk menarik keluar setiap kode asing atau kode yang tidak efisien. Beberapa lisensi open source, bahkan yang mengijinkan anda untuk menggunakan bahasa dalam produk komersial, mengharuskan anda membebaskan modifikasi bahasa itu sendiri. Ini mungkin akan menjadi masalah bagi proyek anda.


Bahasa yang open source yaitu bahasa yang bisa di pakai di berbagai operasi sistem. Bahasa seperti ini contohnya C++, Java. Sebaiknya dalam membuat script game menggunakan bahasa yang open source, agar aplikasi game dapat dipakai oleh pengguna operasi sistem apapun.


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
Read more »»