Tugas
Softskill Pertama
Pengertian Teknologi Game
Teknologi game terdiri dari 2 kata, yaitu teknologi dan
game. Pertama pengertian dari teknologi. Kata teknologi sebenarnya berasal dari
Bahasa Perancis yaitu La Teknique yang dapat diartikan dengan semua
proses yang dilaksanakan dalam upaya untuk mewujudkan sesuatu secara rasional.
Dalam hal ini yang dimasukkan dengtan sesuatu tersebut dapat saja berupa benda
atau konsep, pembatasan cara yaitu secara rasional adalah penting sekali dipahami
disini sedemikian pembuatan atau pewujudan sesuatu tersebut dapat dilaksanakan
secara berulang.
Teknologi dalam arti ini dapat diketahui melalui
barang-barang, benda-benda atau alat-alat yang berhasil dibuat oleh manusia
untuk memudahkan dan menggampangkan realisasi hidupnya didalam dunia. Hal mana
juga memperlihatkan tentang wujud dari karya cipta dan karya seni menusia. Dari
sini muncul istilah teknologi yang berarti ilmu yang mempelajari
tentang techne manusia. Teknologi sebenarnya lebih dari sekedar penciptaan
barang, benda atau alat lain. Teknologi bahkan telah menjadi suatu sisyem atau
struktur dalam eksistensi manusia di dalam dunia. Teknologi juga membentuk dan
menciptakan suatu komunitas manusia yang lain. Teknologi juga penerapan keilmuan
yang mempelajari dan mengembangkan kemampuan dari suatu rekayasa dengan langkah
dan teknik tertentu dalam suatu bidang.
Dan yang kedua adalah pengertian dari Game. Game adalah
sesuatu yang sangat digemari oleh anak-anak hingga orang dewasa. Game berarti hiburan.
Permainan game juga merujuk pada pengertian sebagai kelincahan intelektual
(intellectual playability). Sementara kata game bisa diartikan sebagai arena
keputusan dan aksi pemainnya. Ada target-target yang ingin dicapai pemainnya.
Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana
game itu menarik untuk dimainkan secara maksimal.
Beberapa waktu lalu istilah game yang dalam bahasa Indonesia adalah
permainan identik dengan anak-anak selaku pemain. Tentunya dalam
permainan itu suatu kegiatan yang dilakukan oleh anak-anak yang menurut mereka
itu dapat menyenangkan hati mereka. Segala bentuk kegiatan yang memerlukan
pemikiran, kelincahan intelektual dan pencapaian terhadap target tertentu dapat
dikatakan sebagai game. Tetapi yang akan dibahas pada kesempatan ini adalah
game yang terdapat di komputer, baik off line maupun online.
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.
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.
Jadi dapat kita simpulkan bahwa teknologi game adalah proses
baik berupa yang dilakukan system atau perangkat keras yang dilaksanakan dalam
upaya untuk mewujudkan dan mendukung kinerja dari game.
Bisnis dalam Game Komputer
Bisnis dalam game komputer berkembang pesat seiring dengan
berkembangnya teknologi canggih saat ini. Dahulu kita hanya dapat menikmati
game yang tersedia di dalam komputer itu sendiri, seperti pinball dan
solitaire. Namun sekarang sudah tersedia game online, dan juga game yang dapat
didownload baik free maupun berbayar. Games berbayar juga merupakan bisnis
karena sama saja dengan kita mengeluarkan uang untuk membeli sebuah barang.
Games berbayar ini biasanya memberikan kepuasan tersendiri bagi pembelinya,
karena terdapat fitur yang bagus di dalamnya.
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. Industri game memang masih terbilang baru di
Indonesia. Kendati begitu, perkembangannya sudah sangat pesat dan menjadi
bisnis yang sangat menggiurkan. Penyebab utamanya adalah berkembangnya era
teknologi dan komunikasi. Perkembangan ini terlihat dari banyaknya game center
yang terus bermunculan, terutama yang menyediakan jasa game online. Bukan tanpa
alasan game online menjadi semakin marak dan digandrungi, karena fasilitas
online memungkinkan sebuah game dapat dimainkan oleh 100 orang lebih secara
bersama-sama dalam satu waktu.
“Bisnis game online di dalam negeri masih besar, disebabkan
ekonomi Indonesia yang tumbuh di atas 6% dari tahun ke tahun. Besarnya potensi
pasar tersebut memberikan dukungan kepada Megaxus untuk tetap eksis,” kata Eva
Mulawati, Managing Director PT. Megaxus Infotech dalam peluncurangame ‘Heroes
of Atarsia’ di Senayan City, Jakarta.
“(Bahkan) jumlah pemain game online Indonesia meningkat
antara 5% hingga 10% setiap tahunnya, terutama karena semakin pesatnya
infrastruktur internet,” tambahnya.
Masuknya game online ke Indonesia sendiri baru terjadi pada
tahun 2001 dengan masuknya Nexia Online. Sejak saat itu, berbagai game dari
masing-masing genre seperti action, sports, hingga RPG (Role-Playing Game)
terus bermunculan.
3D Engine pada Game
Game 3D modern yang dipasaran sekarang. Sebutlah Crysis,
Half-Life, Far Cry, Call of Duty, dll, memakai 3D engine mereka sendiri yang
tidak lain adalah "otak" yang merender semua realita semu ke mata
Anda.
3D game engines ini adalah produk yang kompleks yang terdiri
dari gabungan matematika dan programming. Di thread ini saya pengen kupas
sedikit dasar pengetahuan tentang 3D game engine.
Secara spesifik, game engine bekerja dengan mengunakan point
(titik) dan vektor, dan semua pendukungnya. Dasar pengetahuan ini meliputi
sedikit aljabar dan object-oriented programming.
Dasar dari Sistem Koordinat
Game 3 dimensi tentu harus...3 dimensi. Konsep yang paling
sering dipake buat membuat ruang 3D adalah sistem koordinat Kartesius
(pelajaran anak SMA dan juga dipake di AutoCAD).
Points dan Vektor
Setelah paham dasar dari koordinat, sekarang masuk ke bagian
titik dan vektor. Atau lebih tepatnya, bagaimana semua elemen beriteraksi
antara satu dengan yang lainnya. Point dan Vektor adalah 2 elemen yang berbeda.
Point atau titik, adalah lokasi. Sementara Vektor adalah jarak antara dua
titik.
Setelah paham konsep dari point dan vektor, pengembang bisa
buat wireframe rendering. Ini kemudian diikuti ole rasterization dan gouraud
shading dan terakhir, tekstur.
Transformasi ini disingkat menjadi
- Sebuah objek 3D di sumbu Kartesius.
- Objek tersebut dipindah (transformasi) ke dunia 3D virtual dengan translasi, rotasi atau dilatasi dengan matrix.
- Kamera kemudian akan melihat objek 3D ini di dunia 3D virtual.
- Hasil final adalah objek yang dirender secara 3D di layar.
- Objek tersebut dipindah (transformasi) ke dunia 3D virtual dengan translasi, rotasi atau dilatasi dengan matrix.
- Kamera kemudian akan melihat objek 3D ini di dunia 3D virtual.
- Hasil final adalah objek yang dirender secara 3D di layar.
Menggabungkan Semuanya dalam Engine
Setelah semua variabel ada di tangan, informasi yang didapat
udah cukup untuk membuat class yang akan ada di inti dari semua 3D game engine:
point class dan vektor class.
Desain Skenario, Script dan Story Board pada Game
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.
AI Pada Game
AI atau biasa disebut kecerdasan buatan merupakan kecerdasan
yang diciptakan dan dimasukkan ke dalam suatu mesin (komputer) sehingga dapat
melakukan pekerjaan seperti yang dapat dilakukan oleh manusia. Contohnya jika
kita bermain game lawannya yaitu komputer, dan kecerdasan pada komputer
biasanya pada game ditentukan oleh level. Lawan kita itulah yang dinamakan AI,
telah dirancang sedemikian rupa sehingga memiliki kemampuan yang berbeda-beda.
Penggunaan AI pada game sendiri terdapat 2 macam yang
masing-masing memiliki karakteristik yang berbeda-beda diantaranya adalah
seperti dibawah ini:
A. Decision Making
Decision Making merupakan serangkaian algoritma yang
dirancang sedemikian rupa dengan cara memasukkan beberapa kemungkinan langkah
yang bisa diambil oleh suatu aplikasi. Decision Making pada game memberikan
kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil. Cara
kerja dari Decision Making adalah dengan menentukan satu pilihan diantara
banyak list yang telah dibuat pada algoritma yang dirancang.
Decision Making sendiri terbagi menjadi 3 bagian yakni :
1. Decision Tree
Decision Tree atau biasa disebut pohon keputusan merupakan
metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon
keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang
mempresentasikan aturam. Aturannya dapat dengan mudah dipahami dengan bahasa
yang alami. Aturan ini juga dapat diekspresikan dalam bentuk bahasa basis data
seperti SQL untuk mencari record pada kategori tertentu. Selain itu, pohon
keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan
tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target.
Karena pohon keputusan memadukan antara eksplorasi data dan pemodelan, pohon
keputusan ini sangat bagus sebagai langkah awal dalam proses pemodelan bahkan
ketika dijadikan sebagai model akhir dari beberapa teknik lain (J R Quinlan,
1993).
2. State Machine
FSM(Finite State Machines) merupakan sebuah metodologi
perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja
sistem dengan menggunakan tiga hal berikut :
State(Keadaan)
Event(Kejadian)
Action(Aksi)
Pada suatu saat ketika periode waktu yang cukup signifikan,
sistem akan berada pada salah state yang aktif. Kemudian sistem dapat beralih
atau bertransisi menuju state yang lain jika mendapatkan suatu masukan atau
event tertentu, baik yang berasal dari perangkat luar ataupun komponen dalam
sistemnya itu sendiri. Transisi keadaan ini biasanya disertai oleh aksi yang
dilakukan oleh sistem ketika menanggapi masukan. Aksi yang dilakukan dapat
berupa aksi yang sederhana atau bisa melibatkan rangkaian proses yang relative
kompleks.
3. Rule System
Rule Based System merupakan metode pengambilan keputusan
yang berdasarkan pada aturan-aturan tertentu yang telah ditetapkan. RBS dapat
diterapkan pada agen virtual dalam bentuk kecerdasan buatan sehingga dapat
melakukan tindakan tertentu. Tindakan tersebut dipresentasikan oleh set aturan
yaitu penyebab, proses dan hasil dari tindakan yang dilakukan.
RBS merupakan sistem yang baik jika menjawab pertanyan
mengenai What(Apa), How(Bagaimana), dan Why(Mengapa) dari Rule Base(RB) selama
proses inferensia. Jawaban serta penjelasannya dapat disediakan dengan baik.
B. Path Finding
Metode Path Finding seringkali dijumpai pada game yang
bergenre strategi, dimana kita sebagai user menunjuk satu karakter untuk
digerakkan ke lokasi tertentu dengan cara mengklik lokasi yang akan dituju.
Maka, si karakter tersebut akan bergerak ke arah yang telah ditentukan, dan
secara “cerdas” dapat menemukan jaur terpendek ataupun menghindari rintangan
yang ada.
Metode pada Path Finding terbagi menjadi 4 bagian yakni:
1. Waypoints
Merupakan titik acuan/kumpulan koordinat yang digunakan
untuk keperluan navigasi. Maksud dari keperluan navigasi disini adalah
mengidentifikasi sebuah titik dipeta. Disetiap koordinat biasanya menyertakan
longitude, latitude, dan terkadang altitude untuk keperluan navigasi di udara.
2. A* Searching
Algoritma A* merupakan yang sering digunakan pada game yang
menggunakan metode pathfinding. Algoritma ini dipilih karena A* sangat mudah
untuk diimplementasikan dan sangat efisien. Dengan menggunakan algoritma A*
kita dapat menentukan jalur terpendek. Pada algotitma ini akan menyeleksi
dengan cara membuang langkah yang tidak perlu dengan mempertimbangkan bahwa
langkah yang dibuang dipastikan tidak mencapai solusi yang diinginkan.
Prinsip dari algoritma ini yaitu dengan cara mencari jalur
terpendek dari sebuah simpul awal (Starting Point) menuju ke simpul tujuan
dengan memperhatikan harga (F) terkecil. Algoritma A* akan memperhitungkan cost
dari current state ke tujuan dengan fungsi heuristic, selain itu algoritma ini
juga mempertimbangkan cost yang telah ditempuh selama ini dari initial state ke
current state. Jadi maksudnya jika jalan yang telah ditempuh terlalu panjang
dan ada jalan lain yang cost nya lebih kecil tetapi memberikan posisi yang sama
jika dilihat dari goal, maka jalan yang lebih pendeklah yang akan dipilih.
3. Dijkstra
Algoritma Dijkstra yang dinamai penemunya yakni seorang
ilmuwan komputer, Edsger Dijkstra merupakan sebuah algoritma yang rakus atau
biasa dikenal dengan algoritma greedy. Algoritma ini biasa dipakai dalam
memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah
graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang
bernlai positif.
4. Tactical Pathfinding
Tactical Pathfinding merupakan algoritma pencarian jalur
yang bisa melakukan pencarian jalur terpendek dengan menghitung bobot ancaman.
Implementasi algoritma ini dapat memberikan gerakan taktis pada non-player
character. Algoritma ini dilakukan berdasarkan algoritma pencarian jalur A*
yang ditambah dengan perhitungan bobot.
Referensi :
http://rafiqamalyah.blogspot.co.id/2013/05/pengertian-teknologi-game.html
https://septianbudiuntoro.wordpress.com/2016/04/19/artificial-intelligence/