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 :

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.

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.

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.

User interface berarti tampilan antar muka pengguna. Jika didefinisikan secara sederhana User interface adalah penghubung atau mediator antar komputer dan manusia atau user komputer itu agar hubungan antara perangkat komputer dengan user bisa terjalin. User interface sangat berperan penting dalam dunia komputer karena dengan adanya user interface maka kemudahan user dalam mengoprasikan suatu perangkat komputer menjadi lebih mudah.

Desain user interface dalam game berbeda dari desain user interface lainnya karena melibatkan unsur tambahan fiksi. Fiksi melibatkan avatardari pengguna yang sebenarnya atau player. Sebuah desain interface pada suatu game mempengaruhi kenyamanan dan sejauh mana user atau pemain meminati game tersebut.  Dalam user interface game, terdapat sebuah teori yang dikemukakkan oleh Erik Fagerholt dan Magnus Loretzon dari Chalmers University of Technology. Dalam tesisnya mereka menulis tesis tentang desain user interface berjudul Beyond the HUD – User Interfaces for Increased Player Immersion in FPS Games. Mereka memperkenalkan istilah berbagai jenis interface yang berkaitan dengan desain video game.

            HUD itu sendiri kepanjangan dari Heads – up display, merupakan metode dimana informasi secara visul disampaikan kepada pemain sebagai bagian dari antarmukan pengguna permainan. Biasanya menunjukkan bar/kotak HP(Health Point) ataupun MP(Mana Point) dan biasanya muncul  di atas kepala karakter. Fungsi HUD ini untuk memudahkan pemain mengetahui kondisi karakter dalam permainan.

            Dalam desain antarmuka game terdapat beberapa elemen yang diantaranya adalah :

1. Diegetic

Elemen user interface yang diegetik ada dalam dunia permainan (fiksi dan geometris) sehingga pemain dan avatar dapat berinteraksi dengan mereka melalui visual, audible atau haptic. Elemen UI diegetik yang dieksekusi dengan baik dapat meningkatkan pengalaman narasi untuk pemain, memberikan pengalaman yang lebih mendalam dan terintegrasi. Salah satu game yang mengimplementasikan elemen diegetic adalah Assassin’s Creed. Assassin’s Creed berhasil menggunakan banyak pola diegetic meskipun itu diatur dalam dunia sejarah karena pemain pemain menggunakan sistem virtual reality di masa depan. Jadi cerita sebenarnya futuristik daripada sejarah


2. Meta

Gambaran yang bisa muncul dalam dunia game, namun tidak selalu divisualisasikan spasial untuk pemain.Contoh yang paling jelas adalah efek ditampilkan di layar, seperti percikan darah pada kamera untuk menunjukkan kerusakan. Contoh: Grand Theft Auto 4 Berinteraksi dengan telepon di Grand Theft Auto 4 adalah contoh menarik. Ini meniru interaksi dunia nyata – Anda mendengar dering telepon dan ada penundaan sebelum karakter dan pemain menjawabnya. Elemen UI sebenarnya itu sendiri muncul pada pesawat hub 2D, jadi itu benar-benar elemen Meta, meskipun awal interaksi yang diegetik.

3. Spatial

Elemen User Interface yang disajikan dalam ruang permainan 3D dengan atau tanpa suatu entitas dari dunia permainan yang sebenarnya (diegetik atau non-diegetik).

Fable 3 adalah contoh di mana unsur-unsur spatial yang digunakan untuk memberikan informasi lebih kepada pemain dan mencegah mereka dari melompat ke layar peta. Jejak bersinar hampir cocok dalam fiksi mengingat kualitas estetika ajaib itu tapi karakter tidak dimaksudkan untuk menyadari hal itu. Ini memandu pemain ke tujuan berikutnya.


4. Non-Diagetic

Antarmuka yang diberikan di luar dunia game, hanya terlihat dan terdengar ke pemain di dunia nyata desain interface ini semuanya mengunakan visual heads-up display (HUD). semua menjadi sangat nyaman dengan penggunaan heads-up display (HUD) dalam permainan. Sistem ini memberikan informasi penting dengan cara yang cukup sederhana. Jika dilakukan dengan benar pemain bahkan tidak tahu itu ada. Mass Effect 3 menggunakan banyak Non-diegetik elemen UI untuk menginformasikan pemain senjata karakter dipilih dan kekuasaan – antara lain. Mengingat pengaturan futuristik itu saya tidak bisa membantu untuk berpikir jika beberapa informasi ini bisa telah terintegrasi ke dalam dunia game, narasi, atau bahkan keduanya.
Read More
Dalam ilmu komputer kita mengenal yang namanya Artificial Intelligence. Artificial Intelligence atau kecerdasan buatan adalah sebuah cabang ilmu komputer yang berfokus pada pengembangan komputer agar komputer memiliki kemampuan layaknya manusia. dimasa yang seba modern ini tentunya hampir semua teknologi tidak terlepas pada yang namanya kecerdasan buatan, salah satunya pada teknologi game.

Adapun beberapa AI pada game yang saya ketahui, diantaranya yaitu :

Decision Making: Decision Tree, State Machine,  dan Rule System.
Path Finding        : Way Points dan Path Finding.
Path Finding        : A* Searching , Djikstra, Tactile and Strategic AI. 

Dan Masih Banyak Lagi

Dari beberapa AI yang telah saya sebutkan diatas, tidak semuanya akan saya bahas. pada postingan kali ini saya membahas tentang Algoritma A* atau A star dan Collision. Algoritma A Star atau A* sendiri merupakan algoritma terbaik dalam pencarian terpendek dengan perhitungan terkecil pada jalur dengan simpul awal menuju simpul akhir. Algoritma ini pertama kali dideskripsikan oleh Peter Hart, Nils Nilsson dan Bertram Raphael pada tahun 1968. Sedangkan Collision adalah sebuah pendeteksi apakah sebuah objek bertabakan pada objek lainnya.

Setelah kita membahas pengertian AI dan jenis-jenisnya, sekarang saya mengambil contoh kasus sebuah game sederhana menggunakan Algoritma A* atau A star dan Collision. disini saya mengambil contoh game ular atau Snake 3D. Game Snake 3D sangat cocok menggunakan Algoritma A* karena, pada permainan ular untuk menuju makanan yang dituju harus sebisa mungkin melalu jalan yang terpendek seperti pada Algoritma A Star. dengan algoritma A * komputer dapat menemukan makanan dengan jalan terpendek secara cepat dan efisien.

Pada Permainan Game Snake 3D kita membutuhkan yang nanya Collision. seperti yang kita ketahui dalam permainan game Snake 3D, sebuah pemain akan tamat apabila menyentuh objek yang tidak dikehendaki, nah si Collision ini berfungsi sebagai pendeteksi apakah sebuah objek bertabrakan atau tidak. pada game ini terdapat 4 deteksi tabrakan, yaitu :

Deteksi tabrakan ular dengan batas arena.

Tabrakan ular dengan penghalang jalan.
Tabrakan ular dengan tubuhnya sendiri.
Tabrakan ular dengan tubuh lawannya.

Kesimpulan :

Dalam ilmu komputer terdapat cabang ilmu yang namanya Artificial Intelligence yang mempelajari agar sebuah komputer dapat memiliki kemampuan layaknya manusia. ada banyak sekali jenis-jenis kecerdasan buatan salah satunya A* atau A Star.

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.

Tipe Game Engine : 

Game engine biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrograman. Ada 3 tipe game engine yang ada saat ini, diantaranya :

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.

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.

Point – and – click Engine.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.

Beberapa Contoh Game Engine Open Source :

  1.  3D Game Studio
  2.  Delta 3D
  3.  Unreal Engine
  4.  Panda 3D
  5.  Torque
  6.  Quake Engine
Read More