Selasa, 14 April 2020

Konsep Pembuatan Script Game



Desain Skenario

Desain skenario pada sebuah game sama halnya dengan desain skenario pada sebuah film.  Jika pada sebuah film terdapat sutradara namun pada game terdapat perancang game, mengapa dibutuhkan sutradara pada sebuah film? Jawabannya adalah karena pada sebuah film membutuhkan skenario dan adegan yang setiap pemain memiliki ciri khas masing-masing. Jadi dibutuhkannya perancang game dalam suatu desain game ialah untuk memberikan ide dalam pembuatan skenario serta adegan yang terdapat di setiap karakter dalam sebuah game. Selain itu karakter pada sebuah game pasti memiliki ciri khas yang tidak dimilki oleh karakter lain.

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 :

1.    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, sehingga 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. 

Jadi yang dimaksud desain skenario pada sebuah game adalah suatu perancangan dalam membangun sebuah skenario yang  didalamnya terdapat gameplay, karakter atau tokoh, lingkungan. Ketiga unsur tersebutlah yang digunakan selama tahap memproduksi sebuah desain pada game komputer.

Script

Dalam pemrograman komputer, naskah adalah sebuah program atau urutan instruksi yang ditafsirkan atau dilakukan dengan program lain daripada oleh komputer prossesor. Skrip (script) adalah semacam bahasa pemrograman dalam tingkat kesulitan yang lebih rendah, tanpa aplikasi hasil kompilasi interpreter, skrip biasanya disisipkan ke dalam bahasa pemrograman yang lebih kompleks dan hasil skrip digunakan oleh bahasa pemrograman yang lebih kompleks itu. Contohnya ialah penyisipan skrip assembly ke dalam program Pascal untuk mengakses hardware pada level bahasa tingkat rendah. Skrip merupakan kumpulan sintaks bahasa pemrograman yang siap untuk di-compile.

Konsep Pembuatan Scripting Pada Game

·         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 dimaksud 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 ke fungsi 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 lima tahapan 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 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.

Open Source

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 opersi sistem apapun.

Storyboard

Storyboard adalah suatu sketsa gambar yang disusun secara berurutan sesuai naskah cerita. Dengan storyboard maka pembuat cerita dapat menyampaikan ide cerita secara lebih mudah kepada orang lain, karena dengan storyboard maka pembuat cerita dapat membuat seseorang membayangkan suatu cerita mengikuti gambar-gambar yang sudah tersaji, sehingga dapat menghasilkan persepsi yang sama dengan ide cerita yang dibuat. Storyboard juga dapat di artikan sebagai naskah yang disajikan dalam bentuk sketsa gambar yang berurutan, berguna untuk memudahkan pembuatan alur cerita maupun pengambilan gambar.

Fungsi umum dari storyboard yaitu sebagai suatu konsep dan ungkapan yang kreatif dalam menyampaikan ide atau gagasan. Pada storyboard juga seseorang dapat menambahkan arahan-arahan seperti arahan audio, letak, atau arahan informasi lainnya. Beberapa fungsinya lainnya seperti:
1. Dalam pembuatan suatu film misalnya story board berguna untuk Menggambarkan alur cerita berdasarkan garis besarnya saja dari bagian awal, tengah, dan akhir.
2.  Lalu berguna untuk membuat perencanaan pada film.
3. dan secara keseluruhan dapat memudahkan dalam membuat dan memahami alur film. Saat ini storyboard juga berguna dalam pembuatan suatu game, misalnya membuat sketsa alur game tersebut dari awal hingga selesai/tamat.

Storyboard pada Game

Storyboard pada Game sedikit berbeda dari storyboard animasi, dimana pada storyboard game terdapat goal / mission yang akan dibuat pada game itu sendiri. Kemudian storyboard pada game menjelakaskan tentang alur permaianan itu sendiri seperti apa tergantung dari jenis game.  misalkan game ber-genre arcade tidak memiliki alur cerita namun game terebut menitik beratkan pada perolehan point. Jadi storyboard yang dibuat yaitu bagaimana pemain mendapat nilai / point setinggi mungkin.

Storyboard pada Animasi

     Storyboard pada animasi ialah untuk menjelaskan tentang alur narasi dari sebuah cerita, atau storyboard pada animasi sebagai acuan agar animator dalam membuat animasi tidak melenceng dari yang dibuat pada storyboard. Sebenarnya fungsi dari storyboard itu sama, namun yang berbeda hanya media yang diperuntukkan dari storyboard itu sendiri, contoh storyboard pada game atau storyboard pada iklan.

Referensi :


Engine dan Scene Graph




Di dalam grafika komputer, 3D merupakan bentuk grafik yang menggunakan representasi data geometri tiga dimensi. Grafik 3D ini tersimpan didalam komputer untuk keperluan kalkulasi atau rendering gambar 3D. Pada 3D, engine bukanlah exutable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri.

3D engine adalah sistem perangkat lunak yang dibuat dan dirancang untuk menciptakan dan mengembangkan gambar 3D, fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render (renderer) untuk 2D/3D grafis.

Berbeda dengan dukungan grafik 2D yang sudah built in, dukungan Java terhadap grafik 3D diletakkan ke dalam API terpisah, yakni Java3D. Java3D merupakan API 3D berbasis scene graph di platform Java, dimana scene graph merupakan sebuah pohon yang berisi hierarki data scene. Di dalam api Java3D didefinisikan sejumlah kelas dan interface yang menyediakan beragam operasi grafik 3D.

Konsep scene graph merupakan inti dari Java3D. Sebuah scene graph merupakan grafik yang mempresentasikan geometri, material, dan pencahayaan. Scene graph dimulai dari root dengan sebuah Virtual Universe dan mencakup transformasi serta geometri untuk mendefinisikan objek di dunia maya. Secara garis besar, ada tiga tahap fundamental yang diperlukan untuk menghasilkan objek 3D, yaitu:

1. Menciptakan objek Canvas3D.
2. Menciptakan sebuah scene graph.
3. Menghubungkan objek Canvas3D ke objek BranchGroup yang menunjuk root dari scene graph.

Ogre 3D

Objected-Oriented Graphics Rendering Engine atau bisa disingkat dengan OGRE merupakan engine yang object oriented & flexible 3D rendering pada game engine yang ditulis dengan menggunakan bahasa C++ serta didesain agar mampu men-developer dengan mudah kepada aplikasi produksi dengan menggunakan utility hardware-accelerated 3D graphic. Gambaran abstraknya OGRE menggunakan sistem library seperti Direct3D & OpenGL, serta menyediakan sebuah dasar interface di dunia objek dan class objek yang lebih tinggi.

OGRE hanya digunakan untuk me-render. Dengan kata lain, fitur OGRE hanya khusus menangani vector & matOix classes, memory handling, dan lain-lain. Ini bukan lah salah satu dari semua solusi dalam istilah game development/simulasi. OGRE tidak menyediakan audio/physics support.

Walaupun penjelasan diatas bisa dikatakan sebagai kelemahan dari OGRE itu sendiri, akan tetapi semua itu sebanding dengan kemampuan grafis yang ada pada game engine tersebut. Kelebihan yang paling menonjol pada OGRE adalah graphics engine yang bisa memberikan para developer sebuah kebebasan untuk menggunakan physics apapun, input, audio, & library lainnya. OGRE memberikan para tim development untuk fokus pada graphics daripada beberapa sistem-sistem yang ada dalam game development. OGRE dapat mensupport OIS, SDL, CEGUI libraries. Sekarang ini OGRE adalah publish dibawah dua lisensi, yaitu LGPL & OUL. Maka sekarang ini para publish tersebut membuka OGRE sebagai free/open source software.

Fitur-fitur pada OGRE :

1. Desain yang object-oriented dengan menggunakan plugin untuk mempermudah memasukkan fitur lainnya.
2. Engine berbasis scane graph dengan bantuan untuk sebuah varietas yang luas, octree,  BSP, & paging landscape scene manager.
3. Multi-platform dengan dukungan OpenGL & Direct 3D. Bisa me-render konten yang sama di beda platform tanpa harus mempunyai content creator. dapat diakses pada platform Linux, Mac OS, dan semua versi Windows.
4. OGRE mendukung program vertex dan fragment selama ditulis dengan GLSH, HLSL, Cg, dan assembler.
5. The landscape scene manager untuk progressive LOD, yang mana bisa dibuat secara otomatis dan manual.
6.  Engine annimasi yang men-support penuh untuk multiple hardware.

Processing

Processing adalah bahasa pemrograman dan lingkungan pemrograman yang bersifat open source yang digunakan untuk memprogram gambar, animasi, dan interaksi. Processing digunakan untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks rupa dan berfungsi sebagai buku sketsa perangkat lunak dan alat produksi profesional. Processing mengintegrasikan suatu bahasa pemrograman, lingkungan pemrograman, dan metodologi pengajaran ke dalam sistem terpadu.

Unity 3D

Unity 3D adalah sebuah game developing software. Dengan software ini, kita bisa membuat game 3D yang seru. Game developer ini sangat mudah digunakan, dengan GUI yang memudahkan kita untuk membuat serta mengedit script untuk menciptakan sebuah game 3D. Selain bisa untuk build game PC, Unity juga dapat digunakan untuk membangun game console seperti Nintendo Wii, PS3, Xbox 360, juga Ipad, Iphone, dan Android. Namun masing-masing membutuhkan biaya lisensinya sendiri. Unity kurang lebih sama dengan Blender game engine, namun unity lebih ringan dan diintegrasi lebih dalam suasana grafik.

Game Maker

Game Maker adalah software yang bisa membantu anda menjadi pengembang game komputer tanpa menggunakan coding sedikitpun. Dapat digunakan untuk membuat 3 dimensi dan Multiplayer. Game Maker dapat menjadikan hak penuh dari software (game) yang anda buat termasuk dapat menjual game tersebut, bahkan bisa mendownload musik, efek suara, gambar, script, serta background.