Scene graph dan 3D Engine

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.
Konsep scene graph merupakan inti dari Java3D. Sebuah scene graph merupakan g rafik 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:
– Menciptakan objek Canvas3D.
– Menciptakan sebuah scene graph.
– 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.
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 derta 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.


 Script dan Storyboard Game Komputer
 
Script
 
Dalam pemrograman komputer, naskah/script 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

Story Board
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 di buat. Storyboard juga dapat di artikan sebagai naskah yang di sajikan dalam bentuk sketsa gambar yang berurutan, berguna untuk memudahkan pembuatan alur cerita maupun pengambilan gambar.

           Konsep seharusnya berguna untuk memberikan gambaran garis besar tentang cerita, prinsip-prinsip mekanisme game, dan titik berat untuk gameplay. Karena itu konsep mencakup prinsip-prinsip dasar, gaya game, kerangka peraturan, sinopsis cerita (kalau ada cerita), karakteristik game, contoh misi, atau situasi-situasi dalam game dan bisa juga diferensiasi perangkat pengguna atau ada eek-efek khusus serta akhirnya unsur-unsur spesifik yang menjadi andalan pencipta. Dalam penutup sinopsis seharusnya dicantumkan daftar unsur yang unik dan orisinil serta faktor-faktor yang bisa dijadikan daya jual tinggi bagi judul tersebut.
Konsep Pembuatan Scripting pada game

Pemilihan 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.
Sebagai contoh, sebuah game puzzle yang sederhana dengan menggunakan grafik 2D akan jauh lebih sedikit memakan waktu untuk dikembangkan daripada game role-playing komputer 3D.
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 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.

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

c) 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.
Serangkaian fungsi yang dibutuhkan untuk mengakses ini jarang diketahui ketika bahasa scripting telah diimplementasikan atau dipilih. Hal ini penting untuk memiliki sebuah bahasa yang dapat dengan mudah memanggil fungsi-fungsi atau menggunakan kelas main code dalam game. Biasanya, itu adalah penting bagi programmer untuk dapat mengekspos fungsi baru atau kelas yang dengan mudah ketika pembuat script memintanya.

d) 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.
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.
Re-entrancy yang lebih canggih harus memungkinkan penulis script untuk menandai bagian yang tidak boleh terputus.

  • 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.

  • 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.


Daftar Pustaka : 

http://dinyfr.blogspot.com/2013/10/3d-engine-dan-scene-graph_20.html
http://berawalkapital.blogspot.com/2019/05/desain-skenario-script-dan-storyboard.html
https://isunps3modz.wordpress.com/2018/04/07/teknologi-game-bisnis-dalam-komputer-dan-3d-engine-scene-graph/
 

Komentar

Postingan Populer