Konsep Pembuatan Script Game






Apa itu game ?
Dalam kamus bahasa indonesia “game” diartikan permainan. Permainan adalah bagian dari bermain dan bermain juga bagian dari permainan, keduanya ini saling berhubungan. Permaian merupakan kegiatan kompleks yang didalamnya terdapat peraturan, play dan budaya. Sebuah permainan ialah sebuah sistem dimana pemain terlibat dalam konflik buatan, disini pemain bernteraksi dengan sistem konflik dalam permaianan ialah rekayasa atau buatan, dalam permainan terdapat peraturan yang bertujuan untuk membatasi perilakuk pemain dan juga menentukan permainan.
Game berasal dari bahasa inggris yang artinya dasar permainan. Permainan dalam hal ini merujuk pada pengertian kelincahan intelektual yang juga dapat diartika sebagai arena keputusan dan juga aksi permainnya. Dalam, game ada target-target yang dingin dicapai pemainnya.

Desain Skenario
Pada sebuah game untuk menggambarkan bagaimana game tersebut akan dibuat dinamakan GDD( Game Design Document). GDD tersebut merupakan acuan yang digunakan oleh para anggota tim pengembang dalam pembuatan game. Hal itu sesuai dengan pendapat yang dikemukakan oleh Bob Gates (2004), “pembuatan game akan dimulai dari pembuatan game desain dokumen. Game desain dokumen digunakan untuk menjadi landasan pengembangan game tersebut, dan untuk menarik minat pembaca serta menginformasikan gambaran keseluruhan game yang akan dibuat kepada tim pengembang”.
GDD bisa dikatakan sebagai living document, yang berarti perubahan bisa dilakukan sesuai dengan kebutuhan baru. Akan tetapi jika terlalu sering melakukan perubahan akan menyebabkan implementasi pada sebuah game akan terganggu. Dengan adanya game desain dokumen yang detail akan mampu memberikan gambaran lengkap bagi seluruh tim sehingga proses pengembangan game lebih efektif dan efisien.
Pada penjelasan barusan sudah menyinggung mengenai perancang game, terdapat empat bagian pada saat perancangan game yakni:
Pemimpin Desainer
Orang yang menggerakan konsep game tersebut menjadi lebih menarik dan membuat game tersebut memiliki nilai artistik didalamnya.
      2. Game Mechanic Designer
          Orang yang membuat suatu aturan pada sebuah permainan, sehinggan permainan                 tersebut tidak berat sebelah atau bisa dikatakan seimbang.
      3. Tingkat Desainer atau Lingkungan Desainer
          Orang yang bertanggung jawab dalam membuat lingkungan permainan, agar pada                 sebuah game menjadi lebih real.
      4. Writter
           Seseorang yang bertanggung jawab dalam membentuk suatu narasi dalam game.                    Dimulai dari alur cerita, hingga apa saja yang harus dilakukan pemain pada saat                      memainkan game tersebut. Oleh karena itu penulis harus bekerja sama dengan                      desainer utama dalam pembuatan skenario game. 

Script
Perkembangan teknologi komputer sangat mempengaruhi perkembangan yang ada dalam dunia game. Pembentukan karakter pada game semakin mendekati dengan keadaan sebenarnya pada dunia nyata. Ketika proses pembuatan game membutuhkan susunan yang lebih kompleks, timbulah 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 macambentuk bahasa pemrograman yang ada. Tentunya dari semuanya 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.
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 “reuseable”.

A.   Pilihan Bahasa Pemrograman
Walaupun terdapat banyak sekali pilihan bahasa pemrograman untuk membuat game, namun pada intinya bahasa tersebut harus memenuhi syarat sebagai berikut :

a). 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.

b). 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
c). Re-Entrancy (ikut serta ulang)
Fungsi ini sering berguna untuk memanggil script menjadi diikutsertakan 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.

B.    Embedding (penanaman)
Embedding berhubungan dengan ekstensibilitas. Sebuah bahasa yang tertanam dirancang untuk dimasukkan ke dalam program lain. Ketika kita menjalankan bahasa scripting dari workstation, biasanya akan menjalankan program khusus untuk menafsirkan file source code. Dalam game, sistem scripting perlu dikontrol dari dalam program utama. Game yang menentukan jalannya script harus dijalankan dan harus dapat memberitahu mesin terkait bahasa scripting yang cocok untuk memproses script tersebut.

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. Secara tradisional, sebagian besar bahasa scripting dalam game telah diciptakan oleh pengembang khusus untuk kebutuhan mereka sendiri. Dalam beberapa tahun terakhir telah ada minat dalam bahasa off-the-shelf, yang kebanyakn diterapkan pada suatu game engine.
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. Namun penggunaan bahasa off-the-shelf ini memiliki hubungan dengan kelebihan dan kekurangan yang perlu dievaluasi sebelum kita membuat pilihan.

D.   Bahasa Open Source
Banyak bahasa scripting game populer yang dirilis di bawah lisensi open source. Software open-source dirilis di bawah lisensi yang memberikan hak user untuk memasukkannya ke dalam perangkat lunak mereka sendiri tanpa membayar biaya tambahan. Beberapa lisensi open source mengharuskan user membebaskan produk open source yang baru dibuat. Ini jelas tidak cocok bagi game komersial.

Contoh bahasa yang sering digunakan

1. 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 atauC + +. Cara kerja bahasa Lua juga dapat men-tweak. Lua memiliki sejumlah kecil core library yang menyediakan fungsionalitas dasar. Core yang relatif tanpa sifat khusus merupakan bagian objek tersebut, bagaimanapun. Dalam game anda tidak mungkin membutuhkan library untuk memproses apa pun kecuali matematika dan logika. Core kecilini mudah dipelajari dan sangat fleksibel.

2. Python
Python adalah 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 Cdan C + + dari Python. Python memiliki dukungan untuk fungsi re-entrant sebagai bagian dari bahasa inti dari versi 2.2 dan seterusnya (disebutGenerator). Python memiliki sejumlah besar library yang tersedia untuk itu dan memiliki komunitas yang sangat besar dari usernya. Pengguna python memiliki reputasi untuk menolong, dan newsgroupcomp.lang.python merupakan sumber troubleshooting dan saran yang sangat baik. Kelemahan utama Python adalah dalam kecepatan dan ukuran. Meskipun mengalami kemajuan signifikan dalam kecepatan eksekusitelah dibuat selama beberapa tahun terakhir,namun masih terasa lambat ketika dijalankan. Python bergantung pada lookup tabel hash (olehstring) bagi banyak operasi fundamental (fungsi panggilan, akses variabel, object-oriented programming). Hal ini menambahkan banyak  biaya overhead.

Referensi

Komentar

Postingan Populer