Selasa, 17 April 2018

Game


BAB I
Telnologi game :
·        Teknologi Game Generasi Pertama (1952-1975)
Teknologi Game pertama kali diciptakan oleh A.S. Douglas tahun 1952 di Universty of Cambridge yaitu OXO untuk mendemonstrasikan tesisnya mengenai interaksi antara komputer dan manusia. Kemudian Douglas berkreasi lagi dengan menciptakan game versi Tic-Tac-Toe yang diprogram pada komputer EDSAC vaccum-tube yang memiliki layar CRT (Cathode Ray Tube). Kemudian William Higinbotham menciptakan game Tennis for Two pada tahun 1958 yang dimainkan di osiloskop. Pada tahun 1961 Steve Russel membuat game bernama Spacewar karena ketertarikannya dengan kisah fiksi ilmiah karangan Edward E Smith yang berjudul Skylark. Video game mengalami awal perkembangan pada tahun 1996 oleh mahasiswa-mahasiswa pada tahun itu memanfaatkan fasilitas teknologi yang ada di kampusnya untuk menyalurkan kreatifitas. Kemudian menjadi lebih berkembang lagi ketika untuk pertama kalinya dirilis perngkat video game pada tahun 1972 untuk pasar rumahan Magnavox Odyssey yang dihubungkan dengan televisi.

·        Teknologi Game Generasi Kedua (1976-1983)
Pada tahun 1976, dunia game dihidupkan kembali oleh Fairchild dengan karyanya yaitu VES (Video Entertainment System). Di generasi kedua ini menjadi primadona konsol game yang diantaranya adalah Fairchild Channel F, Magnavox Odyssey versi 2, Attari 2600, dan Attari 5200. Generasi kedua ini juga ditandai dengan game Arcade 3D pertama keluaran Atari yaitu Battlezone, Pac-Man keluaran Namco, Game & Watch seri video game-handheld keluaran Nintendo, dan juga APF yang mengeluarkan Imagination Machine yang merupakan add-on komputer untuk video game rumahan APF MP-100.

·        Teknologi Game Generasi Ketiga (1983-1986)
Konsol bernama Famicon/Nintendo Entertainment System (NES) yang dirilis di akhir tahun 1983 menjadi gebrakan baru yang diciptakan oleh perusahaan bernama FAMICOM di Jepang. Konsol yang diciptakan FAMICOM ini merupakan konsol yang pertama kali menampilkan gambar dan animasi resolusi tinggi. Kemudian muncul game legendaris yang sampai saat ini masih memiliki banyak peminat, yaitu Super Mario. Di era ini produksi Nintendo mendominasi di Amerika dan merajai pasar video game, sehingga terjadi perang konsol game antara perusahaan konsol game Nintendo dengan SEGA.







·        Teknologi Game Generasi Keempat (1988-1993)
Pada tahun 1988, Nintendo mendapatkan sambutan hangat oleh dunia. SEGA yang menyaingi Nintendo, merilis generasi konsol selanjutnya yaitu Sega Mega Drive. Pada tahun 1990 nintendo kembali mengeluarkan konsol generasi baru mereka, yaitu SNES (Super Nintendo Entertainment System). Kemudian SEGA melanjutkan produksi di tahun 1991 dengan game Sonic the Hedgehognya. Game tersebut juga membuat para pencinta game kareka kualitasnya yang jauh lebih baik daripada Super Mario ciptaan Nintendo.

·        Teknologi Game Generasi Kelima (1994-1999)
Di Teknologi Game generasi lima inilah muncul konsol game yang bernama playstation yang diluncurkan oleh Sony. Generasi ini juga bisa disebut dengan era konsol 32 bit. Konsol berbasis CD keluaran Sony.

·        Teknologi Game Generasi Keenam (2000-Sekarang)
Teknologi Game generasi enam ini masih dikuasai oleh Sony. Sampai saat ini sony sudah meluncurkan Playstation versi 3, dan disusul versi ke 4.

Bisnis dalam game komputer
bisnis dalam game komputer itu beragam, Seperti kita dituntut melakukan pembayaran untuk game tersebut. Maksud dari pembayaran ini adalah bagaimana perusahaan game online mendapatkan uang dari gamesnya. Bedasarkan kategori ini games online dapat dibedakan menjadi 2 yaitu :
1.      Pay Per Item, game yang berada pada category ini merupakan game yang bisa diinstall atau dimainkan secara gratis, dan game ini biasanya mengenakan biaya pada pemainnya apabila pemainnya ingin cepat menaikkan level atau membeli barang (item) langka yang tidak pernah dijumpai pada permainan. Jenis game seperti ini yang paling dijumpai di Indonesia. Contoh: Gunbound, Ragnarok, Ghost Online,dll.

2.      Pay per Play, game ini harus dibeli dan diinstal secara legal karena pada saat diinstal game terebut akan mendaftarkan pemain ke internet langsung dan apabila yang diinstal adalah program bajakan maka secara otomatis system akan memblokirnya. Contoh: War of Warcraft,dll.




Scene Graph
adalah suatu teknik pengelolaan data atau struktur data yang biasanya dipakai pada suatu aplikasi rekayasa grafis berbasis vektor dan pemodelan tiga dimensi baik itu untuk keperluan video game ataupun yang lainnya dengan menggunakan konsep graf berarah dan pohon m-ary. Beberapa program yang menggunakan Scene Graph ini adalah AutoCad, Adobe Illustrator, Corel Draw, dll. Pengertian teoritis dari Scene Graph ini sebenarnya tidak jelas atau kabur dikarenakan para programmer yang menggunakan Scene Graph pada sebuah aplikasi hanya mengambil prinsip dasarnya lalu mengimplementasikannya pada aplikasi tersebut sesuai fungsi dari aplikasi tersebut.
Game Maker
Game maker merupakan aplikasi game editor yang bersifat free atau gratis. Software ini bisa digabungkan dengan bahasa pemograman lain seperti C++, berguna bagi yang ingin membuat game bertipe Arcade(2D), Game maker memungkinkan untuk membuat permainan dengan menggunakan drag-and-drop sederhana,sehingga tidak perlu memiliki pengalaman coding sebelumnya. Aplikasi yang digunakan dalam game maker :
1.      v System Operasi : Windows Me/2000/XP/Vista
2.      v Prosesor : Min P3-500,rekomendasi Intel Pentium Core 2 Quad
3.      v Memori : Min 512 MB,rekomendasi 2 GB
4.      v Harddisk : free space 250 MB
5.      v VGA Card : Support OpenGL & Direct X
6.      v Direct X9.oc
7.      v Speaker multimedia
Komponen pada game maker :
1.      v Sprite
Sprite merupakan visualisasi gambar yang akan digunakan untuk mempresentasikan objek pada game. Sprite dapat berupa gambar diam dan dapat juga gambar animasi.
2.      v Object
Object digunakan sebagai fungsi variable game. Pada fungsi ini,sprite yang telah dibuat akan didefinisikan dengan memberikan event dan action
3.      v Background
Background digunakan untuk memberikan tampilan pada game dalam bentuk gambar
4.      v Room
Room digunakan untuk menerapkan objek pada ruang game, room dapat juga disebut dengan level game.


Ogre 3d
Hal penting tentang adegan grafik adalah bahwa transformasi adalah relatif terhadap induk dari node. Jika kita mengubah orientasi orang tua, anak-anak juga akan terpengaruh oleh perubahan ini. Ketika kita bergerak induk 10 unit sepanjang sumbu x, semua anak juga akan dipindahkan oleh 10 unit sepanjang sumbu x. Orientasi akhir dari setiap anak dihitung dengan menggunakan orientasi semua orang tua.
Fitur produktivitas :
·         Sederhana , mudah digunakan OO dirancang untuk meminimalkan upaya yang diperlukan untuk membuat adegan 3D , dan untuk menjadi independen dari implementasi 3D yaitu Direct3D / OpenGL .
·         Misalnya kerangka extensible membuat mendapatkan menjalankan aplikasi Anda cepat dan sederhana
·         persyaratan umum seperti membuat manajemen negara , pemusnahan spasial , berhubungan dengan transparansi dilakukan untuk anda secara otomatis menghemat waktu yang berharga
·         Bersih , desain rapi dan dokumentasi penuh dari semua kelas mesin
·         Terbukti , mesin stabil digunakan dalam beberapa produk komersial

Platform & API 3D dukungan :
·         Direct3D 9 & 11 , OpenGL (termasuk . ES , ES2 , ES3 dan OGL3 +) dan WebGL (Emscripten) dukungan Jendela (semua versi utama) , Linux , Mac OSX , Android , iOS , Windows Phone & WinRT
·         dukungan Didasarkan pada berbagai kompiler seperti MSVC , GCC 3+ atau dentang








BAB II
Design 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. 
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, karakteristik game, contoh misi, atau situasi-situasi dalam game dan bisa juga diferensiasi perangkat pengguna atau ada efek-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.
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. 
1.      Script adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam situs yang pada saat di akses.
2.      Jenis script sangat menentukan statis, dinamis, atau interaktifnya sebuah situs.
3.      Semakin banyak script yang digunakan maka akan terlihat semakin dinamis, dan interaktif serta terlihat lebih bagus.
4.      Bahasa dasar yang di pakai setiap situs adalah HTM
5.      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.
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 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.















BAB III
Artificial Intelligence pada Game
Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan (artificial intelligence). 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.
Decision Making
Decision Making adalah serangkaian algoritma yang dirancang dengan memasukan beberapa kemungkinan langkah yang bisa diambil oleh suatu aplikasi, Pada game ini decision making memberikan kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil. Decision making dilakukan dengan cara menentukan satu pilihan dari list yang sudah dibuat pada algoritma yang dirancang. Algoritma decision making kerap digunakan dalam aplikasi game, akan tetapi algoritma decision making dapat diimplementasikan pada banyak aplikasi lain. Decision Making terbagi menjadi 3 yaitu sebagai berikut.
       I.            Decision Tree


Pohon Keputusan (Decision Tree) merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan aturan. Aturan dapat dengan mudah dipahami dengan bahasa alami. Aturan ini juga dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari record pada kategori tertentu. Pohon keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target. Karena pohon keputusan memadukan antara eksplorasi data dan pemodelan, pohon keputusan ini sangat bagus sebagai langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir dari beberapa teknik lain(J R Quinlan, 1993).
Sebuah pohon keputusan adalah sebuah struktur yang dapat digunakan untuk membagi kumpulan data yang besar menjadi himpunan-himpunan record yang lebih kecil dengan menerapkan serangkaian aturan keputusan. Anggota himpunan hasil menjadi mirip satu dengan yang lain dengan masing-masing rangkaian pembagian. Sebuah model pohon keputusan terdiri dari sekumpulan aturan untuk membagi sejumlah populasi yang heterogen menjadi lebih kecil, lebih homogen dengan memperhatikan pada variabel tujuannya. Sebuah pohon keputusan mungkin dibangun dengan seksama secara manual, atau dapat tumbuh secara otomatis dengan menerapkan salah satu atau beberapa algoritma pohon keputusan untuk memodelkan himpunan data yang belum terklasifikasi (Tan dkk, 2004).
Variabel tujuan biasanya dikelompokkan dengan pasti dan model pohon keputusan lebih mengarah pada perhitungan probabilitas dari masing-masing record terhadap kategori-kategori tersebut, atau untuk mengklasifikasi record dengan mengelompokkannya dalam satu kelas. Pohon keputusan juga dapat digunakan untuk mengestimasi nilai dari variabel kontinyu, meskipun ada beberapa teknik yang lebih sesuai untuk kasus ini.
Kelebihan dari metode pohon keputusan adalah:
1.      Daerah pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan spesifik
2.      Eliminasi perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode pohon keputusan maka sampel diuji hanya berdasarkan kriteria atau kelas tertentu
3.      Fleksibel untuk memilih fitur dari node internal yang berbeda, fitur yang terpilih akan membedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama. Kefleksibelan metode pohon keputusan ini meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional
4.      Dalam analisis multivarian, dengan kriteria dan kelas yang jumlahnya sangat banyak, seorang penguji biasanya perlu mengestimasikan baik itu distribusi dimensi tinggi ataupun parameter tertentu dari distribusi kelas tersebut. Metode pohon keputusan dapat menghindari munculnya permasalahan ini dengan menggunakan kriteria yang jumlahnya lebih sedikit pada setiap node internal tanpa banyak mengurangi kualitas keputusan yang dihasilkan.
Kekurangan pada pohon keputusan adalah:
1.      Terjadi overlapping terutama ketika kelas-kelas dan kriteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan
2.      Pengakumulasian jumlah kesalahan dari setiap tingkat dalam sebuah pohon keputusan yang besar
3.      Kesulitan dalam mendesain pohon keputusan yang optimal
4.      Hasil kualitas keputusan yang didapatkan dari metode pohon keputusan sangat tergantung pada bagaimana pohon tersebut didesain.
Pohon keputusan adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. Salah satu algoritma induksi pohon keputusan yaitu ID3 (Iterative Dichotomiser 3). ID3 dikembangkan oleh J. Ross Quinlan. Dalam prosedur algoritma ID3, input berupa sampel training, label training dan atribut. Algoritma Decision Tree C4.5 merupakan pengembangan dari ID3. Sedangkan pada perangkat lunak open source WEKA mempunyai versi sendiri dari C4.5 yang dikenal sebagai J48.
    II.            State Machine




Finite State Machines (FSM) adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada satu saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri (misal interupsi timer). Transisi keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang relative kompleks.
Berdasarkan sifatnya, metode FSM ini sangat cocok digunakan sebagai basis perancangan perangkat lunak pengendalian yang bersifat reaktif dan real time. Salah satu keutungan nyata penggunaan FSM adalah kemampuannya dalam mendekomposisi aplikasi yang relative besar dengan hanya menggunakan sejumlah kecil item state. Selain untuk bidang kontrol, Penggunaan metode ini pada kenyataannya juga umum digunakan sebagai basis untuk perancangan protokol-protokol komunikasi, perancangan perangkat lunak game, aplikasi WEB dan sebagainya.
Dalam bahasa pemrograman prosedural seperti bahasa C, FSM ini umumnya direalisasikan dengan menggunakan statemen kontrol switch case atau/dan if..then. Dengan menggunakan statemen-statemen kontrol ini, aliran program secara praktis akan mudah dipahami dan dilacak jika terjadi kesalahan logika.

 III.            Rule Systems



Rule Based System merupakan metode pengambilan keputusan berdasarkan pada aturan-aturan tertentu yang telah ditetapkan. RBS dapat diterapkan pada agen virtual dalam bentuk kecerdasan buatan sehingga dapat melakukan tindakan tertentu. Tindakan tersebut direpresentasikan oleh set aturan yaitu penyebab tindakan itu terjadi, proses tindakan dan hasil dari tindakan tersebut.
Rule Base Systems (RBS) sistem yang baik untuk mendapat jawaban dari pertanyaan mengenai What (apa), How (bagaimana) dan Why (mengapa) dari Rule Base (RB) selama proses inferensia. Jawaban dan penjelasannya dapat disediakan dengan baik. Masalah yang ada dengan SBP adalah ia tak dapat secara mudah menjalankan proses akuisisi knowledge (pengetahuan) dan ia tak dapat mengupdate rule (aturan) secara otomatis. Hanya pakar yang dapat mengupdate Knowledge Base (KB) secara manual dengan dukungan dari knowledge engineer (insinyur pengetahuan). Lebih jauh kebanyakan peneliti dalam SBA lebih memperhatikan masalah optimasi pada rule yang sudah ada daripada pembangkitan rule baru dari rule yang sudah ada. Namun demikian, optimasi rule tak dapat mengubah hasil dari inferensia secara signifikan, yaitu dalam hal cakupan pengetahuan.
Ripple Down Rule (RDR) datang untuk mengatasi permasalahan utama dari sistem pakar: pakar tak perlu lagi selalu mengkomunikasikan pengetahuan dalam konteks yang spesifik. RDR membolehkan akuisisi yang cepat dan sederhana secara ekstrim tanpa bantuan dari knowledge engineer. Pengguna tak perlu menguji RB dalam rangka mendefinisikan rule baru: pengguna hanya perlu untuk mampu mendefinisikan rule baru yang secara benar mengklasifikasikan contoh yang diberikan, dan sistem dapat menentukan dimana suatu rule harus ditempatkan dalam hirarki rulenya. Keterbatasan dari RDR adalah kekurangan dalam hal inferensia yang berdayaguna. Tak seperti SBA yang dilengkapi dengan inferensia melalui forward dan backward chaining, RDR kelihatannya menggunakan Depth First Search (DFS) yang memiliki kekurangan dalam hal fleksibelitas dalam hal penjawaban pertanyaan dan penjelasan yang tumbuh dari inferensia yang berdayaguna.
Variable-Centered Intelligent Rule System (VCIRS) merupakan perkawinan dari SBA dan RDR. Arsitektur sistem diadaptasi dari SBA dan ia mengambil keuntungan-keuntungan yang ada dari RDR. Sistem ini mengorganisasi RB dalam struktur spesial sehingga pembangunan pengetahuan, inferensia pengetahuan yang berdayaguna dan peningkatan evolusional dari kinerja sistem dapat didapatkan pada waktu yang sama. Istilah “Intelligent” dalam VCIRS menekankan pada keadaan sistem ini yang dapat “belajar” untuk meningkatkan kinerja sistem dari pengguna sistem selama pembangunan pengetahuan (melalui analisis nilai) dan penghalusan pengetahuan (dengan pembangkitan rule).
Path Finding: Waypoints dan Path Finding
Path Finding adalah proses pencarian path tercepat dari titik asal ke titik tujuan dengan menghindari berbagai halangan sepanjang path yang ditempuh. Secara umum path finding dapat dibedakan menjadi path finding statik dan dinamik. Metode path finding paling mudah ditemui pada game-game bertipe strategi dimana kita menunjuk satu tokoh untuk digerakkan ke lokasi tertentu dengan mengklik lokasi yang hendak dituju. Si tokoh akan segera bergerak ke arah yang ditentukan, dan secara “cerdas” dapat menemukan jalur terpendek ataupun menghindari dari rintangan-rintangan yang ada. Salah satu algoritma path finding yang cukup umum dan yang paling banyak digunakan utnuk mencari jarak terpendek secara efisien adalah algoritma A* (baca: A star). Secara umum, algoritma A* adalah mendefinisikan area pencarian menjadi sekumpulan node-node (tiles). Titik awal dan titik akhir ditentukan terlebih dulu untuk mulai penelusuran pada tiap-tiap node yang memungkinkan untuk ditelusuri. Dari sini, akan diperoleh skor yang menunjukkan besarnya biaya untuk menempuh jalur yang ditemukan, ditambah dengan nilai heuristik yang merupakan nilai biaya estimasi dari node yang ada menuju tujuan akhir. Iterasi akan dilakukan hingga akhirnya mencapai target yang dituju.
Waypoints dibagi menjadi dua jenis yaitu waypoint fly by dan waypoint fly over. Waypoint fly by tidak melewati lokasi di atas way point namun tetap menuju ke arah tujuan, sedangkan waypoint fly over melewati lokasi di atas way point. Setelah satu waypoint terlewati, maka pilot harus menetapkan waypoint berikutnya disebut dengan waypoint aktif.
Path Finding: A* Searching, Dijkstra, Tactile and Strategic AI
1.      A* Searching
Algoritma A* adalah algoritma pencari graf/pohon yang merupakan metode pencarian yang memiliki informasi. Algoritma A* akan mencari jalur atau rute terpendek dari titik awal graf/pohon dan membuang langkah-langkah yang tidak perlu menuju ke titik tujuan. Algoritma A* ini menggunakan fungsi heuristic. Metode A* merupakan metode hasil pengembangan dari metode dasar Best First Search. Caranya mengevaluasi semua titik dan mengkombinasikan g(n) nilai titik dari titik awal dengan h(n) nilai perkiraan atau heuristic untuk mencapai titik akhir atau tujuan.
Rumusan Formula A*
Untuk fungsi matematisnya dapat dituliskan seperti berikut:
f(n) = g(n) + h’(n)
Keterangan :
f(n) : fungsi dari evaluasi
g(n) : biaya yang telah dikeluarkan dari keadaan awal hingga node (n)
h’(n) : estimasi dari biaya yang dikeluarkan dari keadaan n atau node (n) hingga sampai ke tujuan.
Jika h = h’, maka proses dari pencarian tersebut telah mencapai tujuannya (goal).
Jika g = h’ = 0 maka f’ random, yang berarti sistem tersebut tidak bisa untuk dikendalikan. 
Jika g = k, k adalah konstanta dan biasanya bernilai 1, h’ = 0, yang berarti sistem tersebut menggunakan teknik best first search.

2.      Algoritma Dijkstra
Algoritma Dijkstra, (dinamai menurut penemunya, seorang ilmuwan komputer, Edsger Dijkstra), adalah sebuah algoritme rakus (greedy algorithm) yang dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang bernilai tak-negatif. Misalnya, bila vertices dari sebuah graf melambangkan kota-kota dan bobot sisi (edge weights) melambangkan jarak antara kota-kota tersebut, maka algoritme Dijkstra dapat digunakan untuk menemukan jarak terpendek antara dua kota.
Input algoritme ini adalah sebuah graf berarah yang berbobot (weighted directed graph) G dan sebuah sumber vertex s dalam G dan V adalah himpunan semua vertices dalam graph G. Setiap sisi dari graf ini adalah pasangan vertices (u,v) yang melambangkan hubungan dari vertex u ke vertex v. Himpunan semua tepi disebut E.

Bobot (weights) dari semua sisi dihitung dengan fungsi

w: E → [0, ∞)

jadi w(u,v) adalah jarak tak-negatif dari vertex u ke vertex v.

Ongkos (cost) dari sebuah sisi dapat dianggap sebagai jarak antara dua vertex, yaitu jumlah jarak semua sisi dalam jalur tersebut. Untuk sepasang vertex s dan t dalam V, algoritme ini menghitung jarak terpendek dari s ke t.

3.      Tactile
Tactile sensor adalah sebuah perangkat yang mengukur informasi yang timbul dari interaksi fisik dengan lingkungannya. Sensor taktil umumnya mencontoh arti biologis dari sentuhan kulit yang mampu mendeteksi rangsangan yang dihasilkan dari stimulasi mekanik, suhu, dan nyeri (meskipun nyeri penginderaan tidak umum di sensor taktil buatan). Sensor taktil bekerja di aplikasi di mana interaksi fisik penginderaan diperlukan, termasuk robotika, perangkat keras komputer dan bahkan sistem keamanan. Salah satu implementasi yang paling umum dari sensor taktil perangkat layar sentuh yang digunakan secara luas di ponsel dan komputer. Sensor taktil umumnya dikenal dan dapat dikelompokkan menjadi beberapa jenis tergantung pada konstruksi mereka; kelompok yang paling umum adalah piezoresistive, piezoelektrik, kapasitif dan sensor elastoresistive.

4.      Strategic AI
Dalam AI, strategi merupakan tingkatan tertinggi merupakan struktur utama dari grup AI, dibawah strategi dalam AI terdapat kelompok karakter AI dimana terdapat Decision Making, Movement, dan Pathfinding.





BAB IV
Arsitektur Game Engine

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




Tipe-Tipe Game Engine
Game engine biasanya datang dengan macam-macam jenis dan tujuannya. Ada 3  tipe game engine yaitu sebagai berikut :
1.      Roll-Your-Own Game Engine
Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Di sisi lain, mereka kadang menggunakan library komersil atau yang open source. Terkadang mereka juga membuat semuanya mulai dari nol. Biasanya game engine tipe ini lebih disukai karena selain kemungkinan besar diberikan secara gratis, juga memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya. Tower Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya dalam beberapa hari sebelum penggunaannya karena adanya bug kecil yang sangat mengganggu.

2.      Mostly-Ready Game Engines
Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini dapat menyingkat menghemat waktu dan biaya dari para developer game.

3.      Point-And-Click Engines
Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget. Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.




BAB V
Interaksi Fisik dalam teknologi Game
Game Engine adalah perangkat lunak yang digunakan untuk menciptakan perangkat lunak lain, dalam hal ini adalah game. Kita bisa menyebutnya game authoring software, game creator tool, software pembuat game, dan sebagainya.

Efek fisik dalam game engine
Game konsol modern saat ini sudah dilengkapi dengan perangkat gerak yang melibatkan aktivitas fisik sehingga permainan video game dapat sekaligus melatih otot dan gerak selayaknya berolahraga, seperti halnya yang disediakan oleh konsol Nintendo Wii, PS3 Move, atau yang lebih canggih lagi, Xbox 360 Kinect.
Game – game yang melibatkan aktivitas fisik seperti game tinju, tennis, sepakbola dsb, yang mengharuskan anda untuk menggerakkan tangan dan anggota tubuh anda sesuai tema video game yang dimainkan.  Untuk mendapatkan seperangkat konsol tersebut tidaklah perlu mengeluarkan kocek yang dalam. Ketiganya memiliki harga yang berlainan yang dapat disesuaikan dengan kocek anda.

Efek fisik dalam game ada 2, yaitu positif dan negatif :
Ø  Efek positif dalam game :

Setiap game memiliki tingkat kesulitan/Level yang berbeda. Umumnya permainan ini dilengkapi pernak-pernik senjata, amunisi, karakter dan peta permainan yang berbeda. Untuk menyelesaikan level atau mengalahkan musuh secara efisien diperlukan strategi. Permainan game online akan melatih pemainnya untuk dapat memenangkan permainan dengan cepat, efisien dan menghasilkan lebih banyak poin.
Meningkatkan konsentrasi. Kemampuan konsentrasi pemain game online akan meningkat karena mereka harus menyelesaikan beberapa tugas, mecari celah yang mungkin bisa dilewati dan memonitor jalannya permainan. Semakin sulit sebuah game maka semakin diperlukan tingkat konsentrasi yang tinggi.
Meningkatkan koordinasi tangan dan mata. Penelitian yang dilakukan di Manchester University dan Central Lanchashire University menyatakan bahwa orang yang bermain game 18 jam seminggu atau sekita dua setengah jam perhari dapat meningkatkan koordinasi antara mata dan tangan.
meningkatkan kemampuan membaca. Psikolog dari Finland Univesity menyatakan bahwa game meningkatkan kemampuan membaca pada anak-anak. Jadi pendapat yang menyatakan bahwa jenis permainan ini menurunkan tingkat minat baca anak sangat tidak beralasan.
Meningkatkan kemampuan berbahasa inggris. Sebuah studi menemukan bahwa gamers mempunyai skil berbahasa inggris yang lebih baik meskipun tidak mengambil kursus pada masa sekolah maupun kuliah. Ini karena banyak alur cerita yang diceritakan dalam bahasa inggris dan kadang kala mereka chat dengan pemain lain dari berbagai negara.
Meningkatkan pengetahuan tentang komputer. untuk dapat menikmati permainan dengan nyaman dan kualitas gambar yang prima seorang peman game online akan berusaha mencari informasi tentang spesifikasi komputer dan koneksi internet yang dapat digunakan untuk memainkan game tersebut. Karena pengguna komputer aktif biasanya mereka juga akan belajar troubleshooting komputer dan overclocking.
Meningkatkan kemampuan mengetik. Kemampuan mengetik sudah pasti meningkat karena mereka menggunakan keyboard dan mouse untuk mengendalikan permainan.

Ø  Efek negatif dalam game :
a.      Kecanduan
Seperti yang disebutkan pada awal tulisan ini, kebahagiaan dan kesenangan yang dirasakan para gamer pada saat memainkan game, akan membuat orang tersebut ‘merindukan’ suasana hati yang mereka rasakan selama bermain game, sehingga mereka akan cenderung kembali bermain dan bermain lagi untuk mencari sensasi yang mereka rasakan tersebut. Untuk mencegah hal ini, adalah dengan membatasi waktu bermain game. Misalnya, 2 atau 3x dalam satu minggu dengan jangka waktu 1-2 jam.

b.      Membatasi Hubungan Sosial
Pada dampak positif  bermain game telah dijelaskan bahwa bermain game dapat meningkatkan hubungan sosial secara online dengan para gamer diseluruh dunia. Sebaliknya dalam hal ini justru akan membatasi hubungan sosial di kehidupan nyata mereka. Banyak sekali para pecandu game memiliki sedikit waktu untuk membina hubungan sosial di kehidupan nyata mereka sehingga kemampuan berkomunikasi dan interaksi secara fisik dan oral menjadi tidak terasah.

c.       Mengganggu Kesehatan
Tunggu! Bukankah dalam poin sebelumnya disebutkan bahwa bermain game dapat menyehatkan karena banyak game yang harus melibatkan aktivitas fisik?
Hal itu memang benar, aktivitas dan gerakan fisik dapat menyehatkan tubuh. Akan tetapi dengan bermain game yang terlalu intensif dapat mengganggu kesehatan mata, karena bagaimana pun juga permainan video game memerlukan kontak langsung antara mata dan layar monitor / TV yang dapat menyebabkan kerusakan pada mata atau menurunnya daya lihat untuk efek kedepannya.


Collision Detection
Algoritma untuk mendeteksi collision (tabrakan) sangat dibutuhkan untuk program game. Flash mulai versi 5 ke atas menyediakan method yang bernama hitTest untuk memeriksa apakah sebuah movie clip bertabrakan dengan movie yang lain. Sebelum method hitTest ini tersedia, seorang programmer Flash harus mendeteksi secara manual koordinat sebuah movie clip, apakah movie clip ini bertabrakan dengan movie clip lain. Cara ini sangat merepotkan karena harus mempertimbangkan pula ukuran movie clipnya.



BAB VI
Use 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.

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.        Diagetic
Desain antarmuka yang termasuk dalam permainan game  yaitu yang dapat dilihat dan didengar oleh karakter dalam permainan. Yang dimaksudkan pada antarmuka diagetic ini segala sesuatu yang terlihat terkecuali elemen-elemen non-diegetic seperti HUD, Kursor mouse, Informasi dari Komputer,dll  Contoh: Interface  dalam game Dead Space, pada game Assassin’s Creed
2.        Non-diegetic
Desain  Antarmuka yang diberikan sebagai tambahan di luar dunia game itu sendiri, hanya terlihat dan terdengar ke pemain di dunia nyata. Sehingga seakan-akan karakter dalam dunia game tidak melihatnya. Mass Effect 3 menggunakan banyak Non-diegetik elemen UI untuk menginformasikan pemain senjata karakter dipilih dan kekuasaan - antara lain.


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). Outline karakter dalam Left 4 Dead adalah contoh dari non-diegetik User Interface spatial.


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


penggunaan icon pada game juga mempengaruhi kenyamanan pemain dalam memilih perintah-perintah pada game. Desain icons dalam user Interface dibedakan menjadi dua jenis yaitu picons dan micons.

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

      a.      Domain           : logo untuk domain Internet
      b.      Misc                : picons untuk akun umum
      c.      News               : ikon untuk Usenet newsgroup
      d.      Unknown        : standar picons karena sangat tinggi tingkat domain Internet
      e.      Usenix             : wajah gambar peserta konferensi Usenix
      f.       Users               : picons piutang individu (sering gambar wajah)
      g.      Weather           : ikon untuk menampilkan ramalan cuaca
2.      MICONS
adalah Moving ICONS atau picons yang bergerak (dalam hal ini berupa file GIF animasi). Micons ini adalah animasi dari Picons tetapi bisa juga berupa video khusus yang dijadikan micons.

Keunggulan picons
a.      Hemat kapasitas
b.      Lebih praktis
c.       Tidak membuat beban pada kinerja komputer

Keunggulan micons
a.      Icons menjadi terlihat menyenangkan
b.      Seperti melihat video dengan kapasitas kecil

Interface yang ada untuk berbagai sistem, dan menyediakan cara :
      1.      Input, memungkinkan pengguna untuk memanipulasi sistem.
      2.      Output, memungkinkan sistem untuk menunjukkan efek manipulasi pengguna.

Tujuan Interface
Tujuan sebuah interface adalah mengkomunikasikan fitur-fitur sistem yang tersedia agar user mengerti dan dapat menggunakan sistem tersebut. Dalam hal ini penggunaan bahasa amat efektif untuk membantu pengertian, karena bahasa merupakan alat tertua (barangkali kedua tertua setelah gesture) yang dipakai orang untuk berkomunikasi sehari-harinya. Praktis, semua pengguna komputer dan Internet (kecuali mungkin anak kecil yang memakai komputer untuk belajar membaca) dapat mengerti tulisan.
Meski pada umumnya panduan interface menyarankan agar ikon tidak diberi tulisan supaya tetap mandiri dari bahasa, namun elemen interface lain seperti teks pada tombol, caption window, atau teks-teks singkat di sebelah kotak input dan tombol pilihan semua menggunakan bahasa. Tanpa bahasa pun kadang ikon bisa tidak jelas maknanya, sebab tidak semua lambang ikon bisa bersifat universal.
Meskipun penting, namun sayangnya kadang penggunaan bahasa, seperti pemilihan istilah, sering sekali dianggap kurang begitu penting. Terlebih dari itu dalam dunia desain situs Web yang serba grafis, bahasa sering menjadi sesuatu yang nomor dua ketimbang elemen-elemen interface lainnya.
Tujuan sebuah interface adalah mengkomunikasikan fitur-fitur sistem yang tersedia agar user mengerti dan dapat menggunakan sistem tersebut. Dalam hal ini penggunaan bahasa amat efektif untuk membantu pengertian, karena bahasa merupakan alat tertua (barangkali kedua tertua setelah gesture) yang dipakai orang untuk berkomunikasi sehari-harinya. Praktis, semua pengguna komputer dan Internet (kecuali mungkin anak kecil yang memakai komputer untuk belajar membaca) dapat mengerti tulisan. Interface ada dua jenis, yaitu :
Ø  Graphical Interface : Menggunakan unsur-unsur multimedia (seperti gambar, suara, video) untuk berinteraksi dengan pengguna.
Ø  Text-Based : Menggunakan syntax/rumus yang sudah ditentukan untuk memberikan perintah.
·         

PERBANDINGAN INTERFACE

Ada 5 tipe utama interaksi untuk interaction:
1.   Direct manipulation – pengoperasian secara langsung : interaksi langsung dengan objek pada layar. Misalnya delete file dengan memasukkannya ke trash. Contoh: Video games. Kelebihan :  Waktu pembelajaran sangat singkat, feedback langsung diberikan pada tiap aksi sehingga kesalahan terdeteksi dan diperbaiki dengan cepat. Kekurangan :  Interface tipe ini rumit dan memerlukan banyak fasilitas pada sistem komputer, cocok untuk penggambaran secara visual untuk satu operasi atau objek.
 
2.   Menu selection – pilihan berbentuk menu :  Memilih perintah dari daftar yang disediakan. Misalnya saat click kanan dan memilih aksi yang dikehendaki. Kelebihan :   tidak perlu ingat nama perintah. Pengetikan minimal. Kesalahan rendah. Kekurangan : Tidak ada logika AND atau OR. Perlu ada struktur menu jika banyak pilihan. Menu dianggap lambat oleh expert   dibanding command language.

3.   Form fill-in – pengisian form : Mengisi area-area pada form. Contoh : Stock control. Kelebihan : Masukan data yang sederhana. Mudah dipelajari Kekurangan : Memerlukan banyak tempat di layar. Harus menyesuaikan dengan form manual dan kebiasaan.

4.   Command language – perintah tertulis : Menuliskan perintah yang sudah ditentukan pada program. Contoh: operating system. Kelebihan : Perintah diketikan langsung pada system. Misal UNIX, DOS command. Bisa diterapkan pada terminal yang murah.Kombinasi perintah bisa dilakukan. Misal copy file dan rename nama file. Kekurangan : Perintah harus dipelajari dan diingat cara penggunaannya, tidak cocok untuk   biasa. Kesalahan pakai perintah sering terjadi. Perlu ada sistem pemulihan kesalahan.Kemampuan mengetik perlu.

5.        Natural language-perintah dengan bahasa alami : Menggunakan bahasa alami untuk mendapatkan hasil. Contoh: search engine di Internet. Kelebihan: Perintah dalam bentuk bahasa alami, dengan kosa kata yang terbatas (singkat), misalnya kata kunci yang kita tentukan untuk dicari oleh search engine. Ada kebebasan menggunakan kata-kata. Kekurangan: Tidak semua sistem cocok gunakan ini. Jika digunakan maka akan memerlukan banyak pengetikan.






BAB VII


Penampilan Grafik Scene Game Komputer: Visibility, Level of Detail

1.     Visibility

Visibility adalah tampilan grafik dari scene game pada komputer. Yaitu,bagaimana sebuah game terlihat oleh user agar menarik dan berkualitas sehingga user dapat menikmati game tersebut.Biasanya pada video game terdapat istilah scene 2.5D. Sebenernya istilah tersebut tidak beda jauh dari scene 2D. Hanya saja 2.5D memiliki beberapa  fitur tambahan berupa efek cahya dan sebagainya yang dibuat agar seakan – akan menterupai scene 3D. Teori grafik 2.5D ini biasa juga disebut dengan pseudo-3D sedangkan pada istilahh game lebih dikenal dengan isometric/diametric/trimetric projection.



Game bertipe ini menggunakan 2 macam tipe pemodelan , yaitu :
·         3 Dimensi object/model
Ini merupakan model/object 3D yang nantinya akan dijadikan sebagai karakter utama,bangunan,object – object. Object 3D seperti ini biasanya menggunakan program seperti 3Ds Max,Maya,Hash dan Blender.


·         2 Dimensi Graphhic
Gambar 2D juga berperan dalam membuat game ini yaitu sebagai texture untuk object,sebagai latar belakang seperti langit dan pemandangan, sebagai meteran untuk nyawa dan gambar untuk speedometer pada game racing.



2.     Level of  Detail

Dalam komputer grafis, untuk tingkat detail melibatkan menurunkan kompleksitas representasi obje 3D seperti bergerak menjauh sesuai matriksnya,kecepatan sudut pandang – relative atau posisi. Tingkat teknik detail pipa grafis, transformasi biasanya simpul. Kualitas visual berkurang dari model sering diperhatikan karena efek kecil pada objek muncul ketika jauh atau bergerak cepat.

Untuk konsep menggambar LOD sebagian besar waktu LOD diterapkan untuk geometri rinci, konse dasar bisa disamaratakan. Teknik LOD termasuk manajemen juga shader untuk tetap mengontrol kompleksitas pixel.

A.    Terrain LOD
Terrain merupakan model yang sangat besar, membuat setiap pointnya secara eksplisit sangatlah tidak mungkin,maka metoda untuk mengotomasikan pembangkitan terrain merupakan hal biasa. Terrain LOD itu menggunakan teknik Level of Detail untuk mengontrol objek yang akan di render. Teknik Level of Detail mempunyai banyak jenis, salah satunya adalah Terrain LOD.

Hubungan Terrain LOD dengan Triangle Bintree (Binary Triangle Trees)

Hubungan Terrain LOD dengan Triangle Bintree (Binary Triangle Trees) yaitu pada bagaimana data itu dibagi pada terrain, terdapat pohon yang dikenal sebagai Triangle Bintrees (Binary Triangle Trees) dan Quadtrees. Triangle Bintrees (Binary Triangle Trees) merupakan sebuah representasi populer permukaan medan yang elevasi telah sampel pada interval jarak teratur yaitu triangulalsi subset dari titik sampel yyang terdiri dari sumbu blok,segitiga siku – siku isosceles. Triangulasi terdiri dari segitiga yang hanya memiliki tiga simpul pada batas mereka.

Gambar Triangle Bintrees 3 simpul :






Gambar Triangle Bintrees 4 simpul :

BAB VIII
Game Berjaringan:
Game merupakan permainan yang menggunakan media elektronik, merupakan sebuah hiburan berbentuk multimedia yang dibuat semenarik mungkin agar pemain bisa mendapatkan sesuatu sehingga adanya kepuasaan batin dari psikologis seseorang. Dalam game terdapat objek berupa dua dimensi hingga tiga dimensi, selain itu dalam game kita ketahui ada AI yang berfungsi sebagai alur jalan lawan (komputer) untuk melawan apa yang kita (user) input atau jalankan. Beberapa jenis game antara lain:
·         Game strategi
·         RPG
·         FPS, dan
·         game action.
Jaringan adalah kumpulan sistem yang terdiri dari beberapa perangkat yang saling terhubung untuk mendapatkan hasil tujuan yang sama.  Jaringan dapat berupa sambungan yang terhubung ke dunia luas dengan koneksi internet, dan ada juga jenis jaringan offline dimana kita hanya dapat terkoneksi antar perangkat dengan sistem lokal area. Terdapat jaringan jika suatu perangkat terhubung dengan perangkat lain, baik itu online atau offlne.
Game Berjaringan adalah suatu permainan dengan media elektronik yang dimainkan dengan cara terhubung dengan user lain dengan memanfaatkan sebuah alat penghubung jaringan agar dapat bermain game secara bersamaan dengan user lain yang berbeda tempat, waktu, hingga kondisi dengan bantuan jaringan yang dapat menghubungkan atau mengkoneksikan antar perangkat, entah itu device komputer atau perangkat lain untuk dapat bermain game.
Game Berjaringan disebut juga Game Online adalah sebuah permainan (games) yang dimainkan di dalam suatu jaringan (baik LAN maupun Internet). Sebuah game online adalah permainan video yang dimainkan selama beberapa bentuk jaringan komputer , menggunakan komputer pribadi atau konsol video game. Jaringan ini biasanya internet atau teknologi setara, tetapi game selalu digunakan apa pun teknologi yang saat ini:modem sebelum Internet, dan keras kabel terminal sebelum modem. Perluasan game online telah mencerminkan keseluruhan perluasan jaringan komputer dari jaringan lokal kecil ke internet dan pertumbuhan akses internet itu sendiri. Game online dapat berkisar dari yang sederhana lingkungan berbasis teks grafis game menggabungkan kompleks dan dunia maya dihuni oleh banyak pemain secara bersamaan. Banyak permainan online terkait komunitas online, membuat game online suatu bentuk kegiatan sosial di luar permainan pemain tunggal.

·         Sejarah Perkembangan
Perkembangan game online sendiri tidak lepas juga dari perkembangan teknologi komputer dan jaringan computer itu sendiri. Meledaknya game online sendiri merupakan cerminan dari pesatnya jaringan computer yang dahulunya berskala kecil (small local network) sampai menjadi internet dan terus berkembang sampai sekarang. Games Online saat ini tidaklah sama seperti ketika games online diperkenalkan untuk pertama kalinya. Pada saat muncul pertama kalinya tahun 1960, computer hanya bisa dipakai untuk 2 orang saja untuk bermain game. Lalu muncullah computer dengan kemampuan time-sharing sehingga pemain yang bisa memainkan game tersebut bisa lebih banyak dan tidak harus berada di suatu ruangan yang sama (Multiplayer Games).
Lalu pada tahun 1970 ketika muncul jaringan computer berbasis paket (packet based computer networking), jaringan computer tidak hanya sebatas LAN saja tetapi sudah mencakup WAN dan menjadi Internet. Game online pertama kali muncul kebanyakan adalah game-game simulasi perang ataupun pesawat yang dipakai untuk kepentingan militer yang akhirnya dilepas lalu dikomersialkan, game-game ini kemudian menginspirasi game-game yang lain muncul dan berkembang. Pada tahun 2001 adalah puncak dari demam dotcom, sehingga penyebaran informasi mengenai game online semakin cepat

·         Contoh Game Berjaringan
Banyak contoh dari Game Berjaringan, antara lain :
1.    Dota. 
Game atau permainan Dota pada PC ini cara mainnya adalah dengan kita terhubung antar perangkat yang menggunakan alat perantara seperti router atau yang lainnya yang dapat menguhubungkan sebuah jaringan, bahkan kita dapat bermain secara lokal atau offline bersama teman-teman dengan memanfaatkan jaringan.
2.    CS (Counter Strike)
dimana game ini dapat kita mainkan bukan hanya bermain sendir, tapi bahkan dapat kita mainkan beramai ramai dengan teman-teman via jaringan lokal hingga online yang beda lokasi negara ataupun benua yang baermain secara realtime bersamaan.

·         PING dalam Game Berjaringan
Dalam Game Berjaringan ini kita pasti akrab dengan PING. PING ini berperan dalam masalah real time atau ketepatan waktu pergerakan game dengan perangkat lain. semakin besar ping maka semakin buruk, dan semakin kecil ping maka akan semakin baik dalam bermain Game Berjaringan ini. Bila ping besar maka pergerakan game akan tidak sinkron dengan gerakan game lain. Jadi saat bermain Game Berjaringan kita disarankan untuk menggunakan jaringan via kabel, karena bila kita gunakan jaringan via wireless maka akan banyak noise frekuensi yang dapat merusak sinyal ping keselarasan pergerakan game. dengan demikian kita dapat simpulkan bahwa untuk bermain Game yang Berjaringan untuk memakai internet atau jaringan via kabel agar lebih stabil.
·         Bedasarkan teknologi grapis
Ø  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.

·         Bedasarkan cara pembayaran
            Maksud dari cara pembayaran ini adalah bagaimana perusahaan game online mendapatkan uang dari gamesnya. Bedasarkan kategori ini games online dapat dibedakan menjadi 2 yaitu
o   Pay Per Item
Game yang berada pada category ini merupakan game yang bisa diinstall atau dimainkan secara gratis, dan game ini biasanya mengenakan biaya pada pemainnya apabila pemainnya ingin cepat menaikkan level atau membeli barang (item)  langka yang tidak pernah dijumpai pada permainan. Jenis game seperti ini yang paling dijumpai di Indonesia. Contoh: Gunbound, Ragnarok, Ghost Online,dll.
o   Pay per Play
Game ini harus dibeli dan diinstal secara legal karena pada saat diinstal game terebut akan mendaftarkan pemain ke internet langsung dan apabila yang diinstal adalah program bajakan maka secara otomatis system akan memblokirnya. Contoh: War of Warcraft,dll.




Sumber :
9 April 2016
Aswendy. 2015. Artificial Intelligent pada Game Decision Making. https://aswendy.wordpress.com/2015/04/23/artificial-intelligent-pada-game-decision-making/.
4 April 2018.

Feri Chandra. 2017. Konsep AI. http://ferichandrachou.blogspot.co.id/2017/03/penulisan-ketiga.html. 13 April 2018.

Cia. Penjelasan Algoritma A* beserta contoh kasus algortima A*. http://www.clocariusedu.tk/2017/11/penjelasan-algoritma-A-star-beserta-contoh.html. 13 April 2018.

Mr. John. 2017. Pengertian algoritma A* (A Star / A Bintang) dan contoh soalnya. http://www.pendidikanilmu.com/2017/11/pengertianalgoritma-a-star-bintang-dan-contoh-soal-algoritma-a-star.html. 13 April 2018.

Wikipedia bahasa Indonesia. 2018. Algoritme Dijkstra. https://id.wikipedia.org/wiki/Algoritme_Dijkstra. 13 April 2018.

Wikipedia bahasa Indonesia. 2018. Tactile sensor. https://id.wikipedia.org/wiki/Tactile_sensor. 13 April 2018.

Teguh Dwi Nurcahyo. 2016. #PETGAME KONSEP AI (ARTIFICIAL INTELLIGENCE). http://teguhdnn.blogspot.co.id/2016/04/petgame-konsep-ai-artificial.html. 13 April 2018.
Cyber X Skynet. 2015. Interaksi Fisik Dalam Teknologi Game.

UG TI. 2012. Arsitektur Game Engine

Wikipedia. 2014. Collision Detection
Tihaderajad. 2017. Interaksi Fisik Dalam Teknologi Game
Chintya Andriany. 2015. ARSITEKTUR GAME ENGINE. http://andrianime.blogspot.co.id/2015/04/arsitektur-game-engine.html. 13 April 2018.
Febriansyah Handoni. 2015. Arsitektur Game Engine. http://febryansyahhhydro.blogspot.co.id/2015/04/arsitektur-game-engine.html. 13 April 2018.
Muhammad Abi. 2016. Arsitektur Game Engine. http://vanillabluse.blogspot.co.id/2016/04/arsitektur-game-engine.html. 13 April 2018.
Nastasyia. 2016. Use Interface Pada Game Komputer

Teguh Cipta Halim. 2013. Desain Pada User Interface

Muhamad Jaelani. 2013. Pengertian Interface

Sylvia Alfarina. 2015. User Interface Pada Game Komputer



Tidak ada komentar:

Posting Komentar