Selasa, 05 Juni 2018
22.54
Hery Apriansyah
BAB 1
Pengantar Teknologi Game
Teknologi Game Industri Game memang bisa menjadi pilihan dimana
Game tidak hanya dimainkan oleh anak-anak tetapi hingga kalangan dewasa-pun
ikut senang memainkan Game, itu semua dikarenakan terjangkaunya perangkat Game
serta jumlah Video Game yang semakin banyak dirilis. Bisnis/Usaha Industri Game
memang kelihatan menjanjikan keuntungan karena banyaknya penggemar Game, dalam
aspek bisnis setidaknya ada 4 aspek dasar yakni :
1. Modal Awal
2. Biaya Operasional
3. Keuntungan (Laba),
dan
4. Modal Investasi Kedepan
Jenis Industri Game memang cukup banyak seperti Warnet/Internet
Cafe, Game Center, Mobile Game, Game PC, Konsol Game, Game Online, dsb. Berikut
ini Aspek Bisnis dalam Industri Game :
Warung Internet
(Warnet) / Internet Cafe
· Modal Awal Dalam memulai bisnis/usaha tentu
seseorang harus memiliki modal awal, tanpa modal awal tidak ada bisnis yang
bisa dibuka. Tentukan modal awal yang dapat dijangkau untuk memulai usaha
warnet.
· Sasaran Menentukan sasaran warnet seperti
misalnya hanya untuk gaming yang biasanya tidak menyediakan layanan print,
scanning, pengetikkan, dsb. Contoh sasaran lainnya untuk umum yang menyediakan
layanan print, scanning, pengetikkan, dsb serta bisa menggabungkan antara dua
hal tersebut.
· Spesifikasi & Jumlah Komputer Tentukan
spesifikasi dan jumlah komputer yang disediakan, dengan spesifikasi komputer
yang bagus dan tangguh jelas akan membuat pengunjung merasa nyaman menggunakan
komputer.
· Biaya Operasional Biaya operasional seperti
listrik ditentukan dari jumlah komputer yang ada, fasilitas yang tersedia, air
dan maintenance (perawatan) untuk setiap komputer/perangkat yang mengalami
kerusakan.
· Koneksi Internet Menentukan Provider dan
pilihan paket Internet yang cocok untuk keperluan bisnis seperti warnet,
provider internet biasanya memiliki kebijakan, pilihan kecepatan dan harga yang
berbeda.
· Fasilitas Menentukkan fasilitas sebain dan
senyaman mungkin yang tersedia didalam warnet seperti misalnya warnet
menggunakan kursi/bantal untuk duduk, tempat parkir, menggunakan meja tinggi
atau meja rendah, menyediakan toilet, menggunakan AC atau kipas, menjual Air
Mineral dan Makanan Ringan, menjual Voucher Game, dsb.
Rental PS
- Menentukkan Modal untuk membeli
TV dan jumlah konsol Menentukkan modal awal untuk membeli TV yang ingin
digunakan seperti TV LCD atau LED dengan ukuran kecil atau bahkan dengan
ukuran besar serta menentukkan jumlah konsol yang disediakan
dirental.
- Biaya Operasional Biaya
operasional seperti listrik, air, dsb ditentukan dari banyak jumlah konsol
yang digunakan dan fasilitas yang ada di Rental.
- Fasilitas Merancang fasiltas
senyaman mungkin untuk pelanggan agar betah dan kembali lagi seperti
misalnya menggunakan AC, menyediakan toilet, tempat parkir yang baik dan
terpantau, menjual Air Mineral dan Makanan, menggunakan Kursi atau bantal
sebagai tempat duduk, dsb.
Game Online
- Menyelenggarakan Event Event
menjadi hal yang menarik bagi pemain Game Online karena biasanya dalam
suatu Event harga item/barang-barang langka yang dibeli dengan mata uang
asli diberi diskon/diberi secara gratis dengan berbagai cara yang unik
untuk mendapatkannya. Event yang kelihatannya memberi keuntungan besar
bagi pemain akan sangat diminati oleh pemain Game Online.
- Mengadakan Turnamen Mengikuti
turnamen bagi para pemain Game Online memang hal yang luar biasa karena
dengan turnamen para pemain Game Online bisa menunjukkan kemampuannya
didalam Game. Hadiah dari suatu turnamen biasanya mencapai jutaan bahkan
puluhan juta, cakupan turnamen bisa menjadi lebih luas seperti turnamen
Game Online antar negara jika peminat turnamen itu sangat banyak.
- Item resmi yang dijual dengan
Mata uang asli Sudah bukan hal biasa didalam Game Online pengembang Game
menyediakan item/perlengkapan yang dapat dibeli menggunakan mata uang asli
melalui sejenis voucher. Biasanya harga item/perlengkapan tersebut
bervariasi, semakin bagus efek yang dimiliki atau semakin dibutuhkannya
item tersebut bisa didapat dengan harga mahal.
- Jual-beli ilegal dengan Mata
uang asli Dalam game online sudah biasa sulitnya mencari item/barang
langka dan Uang didalam Game itu sehingga pemain yang memiliki banyak item
langka dan Uang sering menjualnya dengan mata uang asli kepada pemain yang
membutuhkan. Biasanya transaksi dilakukan dengan saling bertemu untuk
menghindari aksi penipuan didalam Game, padahal, hal seperti ini dilarang
oleh developer dengan alasan menghindari aksi penipuan serta memberi
hukuman kepada pembeli dan penjual.
ASPEK TEKNOLOGI DALAM GAME
Saat ini keberadaan game di Indonesia sudah menjamur bak pasir
di gurun pasir, yang sudah sangat mempengaruhi segala aspek kehidupan
penikmatnya seperti aspek sosial, agama, psikis bahkan sampai pola hidup. Game
bekembang pesat seiring pertumbuhan teknologi yang semakin canggih, tuntutan
pasar semakin tinggi dan tidak luput juga tuntutan kapitalisme memboncengi
dibelakangnya. Tidak hanya di negara barat sebagai pusat industri, kini
pertumbuhan game, baik dari segi produsen maupun konsumen juga mulai merambah
ke pasar pasar yang lebih luas termassuk salah satunya Indonesia.
Jenis Konsol Game
Dari zaman ke zaman
terdapat perkembangan di dunia mainan ini, beberapa diantaranya kalah bersaing
lalu tenggelam, ada juga yang masih bertahan, beberapa diantaranya adalah
Game Cube
Lebih dikenal dengan
konsol game yang menonjolkan karakter yang lucu, lebih tepatnya Nitendo atau
jenis mesin game yang muncul dibawah perkembangan dunia game.
PS1 dan PS2 Konsol
game yang satu ini
mampu memberikan visualilasi yang menarik serta mempunyai keunggulan dari segi
jenis permainannya yang lebih variatif dari pada pendahulnya.
Sifat Game
Offline
Contoh-contoh yang
telah disebutkan diatas, seperti nitendo ataupun playstation merupakan contoh
game yang bersifat offline yang dapat dimainkan tanpa jaringan nirkabel atau
mudahnya permainan ini bersifat lokal yang dengannya seseorang tidak harus
membutuhkan jaringan internet
Online Era
cyberspace telah
mempengaruhi perubahan disegala aspek yang salah satunya adalah pola komunikasi
yang terjadidalam dunia game. Ini menjadi hal yang sangat menaik ketika
seoranggamers mampu bertatap muka, bergaul, bertukar pikiran, bahkan sampai ke
level bersaing. Game Online menjadi pembicaraan hangat di awal tahun millenium,
yang sejak itu telahmelahirkan generasi pecandu game di berbagai belahan dunia.
Dunia game yang satu ini bersifat luas dari segi interaksi khalayak yang dimana
sanggup menjadi magnet para pecandu game untuk mencoba sensasinya. Berbeda
ketika disandingkan game offline yang hanya bersifat dua atau maksimal hanya
sampai lima orang dalam hal game interaction.
Kekurangan dan
Kelebihan
Membahas mengenai
dampak game tidak terlepas dari baik dan buruk, disini kita akan mebahas apa
saja dampak yang ditimbulkan, sehingga kita bias menimbang-nimbang penting gak
sih game untuk remaja dan anak-anak kita, langsung saja menurut penelitian dari
berbagai Negara maju hasil posifnya yaitu :
1. Memainkan video
game membuat anak mengenal teknologi computer.
2. Game dapat
memberikan pelajaran dalam hal mengikuti arahan dan aturan.
3. Beberapa game
menyediakan latihan untuk pemecahan masalah dan loika.
4. Game menyediakan
latihan penggunaan saraf motorik spatial skill.
5. Game menjadi sarana
keakraban antara orang tua dan anak ketika bermain bersama.
6. Game mengenalkan
teknologi dan berbagai fiturnya.
7. Beberapa game mampu
menyediakan sarana penyembuhan untuk pasien tertentu.
8. Game menghibur dan
menyenangkan.
Banyak pilihan untuk
kita pilih, dunia game menawarkan game yang menarik tetapi sejatinya merusak
ataupun juga menarik tetapi tidak merusak seperti contoh game yang berjudul
Harvest Moon yang mengajarkan bagaimana seseorang yang taat kepada orang
tuanya, rajin bekerja, menghargai waktu, menyayangi binatang, mengajarkan arti
tanggung jawab yang sangat sedikit sekali game seperti ini beredar. Contoh lain
dari game yang menarik namun merusak seperti permainan yang memperlihatkan
adegan pembunuhan, pelecehan seksual, ataupun pelanggaran tata tertib seperti,
resident evil, GTA, 7 sins ataupun Playboy the mansion.
Dampak positif yang
telah dipaparkan masih bersifat umum, darimana kita memandangnya maka persepsi
itu akan lahir. Sejatinya, pemilihan game yang baik akan berdampak juga
terhadap baiknya jasmani dan rohani seseorang yang memainkannya.
Konsep Game
- Generasi Pertama Tahun 1952, di
Universitas Cambridge, A.S Douglas menulis sebuah tesis untuk gelar sebuah
PhD-nya mengenai interaksi antara komputer dan manusia. Dalam tesisnya itu
ia menciptakan game komputer dari sebuah permainan tradisional bernama
Tic-Tac-Toe. Game ini diprogram dengan memakai komputer EDVAC vacuum tube
yang memiliki layer berupa cathode ray tube (CRT). Kemudian di tahun 1958.
William Haginbotham menciptakan video game pertamanya. Berbeda dengan
Douglas, video game pertamanya yang berjudul Tennis for Two diciptakan dan
dimainkan di osciloscope. Tapi game komputer pertama yang benar-benar
diciptakan menggunakan komputer betulan adalah Spacewar. Saat itu di tahun
60-an, komputer adalah barang sangat mewah. Dan biasanya komputer dipakai
untuk kepentingan riset dalam dunia militer. Tapi seseorang bernama Steve
Russel memiliki ketertarikan akan hal lain. Dia dan teman-temannya sangat
nge-fan dengan kisah fiksi ilmiah berjudul Skylark karangan Edward E
Smith. Dari situ mereka membuat sebuah game bernama Spacewar. Kebetulan
juga, Steve Russel bekerja menggunakan sebuah komputer mainframe bernama
MIT PDP-1 yang biasa dipakai untuk perhitungan statistik. Dengan komputer
itulah dia membuat Spacewar di tahun 1961.
- Generasi Kedua Di tahun 1971,
Nolan Bushnell bersama dengan Ted Dabney menciptakan game ber-genre arcade
yang pertama. Dinamai Komputer Space, game itu didasari oleh Spacewar.
Tahun 1972, Nolan dan Ted memulai Atari komputer. Kemudian dia
mengembangkan game berjudul Pong yaitu game pertama yang tersedia untuk
publik. Karena game-game sebelumnya hanya ada di dalam komputer mainframe
untuk kesenangan sendiri saja. Asal usul Pong dimulai saat Nolan ingin
membuat game sederhana dan mudah dimengerti. Dengan memory dan micro
processor kelas rendah, kemampuan proses yang terbatas dan grafis yang
sederhana, akhirnya dia membuat versi elektronik dari permainan ping pong
yang kemudian menjadi Pong. Sedikit selingan, Pong kemudian berevolusi
menjadi sebuah game bernama Breakout. Game itu diciptakan oleh Steve Jobs
untuk Atari. Dari situ, Steve Jobs dan temannya Steve Wozniak mulai
berpikir untuk menciptakan sebuah PC. Kemudian mereka meminjam semua
peralatan yang dipakai dalam proyek Breakout dan membuat sebuah prototype
bernama Apple I. dan itu adalah cikal bakal dari komputer Apple Macintosh
yang ada sekarang. Pada tahun 1980, Atari mengeluarkan game berjudul Asteroid
dan Lunar Lander. Kedua game tersebut adalah game pertama yang didaftarkan
pada kantor hak cipta untuk mendapatkan paten. Asteroid merupakan game
yang penuh inovasi baru dalam grafisnya. Daripada menggunakan metode
raster, game ini merupakan grafis vector line seperti yang ada pada
osciloscope. Pengenalan Atari Video komputer System (Atari 2600) dengan
CPU biasa dan slot untuk kasetnya, menjadi suatu era baru dalam dunia
game. Di tahun 1980 itu juga menunjukkan penjualan yang meningkat dari PC
yang biasa dipakai untuk game.Dan kini komputer bersaing dengan mesin
konsol seperti PS atau Xbox. Dan komputer tidak hanya sebagai mesin untuk
kepentingan bisnis semata, tapi juga untuk hiburan seperti game.
Jenis Game
Komputer
- Simulasi/Virtual Reality:
Simulasi adalah jenis permainan game simulasi tanpa tujuan yang pasti dari
apa yang ingin dilakukan diserahkan kepada pemain.
- Education: merupakan jenis
permainan yang dapat digunakan pula untuk belajar para siswa yang
menggunakannya.
- Entertainment: jenis game ini
merupakan jenis game yang dapat dimainkan oleh 1 orang atau lebih .
- User: Game ini tidak hanya
untuk anak-anak saja namun game ini jg banya dimainkan oleh orang remaja
dan dewasa.
3D 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 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.
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 mendupport 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:
- Desain yang object-oriented
dengan menggunakan plugin untuk mempermudah memasukkan fitur lainnya
- Engine berbasis scane graph
dengan bantuan untuk sebuah varietas yang luas, octree, BSP, & paging
landscape scene manager
- 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
- OGRE mendukung program vertex
dan fragment selama ditulis dengan GLSH, HLSL, Cg, dan assembler
- The landscape scene manager
untuk progressive LOD, yang mana bisa dibuat secara otomatis dan manual
- 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.
Processing merupakan
suatu projek yang dinisiasi oleh Ben fry dan casey reas. Berkembang dari
ide-ide yang dieksplorasi di Aesthetics and Computation Group (ACG) di Mit
Media Lab. Projek ini kini terus diperbaiki dan dikelola oleh sejumlah Tim
Voluntir.
- 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.
Kelebihan Unity
terdapat pada multiple platform, artinya banyak platform yang disupport oleh
unity, seperti Windows, Mac, iPhone, iPad, Android, Nintendo Wii, dan juga
browser. Untuk browser, kita memerlukan sebuah plug-in, yaitu Unity Web player,
sama halnya dengan Flash Player pada browser. Pada unity, kita tidak bisa
melakukan desain/modelling dikarenakan unity bukan tool untuk mendesain. Jadi
jika kita ingin mendesain, dibutuhkan 3D editor lain seperti 3Dsmax atau
Blender, kemudian kita export menjadi format .fbx.
BAB 2
Desain Skenario, Script Dan Storyboard Game Komputer
Perkembangan teknologi komputer sangat mempengaruhi
perkembangan yang ada dalam dunia game. Pembentukan karakter pada game
semakinmendekati dengan keadaan sebenarnya pada dunianyata. Ketika proses
pembuatan game membutuhkan susunan yang lebih kompleks, timbullah
kebutuhanuntuk memisahkan konten (desain perilaku) darimesin. Kehandalan
seorang desainer game benar-benar dibutuhkan untuk merancang perilaku
yang luas dari karakter. Banyak tersedia berbagai macambentuk bahasa
pemrograman yang ada. Tentunya darikesemuanya 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 gamedapat berjalan lancar, tanpa bug, dan mampumenjalankan script
dengan kebutuhan hardware seminimum mungkin.
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”.
Desain
Skenario
Skenario adalah urutan cerita yang disusun oleh seseorang agar suatu peristiwa
terjadi sesuai dengan yang diinginkan.Kalau dasar untuk pembuatan film adalah
skenario, maka dasar untuk membuat game adalah design document atau lebih
mudahnya disebut skenario game. Skenario game adalah langkah awal dalam membuat
sebuah game, dengan skenario game dapat mempermudah kita menyelesaikan game
yang akan kita buat. Skenario game adalah sebuah cerita khusus yang
melatarbelakangi kejadian – kejadian dalam game. Kalau skenario menentukan
interior dan eksterior, dekor, pemain, dan studio, serta pembuatan trik, dalam
desain dokumen ada ketentuan program game, grafik, tokoh, animasi, suara, dan
musik. Sampai di sini keduanya masih paralel. Berbeda dengan skenario yang
merupakan sekuens linier dari adegan, turn around point, dialog, dan
seterusnya; design documents adalah gabungan dokumen yang mendiskripsikan
secara kompleks semua segi game yang direncanakan.
Ditambah lagi, berbeda dengan skenario, tidak bisa secara pasti ditentukan,
dokumen apa saja yang akan ditemukan dalam design documents, karena itu
tergantung pada gaya game yang akan dibuat. Hampir sama seperti pembuatan film
dimana penulis skenario pertama-tama menulis tema, kalau ada produser yang
berminat, penulis skenario membuat sinopsis, dan setelah mendapat persetujuan
produser, baru skenario dibuat, begitu juga prosesnya dalam merencanakan suatu
judul game komputer. Temanya dibuat dulu, kemudian konsep dan akhirnya design
documents disusun. Gambaran seperti ini adalah kondisi yang ideal, tidak semua
pengembang melalui proses ini, walaupun hal itu patut disayangkan. Cukup rumit
bukan? Serupa namun tak sama hehe.
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. Konsepnya biasanya ditulis setebal 5-10 halaman. Kalau konsep
sudah diterima, artinya sudah disetujui produser, dinilai positif oleh tim dan
sebagainya, desainer game mulai menulis dengan documents.
Dokumen ini tidak
baku, selama pengembangan bisa dimodifikasi atau diperbarui. Itu tidak berarti
bahwa design document tidak perlu dibuat lengkap dan serius. Seperti dalam
kalimat pembuka, semuanya perlu dipertimbangkan dan direncanakan dengan teliti,
kalau tidak, pekerjaan tim bisa mengalami banyak masalah. Apasaja yang tidak
direncanakan dengan baik akan menyebabkan kerugian waktu dan biaya dalam
pelaksanaan proyek. Tentu saja tidak segalanya bisa direncanakan sebelumnya,
tetapi menurut teori 80/20, sekitar 80% pekerjaan bisa berjalan sesuai
rencana.
Tidak ada patokan
umum apa saja yang harus menjadi bagian design documents, karena ada banyak
perbedaan tergantung proyeknya. Tetapi dalam satu hal semua dokumen sama, harus
mendeskripsikan game secara kompleks maupun mendetail. Setelah membaca design
document, anda seharusnya memiliki gambaran lengkap tentang produk akhir. Salah
satu dokumen biasanya menjelaskan mekanisme game. Sebagai bagiannya, misalkan
untuk RPG dan strategi, adalah peraturan yang menentukan dan mendiskripsi tipe
objek dalam game berikut karakteristik serta hubungan interaktifnya.
Bagian lain membahas
penerapan hukum fisika dalam dunia game dalam arti luas, misalkan kekuatan alam
yang dapat diterapkan dan bagaimana reaksi objek-objek dalam game. Ada
deskripsi lokasi secara lisan maupun dalam sketsa, skenario cerita, bisa
disebutkan diferensiasi perangkat pengguna. Dan sebaiknya ada daftar monster
(untuk RPG fantasi) atau daftar pasukan (untuk strategi). Singkatnya, dalam
struktur dokumen-dokumen ini seharusnya terdapat seluruh materi yang mencakup
seluruh aspek game. Baru berdasarkan design documents yang lengkap bisa ditulis
spesifikasi untuk rancangan engine atau modifikasi engine yang sudah ada, dan
rencana produksi. Bagian akhir dari design documents adalah catatan-catatan
desainer game, di mana dicantumkan misalnya ide-ide susulan atau perubahan yang
dilakukan berdasarkan hasil tes, dan seterusnya.
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. Untuk mengetahui tentang script, disini
ada sedikit rangkuman tentang script :
- Script
adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam
situs yang pada saat di akses.
- Jenis
script sangat menentukan statis, dinamis, atau interaktifnya sebuah situs
-
Semakin banyak script yang digunakan maka akan terlihat semakin dinamis,
dan interaktif serta terlihat lebih bagus.
-
Bahasa dasar yang di pakai setiap situs adalah HTM
-
Macam-macam script, PHP, ASP, JSP, Java Script, Java Applets, VBScript.
Storyboard
Storyboard adalah visualisasi ide dari aplikasi yang akan dibangun, sehingga
dapat memberikan gambaran dari aplikasi yang akan dihasilkan. Storyboard dapat
dikatakan juga visual script yang akan dijadikan outline dari
sebuah proyek, ditampilkan shot by shot yang biasa disebut
dengan istilah scene.
Storyboard sekarang lebih banyak digunakan untuk membuat kerangka pembuatan websites dan proyek media interaktif lainnya seperti iklan, film pendek, games, media pembelajaran interaktif ketika dalam tahap perancangan /desain.
Baru-baru ini istilah “Storyboard” telah digunakan dibidang pengembangan web, pengembangan perangkat lunak dan perancangan instruksi untuk mempresentasikan dan menjelaskan kejadian interaktif seperti suara dan gerakan biasanya pada antarmuka pengguna, halaman elektronik dan layar presentasi. Sebuah Storyboard media interaktif dapat digunakan dalam antarmuka grafik pengguna untuk rancangan rencana desain sebuah website atau proyek interaktif sebagaimana alat visual untuk perencanaan isi.
Sebaliknya, sebuah site map (peta) atau flow chart (diagram alur) dapat lebih bagus digunakan untuk merencanakan arsitektur informasi, navigasi, links, organisasi dan pengalaman pengguna, terutama urutan kejadian yang susah diramalkan atau pertukaran audiovisual kejadian menjadi kepentingan desain yang belum menyeluruh.
Salah satu keuntungan menggunakan Storyboard adalah dapat membuat pengguna untuk mengalami perubahan dalam alur cerita untuk memicu reaksi atau ketertarikan yang lebih dalam. Kilas balik, secara cepat menjadi hasil dari pengaturan Storyboard secara kronologis untuk membangun rasa penasaran dan ketertarikan.
Seorang pembuat Storyboard harus mampu menceritakan sebuah cerita yang bagus. Untuk mencapainya, mereka harus mengetahui berbagai film, dengan pengertian tampilan yang bagus, komposisi, gambaran berurut dan editing. Mereka harus mampu untuk bekerja secara sendiri atau dalam sebuah bagian tiam. Mereka harus mampu menerima arahan dan juga bersiap membuat perubahan terhadap hasil kerja mereka.
Untuk proyek tertentu, pembuat Storyboard memerlukan ketrampilan menggambar yang bagus dan kemampuan beradaptasi terhadap gaya yang bermacam. Mereka harus mampu untuk mengikuti desain yang telah dikeluarkan dan menghasilkan kerja konsisten, yang digambar pada model.
Storyboard sekarang lebih banyak digunakan untuk membuat kerangka pembuatan websites dan proyek media interaktif lainnya seperti iklan, film pendek, games, media pembelajaran interaktif ketika dalam tahap perancangan /desain.
Baru-baru ini istilah “Storyboard” telah digunakan dibidang pengembangan web, pengembangan perangkat lunak dan perancangan instruksi untuk mempresentasikan dan menjelaskan kejadian interaktif seperti suara dan gerakan biasanya pada antarmuka pengguna, halaman elektronik dan layar presentasi. Sebuah Storyboard media interaktif dapat digunakan dalam antarmuka grafik pengguna untuk rancangan rencana desain sebuah website atau proyek interaktif sebagaimana alat visual untuk perencanaan isi.
Sebaliknya, sebuah site map (peta) atau flow chart (diagram alur) dapat lebih bagus digunakan untuk merencanakan arsitektur informasi, navigasi, links, organisasi dan pengalaman pengguna, terutama urutan kejadian yang susah diramalkan atau pertukaran audiovisual kejadian menjadi kepentingan desain yang belum menyeluruh.
Salah satu keuntungan menggunakan Storyboard adalah dapat membuat pengguna untuk mengalami perubahan dalam alur cerita untuk memicu reaksi atau ketertarikan yang lebih dalam. Kilas balik, secara cepat menjadi hasil dari pengaturan Storyboard secara kronologis untuk membangun rasa penasaran dan ketertarikan.
Seorang pembuat Storyboard harus mampu menceritakan sebuah cerita yang bagus. Untuk mencapainya, mereka harus mengetahui berbagai film, dengan pengertian tampilan yang bagus, komposisi, gambaran berurut dan editing. Mereka harus mampu untuk bekerja secara sendiri atau dalam sebuah bagian tiam. Mereka harus mampu menerima arahan dan juga bersiap membuat perubahan terhadap hasil kerja mereka.
Untuk proyek tertentu, pembuat Storyboard memerlukan ketrampilan menggambar yang bagus dan kemampuan beradaptasi terhadap gaya yang bermacam. Mereka harus mampu untuk mengikuti desain yang telah dikeluarkan dan menghasilkan kerja konsisten, yang digambar pada model.
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 Aminasi
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.
A. Pilihan bahasa
pemrograman
Walaupun terdapat
banyak sekali pilihan bahasa pemrograman untuk membuat game, namun
padaintinya 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 perilakukarakter dan kejadian di
level game, maka scriptakan perlu untuk mengeksekusi sebagai bagiandari loop
game utama. Ini berarti bahwa scriptyang 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 luasdiinterpretasikan,melalui susunan serangkaian byte. Penafsiran
bahasa diambil melalui formatteks. Interpreter melihat setiap baris,
penyusunan bekerja sesuai yang maksud dari script, danmelakukan tindakan
yang spesifik. Bahasa byte-terkompilasi dikonversi dari teks ke formatinternal,
yang disebut byte code. Kode byte biasanya jauh lebih padat daripada
format teks.Karena kode byte dalam suatu formatdioptimalkan ketika dieksekusi,
agar dapat berjalan lebih cepat
c). 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. Memilih sebuah
bahasa
Sejumlah besar bahasa scripting tersedia, dan banyak dari mereka yang dirilis di bawah lisensi yang cocok untuk dimasukkan dalam sebuah game. Secara tradisional, sebagian besar bahasa scripting dalam game telah diciptakan oleh pengembang khusus untuk kebutuhan mereka sendiri. Dalam beberapa tahun terakhir telah ada minat dalam bahasa off-the-shelf, yang kebanyakn diterapkan pada suatu game engine.
Beberapa mesin game
komersial dilengkapi dengan dukungan bahasa scripting ini (Unreal dan Quake
oleh id Software, misalnya). Hal ini memberikan solusi lengkap dalam efisiensi
waktu pembuatan game, karena sebagian besar bahasa yang ada yang digunakan
dalam game pada awalnya tidak dirancang untuk tujuan ini. Namun penggunaan
bahasa off-the-shelf ini memiliki hubungan dengan kelebihan dan kekurangan yang
perlu dievaluasi sebelum kita membuat pilihan.
D. 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.
- Tokenizing : mengidentifikasi
unsur-unsur dalam teks. Sebuah file teks hanya berisiserangkaian
karakter (dalam pengertian karakter ASCII). Hasil tokenizer keluar
sebagai kumpulan byte tertentu dan jenis dari kelompok tertentu
yangmembentuk mereka. Sebuah string dalam bentuk :
- 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
- 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 bahasamesin.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.
Contoh bahasa yang
sering digunakan
1. Lua
Lua adalah bahasa
prosedural sederhana yangdibangun dari dasar ke atas sebagai bahasaembedding.
Desain bahasa didorong olehekstensibilitas. Tidak seperti kebanyakan
bahasaembedded, hal ini tidak terbatas untuk menambahkan fungsi baru atau
tipe data di C atauC + +. Cara kerja bahasa Lua juga dapat men-tweak.Lua
memiliki sejumlah kecil core libraryyang menyediakan fungsionalitas dasar. Core
yangrelatif tanpa sifat khusus merupakan bagian objek tersebut,
bagaimanapun. Dalam game anda tidak mungkin membutuhkan library untuk
memprosesapa pun kecuali matematika dan logika. Core kecilini mudah dipelajari
dan sangat fleksibel.
2. Python
Python adalah mudah
dipelajari, bahasascripting berorientasi objek dengan ekstensibilitas baik
dan dukungan embedding. Pythonmenyediakan dukungan yang sangat baik
untuk pemrograman bahasa campuran, termasuk kemampuan untuk
secara transparan memanggil Cdan C + + dari Python. Python memiliki
dukunganuntuk fungsi re-entrant sebagai bagian dari bahasa inti dari versi 2.2
dan seterusnya (disebutGenerator).Python memiliki sejumlah besar library
yangtersedia untuk itu dan memiliki komunitas yangsangat besar dari usernya.
Pengguna pythonmemiliki reputasi untuk menolong, dan newsgroupcomp.lang.python
merupakan sumber troubleshooting dan saran yang sangat baik.Kelemahan utama
Python adalah dalamkecepatan dan ukuran. Meskipun mengalamikemajuan signifikan
dalam kecepatan eksekusitelah dibuat selama beberapa tahun terakhir,namun masih
terasa lambat ketika dijalankan.Python bergantung pada lookup tabel hash
(olehstring) bagi banyak operasi fundamental (fungsi panggilan, akses
variabel, object-oriented programming). Hal ini menambahkan
banyak biaya overhead.
BAB 3
Pengertian Kecerdasan
Buatan
Kecerdasan buatan
(bahasa Inggris: Artificial Intelligence atau AI)
didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan.
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.
Penelitian dalam AI
menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang
membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian,
perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan
pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti
itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada
penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering
digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang
telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video
game.
Pengertian Game
Game adalah permainan
komputer yang dibuat dengan teknik dan metode animasi. Permainan game merupakan
bidang AI yang sangat populer berupa permainan antara manusia melawan mesin
yang mempunyai intelektual untuk berpikir. Komputer dapat bereaksi dan menjawab
tindakan-tindakan yang diberikan oleh lawan mainnya.
Salah satu komputer
yang ditanamkan AI untuk game bernama Deep Blue. Deep Blue adalah
sebuah komputer caturbuatan
IBM pertama yang memenangkan sebuah permainan catur melawan seorang juara dunia
(Garry Kasparov) dalam waktu standar sebuah turnamen catur. Kemenangan
pertamanya (dalam pertandingan atau babak pertama) terjadi pada 10
Februari 1996, dan merupakan permainan yang sangat
terkenal.
Kini telah banyak
berkembang game AI yang semakin menarik, interaktif, dan dengan grafis yang
sangat bagus. Ditambah dengan kemajuan teknologi jaringan komputer yang semakin
cepat, sudah banyak terdapat game-game AI yang berbasiskan online.
Tidak sedikit orang yang tertarik dengan game saat ini. Mereka memainkan game
untuk mengisi kekosongan waktu mereka atau pun melatih skill mereka dalam berpikir.
Sejarah Artificial Intelligence dalam Game
Pada tahun 1769,
dataran Eropa dikejutkan dengan suatu permainan catur yang dapat menjawab
langkah-langkah permainan catur yang belum ditentukan terlebih dahulu. Mesin
ini disebut dengan Maelzel Chess Automation dan dibuat
oleh Wolfgang Von Kempelan (1734-1804) dari Hungaria. Akan
tetapi mesin ini akhirnya terbakar pada tahun 1854 di Philadelphia Amerika
Serikat.banyak orang tidak percaya akan kemampuan mesin tersebut. Dan seorang
penulis dari Amerika Serikat, Edgar Allan Poe (1809-1849)
menulis sanggahan terhadap mesin tersebut, dia dan kawan-kawannya ternyata
benar, bahwa mesin tersebut adalah tipuan, dan kenyataannya bukanlah
aoutomation, tetapi merupakan konstruksi yang sangat baik yang dikontrol oleh seorang
pemain catur handal yang bersembunyi di dalamnya.
Usaha untuk membuat
konstruksi mesin permainan terus dilanjutkan pada tahun 1914, dan mesin yang
pertama kali didemonstrasikan adalah mesin permainan catur. Penemu mesin ini
adalah Leonardo Torres Y Quevedo, direktur dari Laboratorio
de Automatica di Madrid, Spanyol. Beberapa tahun kemudian, ide
permainan catur dikembangkan dan diterapkan di komputer oleh Arthur L.
Samuel dari IBM dan dikembangkan lebih lanjut oleh Claude
Shannon.
Artificial Intelligence dalam Game
Salah satu unsur yang
berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan
buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya
manusia.
Game AI adalah
aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai
lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi
tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan
dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi
yang bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi
dengan sesama manusia. Contoh media interaksi ialah:
- Penglihatan (vision)
- Suara (voice), ucapan (speech)
- Gerakan anggota badan ( gesture)
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.
Minimax yang merupakan
salah satu metode penerapan (implementasi) pohon n-ary pada suatu game,
menandakan bahwa implementasi struktur (pohon khusunya) sangatlah diperlukan
pada pembuatan dan penerapan Artificial Intelligence, dan tidak menutup
kemungkinan ilmu dan metode baru yang lebih canggih akan ditemukan di masa
depan.
Definisi Game Engine
Game engine adalah
perangkat lunak yang dirancang 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. Perangkat ini pada umumnya
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.
Beberapa elemen yang
ada di dalam game engine adalah :
- Tools/Data
Dalam pengembangan
game, dibutuhkan data yang tidak semudah menuliskan text files. Dalam
pengembangan game, paling tidak dibutuhkan beberapa tools seperti 3d model
editor, level editor dan graphics programs. Bahkan jika diperlukan, seringkali
kita mengembangkan game engine tersebut dengan menambahkan beberapa code dan
fitur yang diperlukan.
- System
System sendiri adalah
bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan
hardware yang berada di dalam mesin. Jika game engine sudah dibuat dengan baik
maka system ini adalah satu-satunya bagian yang membutuhkan perubahan yang
cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di
dalam system sendiri terdapat beberapa sub system yaitu graphics, input, sound,
timer, configuration. System sendiri bertanggung jawab untuk melakukan
inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.
- Console
Dengan menambahkan
console, kita dapat merubah setting game dan setting game engine di dalam game
tanpa perlu melakukan restart pada game tersebut. Console sendiri lebih sering
digunakan dalam proses debugging. Apabila game engine tersebut mengalami error
kita tinggal mengoutputkan error message tersebut ke dalam console tanpa harus
melakukan restart. Console sendiri dapat dihidupkan dan dimatikan sesuai
keinginan.
- Support
Support adalah bagian
yang paling sering digunakan oleh system di dalam game engine. Support sendiri
berisi rumus-rumus matematika yang biasa digunakan, vector, matrix, memory
manager, file loader. Merupakan dasar dari game engine dan hampir digunakan
semua projek game engine.
- Renderer/Engine Core
Pada game engine,
engine core / renderer terdiri dari beberapa sub yaitu visibility, Collision
Detection dan Response, Camera, Static Geometry, Dynamic Geometry, Particle
Systems, Billboarding, Meshes, Skybox, Lighting, Fogging, Vertex Shading, dan
Output.
- Game Interface
Game interface sendiri
merupakan layer diantara game engine dan game itu sendiri. Berfungsi sebagai
control yang bertujuan untuk memberikan interface apabila di dalam game engine
tersebut terdapat fungsi fungsi yang bersifat dinamis sehingga memudahkan untuk
mengembangkan game tersebut.
- The Game
Merupakan inti dari
penggunaan game engine sendiri, sehingga terserah kita bagaimana mengembangkan
game tersebut.
Saat sekarang ini
sudah sangat banyak game engine yang hadir, dan sangat maju. Para pembuat game
engine kini berlomba-lomba untuk menciptakan game engine dengan tampilan yang
menarik agar menciptakan suasana permainan yang nyaman atau enak untuk dilihat
dan dimainkan dalam PC ataupun Console. Dengan tampilan atau graphic yang
menarik yang kini semakin mendekati realitas dalam segi fisik para tokoh serta
gameplay-nya, akan membuat para gamers semakin antusias untuk memainkan game
tersebut.
Konsep dari game
engine sebenernya cukup gampang, yaitu bahan dasar yang diperlukan sebuah game
untuk menjalankan tugasnya, merender pixel demi pixel, menghitung physiscs,
memperkirakan input tombol, dan lain hal, yang memungkinkan developer kreatif
dapat membuat sebuah game dengan engine yang sama menjadi unik satu sama lain.
Di analogikan sebagai sebuah mobil, game engine sudah merupakan bagian mobil,
sekitar 50% jadi. Mesin dan rangkaian sistem pengapian, sampai pembuangan.
Kurang body dan aksesoris.
Sebuah game engine
memungkinkan penggunaan kembali komponen komponen yang dapat mempercepat
hadirnya game menjadi nyata di layar monitor mu. Beberapa diantara nya yang
termasuk dengan itu adalah deteksi tubrukan, tampilan grafis, setting dalam
game, artificial intelligence dan lain lain. Semua komponen tadi disatukan
dalam satu pake game engine. Artist dan Developer, dapat menambahkan pustaka
texture dan model sendiri untuk dijadikan tokoh utama atau setting dunia dalam
sebuah engine. Sekali lagi dalam analogi game, model dan texture dalam game
engine bisa dibilang sebagai body dan aksesoris mobil.
Sebuah game engine
dibagi lagi menjadi dua bagian besar. Yaitu API dan SDK. API ( Applicaiton
Programming Interfaces ) adalah bagian operating system, services dan libraries
yang diperlukan untuk memanfaatkan beberapa feature yang diperlukan. Dalam hal
ini contohnya DirectX. Sementara SDK adalah kumpulan dari libraries dan API
yang sudah siap digunakan untuk memodifikasi program yang menggunakan operating
system dan services yang sama. Biasanya, game engine menyertakan keduanya.
Contohnya dalam Unreal
Engine, menyiapkan antarmuka baku bagi programmer untuk menciptakan game nya
dengan mudah, melalui scripting engine, yang disebut UnrealScript, dan juga
libraries, yang berisi model standar dan texture standar dan juga world editor
yang disebut sebagai UnrealED.
BAB 4
Arsitektur Game Engine
Arsitek adalah pelajaran untuk membuat rancangan dari bangunan.
Sedangkan arsitektur mesin game 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.
Tahap awal dari merancang suatu game adalah memilih jenis game
yang akan dibuat agar dapat lebih terfokus dalam mengerjakannya.
Selanjutnya adalah mendesaian game yang akan dibuat. Setelah kita
memiliki desain game, langkah berikutnya adalah mengimplementasikan
desain tersebut menjadi source code. Apabila source telah selesai
dirancang, maka game tersebut dapat dimainkan dan digunakan sesuai
yang diinginkan oleh sang pembuat game. Apakah game tersebut dibuat
untuk dikomersilkan atau dikembangkan oleh orang lain.
Beberapa elemen yang
terdapat dalam game engine, yaitu:
a) Tools/Data
Pada pengembangan game paling tidak dibutuhkan beberapa tools
seperti 3d model editor, level editor dan graphics programs. Bahkan jika
diperlukan, seringkali kita mengembangkan game engine tersebut dengan
menambahkan beberapa code dan fitur yang diperlukan.
b) System
System adalah bagian dari game engine yang berfungsi untuk
melakukan komunikasi dengan hardware yang berada di dalam mesin. System adalah
bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan
implementasi pada platform yang berbeda. Di dalam system sendiri terdapat
beberapa sub system seperti graphics, input, sound, timer, configuration.
System bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub
system yang terdapat di dalamnya.
c) Console
Console dapat merubah setting game dan setting game engine di
dalam game tanpa perlu melakukan restart pada game tersebut. Console biasa
digunakan dalam proses debugging, seperti misalnya apabila game engine tersebut
mengalami error maka kita hanya mengoutputkan error message tersebut ke dalam
console tanpa harus melakukan restart.
d) Support
Support merupakan bagian yang sering digunakan pada system di
galam game engine. Support berisikan rumus-rumus matematika yang biasa
digunakan, vector, matrix, memory, file loader. Merupakan dasar dari game
engine dan hampir digunakan dalam semua project game engine.
e) Renderer/Engine
Core
Renderer/engine core terdiri dari beberapa sub yaitu visibility,
collision detection dan response, camera, static geometry, dynamic geometry,
particle systems, billboarding, meshes, skybox, lighting, fogging, vertex
shading dan output.
f) Game
Interface
Game interface merupakan layer antara game engine dan game itu
sendiri. Berfungsi sebagai control yang bertuuan untuk memberikan interface
apabila di dalam game engine tersebut terdapat fungsi yang bersifat dinamis
sehingga memudahkan untuk mengembangkan game tersebut.
g) The
Game
Game merupakan inti dari penggunaan game engine sendiri,
sehingga ini tergantung bagaimana pengguna dalam mengembangkannya.
Pengertian Game Engine
(Mesin Game)
Game Engine adalah system perangkat lunak yang dirancang untuk
menciptakan dan pengembangan video game. Ada banyak mesin permainan yang
dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop
seperti Microsoft Windows, Linux, dan Mac OS X. fungsionalitas inti biasanya
disediakan oleh mesin permainan mencakup mesin render ( “renderer”) untuk 2D
atau 3D grafis, mesin fisika atau tabrakan (dan tanggapan tabrakan), suara,
script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori,
threading, dukungan lokalisasi, dan adegan grafik. Proses pengembangan
permainan sering dihemat oleh sebagian besar menggunakan kembali mesin
permainan yang sama untuk menciptakan permainan yang berbeda.
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. Pada C++, entry
point-nya adalah fungsi ‘main().’ Biasanya program utama ini relatif pendek.
Game engine adalah program yang ‘memotori’ jalannya suatu program game. Kalau
game diilustrasikan sebagai ‘musik’ yang keluar dari mp3 player, maka engine
adalah ‘mp3 player’ dan program utama adalah ‘data mp3’ yang dimasukkan ke
dalam mp3 player tersebut. Dengan adanya engine, waktu, tenaga dan biaya yang
dibutuhkan untuk membuat game software menjadi berkurang secara signifikan.
Beberapa game dengan jenis dan gameplay yang hampir sama
bisa dibuat dengan sedikit usaha bila terlebih dulu dibuat engine-nya. Setelah
engine diselesaikan, programmer hanya perlu menambahkan program utama, memakai
resources (objek 3D, musik, efek suara) yang baru, dan, jika benar-benar
dibutuhkan, sedikit memodifikasi engine sesuai kebutuhan spesifk dari game yang
bersangkutan. Program game engine seluruhnya berorientasi objek. Dia lebih
bersifat reaktif daripada prosedural. Sulit untuk menggambarkan engine secara
keseluruhan dalam flow-chart, karena alur program bisa diatur sesuai dengan
keinginan pemakai engine, yaitu game programmer.
Tujuan Penggunaan Game
Engine
Game engine menyediakan seperangkat alat pengembangan visual di
samping komponen software digunakan kembali. Alat-alat ini umumnya diberikan
dalam suatu lingkungan pengembangan terpadu untuk mengaktifkan disederhanakan,
perkembangan pesat dari permainan dengan cara data-driven. Mesin pengembang
Game upaya untuk “pra-menciptakan roda” dengan mengembangkan suite perangkat
lunak kuat yang mencakup banyak unsur pengembang game mungkin perlu untuk
membangun sebuah permainan. Kebanyakan mesin permainan suite menyediakan fasilitas
yang memudahkan pengembangan, seperti grafik, suara, fisika dan fungsi AI.
Mesin permainan ini kadang-kadang disebut “middleware” karena, seperti dengan
istilah naluri bisnis, mereka menyediakan sebuah platform perangkat lunak yang
fleksibel dan dapat digunakan kembali yang menyediakan semua fungsionalitas
inti yang dibutuhkan, langsung dari kotak, untuk mengembangkan sebuah aplikasi
permainan sambil mengurangi biaya , kompleksitas, dan waktu-ke-pasar-semua
faktor penting dalam industri video game yang sangat kompetitif. Gamebryo dan
RenderWare adalah seperti program middleware banyak digunakan.
Seperti solusi middleware lainnya, mesin permainan biasanya
menyediakan abstraksi platform, yang memungkinkan permainan yang sama untuk
dijalankan pada berbagai platform termasuk game konsol dan komputer pribadi
dengan sedikit, jika ada, perubahan yang dibuat ke kode sumber permainan.
Seringkali, mesin permainan dirancang dengan arsitektur berbasis komponen yang
memungkinkan sistem tertentu dalam mesin yang akan diganti atau diperpanjang
dengan lebih khusus (dan sering kali lebih mahal) komponen middleware game
seperti Havok untuk fisika, Miles Sound System untuk suara, atau Bink untuk
Video.
Beberapa mesin permainan seperti RenderWare bahkan dirancang sebagai
rangkaian dihubungkan secara longgar komponen middleware permainan yang bisa
selektif dikombinasikan untuk membuat mesin khusus, bukan pendekatan yang lebih
umum dari memperluas atau menyesuaikan solusi terintegrasi yang fleksibel.
Namun diperpanjang tercapai, hal itu tetap menjadi prioritas tinggi dalam mesin
game karena berbagai kegunaan yang mereka diterapkan. Meskipun kekhususan nama,
mesin permainan yang sering digunakan untuk jenis lain aplikasi interaktif
dengan kebutuhan grafis real-time seperti demo pemasaran, visualisasi
arsitektur, simulasi pelatihan, dan lingkungan pemodelan.
Beberapa mesin permainan hanya menyediakan 3D real-time
rendering kemampuan bukan berbagai fungsi yang dibutuhkan oleh game. Mesin ini
mengandalkan pengembang game untuk melaksanakan seluruh fungsi ini atau merakit
dari komponen middleware permainan lainnya. Jenis mesin umumnya disebut sebagai
“mesin grafis,” “mesin render,” atau “mesin 3D” bukan meliputi lebih istilah
“mesin permainan.” Terminologi ini tidak konsisten banyak digunakan sebagai
fitur lengkap mesin permainan 3D disebut hanya sebagai “mesin 3D.” Beberapa
contoh mesin grafis adalah: Crystal Space, Genesis3D, Irrlicht, JMonkey Engine,
OGRE, RealmForge, Truevision3D, dan Visi Engine. Modern permainan atau mesin
grafis umumnya memberikan grafik adegan, yang merupakan representasi
berorientasi objek dari dunia permainan 3D yang sering menyederhanakan desain
game dan dapat digunakan untuk rendering yang lebih efisien dari dunia maya
yang luas.
BAB 5
Efek Fisik Dalam Teknologi Game, Collision Detection
interaksi fisik ialah salah satu bentuk interaksi yang
terjadi jika ada dua orang atau lebih melakukan kontak dengan menggunakan
bahasa-bahasa tubuh. Contoh interaksi ini : posisi tubuh, ekspresi wajah, gerak-gerik
tubuh dan kontak mata.
Dalam lingkungan game, interaksi fisik dapat dimaksud dengan menyerap pengertian diatas, yaitu menjadi interaksi fisikialah salah satu bentuk interaksi yang terjadi jika ada dua objek atau lebih melakukan kontak. Kontak yang terjadi antara objek – objek tersebut umumnya adalah collision atau tabrakan.
Dalam lingkungan game, interaksi fisik dapat dimaksud dengan menyerap pengertian diatas, yaitu menjadi interaksi fisikialah salah satu bentuk interaksi yang terjadi jika ada dua objek atau lebih melakukan kontak. Kontak yang terjadi antara objek – objek tersebut umumnya adalah collision atau tabrakan.
Lalu, bagaimana objek digital tersebut dapat
memahami bahwa objek – objek tersebut (akan) mengalami collision?
Collision Detection
Collision Detection dibutuhkan untuk memastikan tidak ada
objek yang saling menembus.
Pada dasarnya, objek baik 2 dimensi maupun 3 dimensi pada Teknologi Game dan digital, secara umumnya objek – objek tersebut bukanlah objek yang memiliki kemampuan fisik, atau secara lain objek tersebut hanyalah susunan dari titik, garis, dan penampang yang terhubung satu sama lain, dan bisa dianggap bahwa objek tersebut hanyalah sebatas bentuk, tanpa memiliki kemampuan.
Agar objek – objek tersebut dapat mensimulasikan kemampuan fisik, objek – objek tersebut harus diberikan pemahaman dengan menggunakan aljabar linear dan komputasi geometri.
Komputasi geometri tersebut digunakan untuk memberikan batas pada objek. Walaupun objek tersebut terlihat sudah memiliki penampang, sebenarnya penampang tersebut bukanlah batasan dari sisi terluar objek tersebut. Oleh karena itu, komputasi geometri dibuat dengan parameter bentuk dan volume dari objek tersebut. Umumnya, bentuk batasan ini disebut bounding box ( batas kotak ).
Aljabar linear digunakan untuk memberitahukan bahwa, ketika batas tersebut terletak pada koordinat yang sama atau berpotongan dengan batas objek lain, maka objek – objek tersebut mensimulasikan tabrakan.
Pada awalnya, penggunaan algoritma untuk pendeteksian tabrakan ini bekerja dengan cara mudah, yaitu dengan cara mengecek apakah penampang dari batas objek A dengan penampang dari batas objek B akan saling berpotongan. Tentu saja hal tersebut akan bekerja. Tapi, bayangkan apabila objek yang digunakan sangat banyak. Setiap penampang dari batas objek A = [a1, a2, …, an] akan melakukan pengecekan sampai ke penampang dari batas objek N = [n1, n2, …, nn]. Mungkin algoritma ini akan bekerja dengan baik apabila hanya terdapat 2 objek dalam lingkungan tersebut.
Dalam perkembangan pendeteksian tabrakan, konfigurasi kemampuan fisik dari satu pergerakan ke pergerakan selanjutnya hanya berubah sedikit. Banyak objek – objek yang tidak bergerak sama sekali. Algoritma telah di desain sehingga perhitungan telah selesai untuk menentukan bahwa pergerakan terdahulu dapat digunakan kembali untuk pergerakan di masa kini, yang menghasilkan perhitungan selesai dengan lebih cepat.
Perkembangan tersebut tujuan nya hanya untuk mencari dan menentukan pasangan – pasangan dari objek – objek yang mungkin berpotongan. Pasangan – pasangan tersebut akan menganalisis pergerakan kedepannya.
Logikanya adalah setiap kotak direpresentasikan dengan tiga bentuk interval ( misalkan, sebuah kotak akan direpresentasikan dengan I1 x I2 x I3 = [a1, b1] x [a2, b2] x [a3, b3] ). Jika terdapat 2 kotak ( dengan bounding box nya masing – masing ) I1 x I2 x I3 dan J1 x J2 x J3 akan berpotongan jika, dan hanya jika, I1 berpotongan dengan J1, dan seterusnya. Maka, pada pergerakan tersebut dan untuk ke pergerakan selanjutnya, Ik dan Jk berpotongan, sehingga hal tersebut akan sama untuk pergerakan lainnya. Sebaliknya, jika mereka tidak berpotongan pada pergerakan sebelumnya, maka pergerakan mereka tidak akan berpotongan.
Sehingga untuk mengurangi masalah tersebut, dibuatkan tiga daftar interval ( satu untuk setiap sumbu, X,Y, dan Z). Maka dari itu didapat matriks n x n, M = (mij) dengan isi nol dan satu: mij adalah 1 jika interval i dan j berpotongan, dan 0 jika mereka tidak berpotongan.
Pada dasarnya, objek baik 2 dimensi maupun 3 dimensi pada Teknologi Game dan digital, secara umumnya objek – objek tersebut bukanlah objek yang memiliki kemampuan fisik, atau secara lain objek tersebut hanyalah susunan dari titik, garis, dan penampang yang terhubung satu sama lain, dan bisa dianggap bahwa objek tersebut hanyalah sebatas bentuk, tanpa memiliki kemampuan.
Agar objek – objek tersebut dapat mensimulasikan kemampuan fisik, objek – objek tersebut harus diberikan pemahaman dengan menggunakan aljabar linear dan komputasi geometri.
Komputasi geometri tersebut digunakan untuk memberikan batas pada objek. Walaupun objek tersebut terlihat sudah memiliki penampang, sebenarnya penampang tersebut bukanlah batasan dari sisi terluar objek tersebut. Oleh karena itu, komputasi geometri dibuat dengan parameter bentuk dan volume dari objek tersebut. Umumnya, bentuk batasan ini disebut bounding box ( batas kotak ).
Aljabar linear digunakan untuk memberitahukan bahwa, ketika batas tersebut terletak pada koordinat yang sama atau berpotongan dengan batas objek lain, maka objek – objek tersebut mensimulasikan tabrakan.
Pada awalnya, penggunaan algoritma untuk pendeteksian tabrakan ini bekerja dengan cara mudah, yaitu dengan cara mengecek apakah penampang dari batas objek A dengan penampang dari batas objek B akan saling berpotongan. Tentu saja hal tersebut akan bekerja. Tapi, bayangkan apabila objek yang digunakan sangat banyak. Setiap penampang dari batas objek A = [a1, a2, …, an] akan melakukan pengecekan sampai ke penampang dari batas objek N = [n1, n2, …, nn]. Mungkin algoritma ini akan bekerja dengan baik apabila hanya terdapat 2 objek dalam lingkungan tersebut.
Dalam perkembangan pendeteksian tabrakan, konfigurasi kemampuan fisik dari satu pergerakan ke pergerakan selanjutnya hanya berubah sedikit. Banyak objek – objek yang tidak bergerak sama sekali. Algoritma telah di desain sehingga perhitungan telah selesai untuk menentukan bahwa pergerakan terdahulu dapat digunakan kembali untuk pergerakan di masa kini, yang menghasilkan perhitungan selesai dengan lebih cepat.
Perkembangan tersebut tujuan nya hanya untuk mencari dan menentukan pasangan – pasangan dari objek – objek yang mungkin berpotongan. Pasangan – pasangan tersebut akan menganalisis pergerakan kedepannya.
Logikanya adalah setiap kotak direpresentasikan dengan tiga bentuk interval ( misalkan, sebuah kotak akan direpresentasikan dengan I1 x I2 x I3 = [a1, b1] x [a2, b2] x [a3, b3] ). Jika terdapat 2 kotak ( dengan bounding box nya masing – masing ) I1 x I2 x I3 dan J1 x J2 x J3 akan berpotongan jika, dan hanya jika, I1 berpotongan dengan J1, dan seterusnya. Maka, pada pergerakan tersebut dan untuk ke pergerakan selanjutnya, Ik dan Jk berpotongan, sehingga hal tersebut akan sama untuk pergerakan lainnya. Sebaliknya, jika mereka tidak berpotongan pada pergerakan sebelumnya, maka pergerakan mereka tidak akan berpotongan.
Sehingga untuk mengurangi masalah tersebut, dibuatkan tiga daftar interval ( satu untuk setiap sumbu, X,Y, dan Z). Maka dari itu didapat matriks n x n, M = (mij) dengan isi nol dan satu: mij adalah 1 jika interval i dan j berpotongan, dan 0 jika mereka tidak berpotongan.
Spatial Partitioning
Algoritma alternatif
di kelompokkan dibawah spatial partitioning, termasuk octress,
binary space partitioning ( BSP Trees ), dan yang lainnya yang
memiliki pendekatan yang serupa. Hal ini digunakan dengan membagikan sebuah
wilayah menjadi beberapa bagian, dan jika dua objek tidak terdapat pada bagian
yang sama, maka objek – objek tersebut tidak perlu dicek apakah akan berpotongan. BSP
Trees bisa memperhitungkan terlebih dahulu, yang mana pendekatan
tersebut sangat cocok untuk didefinisikan di dalam objek berbentuk tembok, dan
objek halangan yang tetap dalam sebuah game. Algoritma tersebut secara umum
lebih dulu diketahu daripada algoritma yang telah dijabarkan sebelumnya.
Bounding Boxes
Bounding boxes ( atau Bounding volumes )
seringnya digunakan untuk objek yang berbentuk persegi atau kubus, tetapi objek
dengan bentuk lainnya dapat menggunakannya. Bounding diamond, minimum
bounding parallelogram, convex hull, bounding circle, atau bounding
ball, dan bounding ellipse sudah diujicoba, tetapi bounding
boxes tetap menjadi algoritma yang popular karena simpel.
BAB 6
User Interface Pada
Game Komputer
User interface berarti tampilan antar muka pengguna. Jika
didefinisikan secara sederhana User interface adalah penghubung atau mediator
antar komputer dan manusia atau user komputer itu agar hubungan antara
perangkat komputer dengan user bisa terjalin. User interface sangat berperan
penting dalam dunia komputer karena dengan adanya user interface maka kemudahan
user dalam mengoprasikan suatu perangkat komputer menjadi lebih mudah.
Desain user interface
dalam game berbeda dari desain user interface lainnya karena melibatkan unsur
tambahan fiksi. Fiksi melibatkan avatardari pengguna yang sebenarnya atau
player. Sebuah desain interface pada suatu game mempengaruhi kenyamanan dan
sejauh mana user atau pemain meminati game tersebut. Dalam user interface
game, terdapat sebuah teori yang dikemukakkan oleh Erik Fagerholt dan Magnus
Loretzon dari Chalmers University of Technology. Dalam tesisnya mereka menulis
tesis tentang desain user interface berjudul Beyond the HUD – User
Interfaces for Increased Player Immersion in FPS Games. Mereka
memperkenalkan istilah berbagai jenis interface yang berkaitan dengan desain
video game.
HUD
itu sendiri kepanjangan dari Heads – up display, merupakan metode dimana
informasi secara visul disampaikan kepada pemain sebagai bagian dari antarmukan
pengguna permainan. 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.
Dalam
desain antarmuka game terdapat beberapa elemen yang diantaranya adalah :
1. Diegetic
Elemen user interface
yang diegetik ada dalam dunia permainan (fiksi dan geometris) sehingga pemain
dan avatar dapat berinteraksi dengan mereka melalui visual, audible atau
haptic. Elemen UI diegetik yang dieksekusi dengan baik dapat meningkatkan
pengalaman narasi untuk pemain, memberikan pengalaman yang lebih mendalam dan
terintegrasi. Salah satu game yang mengimplementasikan elemen diegetic adalah
Assassin’s Creed. Assassin’s Creed berhasil menggunakan banyak pola diegetic
meskipun itu diatur dalam dunia sejarah karena pemain pemain menggunakan sistem
virtual reality di masa depan. Jadi cerita sebenarnya futuristik daripada
sejarah
2. 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: Grand
Theft Auto 4 Berinteraksi dengan telepon di Grand Theft Auto 4 adalah contoh
menarik. Ini meniru interaksi dunia nyata – Anda mendengar dering telepon dan
ada penundaan sebelum karakter dan pemain menjawabnya. Elemen UI sebenarnya itu
sendiri muncul pada pesawat hub 2D, jadi itu benar-benar elemen Meta, meskipun
awal interaksi yang diegetik.
3. Spatial
Elemen User Interface
yang disajikan dalam ruang permainan 3D dengan atau tanpa suatu entitas dari
dunia permainan yang sebenarnya (diegetik atau non-diegetik).
Fable 3 adalah contoh
di mana unsur-unsur spatial yang digunakan untuk memberikan informasi lebih
kepada pemain dan mencegah mereka dari melompat ke layar peta. Jejak bersinar
hampir cocok dalam fiksi mengingat kualitas estetika ajaib itu tapi karakter
tidak dimaksudkan untuk menyadari hal itu. Ini memandu pemain ke tujuan
berikutnya.
4. Non-Diagetic
Antarmuka yang
diberikan di luar dunia game, hanya terlihat dan terdengar ke pemain di dunia
nyata desain interface ini semuanya mengunakan visual heads-up display (HUD).
semua menjadi sangat nyaman dengan penggunaan heads-up display (HUD) dalam
permainan. Sistem ini memberikan informasi penting dengan cara yang cukup
sederhana. Jika dilakukan dengan benar pemain bahkan tidak tahu itu ada. Mass
Effect 3 menggunakan banyak Non-diegetik elemen UI untuk menginformasikan
pemain senjata karakter dipilih dan kekuasaan – antara lain. Mengingat
pengaturan futuristik itu saya tidak bisa membantu untuk berpikir jika beberapa
informasi ini bisa telah terintegrasi ke dalam dunia game, narasi, atau bahkan
keduanya.
BAB 7
Visibility
Visibility merupakan
tampilan grafik scene game untuk computer. Yaitu mengenai bagaimana caranya
sebuah game agar terlihat menarik oleh user dan berkualitas sehingga user
menikmati game tersebut.
Pada sebuah video game
terdapat istilah scene 2.5 dimensi. Pada scene 2.5 dimensi ini memiliki
beberapa fitur yang tidak beda jauh dari 2 dimensi hanya saja ada beberapa
fitur tambahan seperti efek cahaya, bayangan dan sebagainya yang dibuat agar
seakan-akan menyerupai scene 3 dimensi. Teori 2.5 dimensi ini biasa juga
disebut dengan pseudo-3D sedangkan pada istilah game lebih dikenal dengan
isometric/diametric/trimetric projection.
1.1 gambar algoritma Ray Tracing
Game bertipe ini
menggunakan 2 macam tipe pemodelan yaitu :
- 3 Dimensi Object
Ini merupakan object 3
dimensi yang nantinya akan dijadikan sebagai karakter utama, bangunan, dan
object-object seperti senjata, musuh, permukaan tanah, pohon, dan bukit. Object
3 dimensi seperti ini bisa dibuat dengan menggunakan program seperti 3DS Max, Maya,
Hash, dan Blender.
- 2 Dimensi Graphic
Graphic 2 dimensi
berperan sebagai texture untuk object, sebagai latar belakang seperti langit
dan pemandangan, sebagai meteran untuk nyawa dan gambar untuk speedometer pada
game racing
1.2 Game dengan
sudut pandang isometric merupakan game 2D yang seolah olah menyerupai 3D
LEVEL of DETAIL
Pada komputer grafis,
akuntansi untuk tingkat detail melibatkan menurunkan kompleksitas representasi
objek 3D seperti bergerak menjauh dari penampil atau sesuai metrik lainnya
seperti objek penting, 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.
1.3 penerapan level of detail
2 Game dengan Jalan
Cerita dan Level yang menarik
- Deus Ex: Human Revolution
Deus Ex: Human
Revolution adalah judul ketiga dari seri Deus Ex yang dikembangkan oleh Eidos
Montreal dan dirilis pada bulan Agustus 2011. Permainan ini disambut para gamer
dengan pujian yang luar biasa, terutama untuk jalan cerita dan aspek-aspek dari
permainan yang sangat bergantung pada keputusan yang dibuat oleh pemain.
Game futuristik
bertema revolusi umat manusia di masa depan ini menawarkan empat jenis
gameplay: Combat, Hacking, Stealth dan Social. Pemain dapat bebas memilih jenis
gameplay yang digunakan tergantung pada situasi yang cocok. Sebagai contoh,
anda bisa melewati daerah tertentu menggunakan interaksi sosial seperti
bercakap-cakap dan memilih dialog yang tepat, tanpa perlu beradu tembak maupun
membunuh seorang musuh pun. Pemain bahkan dapat menerima trofi khusus apabila
mampu menyelesaikan permainan tanpa membunuh satu orang NPC-pun.
Deus Ex: Human
Revolution adalah permainan yang sangat taktis, dan keunggulan dari jalan
cerita permainan ini terletak pada tangan anda sendiri, selaku seorang gamer
sekaligus tokoh utama.
- Mass Effect 3
Mass Effect adalah
game trilogi RPG bertema fiksi ilmiah yang dikembangkan oleh BioWare. Semua
game dalam serial ini diakui memiliki kualitas yang sangat baik secara
keseluruhan. Serial ini telah merevolusi video game dari sekedar permainan
menjadi sebuah media untuk bercerita, seperti layaknya menyaksikan sebuah film
di mana anda bisa terlibat secara langsung dan aktif di dalamnya. Alur cerita
di serial ini benar-benar fantastis, di mana anda bisa memilih untuk menjadi
seorang pasukan angkasa yang baik hati, atau komandan militer yang tak kenal
ampun dalam mengorbankan anak buahnya. Ada ratusan misi yang bisa anda
mainkan dalam permainan ini, dan semuanya disajikan dengan cerita yang
benar-benar brilian. Jika anda mencari sebuah RPG dengan storyline
yang memukau, maka Mass Effect 3 harus anda mainkan sesegera mungkin, sebelum
serial keempatnya dirilis ke pasaran.
BAB 8
Game Berjaringan
Seiring dengan
perkembangan teknologi, inovasi yang terus menerus, mengakibatkan banyak muncul
game komputer yang menyediakan fasilitas untuk dapat bermain dalam suatu
jaringan komputer (network). Fasilitas jaringan komputer (network) memungkinkan
game dapat dimainkan oleh beberapa orang sekaligus dengan menggunakan beberapa
buah komputer yang terhubung satu dengan yang lainnya, menyebabkan game yang
menggunakan papan semakin tersisih. Oleh karena itu dibutuhkan aplikasi yang
menggantikan game papan agar tidak tersisihkan dan terlupakan.
Game jaringan sering
juga disebut multiplayer game, dapat dimainkan oleh beberapa user sekaligus
dalam suatu jaringan (jaringan lokal LAN atau jaringan internet). Game jaringan
sangat populer karena alasan kenyamanan ruang (space). User tidak perlu berebut
pandangan dalam satu monitor dengan user lain, user dapat merancang strategi
permainan di depan komputernya sendiri, tidak terbatas oleh ruang. Game
jaringan yang sederhana dapat dibuat dengan menggunakan aplikasi Visual Basic
dan menggunakan komponen Winsock. Berdasarkan uraian di atas, penulis bermaksud
untuk merancang suatu perangkat lunak permainan Halma yang dapat dimainkan
dalam suatu jaringan komputer (network).
SEJARAH PERKEMBANGAN
GAME ONLINE
Sejarah game online
inilah perjalanan sejarah game online permainan daring dimulai sejak tahun
1969, ketika permainan untuk dua orang dikembangkan dengan tujuan awal untuk
pendidikan. Kemudian pada awal tahun 1970, sebuah sistem dengan kemampuan
time-sharing, yang disebut Plato, diciptakan untuk memudahkan siswa belajar
secara online, di mana beberapa pengguna dapat mengakses komputer secara
bersamaan menurut waktu yang diperlukan. Dua tahun kemudian, muncul Plato IV
dengan kemampuan grafik baru, yang digunakan untuk menciptakan permainan untuk
banyak pemain (multiplayer games).
Permainan daring
benar-benar mengalami perkembangan setelah tahun 1995, pembatasan NSFNET
(National Science Foundation Network) dihapuskan, membuat akses ke domain
lengkap dari internet. Kesuksesan moneter menghampiri perusahaan-perusahaan
yang meluncurkan permainan ini, sehingga persaingan mulai tumbuh dan menjadikan
permainan daring semakin berkembang hingga hari ini.
Permainan Daring
(Online Games) adalah jenis permainan komputer yang memanfaatkan jaringan
komputer (LAN atau internet), sebagai medianya. Biasanya permainan daring
disediakan sebagai tambahan layanan dari perusahaan penyedia jasa online, atau
dapat diakses langsung melalui sistem yang disediakan dari perusahaan yang
menyediakan permainan tersebut.
Permainan daring
terdiri dari banyak jenis, dari mulai permainan sederhana berbasis teks hingga
permainan yang menggunakan grafik kompleks dan membentuk dunia virtual yang
ditempati oleh banyak pemain sekaligus.
Dalam permainan
daring, ada dua unsur utama, yaitu server dan client. Server melakukan
administrasi permainan dan menghubungkan client, sedangkan client adalah
pengguna permainan yang memakai kemampuan server.
Permainan daring bisa
disebut sebagai bagian dari aktivitas sosial karena pemain bisa saling
berinteraksi secara virtual dan seringkali menciptakan komunitas maya.
TIPE – TIPE GAME
ONLINE
FPS adalah game Tembak-tembakan, pukul-pukulan, tusuk-tusukan yang menggunakan sudut pandang orang pertama. Biasanya kita hanya bisa melihat tangan dari character kita. Contoh game ini FPS adalah (Call of Duty, Counter Strike, Far Cry 3)
RTS (Real Time Strategy). Game ini biasanya bersifat turn based ataupun bisa dimainkan secara bersamaan, identik dengan bermain melawan human intelegent (manusia vs manusia) yang biasanya menggunakan LAN ataupun Internet. Game ini bisa dikatakan game perang-perangan. Contoh game RTS adalah (DOTA, StarCraft, Civilization)
RPG (Role Playing Game). Game ini memiliki unsur yang unik, karena biasanya tidak ada tamat dalam game seperti ini (Kalaupun tamat, hanya ceritanya saja, dan kalian masih bisa leveling atau grinding sesuka hati). Kalian akan menjalankan sebuah main character yang bisa kalian costumize, mencari uang, membangun koneksi dengan NPC (non playable player) dan sebagainya. Contoh dari game RPG adalah (KOA, Skyrim, The Witcher).
Cross-Platform Online, merupakan game yang dapat dimainkan secara online dengan hardware yang berbeda misalnya saja need for speed undercover dapat dimainkan secara online dari PC maupun Xbox 360(Xbox 360 merupakan hardware/console game yang memiliki konektivitas ke internet sehingga dapat bermain secara online).
Browser Games,
merupakan game yang dimainkan pada browser seperti Firefox, Opera, IE. Syarat
dimana sebuah browser dapat memainkan game ini adalah browser sudah mendukung
javascript, php, maupun flash.
Massive Multiplayer
Online Games, adalah game dimana pemain bermain dalam dunia yang skalanya besar
(>100 pemain), setiap pemain dapat berinteraksi langsung seperti halnya
dunia nyata.
BERDASARKAN TEKNOLOGI
GRAFIS
2 Dimensi, game yang
mengadopsi teknologi ini rata-rata game yang termasuk ringan, tidak membebani
system. Tetapi game dengan kualitas gambar 2D tidak enak dilihat apabila
dibandingkan dengan game 3D sehingga rata-rata game online sekarang mengadopsi
teknologi 2,5D yaitu dimana karakter yang dimainkan masih berupa 2D akan tetapi
lingkungannya sudah mengadopsi 3D.
3 Dimensi, game
bertipe 3 DImensi merupakan game dengan grapis yang baik dalam penggambaran
secara realita, kebanyakan game-game ini memiliki perpindahan kamera (angle)
hingga 360 derajat sehingga kita bisa melihat secara keseluruhan dunia games
tersebut. Akan tetapi game 3D meminta spesifikasi komputer yang lumayan tinggi
agar tampilan 3 Dimensi game tersebut ditampilkan secara sempurna.
DAMPAK BAIK DAN BURUK
DARI GAME ONLINE
Game online muncul
tidak hanya mempengaruhi kehidupan social pemainnya dalam dunia nyata tetapi
juga terkadang mempengaruhi kejiwaan seseorang apabila memainkannya terlalu
lama. Seperti ingin menjadi sosok yang ada di dalam game dan kemudian melakukan
tindakan kriminal ke orang sekitar yang bisa di bilang tidak tahu apa-apa(normal).
Atau mempengaruhi emosional yang bisa jadi merugikan orang lain.
Akan tetapi dari segi
bisnis, game online masih memiliki prospek bagus kedepannya. Dengan kehadiran
games online ini, orang-orang bisa menciptakan lapangan kerja sendiri yaitu
games center, atau menjadi pengembang games sehingga dapat mengurangi angka
pengangguran. Game online juga bisa meningkatkan kemampuan bekerja sama pada
otak anak dan menghasilkan uang.
Langganan:
Postingan
(
Atom
)