Teknologi Game (Part 1)


Teknologi Game

Sumber : http://www.rochester.edu/

Teknologi game terdiri dari dua kata, yaitu Teknologi dan Game. Teknologi adalah keseluruhan fasilitas untuk menyediakan sesuatu yang dibutuhkan bagi kelangsungan dan kenyamanan hidup manusia. Secara umum teknologi dapat didefinisikan sebagai entitas, benda maupun bukan benda yang diciptakan secara terpadu melalui perbuatan dan pemikiran untuk mencapai suatu tujuan. Kemudian pengertian Game adalah permainan yang menggunakan interaksi antarmuka  pengguna melalui gambar yang dihasilkan oleh piranti video. Jadi dapat disimpulkan bahwa Teknologi Game berarti proses yang dilakukan sistem atau perangkat keras yang diberlakukan dalam upaya untuk mendukung kinerja dari game.

Teknologi Game dewasa ini mengalami kemajuan yang sangat cepat, baik dalam perangkat lunak (software) maupun perangkat kerasnya (hardware). Pada perangkat lunak (software), para pengembang (developer) game bersaing untuk membuat game-game terbaru yang interaktif dan menghibur. Keberadaan dan perkembangan dunia game kini berlanjut ke perkembangan yang tidak hanya melakukan interaksi antara satu manusia dengan sebuah perangkat game saja, tetapi sudah mengarah pada adanya hubungan sosial antara beberapa manusia dalam satu permainan game yang sama.



Bisnis dalam Game Komputer

Sumber: http://www.smartlaunch.com/

Teknologi Game yang kian mengalami kemajuan ini membuka banyak peluang bisnis yang turut berkembang pesat. Saat ini banyak game (baik games online maupun offline) berbayar yang mengharuskan pengguna untuk merogoh kocek dahulu untuk memiliki game tersebut. Walau tidak semua game harus dibeli dahulu, ada juga games yang bisa didapatkan secara gratis. Namun biasanya game tersebut memiliki fitur-fitur yang dapat di-unlock dengan membelinya. Untuk lebih jelasnya, games berbayar ini dibedakan menjadi 2 kategori, yaitu:
  • Pay per Play, game ini harus dibeli dan diinstal secara legal karena pada saat diinstal game terebut akan mendaftarkan pemain ke internet langsung dan apabila yang diinstal adalah program bajakan maka secara otomatis system akan memblokirnya. Contoh: The Division, Fifa, dan lain sebagainya.
  • Pay Per Item, game yang berada pada category ini merupakan game yang bisa diinstall atau dimainkan secara gratis, dan game ini biasanya mengenakan biaya pada pemainnya apabila pemainnya ingin cepat menaikkan level atau membeli barang (item) langka yang tidak pernah dijumpai pada permainan. Jenis game seperti ini yang paling dijumpai di Indonesia. Contoh: Gunbound, Ragnarok, Ghost Online, dan lain sebagainya.
Perkembangan bisnis dalam game komputer juga terlihat dari banyaknya game center maupun warnet (warung internet) yang terus bermunculan, terutama yang menyediakan jasa game online. Bukan tanpa alasan game online menjadi semakin marak dan digandrungi, fasilitas online memungkinkan sebuah game dapat dimainkan oleh banyak orang secara bersama-sama dalam satu waktu dan pemain yang dapat berinteraksi antara satu sama lainnya di dalam game sehingga membuat permainan menjadi semakin seru



3D Engine & Scene Graph

Sumber: https://www.slant.co/


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.

Scene Graph
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:
- Menciptakan objek Canvas3D.
- Menciptakan sebuah scene graph.
- Menghubungkan objek Canvas3D ke objek BranchGroup yang menunjuk root dari scene graph.

Contoh aplikasi 3D Engine dan Scene Graph adalah sebagai berikut:
  • OGRE 3D. OGRE (Objected-Oriented Graphics Rendering Engine) 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.
  • 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.
  • 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.
  • 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.


Desain Skenario, Script, & Story Board Game Komputer

Sumber: https://mikefridhsc.wordpress.com/


Skenario Game
Skenario game merupakan langkah awal dalam membuat sebuah game yang dapat mempermudah dalam menyelesaikan pembuatan game. Skenario game adalah sebuah cerita khusus yang melatarbelakangi kejadian – kejadian dalam game. Dalam membuat skenario,  perancang game menentukan interior dan eksterior, dekor, pemain, dan studio, serta pembuatan trik yang akan digunakan pada gamenya.

Script
Bahasa script merupakan suatu bahasa pemrograman komputer yang diterjemahkan secara khas dan dapat diketik secara lansung dari keyboard. Script pada game digunakan untuk mendokumentasikan rules dan core-mechanics pada sebuah game. Fungsinya adalah untuk membuat suatu aturan yang mendetail pada sebuah game dan agar kita bisa mengetahui cara memainkan game tersebut. Pada saat pemilihan bahasa pemrograman yang digunakan untuk membuat suatu game perlu diperhatikan beberapa syarat berikut ini:
  • Speed. Bahasa script untuk sebuah game harus memiliki kemampuan berjalan secepat mungkin. Mengapa dibutuhkan speed pada sebuah script game? Jawabannya adalah karena ketika kita akan membuat suatu game dengan suatu level, pasti secara logikanya suatu perilaku karakter dan rintangan yang terdapat didalamnya akan berbeda. Jika, kita menggunakan bahasa script yang lambat, maka akan memakan waktu yang cukup lama untuk membuatnya.
  • Kompilasi dan Interpretasi. Bahasa script jika ditinjau secara luas diinterpretasikan melalui susunan suatu rangakaian byte. Interpreter akan melihat script setiap baris, serta penyusunan sesuai maksud dari script itu sendiri dan melakukan tindakan yang spesifik.  Suatu byte akan terkompilasi, dan akan dikonversi atau diubah dari teks menjadi suatu byte code. Byte code biasanya lebih padat jika dibandingkan dengan format teks, mengapa disebut lebih padat? Jawabannya adalah karena kode byte dalam suatu format akan lebih optimal ketika dieksekusi, sehingga dapat berjalan lebih cepat.
  • Ekstensibilitas dan Integrasi. Bahasa script sangat dianjurkan mempunyai akses ke fungsi yang signifikan ke dalam sebuah game. Sebuah script untuk mengendalikan sebuah karakter misalnya, harus dapat memiliki kemampuan untuk menanyai game untuk mencari tahu apa y ang bisa dilihat dan selanjutnya membiarkan game mengerti apa yang harus dilakukan untuk melakukan aksinya. Kumpulan fungsi yang dibutuhkan untuk mengakses sangat jarang diketahui ketika bahasa script telah diimplementasikan. Oleh karena itu, hal ini penting untuk memiliki sebuah bahasa yang dapat dengan mudah memanggil fungsi atau menggunakan kelas main code dalam sebuah game.
  • Re-Entrancy. Fungsi ini sering berguna untuk memanggil script secara ulang sehingga bisa digunakan kembali. Selain itu fungsi ini dapat berjalan untuk sementara waktu, dan ketika waktu telah habis maka script bisa ditunda. Dan jika script selanjutnya memiliki waktu lagi, maka akan menjalankan kembali script yang telah ditunda sebelumnya.
Storyboard
Storyboard adalah sketsa gambar yang disusun berurutan sesuai dengan naskah, dengan storyboard pembuat game dapat menyampaikan ide cerita kepada orang lain dengan lebih mudah, karena sketsa gambar tersebut dapat menggiring khayalan seseorang mengikuti gambar-gambar yang tersaji, sehingga menghasilkan persepsi yang sama pada ide cerita yang dibuat. 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.



Artificial Intelligent pada Game

Sumber: https://medium.com/

Artificial Intelligent atau kecerdasan buatan merupakan kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah. Saat ini, AI (Artificial Intelligent) sudah diaplikasikan dalam banyak hal, salah satunya game. AI pada game ini diberikan sehingga elemen-elemen pada game (seperti karakter game dsb) dapat memberikan interaksi timbal balik terhadap pemain seolah-olah memiliki kecerdasan untuk berpikir sendiri. Untuk pembentukan Artificial Intelligence pada game digunakan pula algoritma, diantaranya:
  •  Algoritma Dijkstra. Algoritma Dijkstra adalah sebuah algoritma rakus (greedy algorithm) yang dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang bernilai tak-negatif.
  • Tactical Pathfinding. Tactical Pathfinding merupakan salah satu algoritma pencarian jalur yang dapat melakukan pencarian jalur terpendek dengan perhitungan bobot ancaman. Implementasi algoritma tactical pathfinding dapat memberikan gerakan taktis pada non-player character. Algoritma tactical pathfinding dilakukan berdasarkan algoritma pencarian jalur berdasarkan A* ditambah perhitungan bobot.
  • Decision Making. Algoritma ini digunakan untuk memasukan beberapa kemungkinan langkah yang bisa diambil, biasanya digunakan pada game agar karakternya dapat melakukan tindakan. Algoritma ini dibagi menjadi Decision Tree, State Machine, dan Rule Based System.
Salah satu contoh AI yaitu pada permainan jenis board games (tictactoe, ular tangga, dll) yang biasanya terdapat fitur Player VS Computer dimana pemain dan komputer saling melawan agar dapat memenangkan permainan.


Arsitektur Game Engine

Arsitektur Game Engine adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Dapat dikatakan bahwa arsitektur mesin game itu adalah rancangan dari sistem perangkat lunak dari game itu sendiri. Game engine biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrograman. Ada 3 jenis game engine yang ada saat ini, diantaranya :
  • Point and Click. Engine jenis ini  sangat user-friendly dan menyingkat waktu pembuatan karena hanya sedikit memanfaatkan coding sehingga pembuat dapat dengan cepat merilis game point-and-click nya.  Namun engine ini memiliki jenis interkasi (suara, grafis, dll) yang terbatas.
  • Mostly Ready. Engine jenis ini telah menyediakan GUI, model, libraries, physics, dll sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Engines tipe ini juga menghemat waktu dan biaya karena tidak perlu membuat semuanya dari awal. Contoh: Unreal Engine, ID Tech Engine, Source Engine.
  • Roll Your Own. Engine jenis ini biasanya banyak digunakan oleh publisher game indie dimana mereka menggunakan API (XNA, DirextX, atau OpenGL) untuk membuat game engine mereka sendiri. Selain itu, bisa juga menggukan library komersil maupun opensource, atau bahkan memulai semuanya dari nol. Dengan menggunakan engine jenis ini, pembuat game dapat lebih fleksibel dalam mengintegrasikan komponen yang diiginkan untuk dibentuk sebagai game engine sendiri.



Sumber :

Nida, Arifa. 2015. Sejarah dan Perkembangan Teknologi Game. https://www.klikmania.net/sejarah-dan-perkembangan-teknologi-game/. Diakses 17 Maret 2017.
Gerson. 2010. Perkembangan Teknologi Game. Diambil dari: http://gerson89.blogdetik.com/2010/02/20/perkembangan-teknologi-game/. Diakses 17 Maret 2017.
Aji, Dimas Setya. 2016. Pengantar Teknologi Game. http://www.kamu-info.web.id/2016/03/pengantar-teknologi-game.html#ixzz4baKw6J2V. Diakses 17 Maret 2017.
Arifianto, Muhammad Abi. 2016. Penjelasan tentang Desain Skenario, Script, dan Storyboard dalam Pembuatan Game. http://vanillabluse.blogspot.co.id/2016/03/penjelasan-tentang-desain-skenario.html. Diakses 17 Maret 2017.
Untoro, Septian Budi. 2016. Konsep Pembuatan Script Game Komputer. https://septianbudiuntoro.wordpress.com/2016/03/12/konsep-pembuatan-script-game-komputer/. Diakses 17 Maret 2017.



Unknown

Hi there! You just read Teknologi Game (Part 1). Thank you for stopping by, hope you enjoy & find this article useful+helpful. Cheers! ☺♥

No comments:

Post a Comment

Ada komentar? Silakan tulis dengan sopan ya.. Terimakasih ☺

Powered by Blogger.