Pengantar Teknologi Game

Konsep terkait Game computer baik aspek teknologi maupun bisnis.

Gamee ?? Siapa sih yang tidak tau apa itu Game ?? Bahkan mungkin anda dan semua orang sudah pernah mendengar bahkan menggunakan apa yang dinamakan dengan Game tersebut. Semua kalangan sudah tau apa itu Game. Game adalah permainan yang menggunakan media elektronik, merupakan sebuah hiburan berbentuk multimedia yang di buat semenarik mungkin agar pemain bisa mendapatkan sesuatu sehingga
adanya kepuasaan batin.

Saat ini perkembangan games di komputer sangat cepat. Para pengelola industri game berlomba-lomba untuk menciptakan game yang lebih nyata dan menarik untuk para pemainnya. Hal inilah yang membuat perkembangan games di komputer sangat cepat. Sehingga games bukan hanya sekedar permainan untuk mengisi waktu luang atau sekedar hobi. Melainkan sebuah cara untuk meningkatkan kreatifitas dan tingkat intelektual para penggunanya.

  1. Personal Computer berupa aplikasi games pada PC.
  2. Web Based Games. Yaitu aplikasi games yang diletakkan pada server di internet dimana audience/pemain hanya perlu menggunakan akses internet dan browser untuk mengakses games tersebut.
  3. SmartPhones/PocketPC. Aplikasi games yang jalan pada mobile devices bersistem operasi Windows Mobile 2003/2004 ataupun windows mobile 5.0.
  4. CellPhones / Mobile Phones. Aplikasi games untuk cell-phones atau mobile phones sebenarnya bisa dimanfaatkan untuk mendapatkan potensial pelanggan dengan golongan Status Ekonomi Responden A,B dan C.

KONSEP DASAR GAME

Ada 2 cara yang dapat digunakan dalam membuat game, yaitu :

  1. Dengan membuat sendiri program yang akan digunakan untuk membuat game ( umumnya professional game developer yang menggunakan cara ini).
  2. Dengan menggunakan program jadi yang tinggal kita gunakan.
    Untuk membuat program sendiri tidak akan kita bahas disini karena tujuan penulisan ini adalah untuk amateur game developer , tapi sekedar pengetahuan saja, untuk membuat program sendiri kita harus memahami bahasa pemrograman , dan untuk membuat program sendiri, kita dapat menggunakan “Visual Basic”, “C++”,dll. Saat ini sudah ada banyak aplikasi untuk membuat game. Diantaranya ada juga yang Freeware (gratisan) untuk di download&install. Beberapa aplikasi yang akan kita bahasa adalah:
  • Game Maker
  • RPG MAKER(R.M)
  • AGS( Adventure Game Studio)
  • Macromedia Flash (Sekarang Adobe Flash)
  • Macromedia Flash
  • 3D Game Studio
  • UNITY
  • Blender

Dalam 3D Game Studio terdapat 3 program utama,yaitu:

  • MED (Model Editor) – Program yang berfungsi sebagai editor model bagi 3D Game Studio
  • SED (Script Editor) – Sebagai pengolah script dalam 3D Game Studio,script standar yang dipakai adalah C-Script dan Lite C.
  • WED (Level Editor) – Sebagai pengolah level/area permainan bagi 3D Game Studio.
    Itu adalah sedikit dari sekian banyaknya program yang dapat anda gunakan. Masih banyak program-program lainnya yang dapat anda gunakan untuk membuat game.

Konsep Pembuatan Game Script

Banyak tersedia berbagai macam bentuk bahasa pemrograman yang ada. Tentunya dari kesemuanya 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.

Gambar Scripting Game

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

Memulai sebagai teks dalam sebuah file teks, script biasanya melewati empat tahap:

tokenization : Tokenizing mengidentifikasi unsur-unsur dalam teks. Sebuah file teks hanya berisi serangkaian karakter (dalam pengertian karakter ASCII). Hasil tokenizer keluar sebagai kumpulan byte tertentu dan jenis dari kelompok tertentu yang membentuk mereka.

  • parsing (penguraian) : Makna dari sebuah program adalah sangat hirarkis: nama variabel dapat ditemukan dalam sebuah statement pemberian nilai, ditemukan di dalam pernyataan IF-, yang ada di dalam tubuh fungsi, di dalam definisi kelas, maupun di dalam sebuah deklarasi namespace, misalnya. Parser mengambil urutan token, mengidentifikasi peran masing-masing kode dalam program, dan mengidentifikasi struktur hirarkis keseluruhan program.Contoh : 1 if (a < b) return;
    dapat dilakukan proses parsing seperti pada bagan di bawah ini :tes

tes

  • Compiler : mengubah parse tree ke dalam kode byte yang dapat dijalankan oleh interpreter. Kode byte biasanya berbentuk data biner berurutan. Compiler non-optimasi biasanya berisi output kode byte sebagai terjemahan literal dari parse tree.
  • Interpreting : Tahap akhir dari serangkaian ini ialah menjalankan kode byte. Dalam sebuah compiler untuk bahasa seperti C atau C++, produk akhir akan menjadi mesin instruksi yang dapat langsung dijalankan oleh prosesor. Dalam bahasa scripting, anda sering perlu untuk menyediakan layanan (seperti re-entrancy dan eksekusi yang aman) yang tidak mudah dicapai dengan bahasa mesin.Kode byte akhir dijalankan pada sebuah “mesin virtual”. Ini secara efektif menjadi sebuah emulator untuk sebuah mesin yang belum pernah ada di hardware. Anda menentukan instruksi agar mesin dapat mengeksekusi, dengan instruksi kode byte.

Konsep Artificial Intelligent untuk Game Komputer

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

Tactical Path finding
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.
Waypoint
Gambar : Cohntoh Maps Pada Sebuah Permainan Game

Waypoint adalah titik acuan / kumpulankoordinat yang digunakan untuk keperluan navigasi untuk mengidentifikasi sebuah titik di peta. Koordinat-koordinat itu biasanya menyertakan longitude, latitude, dan kadang altitude untuk keperluan navigasi di udara. Waypoint digunakan di berbagai navigasi yang tidak memiliki jalur yang tampak seperti navigasi di udara dan navigasi di laut, juga navigasi di darat yang tidak memiliki jalur yang jelas. Khusus navigasi di darat yang tidak menggunakan manusia sebagai penentu arah melainkan robot, waypoint digunakan meski terdapat jalur yang jelas. Hal ini penting agar robot tetap memiliki rute.

Arsitektur Game Engine

Game engine adalah perangkat lunak untuk membuat dan mengembangkan video game. Fungsi utama yang diberikan oleh game engine meliputi rendering untuk 2D atau 3D graphic, collision detection, sound, scripting, animasi, artificial intelligence, networking, memory management, threading dan scene graph. Game engines memberikan perangkat untuk visual development dengan tambahan komponen perangkat lunak yang dapat dipakai berulang kali dan memberikan integrated development environment yang dapat mempermudah, serta mempercepat pengembangan game.

Game engine juga sering disebut juga “Game Middleware”. Game Middleware adalah software yang didalamnya sudah terdapat elemen-elemen yang dibutuhkan oleh seorang game developer, kebanyakan dari game middleware memberikan fasilitas guna menunjang pengembangan game dengan mudah seperti graphics, sound dan Artificial intelligence.

Artificial intelligence sendiri merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan manusia.

Beberapa elemen yang ada di dalam game engine adalah :

  1. Tools/Data
  2. System
  3. Console
  4. Support
  5. Renderer/Engine
  6. Core Game
  7. Interface
  8. The Game

  Tipe-Tipe Game Engine

Game engine biasanya datang dengan macam-macam jenis dan tujuannya. Ada 3  tipe game engine yaitu sebagai berikut :

  • Roll Your-Game Engine
  • Mostly-Ready-Game Engine
  • Point-and-Click Engine

Beberapa Contoh Game Engine Open Source

  • 3Dgame Studio
  • Delta 3D
  • UnrealEngine
  • Panda3D
  • Torque
  • Quake Engine

Efek Fisik dalam Game dan Collision

Game konsol modern saat ini sudah dilengkapi dengan perangkat gerak yang melibatkan aktivitas fisik sehingga permainan video game dapat sekaligus melatih otot dan gerak selayaknya berolahraga, seperti halnya yang disediakan oleh konsol Nintendi Wii, PS3 Move, atau yang lebih canggih lagi, Xbox Kinect.

Gambar : Game Parampa Yang Menambah Wawasan
Game-game yang melibatkan aktivitas fisik seperti game tinju, tennid, sepak bola, dan sebagainya yang mengharuskan anda untuk menggerakkan tangan dan anggota tubuh anda sesuai tema video game yang dimainkan. Untuk mendapatkan seperangkat konsol tersebut tidaklah perlu mengeluarkan kocek yang dalam.

Berikut ini merupakan efek fisik positif pada game:

  • Mendorong pola hidup sehat
  • Melatih ketangkasan
  • Membina hubungan sosial & interaksi
  • Meningkatkan kemampuan belajar
  • Mengajarkan sportivitas dan kerjasama
  • Mengalihkan rasa sakit fisik dan mental

Collusion

Algoritma untuk mendeteksi collision (tabrakan) sangat dibutuhkan untuk program game. Flash mulai versi 5 ke atas menyediakan method yang bernama hiTest untuk memeriksa apakah sebuah movie clip bertabrakan dengan movie yang lain. Sebelum method hiTest ini tersedia, Flash harus mendeteksi secara manual koordinat sebuah movie clip lain.

Teknik pembuatan user interface pada Game Komputer

Sebuah Desain Interface/antarmuka pada suatu Game mempengaruhi kenyamanan dan sejauh mana user/pengguna meminati Game tersebut. Untuk itu kali ini saya akan membahas beberapa hal yang berhubungan dengan Desain Interface pada game.

Gambar : Contoh Tampilan disaat HUD

Sebelum memasuki pembahasan berikutnya kita perlu mengetahui apa itu HUD. HUD adalah singkatan dari Heads-Up Display dan biasanya menunjukkan bar/kotak HP(Health Point) ataupun MP(Mana Point) dan biasanya muncul  di atas kepala karakter. Fungsi HUD ini untuk memudahkan pemain mengetahui kondisi karakter dalam permainan.

Setelah mengetahui

Desain antarmuka game khususnya di video game terdapat beberapa elemen user Interface yaitu:

Non-diegetic: Desain Antarmuka yang diberikan sebagai tambahan di luar dunia game itu sendiri, hanya terlihat dan terdengar ke pemain di dunia nyata. Sehingga seakan-akan karakter dalam dunia game tidak melihatnya Contoh: Elemen HUD, kursor mouse, mini map, skills, dll.

Gambar : Non-diegetic pada game TOR

Diagetic: Desain antarmuka yang termasuk dalam permainan game yaitu yang dapat dilihat dan didengar oleh karakter dalam permainan. Yang dimaksudkan pada antarmuka diagetic ini segala sesuatu yang terlihat terkecuali elemen-elemen non-diegetic seperti HUD, Kursor mouse, Informasi dari Komputer,dll Contoh: Interface  dalam game Dead Space.(Full diagetic)

Gambar : Game Dead Space tanpa adanya unsur non-diegetic

Spatial: Elemen User Interface yang disajikan dalam ruang permainan 3D dengan atau tanpa suatu entitas dari dunia permainan yang sebenarnya (diegetik atau non-diegetik). Outline karakter dalam Left 4 Dead adalah contoh dari non-diegetik User Interface spatial.

Gambar : Outline kuning pada pemain(Spatial)

Meta: Gambaran yang bisa muncul dalam dunia game, namun tidak selalu divisualisasikan spasial untuk pemain.Contoh yang paling jelas adalah efek ditampilkan di layar, seperti percikan darah pada kamera untuk menunjukkan kerusakan. Contoh: Duty Calls- The Calm Before the Storm

Gambar : Bercak darah ketika terkena serangan

Setelah melalui pengamatan2 diatas, maka kita bisa membuat tabel sebagai berikut:

Gambar : Tabel Kesimpulan

Beralih dari elemen-elemen di atas, penggunaan icon pada game juga mempengaruhi kenyamanan pemain dalam memilih perintah-perintah pada game.

Desain icons dalam user Interface dibedakan menjadi dua jenis yaitu picons dan micons.

Gambar : Picons

 

PICONS

PICONS adalah singkatan dari Personal ICONS  yaitu “ikon pribadi”. Berbentuk kecil, gambar terbatas dan digunakan untuk mewakili pengguna dan domain di internet, disusun dalam database sehingga gambar yang sesuai untuk alamat e-mail yang diberikan dapat ditemukan. Selain pengguna dan domain, ada piconsdatabase untuk newsgroup Usenet dan prakiraan cuaca. Para picons berada dalam format XBM monokromatau XPM warna dan format GIF.

MICONS

Micons, adalah Moving ICONS atau picons yang bergerak (dalam hal ini berupa file GIF animasi). Micons ini adalah animasi dari Picons di atas, tetapi bisa juga berupa video khusus yang dijadikan micons. Anda dapat menggunakan grafis animasi serta foto animasi dan ini merupakan jenis yang lebih sering terlihat.

Mekanisme dalam menampilkan scene game computer

Gambar : LOD dari Sebuah Objek Tentara

Level of Detail (LOD) itu? Dalam komputer grafis, untuk tingkat detail melibatkan menurunkan kompleksitas representasi objek 3D seperti bergerak menjauh sesuai metriksnya, kecepatan sudut pandang-relatif atau posisi. Tingkat teknik detil meningkatkan efisiensi render dengan mengurangi beban kerja pada tahap pipa grafis, transformasi biasanya simpul. Kualitas visual berkurang dari model sering diperhatikan karena efek kecil pada objek muncul ketika jauh atau bergerak cepat. Untuk konsep menggambar LOD sebagian besar waktu LOD diterapkan untuk geometri rinci saja, konsep dasar bisa disamaratakan. Baru-baru ini, teknik LOD termasuk manajemen juga shader untuk tetap mengontrol kompleksitas pixel. Suatu bentuk tingkat manajemen detail telah diterapkan untuk tekstur selama bertahun-tahun, di bawah nama mipmapping, juga memberikan kualitas rendering yang lebih tinggi. Ini adalah hal yang lumrah untuk mengatakan bahwa “sebuah objek telah LOD’d” ketika objek disederhanakan oleh mendasari algoritma LOD-ing.

Konsep game computer berbasis jaringan

Game Berjaringan adalah suatu permainan dengan media elektronik yang dimainkan dengan cara terhubung dengan user lain dengan memanfaatkan sebuah alat penghubung jaringan agar dapat bermain game secara bersamaan dengan user lain yang berbeda tempat, waktu, hingga kondisi dengan bantuan jaringan yang dapat menghubungkan atau mengkoneksikan antar perangkat, entah itu device komputer atau perangkat lain untuk dapat bermain game.

Gambar : DOTA 2 Merupakan Contoh Game Berjaringan

banyak contoh dari Game Berjaringan. contoh dari Game Berjaringan adalah Dota. game atau permainan Dota pada PC ini cara mainnya adalah dengan kita terhubung antar perangkat yang
menggunakan alat perantara seperti router atau yang lainnya yang dapat menguhubungkan sebuah jaringan, bahkan kita dapat bermain secara lokal atau offline bersama teman-teman dengan memanfaatkan
jaringan.

contoh lain dari Game Berjaringan adalah CS (Counter Strke) dimana game ini dapat kita mainkan bukan hanya bermain sendiri, tapi bahkan dapat kita mainkan beramai ramai dengan teman-teman via jaringan lokal hingga online yang beda lokasi negara ataupun benua yang baermain secara realtime bersamaan.

Gambar : Counter Strike GO

dalam Game Berjaringan ini kita pasti akan akrab dengan yang namanya PING. ping ini berperan dalam masalah real time atau ketepatan waktu pergerakan game dengan perangkat lain. semakin besar ping maka semakin buruk, dan semakin kecil ping maka akan semakin baik dalam bermain Game Berjaringan ini. jadi, bila ping besar maka pergerakan game akan tidak sinkron dengan gerakan game lain. jadi disarankan bila bermain Game Berjaringan kita disarankan untuk menggunakan jaringan via kabel, karena bila kita gunakan jaringan via wireless maka akan banyak noise frekuensi yang dapat merusak sinyal ping keselarasan pergerakan game. dengan demikian kita dapat simpulkan bahwa untuk bermain Game yang Berjaringan unutk memakai internet atau jaringanvia kabel agar lebih stabil.

Pembuatan Game Komputer dengan menerapkan konsep Artifial Intelligent pada sebuah game engine

Kecerdasan Buatan atau kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah

Gambar : AI

atauIntelegensi Artifisial (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. Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Contoh media interaksi ialah:

  • Penglihatan (vision)·
  • Suara (voice).
  • ucapan (speech)·
  • Gerakan anggota badan ( gesture)

Contoh Game Engine :

  • RAGE
  • Unreal Engine
  • CryEngine
  • Anvil, Distrupt, Dunia, Jade, dan LyN
  • Frostbite
  • HPL Engine
  •  Unity
  • SAGE, W3D
  •  Source Engine
 Untuk pembentukan Artificial Intelligence pada game ternyata digunakan pula algoritma, yaitu jenis pohon n-ary untuk suatu struktur. Implementasi pohon (tree) ini biasa disebut game tree. Berdasarkan game tree inilah sebuah game disusun algoritma kecerdasan buatannya. Artificial intellegence yang disematkan dalam sebuah game yang membentuk analisis game tree biasanya merepresentasikan kondisi atau posisi permainan dari game sebagai suatu node, dan merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi suatu pohon (tree).
 Namun, biasanya representasi langsung tersebut mempunyai kelemahan, yaitu representasi data pohon akan menjadi sangat lebar dan banyak. Mungkin bagi sebuah mesin komputer mampu melakukan kalkulasi sebanyak apapun masalah, namun game tree yang lebar dan besar memberikan beberapa masalah, antara lain konsumsi proses memori, kapasitas penyimpanan yang cukup besar dan kinerja yang kurang pada konsol game berspesifikasi rendah. Karena itu dibentuklah beberapa algoritma dan penyederhanaan bagi sebuah game tree.
 Pada salah satu contoh game klasik, yaitu tic tac toe, penyederhanaan dapat dilakukan dengan berbagai metode. Salah satu diantaranya adalah minimax. Metode ini berhasil diterapkan dan memberikan nilai reduksi yang cukup signifikan. Dan tidak hanya bisa digunakan secara monoton, minimax juga bisa digunakan untuk game-game yang lebih rumit seperti catur, tentunya dengan algoritma dan representasi berbeda.
Gambar : Contoh Game AI ” TIC TAC TOE”
Sumber Referensi :