Thursday, 12 April 2018

PENGANTAR TEKNOLOGI GAME

Perkembangan Teknologi Game

Perkembangan teknologi sangat berpegaruh terhadap perkembangan game, dimana perubahannya akhir-akhir ini makin pesat berkembang. Pada sekitar awal dekade 80-an, sebenarnya sudah ada persaingan ketat antar perusahaan game dalam memasarkan produknya. Game yang populer dengan nama video game ini hanya bisa dimainkan oleh satu atau dua orang pemain pada sebuah console. Pesawat televisi dibutuhkan sebagai media tampilan. Jenis game-nya juga masih sangat sederhana dengan grafik yang sangat kasar. Tampilannya mirip seperti game dari bahasa program Java, yang bisa dimainkan di handphone sekarang ini. Perusahaan game yang terkenal pada saat itu adalah Atari, Sega dan Nintendo.

Video game atau Console game ini adalah sebuah bentuk dari multimedia interaktif yang digunakan untuk sarana hiburan. Game ini dimainkan dengan menggunakan sebuah alat yang bisa digenggam oleh tangan dan tersambung ke sebuah kotak alat atau console. Alat yang digenggam tangan tadi dikenal dengan nama joystick. Isinya adalah beberapa tombol-tombol sebagai kontrol arah maju, mundur, kiri dan kanan, dimana fungsinya adalah untuk berinteraksi dan mengendalikan gambar-gambar di layar pesawat televisi. Game ini juga biasanya dimainkan dengan memasukan sebuah keping CD yang bisa diganti-ganti atau cartridge yang harus dimasukkan ke dalam game console.
Video game dengan console kini juga sudah berkembang pesat. Saat ini, pemain yang cukup dominan adalah X-Box dari Microsoft dan PlayStation keluaran Sony. PlayStation (PS) telah sukses dengan PSP-nya yang portable dan PS2 yang fenomenal karena harganya yang cukup murah. PlayStation ini sendiri telah mengeluarkan versi baru, yaitu PS3 dengan tampilan dan akselerasinya yang jauh lebih halus dan cepat dari generasi pendahulunya.
Para gamers lama kelamaan menginginkan suatu permainan yang tidak saja dapat dimainkan oleh 2 orang, tapi juga bisa dimainkan secara massal dan bersamaan tanpa memandang jarak misalnya antar daerah satu yang lainnya hingga menembus jarak antar negara. PlayStation dan X-Box pun tampil sebagai sebuah console yang sudah bisa dimainkan secara online.Selain dari console, game juga bisa dijalankan dari personal computer (PC) atau sering juga disebut juga PC game. Game di PC tidak kalah menariknya dibanding dengan di console.
Di dalam video game atau console game kita menemukan adanya lingkungan bermain game yang lebih sederhana dibanding pemain di PC game, bukan hanya terutama karena keterbatasan fitur dari joystick, tapi karena disebabkan keterbatasan teknologi di dalam perangkat keras (hardware) pada console serta output resolusi visual yang secara potensial lebih rendah.
Seperti kita ketahui, pada setiap PC umumnya terdapat sebuah keyboard dan sebuah mouse yang bisa digunakan dalam desain permainan game yang lebih kompleks. Gambar grafik yang ditampilkan di PC game lebih hidup dan tajam, tergantung dari pemakaian display adapter card atau video card yang digunakan pada mainboard komputer. Semakin mutakhir dan besar kapasitas memori video card-nya, maka semakin halus pula resolusi dan akselerasi game-nya. Sedangkan console game biasanya dimainkan di televisi, dimana ketajaman gambar lebih rendah dan game biasanya dimainkan dari jarak dekat.
Akhir-akhir ini strategy games, role-playing games dan game simulasi, walau tidak sebanyak di PC game, sudah bisa didapatkan di video game. Awalnya, jika kita bermain sendiri di PC atau komputer, yang menjadi lawan kita adalah komputer itu sendiri. Tetapi dengan sistem jaringan (LAN: local area network), kita bisa melawan orang lain pada komputer yang terpisah, yang lebih dikenal dengan istilah multiplayer. Untuk dapat memainkannya, kita harus menghubungkan PC atau komputer ke sekelompok PC lain yang saling terhubung.
Multiplayer game ini bisa dimainkan dengan jaringan lokal tanpa akses internet, tetapi bisa juga dengan menggunakan akses internet. Multiplayer game yang tidak membutuhkan akses internet disebut juga sebagai LAN 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.

Pembuatan Script Game Komputer
Cara membuat game komputer
1.    Mencari alat/aplikasi yang dibutuhkan
a.    Game berbasis teks
Umumnya game ini terfokus pada cerita, teka-teki, eksplorasi. Aplikasi yang dapat di gunakan untuk membuat game ini adalah  Twine, StroryNexus dan Visionaire, dan Inform7
b.    Game 2D
Pada game 2D ini aplikasi yang dapat digunakan adalah GameMaker dan Stencyl. Kelebihan dari aplikasi ini adalah bagi para pembuat game dapat membuat game tanpa harus mengetahui programnya.
c.    Game 3D
Aplikasi yang dapat digunakan adalah Spark, Game Guru, dan Unity
d.    Mengambil pendekatan yang fokus pada pemrograman
Agar dapat menggabungkan semua aspek game dengan rapih dan jelas, Anda akan lebih memilih membuat game di Integrated Development Environment seperti Eclipse dan bukan di text editor.
2.    Pembuatan Game
a.    Pembuatan Konsep
Dalam membuat suatu game pembuat game harus menentukan konsep dari game yang akan dibuat nanti. seperti menentukan genre, komponen yang di gunakan, dan lain sebagainya.
b.    Membuat Level yang Sederhana
Jika menggunakan engine game atau alat pembuatan game untuk membuat game, maka cobalah untuk berkreasi menggunakan engine atau alat tersebut.
c.    Design
Dalam pebuatan game, design merupakan salah satu komponen yang berperan penting dalam pembuatan sebuah game.
d.    Buat tujuan jangka panjang dan menengah
Sebuah game kadang memiliki sesuatu yang didebut “mekanisme sekunder” atau “gameplay sekunder”. Gameplay sekunder ini bisa dimanfaatkan untuk menjadi pencapaian jangka panjang pada suatu game.
e.    Melanjutkan uji coba
Dengan menguji coba suatu game maka kita dapat melihat bagian mana yang masih membutuhkan penyempurnaan.
f.     Menyempurnakan grafis dan suara dalam game-nya
Dengan menambahkan fitur suara pada game dapat membuat pemain menjadi lebih tertarik dengan game yang kita buat.
Pengertian Artificial Intelligence (AI) / Kecerdasan Buatan
AI (Artificial Intelligence) atau Kecerdasan Buatan merupakan salah satu cabang ilmu computer yang mempelajari bagaimana cara membuat sebuah mesin cerdas, yaitu mesin yang mempunyai kemampuan untuk belajar dan beradaptasi terhadap sesuatu. Jika diartikan tiap kata, artificial artinya buatan, sedangkan intelligence adalah kata sifat yang berarti cerdas. Jadi artificial intelligence maksudnya adalah sesuatu buatan atau suatu tiruan yang cerdas. Cerdas di sini kemungkinan maksudnya adalah kepandaian atau ketajaman dalam berpikir, seperti halnya otak manusia dalam menyelesaikan suatu masalah.
Tujuan dari riset-riset Artificial Intelligence (AI) / Kecerdasan Buatan adalah bagaimana membuat sebuah mesin bisa berfikir sama halnya dengan manusia yang bisa berfikir. AI digunakan untuk menjawab problem yang tidak dapat diprediksi dan tidak bersifat algoritmik atau prosedural. Sampai saat ini, para peneliti di bidang AI masih banyak menyimpan pekerjaan rumah mereka disebabkan kompleksitas penelitian di bidang Artificial Intelligence (AI) / Kecerdasan Buatan serta faktor dukungan teknologi untuk merealisasikannya. Karena area cakupan yang luas, Artificial Intelligence (AI) / Kecerdasan Buatandibagi lagi menjadi subsub bagian di mana sub-sub bagian tersebut dapat berdiri sendiri dan juga dapat saling melengkapi satu dengan lainnya.
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.
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 :
Decision Tree, State Machine dan Rule System


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).
Dalam situasi lain kemampuan untuk menjelaskan alasan pengambilan keputusan adalah sesuatu yang sangat penting. Misalnya pada perusahaan asuransi ada larangan resmi untuk mendeskriminasi berdasarkan variabel-variabel tertentu. Perusahaan asuransi dapat mencari sendiri keadaan yang mencerminkan bahwa mereka tidak menggunakan deskriminasi yang ilegal dalam memutuskan seseorang diterima atau ditolak. 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.
Setiap percabangan menyatakan kondisi yang harus dipenuhi dan tiap ujung pohon menyatakan kelas data. Contoh pada Gambar diatas adalah identifikasi pembeli komputer. Dari pohon keputusan tersebut diketahui bahwa salah satu kelompok yang potensial membeli komputer adalah orang yang berusia di bawah 30 tahun dan juga pelajar. Setelah sebuah pohon keputusan dibangun maka dapat digunakan untuk mengklasifikasikan record yang belum ada kelasnya. Dimulai dari node root, menggunakan tes terhadap atribut dari record yang belum ada kelasnya ini lalu mengikuti cabang yang sesuai dengan hasil dari tes tersebut, yang akan membawa kepada internal node (node yang memiliki satu cabang masuk dan dua atau lebih cabang yang keluar), dengan cara harus melakukan tes lagi terhadap atribut atau node leaf. Record yang kelasnya tidak diketahui kemudian diberikan kelas yang sesuai dengan kelas yang ada pada node leaf. Pada pohon keputusan setiap simpul leaf menandai label kelas. Proses dalam pohon keputusan yaitu mengubah bentuk data (tabel) menjadi model pohon (tree) kemudian mengubah model pohon tersebut menjadi aturan (rule) (J R Quinlan, 1993).
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.
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.
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).
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.
ARSITEKTUR GAME ENGINE
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.
Interaksi Fisik dalam Teknologi Game
Apa itu interaksi ?
Interaksi menurut Hormans adalah suatu kejadian ketika aktivitas atau sentimen yang dilakukan oleh seseorang terhadap individu lain diberi ganjaran (reward) atau hukuman (punishment) dengan menggunakan suatu aktivitas atau sentimen oleh individu lain yang menjadi pasangannya. Konsep pengertian interaksi yang dikemukakan oleh Hormans yaitu suatu tindakan yang dilakukan oleh seseorang dalam suatu interaksi merupakan suatu stimulus bagi tindakan individu lain yang menjadi pasangannya
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 fisik ialah 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
Setiap program game yang akan kita buat sangat membutuhkan suatu algoritma yang dinamakan Collision Detection atau Deteksi Tubrukan. Apa itu Collision Detection? Apa Fungsi dari aloritma tersebut? Untuk itu saya akan menjelaskan tentang Collision Detection.
Collision Detection adalah proses pengecekan apaka beberapa objek spesial saling bertumpuk atau tidak. Jika ternyata ada dua buah objek saling bertempuk, maka kedua objek tersebut dapat dikatakan saling bertumpukkan. Metode ini juga sering digunakan dalam membuat game antara objek dengan objek atau objek dengan sebuah frame atau pembatas. Sebagai contoh game Snake yang menggunakan metode Collision Detection antara kepala ular yang kita perintah lewat keyboard denan objek tujuan atau pembatas sebuah arena game. Contoh lain pada Collision Detection adalah pada game shooter, yaitu pada peluru dan objek sasaran akan menjadi sebuag deteksi tabrakan. Untuk membuat metode deteksi tabrakan dengan menggunakan logika if-else.
Algoritma untuk mendeteksi Collision (tabrakan) sangat dibutuhkan untuk program game. Flash mulai versi 5 keatas menyediakan metode yang dinamakan hitTest untuk memeriksa apakah sebuah movie clip bertabrakan dengan movie yang lain. Sebelum metode hitTest ini tersedia, seorang programmer flash harus mendeteksi secara manual koordinat sebuah movie clip, apakah movie clip ini bertabrakan dengan movie clip yang lain. Tentunya cara ini sangat merepotkan karena harus mempertimbangkan pula ukuran movie clipnya.
Algoritma Collision Detection
collison
Efek Positif 
  1. 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.
  2. 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.
  3. Meningkatkan koordinasi tangan dan mata. Penelitian yang berhasil didapat menyatakan bahwa orang yang bermain game sekitar dua setengah jam perhari dapat meningkatkan koordinasi antara mata dan tangan.
  4. Meningkatkan kemampuan membaca. Game dengan genre edukasi atau pendidikan banyak sekali manfaatnya. Menurut Psikolog dari Finland Univesity menyatakan bahwa game edukasi dapat meningkatkan kemampuan membaca pada anak-anak. Jadi pendapat yang menyatakan bahwa jenis permainan ini menurunkan tingkat minat baca anak sangat tidak beralasan.
  5. Meningkatkan kemampuan berbahasa inggris. Para gamers yang sering bermain game online dengan genre apapun dengan berjalannya waktu dapat mempunyai kemampuan berbahasa inggris yang lebih baik. Ini karena banyak alur cerita yang diceritakan dalam bahasa inggris dan kadang kala mereka chat dengan pemain lain dari berbagai negara.
  6. Meningkatkan sportivitas. Sportif dan fair play adalah nilai-nilai umum yang dikembangkan dalam kompetisi pemuda. Video gamejuga menawarkan hal yang sama. Dia mengajarkan nilai-nilai keteraturan. Pada permainan online (onlinegame) misalnya, masing-masing pemain akan bersaing secara teratur satu sama lainnya.
  7. Membentuk tim kerja. Kerjasama tim yang kuat banyak terbina dalampermainan video game. Permainan online misalnya, membutuhkan pemain yang efektif berkomunikasi dengan tim mereka. Sementara itu, mereka terus melakukan tugas-tugas yang diembankan kepada mereka demi meraih kemenangan.

Efek Negatif 
  1. Menimbulkan kecanduan yang kuat. Sebagian besar game yang beredar saat ini didesain supaya menimbulkan kecanduan bagi para pemainnya. Semakin seseorang kecanduan pada suatu game, maka pembuat game semakin diuntungkan. Tapi keuntungan produsen ini jutsru menghasilkan dampak yang buruk bagi kesehatan psikologis para pemain game.
  2. Mendorong melakukan hal-hal negatif. Dengan semakin seringnya kita bermain game online semakin banyak juga kebutuhan yang harus kita dapatkan bagaimanapun caranya sehingga tidak jarang para gamers akan berusaha mencuri ID orang lain demi bisa mendapatkan keuntungan secara instan atau bahkan menggunakan uang bayaran sekolah demi bisa bermain game.
  3. Terbelangkainya kegiatan di dunia nyata. Keasyikan dalam bermain game akan mengakibatkan kita lupa dengan segala hal dalam kehidupan sehari-hari kita seperti beribadah, mengerjakan tugas sekolah atau kuliah, dan melupakan pekerjaan menjadi terbengkalai karena bermain game.
  4. Perubahan pola makan dan istirahat. Efek dari bermain game juga akan membuat waktu makan dan istirahat menjadi tidak terkontrol apalagi sampai harus begadang demi memainkan game online tersebut.
Mengganggu kesehatan. Akan mengakibatkan kelelahan mata, mengganggu sirkulasi darah dan menekan pembuluh darah vena disekitar anus, sehingga menyebabkan mati rasa, kesemutan, kelemahan atau kerusakan otot pada tangan dan jari serta menurunnya sistem kekebalan tubuh sehingga lebih mudah terserang penyakit.
User Interface pada Game Komputer
Antarmuka (Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka (Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi. Antarmuka (Interface)  berfungsi untuk menginput pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian sistem secara berurutan  sehingga pengguna mengerti apa yang akan dilakukan terhadap suatu sistem.
Desain user interface dalam game berbeda dari desain UI lainnya karena melibatkan unsur tambahan fiksi. Fiksi melibatkan avatar dari pengguna yang sebenarnya, atau player. Sebuah Desain Antarmuka (Interface) pada suatu Game mempengaruhi kenyamanan dan sejauh mana user/pengguna meminati Game tersebut.
Dalam desain user interface game, terdapat sebuah teori yang dikemukakan oleh Erik Fagerholt dan Magnus Lorentzon 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.         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 :

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.

Penampilan Grafik Scene Game Komputer
Mengenai materi penampilan grafik scene ini ada beberapa point utama yang akan dibahas diantaranya seperti berikut ini

Visibility
Pengertian Visibility merupakan tampilan grafik scene game pada komputer. Bagaimana sebuah game terlihat oleh user agar menarik dan berkualitas sehingga user menikmati game tersebut. Biasanya pada video game terdapat istilah scene 2.5D. Sebenarnya istilah tersebut tidak berbeda jauh dari scene 2D (dua dimensi). Hanya saja 2.5D memiliki beberapa fitur tambahan berupa efek cahaya, bayangan dan sebagainya yang dibuat agar seakan-akan menyerupai scene 3D.
Biasanya gameplaynya memang mirip game 2D dimana kita hanya bisa bergerak secara horizontal dan vertical namun beberapa gambarnya di render secara 3D. Teori grafik 2.5D ini biasa juga disebut dengan pseudo-3D sedangkan pada istilah game lebih dikenal dengan isometric/diametric/trimetric projection.


Game bertipe ini menggunakan 2 macam tipe pemodelan: ·
3 Dimensi object/model : Merupakan model/object 3D yang nantinya akan dijadikan sebagai karakter utama, bangunan, object-object seperti senjata, musuh, permukaan tanah, pohon, dan bukit. Object 3D seperti ini bisa dibuat dengan menggunakan program seperti 3DS Max, Maya, Hash, dan Blender.
2 Dimensi graphic : 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.



Kegunaan 2.5D dalam game adalah sebagai pengaturan gerakan seperti golden axe, double dragon, path finding yang biasanya cukup sederhana. Hal ini berguna untuk mengikuti posisi pemain dan agar game lebih ‘hidup’. Pada video game, biasanya scene 2.5D ini lebih digunakan dalam visualisasi geografis (GVIS) untuk membantu memahami representasi visual spasial-kognitif atau visualisasi 3D.

Level of Detail
LoD biasanya digunakan untuk mengatur material yang akan diaplikasikan pada model objek. Disebut level karena tingkat pengaturannya berbeda-beda tergantung dari seberapa jauh jarak antara model dengan viewer.


Ketika model berada pada jarak dekat dengan viewer, model sebaiknya di-render dengan detail sebanyak mungkin. Namun sebaliknya jika model berada pada jarak yang jauh dari viewer lebih baik jangan menampilkan model dengan sangat detail agar tidak mengganggu performance dan agar hasilnya justru dapat meningkatkan performance.

Meskipun sebagian besar waktu LoD diterapkan untuk geometri rinci saja, baru-baru ini teknik LoD sudah termasuk dalam manajemen shading untuk dapat mengontrol kompleksitas pixel. Suatu bentuk tingkat manajemen detail telah diterapkan untuk tekstur selama bertahun-tahun, di bawah nama mipmapping, juga memberikan kualitas rendering yang lebih tinggi. Ini adalah hal yang lumrah untuk mengatakan bahwa “sebuah objek telah LoD’d” ketika objek disederhanakan oleh mendasari algoritma LoD-ing.

Terrain LOD
Dalam suatu game, Terrain merupakan model yang sangat besar. Membuat setiap pointnya secara eksplisit sangatlah tidak mungkin, maka metoda untuk mengotomatiskan pembangkitan Terrain merupakan hal biasa. Ketika proses rendering, sebagian dari Terrain tertutup dan sebagian lain sangat jauh, oleh karena itu dikembangkanlah Terrain LOD algorithms.

Terrain, atau sering juga disebut dataran, merupakan salah satu data yang penting dalam pemodelan pemograman grafik.Terrain umumnya diimplementasikan untuk obyek – obyek yang statis. Salah satu implementasi terrain yang banyak digunakan adalah dalam pemodelan lanskap. Contoh pemodelan lanskap adalah pemodelan bentangan tanah, pinggiran pantai, pegunungan dan lain sebagainya. Penggunaan visualisasi terrain sebagai model lansekap ini banyak didapati dalam game motor rally dan real – time strategy.







Game dengan Jalan Cerita dan Level yang menarik

1. Deus Ex: Human Revolution
https://i2.wp.com/www.ranggahamdan.com/wp-content/uploads/2017/05/deus-ex-human.jpg?resize=300%2C140&ssl=1

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.

2. Mass Effect
https://i2.wp.com/www.ranggahamdan.com/wp-content/uploads/2017/05/mass-effect-300x300.jpg?resize=300%2C300&ssl=1
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.
Game Berjaringan

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
Dalam pembahasan game berjaringan terdapat dua kata yaitu game dan jaringan dimana memiliki pengertian yang berbeda. Dalam penulisan kali ini akan membahas tentang Game Berjaringan. Satu per satu akan saya bahas sedikit banyak untuk memahami penulisan kali ini. Bahasan pertama adalah game. Apa itu game? Game merupakan permainan yang menggunakan media elektronik, merupakan sebuah hiburan berbentuk multimedia yang di buat 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. Untuk jenis game terdapat banyak jenisnya. seperti game strategi, RPG, FPS, hingga game action. semua jenis game sering kita jumpai sebagai media hiburan. Akan tetapi belakangan ini banyak berkembang game yang dibuat adpat membuat kita (user) membuat kita ketagihan yang mengakibatkan lupa waktu.
Selanjutnya masuk dalam pembahasan jaringan. Apa si jaringan itu?. Pengertian umumnya adalah kumpulan sistem yang terdiri dari beberapa perangkat yang saling terhubung untuk mendapatkan hasil tujuan yang sama. Dapat dikatakan si perangkat-perangkat ini dihubungkan agar dapat terkoneksi satu sama lain. 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. Jadi, saat dimana ada suatu perangkat terhubung dengan perangkat lain, kita dapat katakan disana terdapat jaringan, entah itu online atau offlne.
Dari bahasan pengertian dari GAME dan JARINGAN, dapat dikatakan bahwa 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. Banyak contoh dari Game Berjaringan. contoh dari Game Berjaringan adalah Dota. game atau permainan Dota pada PC ini cara mainnya adalah dengan kita terhubung antar perangkat yang menggunakan alat perantara seperti router atau yang lainnya yang dapat menguhubungkan sebuah jaringan, bahkan kita dapat bermain secara lokal atau offline bersama teman-teman dengan memanfaatkan jaringan. Contoh lain dari Game Berjaringan adalah CS (Counter Strke) dimana game ini dapat kita mainkan bukan hanya bermain 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.
Dalam Game Berjaringan ini kita pasti akan akrab dengan yang namanya PING. Ping ini berperan dalam masalah real time atau ketepatan waktu pergerakan game dengan perangkat lain. semakin besar ping maka semakin buruk, dan semakin kecil ping maka akan semakin baik dalam bermain Game Berjaringan ini. Jadi, bila ping besar maka pergerakan game akan tidak sinkron dengan gerakan game lain. Jadi disarankan bila bermain Game Berjaringan kita disarankan untuk menggunakan jaringan via kabel, karena bila kita gunakan jaringan via wireless maka akan banyak noise frekuensi yang dapat merusak sinyal ping keselarasan pergerakan game. dengan demikian kita dapat simpulkan bahwa untuk bermain Game yang Berjaringan unutk memakai internet atau jaringan via kabel agar lebih stabil.

Tipe - tipe game online
•    First Person Shooter(FPS), sesuai judulnya game ini mengambil pandangan orang pertama pada gamenya sehingga seolah-olah kita sendiri yang berada dalam game tersebut, kebanyakan game ini mengambil setting peperangan dengan senjata-senjata militer (di indonesia game jenis ini sering disebut game tembak-tembakan).
•    Real-Time Strategy, merupakan game yang permainannya menekankan kepada kehebatan strategi pemainnya, biasanya pemain memainkan tidak hanya 1 karakter saja akan tetapi banyak karakter.
•    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

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

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

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



Daftar Pustaka :
http://id.wikihow.com/Membuat-Game-Komputer
(Diakses Pada Tanggal 8 April 2018)
https://id.wikipedia.org/wiki/Kecerdasan_buatan
(Diakses Pada Tanggal 8 April 2018)
https://sylviaalfarina.wordpress.com/2015/04/22/user-interface-pada-game-komputer/
(Diakses Pada Tanggal 8 April 2018)
https://ribunni.wordpress.com/2013/07/04/pengantar-teknologi-game-tugas-4/
(Diakses Pada Tanggal 8 April 2018)
(Diakses Pada Tanggal 8 April 2018)

(Diakses Pada Tanggal 8 April 2018)

(Diakses Pada Tanggal 8 April 2018)

(Diakses pada Tanggal 8 April 2018)


(Diakses pada Tanggal 7 April 2018)

(Diakses pada Tanggal 7 April 2018)