Game berasal dari
bahasa inggris yang berarti permainan. Dalam setiap game terdapat peraturan
yang berbeda - beda untuk memulai permainannya sehingga membuat jenis game
semakin bervariasi. Karena salah satu fungsi game sebagai penghilang stress
atau rasa jenuh maka hampir setiap orang senang bermain game baik anak kecil,
remaja maupun dewasa, mungkin hanya berbeda dari jenis game yang dimainkannya
saja. Game itu sendiri adalah permainan yang menggunakan media
elektronik, merupakan sebuah hiburan berbentuk multimedia yang dibuat semenarik
mungkin agar pemain bisa mendapatkan sesuatu sehingga adanya kepuasan batin,
dengan bermain game merupakan salah satu sarana pembelajaran. Game dibuat
dengan tujuan spesifik sebagai alat pendidikan, untuk belajar mengenal warna,
mengenal huruf dan angka, matematika, sampai belajar bahasa asing. Game sendiri mempunyai
dampak positif dan negatif pada kehidupan yang memainkannya :
Contoh dampak positif :
·
Sebagai penghilang stres karena lelah bekerja seharian , mungkin bermain
·
Sebagai media untuk menambah kecerdasan otak dan daya tanggap
Contoh dampak negatif :
·
Terlalu sering bermain game lupa untuk melakukan pekerjaan yang lainnya ,
sehingga membuat pekerjaan lain menjadi tertunda .
·
Jika bermain game di komputer terlalu lama akan merusak mata.
Pembentukan ketika proses pembuatan game membutuhkan susunan yang lebih kompleks, kebutuhan untuk memisahkan konten (desain perilaku) dari mesin. Kehandalan seorang desainer game benar-benar dibutuhkan untuk merancang perilaku yang luas dari karakter. Banyak tersedia berbagai macam bentuk bahasa pemrograman yang ada. Tentunya dari kesemuanya itu memiliki kelebihan dan kekurangan sendiri-sendiri. Maka game developer harus benar-benar jeli dalam memilih bahasa dan menyusun script untuk membuat suatu game, agar nantinya game dapat berjalan lancar, tanpa bug, dan mampu menjalankan script dengan kebutuhan hardware seminimum mungkin. Ada 2 cara dalam pembuatan game, yaitu dengan membuat sendiri programnya
atau dengan menggunakan game maker yang hanya drag and drop saja. Pembuatan
script game bisa dilakukan dengan berbagai bahasa pemrograman.
Pemrograman suatu game bisa
menggunakan berbagai macam jenis bahasa
pemrograman. Diantaranya yang terkenal adalah C++, C dan Java. Proses pembuatan
game modern bisa memakan waktu 1-3 tahun untuk menyelesaikannya. Lamanya suatu
pengembangan bergantung pada sejumlah faktor, seperti genre, skala, platform
pengembangan dan jumlah aset. C++ biasa digunakan untuk membuat game engine.
Game engine berfungsi sebagai “Middleware” atau jembatan antara Brainware
(pembuat game) dan game itu sendiri. Game engine bisa membuat proses pembuatan
sebuah game menjadi lebih cepat dan efisien karena game engine layaknya sebuah
template yang “reusable”.
A. 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.
B. 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.
C. 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.
D. 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.
E.
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.
F. 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.
E. 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.
Referensi :
Tidak ada komentar:
Posting Komentar