Pages

Minggu, 19 Maret 2017

Teori Pengantar Teknologi Game



Pengertian Teknologi Game

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.
Sedangkan Game adalah permainan yang menggunakan interaksi antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video.
Jadi dapat kita simpulkan bahwa Teknologi Game berarti proses baik berupa yang dilakukan sistem atau perangkat keras yang diberlakukan dalam upaya untuk mendukung kinerja dari game.

Teknologi yang digunakan untuk membuat game.

Teknologi Augmented Reality (AR) makin berkembang dan sudah memasuki dunia video game komersial. Video game AR pertama yang cukup populer adalah party game dengan EyeToy untuk konsol PS2 pada tahun 2003. Beberapa saat setelah konsol PS3 dipasarkan, muncul video game berjudul ‘The Eye of Judgement’ yang merupakan pengembangan teknologi AR dan sangat menarik secara visual, dan yang cukup baru adalah ‘Eyepet’, yang mulai mengintegrasikan interaksi dengan pemain dan munculnya teknologi yang menjembatani dunia nyata dan dunia maya. Produk Collectible Card seperti dibawah ini juga merupakan contoh makin luasnya adopsi teknologi AR untuk permainan komersial.

Bisnis dalam Game Komputer

Bisnis dalam game komputer berkembang pesat seiring dengan berkembangnya teknologi canggih saat ini. Dahulu kita hanya dapat menikmati game yang tersedia di dalam komputer itu sendiri, seperti pinball dan solitaire. Namun sekarang sudah tersedia game online, dan juga games yang dapat didownload baik free maupun berbayar. Games berbayar juga merupakan bisnis karena sama saja dengan kita mengeluarkan uang untuk membeli sebuah barang. Games berbayar ini biasanya memberikan kepuasan tersendiri bagi pembelinya, karena terdapat fitur yang bagus di dalamnya. Perkembangan lainnya ialah warung internet atau yang sering kita dengar dengan istilah warnet. Warnet kini identik dengan game online yang mereka sediakan, adapun game berbayar yang disediakan warnet sehingga kita hanya tinggal memainkannya. Baik anak kecil hingga orang dewasa mempunyai hobi bermain game online ini. Dengan menyediakan tempat, perangkat komputer yang lengkap, dan fasilitas pendukung lainnya, membuat gamers betah berlama-lama untuk bermain.
Perkembangan ini terlihat dari banyaknya game center yang terus bermunculan, terutama yang menyediakan jasa game online. Bukan tanpa alasan game online menjadi semakin marak dan digandrungi, karena fasilitas online memungkinkan sebuah game dapat dimainkan oleh 100 orang lebih secara bersama-sama dalam satu waktu.
Contoh untuk bisnis dalam game komputer itu beragam. Seperti kita dituntut melakukan pembayaran untuk game tersebut. Maksud dari pembayaran ini adalah bagaimana perusahaan game online mendapatkan uang dari gamesnya. Bedasarkan kategori ini games online dapat dibedakan menjadi 2 yaitu:
  • 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.
  • 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

3D Engine dan Scene Graph

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

OGRE 3D

Object Oriented Graphics Rendering Engine atau yang biasa dikenal dengan sebutan OGRE adalah sebuah engine/ mesin yang berorientasi pada object, fleksibel mesin render 3D (sebagai lawan dari mesin permainan) yang ditulis dalam bahasa C++ dirancang untuk membuatnya lebih mudah dan intuitif bagi developer untuk menghasilkan aplikasi dengan menggunakan hardware – accelerated grafis 3D.
Pengetahuan pemrograman dengan menggunakan bahasa C++ sangat diperlukan agar dapat mengembangkan games / permainan dengan OGRE. OGRE itu sendiri tidak bisa menggunakan bahasa C karena dikhususkan untuk pemrograman yang berorientasi object. Untuk IDE nya kita pakai CodeBlocks + MinGw.

Game Maker

Game Maker adalah sebuah game engine yang bisa membantu anda membuat sebuah game komputer tanpa menggunakan codingan yang banyak dengan bahasa programan. Dengan game maker anda dapat membuat game 2D, 3D atau multiplayer, dan anda juga mempunyai hak penuh terhadap game yang anda buat.
GML adalah bahasa scripting utama yang ditafsirkan mirip dengan Java kompilasi Just-In-Time yang digunakan dalam GameMaker. Hal ini memungkinkan pengguna untuk lebih meningkatkan dan mengendalikan desain permainan mereka melalui pemrograman konvensional, yang bertentangan dengan sistem drag-and-drop. Sintaks dari GML meminjam aspek dari bahasa lain seperti C, C + + dan Java, efektif memanfaatkan pemrograman berorientasi objek.

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 engine yang berbasis cross-platform. Unity dapat digunakan untuk membuat sebuah game yang bisa digunakan pada perangkat komputer, ponsel pintar android, iPhone, PS3, dan bahkan X-BOX.
Unity adalah sebuah sebuah tool yang terintegrasi untuk membuat game, arsitektur bangunan dan simulasi. Unity bisa untuk games PC dan games Online. Untuk games Online diperlukan sebuah plugin, yaitu Unity Web Player, sama halnya dengan Flash Player pada Browser.
Unity tidak dirancang untuk proses desain atau modelling, dikarenakan unity bukan tool untuk mendesain. Jika ingin mendesain, pergunakan 3D editor lain seperti 3dsmax atau Blender. Banyak hal yang bisa dilakukan dengan unity, ada fitur audio reverb zone, particle effect, dan Sky Box untuk menambahkan langit.
Fitur scripting yang disediakan, mendukung 3 bahasa pemrograman, JavaScript, C#, dan Boo. Flexible and EasyMoving, rotating, dan scaling objects hanya perlu sebaris kode. Begitu juga dengan Duplicating, removing, dan changing properties. Visual Properties Variables yang di definisikan dengan scripts ditampilkan pada Editor. Bisa digeser, di drag and drop, bisa memilih warna dengan color picker. Berbasis .NET. Artinya penjalanan program dilakukan dengan Open Source .NET platform, Mono.

Design scenario, script, dan storyboard game computer

Skenario adalah sebuah naskah cerita yang menguraikan urut-urutan adegan, tempat, keadaan, dan dialog, yang disusun dalam konteks struktur dramatic. Script adalah semacam bahasa pemrograman dalam tingkat kesulitan yang lebih rendah, tanpa aplikasi hasil kompilasi interpreter. Sedangkan storyboard adalah sketsa gambar yang disusun berurutan sesuai dengan naskah.
Jadi untuk membuat game computer, 3 hal di atas harus kita lakukan. Pertama untuk pembuatan scenario atau membuat alur cerita dari game tersebut. Apabila game tersebut merupakan board game yang alur ceritanya tidak ada, maka bisa kita ganti dengan membuat artificial intelligence nya dengan algoritma yang tepat. Setelah itu masuk ke proses scripting dan storyboard. Proses ini harus selaras karena mereka saling bergantungan.
Berikut adalah contoh dari storyboard game yang pernah saya buat.



Artificial Intelligence pada game

Kecerdasan Buatan atau kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah atau Intelegensi Artifisial (bahasa Inggris: Artificial Intelligence atau hanya disingkat AI) didefinisikan sebagai kecerdasan entitas ilmiah. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.
  • Decision making
Decision Making adalah serangkaian algoritma yang dirancang dengan memasukan beberapa kemungkinan langkah yang bisa diambil oleh suatu aplikasi, Pada game ini decision makingmemberikan kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil. Decision making dilakukan dengan cara menentukan satu pilihan dari list yang sudah dibuat pada algoritma yang dirancang. Decision Making dibagi menjadi 3:
    • Decision Tree
Pohon Keputusan (Decision Tree) merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan aturan. Aturan dapat dengan mudah dipahami dengan bahasa alami. Aturan ini juga dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari record pada kategori tertentu. Pohon keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target. Karena pohon keputusan memadukan antara eksplorasi data dan pemodelan, pohon keputusan ini sangat bagus sebagai langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir dari beberapa teknik lain (J R Quinlan, 1993).
    • State Machine
Finite State Machines (FSM) adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada satu saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri (misal interupsi timer). Transisi keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang relative kompleks.
    • Rule System
Rule Based System merupakan metode pengambilan keputusan berdasarkan pada aturan-aturan tertentu yang telah ditetapkan. RBS dapat diterapkan pada agen virtual dalam bentuk kecerdasan buatan sehingga dapat melakukan tindakan tertentu. Tindakan tersebut direpresentasikan oleh set aturan yaitu penyebab tindakan itu terjadi, proses tindakan dan hasil dari tindakan tersebut.
  • Path Finding
Metode path finding paling mudah ditemui pada game-game bertipe strategi dimana kita menunjuk satu tokoh untuk digerakkan ke lokasi tertentu dengan mengklik lokasi yang hendak dituju. Si tokoh akan segera bergerak ke arah yang ditentukan, dan secara “cerdas” dapat menemukan jalur terpendek ataupun menghindari dari rintangan-rintangan yang ada. Salah satu algoritma pathfindin yang cukup umum dan yang paling banyak digunakan utnuk mencari jarak terpendek secara efisien adalah algoritma A* (baca: A star). Secara umum, algoritma A* adalah mendefinisikan area pencarian menjadi sekumpulan node-node (tiles). Titik awal dan titik akhir ditentukan terlebih dulu untuk mulai penelusuran pada tiap-tiap node yang memungkinkan untuk ditelusuri. Dari sini, akan diperoleh skor yang menunjukkan besarnya biaya untuk menempuh jalur yang ditemukan, ditambah dengan nilai heuristik yang merupakan nilai biaya estimasi dari node yang ada menuju tujuan akhir. Iterasi akan dilakukan hingga akhirnya mencapai target yang dituju. Pathfinding dibagi menjadi 2:
    • Algoritma Dijkstra
Algoritma Dijkstra, (dinamai menurut penemunya, seorang ilmuwan komputer, Edsger 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.

Arsitektur Game Engine

Arsitektur mesin game adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Simplenya dari arsitektur mesin game itu adalah rancangan dari sistem perangkat lunak dari game itu sendiri.
Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. Engine bukanlah executable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri. Diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program





Referensi Artikel

0 komentar:

Posting Komentar