Kamis, 26 April 2018

Arsitektur Game Engine



Arsitektur Game Engine

     Game engine adalah sebuah sistem perangkat lunak (software) yang dirancang untuk pembuatan dan pengembangan video game. Game engine memberikan kemudahan dalam menciptakan konsep sebuah game yang akan di buat. Mulai dari sistem rendering, physics, arsitektur, suara, scripting, A.I, dan bahkan sistem networking. Tujuan digunakannya game engine adalah untuk mempermudah pembuatan bagian‐bagian tertentu dalam game, membagi‐bagi pengembangan game menjadi modul‐modul tertentu, dan memudahkan kolaborasi antar pihak.

1.  Game Engine

Perangkat lunak yang dapat membuat atau mengembangkan sebuah game yang ingin kita buat dapat disebut game engine. Game ini dapat berbagai genre game yang dapat Anda buat seperti Action, shooter, adventura dan sejenisnya. 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. 

2. Tipe‐tipe Game Engine
Game memiliki berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrograman. Berikut ini adalah beberapa tipe dari game engine.
  • Roll Your‐Game Engine
Game engine tipe ini lebih disukai karena selain gratis, game engine ini juga memperbolehkan para developer lebih fleksibel dalam mengitegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Namun kelemahan dari tipe game engine ini banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya.
  • Mostly‐Ready‐Game Engine
Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programmer. Semuanya termasuk conth GUI, phisycs, libraries models, 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 banyak terjadi error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine‐nya tersebut untuk mengoptimalkan kinerja game‐nya. Dengan hal ini dapat menghemat waktu dan biaya dari para developer game.
  • Point‐and‐Click Engine
Engine ini merupakan engine yang sangat dibatasi, tetapi 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. 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.
3. Elemen pada Game Engine
Seperti halnya perangkat lunak lainnya, pada geme engine juga terdapat beberapa elemen diantaranya :
  • Tools / Data
Dalam pengembangan game, dibutuhkan data yang tidak semudah menuliskan text files. Dalam pengembangan game, paling tidak dibutuhkan beberapa tools seperti 3d model editor, level editor dan graphics programs. Bahkan jika diperlukan, seringkali kita mengembangkan game engine tersebut dengan menambahkan beberapa code dan fitur yang diperlukan.
  • System
System adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. Jika game engine sudah dibuat dengan baik maka system ini adalah satu‐satunya bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system yaitu graphics, input, sound, timer, configuration. System sendiri bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.
  • Console
Dengan menambahkan console, kita dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console sendiri lebih sering digunakan dalam proses debugging. Apabila game engine tersebut mengalami error kita tinggal mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart. Console sendiri dapat dihidupkan dan dimatikan sesuai keinginan.
  • Support
Support adalah bagian yang paling sering digunakan oleh system di dalam game engine. Support sendiri berisi rumus‐rumus matematika yang biasa digunakan seperti : vector, matrix, memory manager, file loader merupakan dasar dari game engine dan hampir digunakan semua projek game engine.
  • Renderer / Engine Core
Pada game engine, engine core / renderer terdiri dari beberapa sub yaitu visibility, Collision Detection dan Response, Camera, Static Geometry, Dynamic Geometry, Particle Systems, Billboarding, Meshes, Skybox, Lighting, Fogging, Vertex Shading, dan Output.
  • Game Interface
Game interface sendiri merupakan layer diantara game engine dan game itu sendiri. Berfungsi sebagai control yang bertujuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.
  • The Game
Merupakan inti dari penggunaan game engine sendiri, sehingga user dapat mengembangkan game tersebut sesuai dengan yang diinginkan.

Interaksi fisik dalam teknologi game

            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

Collision Detection dibutuhkan untuk memastikan tidak ada objek yang saling menembus. Pada dasarnya, objek baik 2 dimensi maupun 3 dimensi pada Teknologi Game dan digital, secara umumnya objek – objek tersebut bukanlah objek yang memiliki kemampuan fisik, atau secara lain objek tersebut hanyalah susunan dari titik, garis, dan penampang yang terhubung satu sama lain, dan bisa dianggap bahwa objek tersebut hanyalah sebatas bentuk, tanpa memiliki kemampuan.

 

Agar objek – objek tersebut dapat mensimulasikan kemampuan fisik, objek – objek tersebut harus diberikan pemahaman dengan menggunakan aljabar linear dan komputasi geometri.

Komputasi geometri tersebut digunakan untuk memberikan batas pada objek. Walaupun objek tersebut terlihat sudah memiliki penampang, sebenarnya penampang tersebut bukanlah batasan dari sisi terluar objek tersebut. Oleh karena itu, komputasi geometri dibuat dengan parameter bentuk dan volume dari objek tersebut. Umumnya, bentuk batasan ini disebut bounding box ( batas kotak ).Aljabar linear digunakan untuk memberitahukan bahwa, ketika batas tersebut terletak pada koordinat yang sama atau berpotongan dengan batas objek lain, maka objek – objek tersebut mensimulasikan tabrakan.

Pada awalnya, penggunaan algoritma untuk pendeteksian tabrakan ini bekerja dengan cara mudah, yaitu dengan cara mengecek apakah penampang dari batas objek A dengan penampang dari batas objek B akan saling berpotongan. Tentu saja hal tersebut akan bekerja. Tapi, bayangkan apabila objek yang digunakan sangat banyak. Setiap penampang dari batas objek A = [a1, a2, …, an] akan melakukan pengecekan sampai ke penampang dari batas objek N = [n1, n2, …, nn]. Mungkin algoritma ini akan bekerja dengan baik apabila hanya terdapat 2 objek dalam lingkungan tersebut.

Dalam perkembangan pendeteksian tabrakan, konfigurasi kemampuan fisik dari satu pergerakan ke pergerakan selanjutnya hanya berubah sedikit. Banyak objek – objek yang tidak bergerak sama sekali. Algoritma telah di desain sehingga perhitungan telah selesai untuk menentukan bahwa pergerakan terdahulu dapat digunakan kembali untuk pergerakan di masa kini, yang menghasilkan perhitungan selesai dengan lebih cepat. Perkembangan tersebut tujuan nya hanya untuk mencari dan menentukan pasangan – pasangan dari objek – objek yang mungkin berpotongan. Pasangan – pasangan tersebut akan menganalisis pergerakan kedepannya.

Logikanya adalah setiap kotak direpresentasikan dengan tiga bentuk interval ( misalkan, sebuah kotak akan direpresentasikan dengan I1 x I2 x I3 = [a1, b1] x [a2, b2] x [a3, b3] ). Jika terdapat 2 kotak ( dengan bounding box nya masing – masing ) I1 x I2 x I3 dan J1 x J2 x J3 akan berpotongan jika, dan hanya jika, I1 berpotongan dengan J1, dan seterusnya. Maka, pada pergerakan tersebut dan untuk ke pergerakan selanjutnya, Ik dan Jk berpotongan, sehingga hal tersebut akan sama untuk pergerakan lainnya. Sebaliknya, jika mereka tidak berpotongan pada pergerakan sebelumnya, maka pergerakan mereka tidak akan berpotongan. Sehingga untuk mengurangi masalah tersebut, dibuatkan tiga daftar interval ( satu untuk setiap sumbu, X,Y, dan Z). Maka dari itu didapat matriks n x n, M = (mij) dengan isi nol dan satu: mij adalah 1 jika interval i dan j berpotongan, dan 0 jika mereka tidak berpotongan.

Spatial Partitioning

Algoritma alternatif di kelompokkan dibawah spatial partitioning, termasuk octress, binary space partitioning ( BSP Trees ), dan yang lainnya yang memiliki pendekatan yang serupa. Hal ini digunakan dengan membagikan sebuah wilayah menjadi beberapa bagian, dan jika dua objek tidak terdapat pada bagian yang sama, maka objek – objek tersebut tidak perlu dicek apakah akan berpotongan. BSP Trees bisa memperhitungkan terlebih dahulu, yang mana pendekatan tersebut sangat cocok untuk didefinisikan di dalam objek berbentuk tembok, dan objek halangan yang tetap dalam sebuah game. Algoritma tersebut secara umum lebih dulu diketahu daripada algoritma yang telah dijabarkan sebelumnya.


User interface pada game

Graphical User Interface(GUI)
     GUI adalah tipe antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan sistem operasi melalui gambar-gambar grafik, ikon, menu, dan menggunakan perangkat penunjuk ( pointing device) seperti mouse atau track ball. Elemen-elemen utama dari GUI bisa diringkas dalam konsep WIMP ( window, icon, menu, pointing device).

Terdapat beberapa macam fitur yang terdapat pada antarmuka pengguna telematika. Fitur-fitur itu antara lain:
1)      Head Up Display System


Head Up Display (HUD) merupakan sebuah tampilan transparan yang menampilkan data tanpa mengharuskan penggunanya untuk melihat ke arah yang lain dari sudut pandang biasanya. Asal nama dari alat ini yaitu pengguna dapat melihat informasi dengan kepala yang terangkat (head up) dan melihat ke arah depan daripada melihat ke arah bawah bagian instrumen. Walaupun HUD dibuat untuk kepentingan penerbangan militer, sekarang HUD telah digunakan pada penerbangan sipil, kendaraang bermotor dan aplikasi lainnya.

2)      Tangible User Interface


     Tangible User Interface, yang disingkat TUI, adalah antarmuka dimana seseorang dapat berinteraksi dengan informasi digital lewat lingkungan fisik. Nama inisial Graspable User Interface, sudah tidak lagi digunakan. Salah satu perintis TUI ialah Hiroshi Ishii, seorang profesor di Laboratorium Media MIT yang memimpin Tangible Media Group. Pandangan istimewanya untuk tangible UI disebut tangible bits, yaitu memberikan bentuk fisik kepada informasi digital sehingga membuat bit dapat dimanipulasi dan diamati secara langsung.

3)      Computer Vision


 
     
Computer Vision (komputer visi) merupakan ilmu pengetahuan dan teknologi dari mesin yang melihat. Dalam aturan pengetahuan, komputer visi berhubungan dengan teori yang digunakan untuk membangun sistem kecerdasan buatan yang membutuhkan informasi dari citra (gambar). Data citranya dapat dalam berbagai bentuk, misalnya urutan video, pandangan deri beberapa kamera, data multi dimensi yang di dapat dari hasil pemindaian medis.

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.

Sumber refrensi :

Sabtu, 31 Maret 2018

TEKNOLOGI PADA GAME



Teknologi Game

Perkembangan Teknologi Game

I.                   Teknologi Game Generasi Pertama (1952-1975)

Teknologi Game pertama kali diciptakan oleh A.S. Dougles tahun 1952 di University of Cambridge yaitu OXO untuk mendemonstrasikan tesisnya mengenai interaksi antara computer dan manusia setelah itu Douglas menciptakan game Tic-Tac-Toe yang diprogram pada computer EDSAC.
Pada tahun 1961 , Steve Russel membuat gane yang bernama Spacewar dimana dalam pembuatannya menggunakan computer mainframe MIT PDP-1. Komputer tersebut biasanya ia gunakan untuk pekerjaannya yang biasanya dipakai untuk perhitungan statistic.
Pada tahun 1972 untuk pertama kalinya game dibuat untuk pasar rumahan. Produsen Magnavox membuat game Magnavox Odyssey yang dihubungkan ke televisi. Pada tahun 1975 game tersebut tidak dilanjutkan produksinya dan digantikan dengan Odyssey 100 , mesin khusu game Pong yang menggunakan mikroprosesor berbasis konsol.

II.                Teknologi Game Generasi Kedua (1976-1983)

Merupakan generasi dimana konsol game 4-8 bit muncul pertama kalinya. Pada generasi ini banyak produsen game konsol bermunculan yaitu Fairchild Channel F, Magnavox Odyssey versi 2, Attari 2600, dan Attari 5200. Sehingga perkembangan dunia gamemenjadi semakin pesat. Pada generasiini banyak game yang bermunculan seperti 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.
Pada tahun 1983 ketenaran video game menurun disebabkan kurang kreatifnya para pembuat game dan banyak yang beralih ke Personal Computer (PC) yang semakin canggih.

III.             Teknologi Game Generasi Ketiga (1983-1986)
Pada generasi ini muncul sebuah gebrakan baru dari FAMICOM/Nintendo Entertainment System (NES) yang dirilis tahun 1983. Produsen asal Jepang tersebut mampu membuat game yang menampilkan gambar dan animasi resolusi tinggi salah satunya yaitu game legendaris yang masih banyak digemari pada zaman sekarang yaitu Super Mario.

IV.            Teknologi Game Generasi Keempat (1988-1993)
Merupakan generasi dengan konsol game 16 bit. Pada tahun 1988, SEGA merilis konsol terbaru yaitu Sega Mega Drive dan pada tahun 1990, Nintendo mengeluarkan konsol SNES (Super Nintendo Entertainment System) dan terdapat juga konsol seperti NEC dan SNK.
Pada tahun 1991 SEGA mengeluarkan game yang mampu menyaingi Super Mario buatan Nintendo yaitu Sonic the Hedgehognya karena kualitas yang jauh lebih baik.





V.               Teknologi Game Generasi Kelima (1994-1999)
Pada tahun 1994 ATARI mengeluarkan konsol game yang bernama Atari Jaguar yang ingin mengalahkan popularitas SNES yang dikeluarkan oleh Nintendo dan Mega Drive yang dikeluarkan oleh SEGA.
Pada generasi ini juga muncul sebuah konsol game 32 bit yang sangat laris di pasaran yang berbasis CD yaitu Playstation (PS) yang dirilis oleh SONY. Plyastation merupakan konsol game pertama yang dikeluarkan oleh SONY oleh sebab itu sering disebut juga dengan PS1. PS1 membuat Atari Jaguar, SNES dan Mega Drive tenggelam. Nintendo akhirnya mengeluarkan Nintendo 64 supaya mampu menyaingi PS1.

VI.            Teknologi Game Generasi Keenam (2000-sekarang)
Pada generasi ini SONY masih menguasi konsol game, mulai dari PS2 , PS3 sampai PS4 teta menjadi nomor 1 di hati para pencinta game konsol. Microsoft mencoba untuk membuat persaingan dengan SONY dimana Microsoft mengeluarkan konsol game yaitu XBOX.

Implementasi Komputer Grafik Dalam Game

Banyak Teknik yang digunakan dalam pembuatan game supaya game tersebut terlihat bagus dan ketika dimainkan tidak terasa membosankan. Pada creator game pasti memikirkan bagaimana tampilan game yang akan dibuatnya menjadi lebih menarik lagi. Salah satu teknik yang digunakan adalah pencahayaan. Banyak sekali teknik pencahayaan yang ada , yaitu Ambient Light, Directional Light , Positional Light, Point Light, Spotlight dan Area Light. Teknik pencahayaan sangat penting sekali , karena berperan bagaimana tampilan objek terlihat terang / gelap atau samar-samar. Setiap scene dalam game pasti memiliki pencahayaan yang berbeda-beda.
Saya akan membahas salah satu dari teknik pencahayaan yaitu Ambient Light. Ambient Light merupakan teknik pencahayaan yang akan memancarkan cahaya secara keseluruhan (cahaya lingkungan) dengan intensitas yang diterima oleh semua permukaan benda adalah sama.
Saya akan memberikan contoh dari teknik ambient light pada game mobile yaitu Street Racing 3D , game ber genre racing yang dapat di download pada Playstore.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmQccO7RQ7izptVsGsAGxdI2G5A5GaeeOcXzZL1xftpI3nbHlB8imGWAUSCjoPmP_TuwrEpB7elPOZ-6BmHUJsOLz28yXSyX4ARwZAx9uefHlB2dMF6Od5aM5MRtTfiTmcJzqkfZkyofQ/s320/Street+Racing+3D.jpg

Pada gambar diatas tampak jelas sekali bahwa cahaya memancar kesemua arah dan setiap permukaan benda yang ada didalam gambar tersebut menerima intensitas cahaya yang sama pula. Oleh sebab itu teknik ambient light sangat cocok sekali untuk diterapkan pada game yang memiliki tampilan game yang luas tanpa membedakan intensitas cahaya yang diterima oleh setiap benda

3.   Bisnis Dalam Game Komputer

Saat ini , game mengalami perkembangan yang sangat pesat. Banyak hal yang menyebabkan hal itu terjadi. Salah satunya adalah platform yang digunakan untuk bermain game , dahulu bermain game hanya bisa dilakukan menggunakan game konsol saja , tentu bagi sebagian orang hal mudah untuk diwujudkan dan bagi sebagian orang sulit untuk diwujudkan karena harga konsol game yang tidak murah.
Namun pada saat ini bermain game tidak hanya dilakukan melalu konsol saja , melainkan bisa di Smartphone dan juga Personal Computer yang harganya bisa lebih murah dari konsol game seperti Playstation , Xbox dan Nintendo Switch. Melihat hal ini , banyak produsen game bermunculan yang ingin meramaikan perkembangan dunia game.
Tidak salah kalo bisnis ini bisa dibilang bisnis sangat menjanjikan , karena game bisa dimainkan oleh siapapun , kapanpun dan tidak harus menggunakan konsol. Game bisa dimainkan di smartphone yang mudah dibawa kemana saja.
Berikut ini merupakan produsen game dengan produk gamenya yang terkenal. Rockstargames dengan Grand Theft Auto V (GTA V) , Ubisoft Montreal dengan Far Cry Primal , Konami dengan Pro Evolution Soccer (PES) , Electronic Arts dengan banyak game nya yang terkenal dan masih banyak lagi produsen game yang terkenal , baik itu untuk PC , konsol game maupun smartphone.

4.   Software Pembuatan Game Komputer

3D Engine dan Scene Graph (Ogre 3D, Unity 3D, OpenSceneGraph, Delta 3D)

Ogre 3D

            Ogre 3D merupakan engine untuk rendering grafikal yang Open Source. Ogre 3D tidak menyertakan komponen built-in seperti physics, penanganan input user dan kercedasan buatan (Artificial Intellegence). Ogre ini bersifat hanya sebagai plug-in yang ditanam umum menambahkan library-nya yang merupakan sebagai mesin render yang tangguh dan banyak orang bilang ini sebagai game engine. Berdasarkan FAQ(Frequently Asked Quetion) dari Ogre 3D wiki, Ogre sebenarnya bukan Game Engine tetapi hanya merupakan Graphic Engine, Ogre 3D hanya fokus pada grafis 3D dan manipulasi adegan 3D. Ogre 3D digambarkan seperti OpenGL atau DirectX.

Delta 3D

            Delta 3D adalah sebuah simulasi game engine yan telah banyak digunakan dan didukung oleh berbagai open source game. Delta 3D merupakan game engine yang mendukung berbagai jenis kebutuhan termasuk latihan, pendidikan, visualisasi dan hiburan. Delta 3D ini sangat unik karena menawarkan fitur khusus cocok untuk pemodelan dan simulasi dan masyarakat DoD seperti High Level Architecture (HLA), After Action Review (AAR), dukungan daerah skala besar dan SCORM Learning Management System (LMS) integration. Delta 3D adalah open source engine yang dapat digunakan untuk permainan, simulasi, atau aplikasi grafis lainnya. Desain modular diperkuat dengan fitur lainnya yang terkenal proyek Open Source seperti Open Scene, Open Dynamics Engine, Character Animation Library dan OpenAL.

Unity
Game yang sering kita mainkan saat ini membutuhkan proses yang rumit dalam pembuatannya , maka dibutuhkan sebuaf software yang memudahkan para creator dalam membuat game. Banyak software yang digunakan untuk membuat game , namun saya akan membahas salah satu dari software pembuatan game yang terkenal yaitu Unity 3D.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5gAhvfQq8cCG0RGzLxTzA16MYZjD9BL7gfNR_BHjR2tFs_I7CqIhfbEFjd_Jit1SfP6GwByMzTerxsckq_SlHVhjrHAGenETfx1PZpo2KHZ70EdR1L7xv6KXtGZgNyjwFUk65NvO-6-w/s320/Unity+3D.jpg
Unity adalah cross-platform game engine yang dikembangkan oleh Unity Technologies, yang mengutamakan untuk mengembangkan tiga-dimensi dan dua-dimensi dalam video game dan simulasi untuk komputer, konsol, dan perangkat mobile. Pertama kali diumumkan hanya untuk OS X di Apple's Worldwide Developers Conference pada tahun 2005, dan telah diperluas untuk 27 platform. Enam versi utama Unity telah dirilis.
Unity adalah game engine serbaguna yang mendukung grafis 2D dan 3D, fungsi yg menggunakan drag dan drop dan scripting menggunakan C#. Dua bahasa pemrograman lain didukung: Boo, yang dirilis dari Unity 5 dan JavaScript yang memulai proses pada 2017 Agustus setelah rilis Unity pada Januari 2017.
Target engine yang mendukung grafik API: Direct3D pada Windows dan Xbox One; OpenGL pada Linux, macOS dan Windows; OpenGL ES pada Android dan iOS; WebGL di web; dan API pada konsol game.
Selain itu, Unity mendukung tingkat rendah API Metal pada iOS dan macOS dan Vulkan pada Android, Linux, dan Windows, serta Direct3D 12 pada Windows dan Xbox One.
Dalam game 2D, Unity memungkinkan impor sprite dan renderer canggih 2D. Untuk game 3D, Unity memungkinkan spesifikasi tekstur kompresi, mipmaps, dan resolusi pengaturan untuk setiap platform bahwa game engine mendukung dan menyediakan dukungan untuk pemetaan bump, pemetaan refleksi, pemetaan paralaks , screen space ambient occlusion (SSAO), bayang-bayang dinamis menggunakan maps bayangan, render tekstur dan efek pasca pemrosesan layar penuh. Unity juga menawarkan jasa untuk pengembang, yakni adalah: Unity Ads, Unity Analytics, Unity Certification, Unity Cloud Build, Unity Everyplay, Unity IAP, Unity Multiplayer, Unity Performance Reporting dan Unity Collaborate.
Unity mendukung penciptaan kustom vertex, fragmen (atau pixel), tesselation, menghitung shader dan Unity permukaan shaders menggunakan Cg, sebuah versi modifikasi dari Microsoft High-Level Shading Language.
Selain Unity 3D terdapat software lainnya untuk membuat game , yaitu :

I.                     OGRE (Object Oriented Graphics Rendering Engine)
II.                   Game Maker
III.                 RPG Maker





Design Skenario , Script dan Storyboard pada Game

Design skenario merupakan tampilan dan tata letak button dan gambar pada game. Semakin bagus design suatu game maka semakin banyak pula orang yang tertarik dengan game yang kita buat, karena design lah yang pertama kali orang lihat.
Script merupakan pembuatan suatu game yang menggunakan suatu bahasa pemrograman , contohnya adalah java. Ketika creator game membuat game dan melakukan pengkodean (coding) maka ia sedang scripting
Storyboard adalah suatu sketsa gambar yang disusun secara berurutan sesuai naskah cerita. Dengan storyboard maka pembuat cerita dapat menyampaikan ide cerita secara lebih mudah kepada orang lain, karena dengan storyboard maka pembuat cerita dapat membuat seseorang membayangkan suatu cerita mengikuti gambar-gambar yang sudah tersaji, sehingga dapat menghasilkan persepsi yang sama dengan ide cerita yang di buat. Storyboard juga dapat di artikan sebagai naskah yang di sajikan dalam bentuk sketsa gambar yang berurutan, berguna untuk memudahkan pembuatan alur cerita maupun pengambilan gambar.


Penerapannya dalam aplikasi game impian saya : PETAK BENTENG
Design Skenario:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGJplsnRd1oVdzEAAevY06lVTNzhfG91rTuq_KGv7UXV7n9d8kDjYRp_ZjlIJN9SiJGfaHfjtAqyfzUStqcLN_8YXx6yD5-nrWM-Iee0ErgPCbbQ2sC02xeiMNJUICoJ0JHS-Lfhq-1rE/s320/Design+Skenario.jpg

Script:
Menggunakan java

Storyboard:
            Pada game ini user akan memilih tampilan menu awal terlebih dahulu. Ada menu 5v5 , 10v10 , Cara Bermain dan juga Exit. Baik memilih menu 5v5 maupun 10v10 , ketika dipilih akan muncul tingkat kesulitannya , dari Mudah, Sedang dan Susah.
Terdapat beberapa aturan permainan:
1.      Setiap group memiliki tiang yang berfungsi sebagai markas mereka
2.      Setiap  pemain yang paling baru memegang tiang nya sendiri (biasa disebut dengan muda), maka ia lah yang menang ketika beradu (menyentuhkan tangannya ke badan musuh) dengan pemain lain yang memegang tiangnya lebih lama (biasa disebut dengan tua).
3.      Jika pemain yang lebih muda mengenai pemain yang lebih tua , maka pemain yang lebih tua kalah dan harus berada di tiang musuh.
4.      Jika ingin membebaskan teman yang berada di tiang musuh , maka harus menyentuh teman kita tersebut tanpa harus terkena pemain musuh yang lebih muda dari kita.
5.      Jika ingin menang , maka suatu group harus mengenai tiang musuh tanpa harus terkena oleh pemain musuh yang lebih muda dari kita.
6.      Setiap group harus berusaha untuk mengenai setiap musuhnya , lebih banyak musuh yang kena , maka akan lebih cepat juga group tersebut untuk menang. Dan memiliki kesempatan yang besar untuk menyentuh tiang mereka
Cara bermain :
1.      User cukup menggunakan tombol W,A,S,D,Shift,Spasi,Ctrl dan Klik kiri pada mouse
2.      W untuk berjalan kedepan
3.      A untuk berjalan ke kiri
4.      D untuk berjalan ke kanan
5.      S untuk berjalan mundur
6.      W/A/S/D + Shift maka akan berlari
7.      Ctrl untuk menunduk
8.      Spasi untuk loncar
9.      Klik kiri pada mouse untuk mengulurkan tangan kita sebagai reaksi untuk menyentuh musuh / teman / tiang musuh.

Intelligence pada game Artificial

                Kecerdasan Buatan atau kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah atau Intelegensi Artifisial didefinisikan sebagai kecerdasan entitas ilmiah. Sistem seperti ini umumnya diangap komputer, Kecerdasan diciptakan dan dimasukkan kedalam suatu mesin (komputer). Agar dapat melakuan pekerjaan seperti apa yang dilakukan manusia. Beberapa macam bidang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer, logika fuzzy, jaringan syaraf tiruan dan robotika. Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh : mentranformasikan persamaan, menyelesaikan persamaan interal, membuat permaian catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh : Pengenalan obyek/muka, bermain sepak bola. Walaupun AI memilii konotasi fisik ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan prilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin.
        Menerapkan Kecerdasan Buatan Dalam Game
                        Di dunia akademis, bidang kecerdasan buatan dipelajari secara serius untuk meningkatkan kualitas hidup manusia. Para peneliti dan mahasiswa terus menerus mengembangkan teknik-teknik pada bidang ini untuk menghasilkan mesin yang semakin mengerti dan memahami kebutuhan manusia, dalam game berbasis kecerdasan buatan, ada banyak teknik yang diadaptasi dari bidang kecerdasan buatan untuk diterapkan pada game. Beberapa diantaranya, yaitu:
·         Mengejar dan Menghindar
·         Pola Pergerakan
·         Pathfinding
·         Jaringan Syaraf Tiruan dan
·         Algoritma Genesis

Decision Making Game
                Decision Making  yaitu suatu pemecahan masalah dan pengambilan keputusan. Decision Making Game merupakan suatu pemecahan masalah dalam pembuatan permainan dan menentukan solusi dari suatu masalah tersebut.
Pathfinding
                Pathfinding dalam deskripsi adalah pencarian rute/jalur dari suatu arena yang pada umumnya memiliki penghalang-penghalang dari arena tersebut. adapun penghalang dapat berupa tembok, sungai dsb. Goal dari Pathfinding ini pada umumnya adalah untuk mencari jalur paling efisien dengan sebisa mungkin menghindari penghalang yang ada.pathfinding dapat diterapkan misalnya dalam membuat AI dari suatu game, misalnya agar AI tersebut dapat mengejar musuh secara efisien dan tanpa menabrak tembok atau penghalang lain.
Weypoint Pada Game
                Waypoint adalah titic acuan/kumpulan koordinat yang digunakan untuk keperluan navigasi untuk mengidentifikasi sebuah titik di peta. Koordinat-koordinat itu biasanya menyertakan longitude, latitude dan kadang altitude untuk keperluan navigasi udara. Waypoint digunakan di berbagai navigasi yang tidak memiliki jalur yang tampak seperti navigasi di udara dan nvigasi di laut, juga navigasi di darat yang tidak memiliki jalur yang jelas. Waypoint ada 2 macam, yaitu:
  • ·         Waypoint fly by dan
  • ·         Waypoint fly over

Referensi: