Generasi Pertama
Pertama kali diciptakan oleh A.S. Douglas pada tahun 1952 di University of Cambridge yaitu TicTacToe yang diprogram pada komputer EDSAC dengan teknologi komputer Vaccum Tube. Setelah kemunculan game TicTacToe berbagai jenis game bermunculan seperti : Pada tahun 1961, Steve Russel membuat game bernama Spacewar dengan komputer mainframe MIT PDP-1 yang biasa digunakan untuk perhitungan statistik.Lalu, pada tahun 1972 perangkat khusus untuk game yang dapat terhubung dengan televisi (Magnavox Odyssey ) yang diciptakan oleh perusahaan Magnavox dengan game buatannya yaitu Pong. Setelaah itu pada tahun 1975, Magnavox tidak lagi menjual perangkat tersebut karena, mereka telah memperkenalkan konsol game yang menggunakan microprosessor yang menjadi cikal bakal teknologi game generasi kedua.
Generasi Kedua
Pada tahun 1976, teknologi game dengan menggunakan microprosessor mulai di perkenalkan dengan adanya VES ( Video Entertainment System) yang dibuat oleh Fairchild selain itu, ada konsol game lainnya yang terkenal pada zaman tersebut diantaranya : Magnavox Odyssey versi 2, Attari 2600, dan Attari 5200.Pada tahun 1980, Atari 2600 digunakan sebagai konsep dasar perkembangan konsol game di perusahaan lainnya. Generasi kedua ini juga ditandai dengan game Arcade 3D pertama keluaran Atari yaitu Battlezone, Pac-Man keluaran Namco, Game & Watch seri video game-handheld keluaran Nintendo, dan juga APF yang mengeluarkan Imagination Machine yang merupakan add-on komputer untuk video game rumahan APF MP-100 dimana semua game tersebut menggunakan teknologi gambar 8 bit.
Generasi Ketiga
Pada tahun 1983 FAMICOM (Nintendo) merilis konsol game dengan nama NES (Nintendo Entertainment System) yang dapat menampilkan gambar dan animasi dengan resolusi tinggi dengan game yang paling terkenal adalah Super Mario.Pada generasi ini keamanan terhadap game sudah dipikirkan untuk menghindari dari pembajakan. Untuk itu, Nintendo merilis sebuah chip pengaman pada cartridge game mereka, sehingga seluruh game yang akan dirilis harus dengan seizin Nintendo
Generasi Keempat
Pada tahun 1988, teknologi dalam bidang konsol game mengalami perkembangan mulai dari sisi grafis yang menggunakan teknologi 16 bit, perubahan pada gameplay, dan sound system dalam game konsol.Perkembangan ini dibuktikan dengan hadirnya perusahaan game pesaing Nintendo yaitu SEGA yang mengeluarkan produk konsol game buatannya yaitu Sega Mega Drive yang mendukung teknologi pada masa itu dan game buatannya yang terkenal Sonic the Hedgehog.
Generasi Kelima
Pada tahun 1994, Atari kembali meluncurkan konsol game yaitu Atari Jaguar yang menyaingi kecanggihan SNES dan Mega Drive. Pada masa tersebut Atari Jaguar sudah mendukung teknologi gambar 64 bit namun, karena sulitnya menggunakan konsol tersebut akhirnya Atari Jaguar kalah saing dengan perusahaan konsol game terbaru yang dibuat oleh Sony yaitu Playstation 1 dengan teknologi gamabar 32 bit. Sony menggunakan CD sebagai media penyimpanan untuk game nya.Pada akhirnya konsol game dengan menggunakan CD/DVD sebagai media penyimpanan game semakin laris dan Sony pun mengeluarkan produk terbaru nya pada tahun 2000 dengan konsol game bernama Playstation 2.
Generasi Keenam
Pada tahun 2006, konsol game mulai mengalami perubahan dari segi grafis yang tinggi hinga mendekati real, dilengkapi dengan motion sensitive sehingga pengguna dapat menkontrol game nya dengan memiringkan atau memutar konsol game, terhubung dengan internet, dan masih banyak fitur lainnya dari segi perangkat maupun software yang digunakan terus berkembang hingga saat ini
Game Engine (Unity)
Unity merupakan salah satu game engine yang banyak digunakan pada saat ini yang dibangun oleh Unity Technologies pada tahun 2004 oleh David Helgason, Nicholas Francis, dan Joachim Ante. Unity menyediakan fitur pengembangan game dalam berbagai platform, yaitu Unity Web, Windows, Mac, Android, iOS, XBox, Playstation 3 dan Wii. Dan kabarnya, Unity akan merilis versi berikutnya dengan dilengkapi platform Flash.
Versi gratis unity menyediakan fitur pengembangan game berbasis windows, standalone mac, dan web. Sedangkan untuk platform lainnya diperlukan lisensi khusus. Unity pro juga menyediakan beberapa fitur lebih jika dibandingkan unity free, misalkan adalah efek bayangan pada objek dan efek water yang lebih memukau. Dalam unity disediakan berbagai pilihan bahasa pemrograman untuk mengembangkan game, antara lain JavaScript, C#, dan BooScript. Namun meskipun disediakan tiga bahasa pemrograman, kebanyakan developer menggunakan JavaScript dan C# sebagai bahasa yang digunakan untuk mengembangkan game mereka. Unity Mensuport pembuatan game 2D dan 3D, namun lebih ditekankan pada 3D. Pengembangan game lebih ditekankan pada desain dan tampilan visual daripada pemrograman. Unity memiliki beberapa versi, diantaranya Unity 3.x, Unity 4.x, Unity 5.x dan Unity 2017.x.
Fitur-fitur :
Graphics engine yang digunakan adalah Direct3D (Windows, Xbox 360), OpenGL (Mac, Windows, Linux, PS3), OpenGL ES (Android, iOS), dan proprietary APIs (Wii). Ada pula kemampuan untuk bump mapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture and full-screen post-processing effects.[4]
Unity dapat mengambil format desain dari 3ds Max, Maya, Softimage, Blender, modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks and Allegorithmic Substance. Asset tersebut dapat ditambahkan ke game project dan diatur melalui graphical user interface Unity.
ShaderLab adalah bahasa yang digunakan untuk shaders, dimana mampu memberikan deklaratif “programming” dari fixed-function pipeline dan program shader ditulis dalam GLSL atau Cg. Sebuah shader dapat menyertakan banyak varian dan sebuah spesifikasi fallback declarative, dimana membuat Unity dapat mendeteksi berbagai macam video card terbaik saat ini, dan jika tidak ada yang kompatibel, maka akan dilempar menggunakan shader alternatif yang mungkin dapat menurunkan fitur dan performa.
Scripting
Script game engine dibuat dengan Mono 2.6, sebuah implementasi open-source dari .NET Framework. Programmer dapat menggunakan UnityScript (bahasa terkustomisasi yang terinspirasi dari sintax ECMAScript, dalam bentuk JavaScript), C#, atau Boo (terinspirasi dari sintax bahasa pemrograman phyton). Dimulai dengan dirilisnya versi 3.0, Unity menyertakan versi MonoDevelop yang terkustomisasi untuk debug script.
Asset Tracking
Unity juga menyertakan Server Unity Asset – sebuah solusi terkontrol untuk defeloper game asset dan script. Server tersebut menggunakan PostgreSQL sebagai backend, sistem audio dibuat menggunakan FMOD library (dengan kemampuan untuk memutar Ogg Vorbis compressed audio), video playback menggunakan Theora codec, engine daratan dan vegetasi (dimana mensuport tree billboarding, Occlusion Culling dengan Umbra), built-in lightmapping dan global illumination dengan Beast, multiplayer networking menggunakan RakNet, dan navigasi mesh pencari jalur built-in.
Platforms
Unity support pengembangan ke berbagai plaform. Didalam project, developer memiliki kontrol untuk mengirim keperangkat mobile, web browser, desktop, and console. Unity juga mengijinkan spesifikasi kompresi textur dan pengaturan resolusi di setiap platform yang didukung.
Saat ini platform yang didukung adalah BlackBerry 10, Windows 8, Windows Phone 8, Windows, Mac, Linux, Android, IOS, Unity Web Player, Adobe Flash, PlayStation 3, Xbox 360, Wii U and Wii. Meskipun tidak semua terkonfirmasi secara resmi, Unity juga mendukung PlayStation Vita yang dapat dilihat pada game Escape Plan dan Oddworld: New ‘n’ Tasty.
Rencana platform berikutnya adalah PlayStation 4 dan Xbox One. Dan juga rumor untuk kedepanya mengatakan HTML akan menjadi platformnya, dan plug-in Adobe baru dimana akan disubtitusikan ke Flash Player, juga akan menjadi platform berikutnya.
Asset Store
Diluncurkan November 2010, Unity Asset Store adalah sebuah resource yang hadir di Unity editor. Asset store terdiri dari koleksi lebih dari 4,400 asset packages, beserta 3D models, textures dan materials, sistem particle, musik dan efek suara, tutorial dan project, scripting package, editor extensions dan servis online.
Physics
Unity juga memiliki suport built-in untuk PhysX physics engine (sejak Unity 3.0) dari Nvidia (sebelumnya Ageia) dengan penambahan kemampuan untuk simulasi real-time cloth pada arbitrary dan skinned meshes, thick ray cast, dan collision layers.
Desain Skenario dan Script
Naskah atau script dalam pemrograman komputer adalah sebuah program atau intruksi yang ditafsirkan atau dilakukan dengan program lain daripada oleh komputer prosesor. Script adalag semacam bahasa pemrograman dalam tingkat kesulitan yang lebih rendah, tanpa aplikasi kompilasi interpreter, skrip biasanya disisipkan ke dalam bahasa pemrograman yang lebih kompleks dan hasil digunakan oleh bahasa pemrograman yang lebih kompleks itu. Skrip merupakan kumpulan sintaks pemrograman yang siap untuk di-compile. Macam - macam skrip : PHP, ASP, Java Script, Java Apples, VB Script. Ruby, Python, dan lain lainnya.
Artificial Intelligence pada Game
Sebelum saya menjelaskan tentang AI (Artificial Intelligence) pada game, saya akan menjelaskan definisi AI itu sendiri menurut beberapa pakar Ahli diantaranya :
"Kecerdasan buatan (Artificial Intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang –dalam pandangan manusia adalah– cerdas”
– H. A. Simon (1987)
“Kecerdasan Buatan (AI) merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia”
– Rich and Knight (1991)
– Rich and Knight (1991)
Dari beberapa definisi diatas maka dapat ditarik kesimpulan bahwa AI (Artificial Intelligence) / kecerdasan buatan merupakan sebuah teknologi komputer yang membuat sebuah mesin memiliki kecerdasan layaknya manusia. Begitu juga hal nya dengan Game yang memiliki AI di dalam nya, di buat layaknya manusia yang dapat bergerak dan mengambil keputusan nya sendiri.
Tetapi saat AI sudah ditanam dalam system game, pergerakkan NPC menjadi lebih leluasa untuk menjelajahi map tanpa ada pola yang mengatur pergerakkan nya dan kini NPC dapat membuat sebuah strategi sederhana dengan kondisi yang berbeda beda. Walau tidak banyak game yang seperti ini, saya akui bahwa saat ini Industri Game sudah berkembang dari sebelumnya. Bahkan banyak game engine yang menawarkan System AI pada NPC, hal tersebut dapat membantu programmer lebih cepat dalam memasukkan AI ke dalam game nya.
Berdasarkan buku yang ditulis Ian Millington dan John Funge, Teknik yang diperlukan dalam membuat game menjadi cerdas adalah dengan membuat NPC dapat bergerak dengan bebas tanpa ada pola yang ditetapkan programmer kecuali batasan yang bisa di tempuh NPC tersebut, dapat mengambil keputusan sendiri dan dapat belajar dari pengalaman.
Movement
Pada beberapa game yang mengusung tema petualangan sudah hal dasar bagi game tersebut memiliki NPC yang dapat bergerak mengikuti alur/pola yang telah ditentukan. Dengan adanya AI dalam game tersebut dapat memungkin kan NPC bergerak sesuai pola yang ditentukan atau bebas bergerak sepanjang jalur yang di sediakan dalam game tersebut.
Pathfinding
Pathfinding merupakan teknik yang digunakan agar NPC dapat membatasi pergerakkan nya sesuai perintah yang di terimanya. Dalam hal ini pathfinding merupakan perpaduan antara Decision Making dan Movement. Misalnya pada sebuah permainan, dimana NPC diperintahkan untuk berjaga di suatu lokasi oleh pemain maka, NPC akan berjalan di sekitar titik yang ditentukan oleh pemain. Hal tersebut salah satu fungsi dari teknik pathfinding dalam game berbasis AI.
Decision making
Sebuah game dikatakan memiliki AI jika NPC nya dapat mengambil keputusan sendiri. Hal tersebut hanya bagian terkecil dalam sebuah game yang berbasis AI karena, AI tidak hanya sekedar mengambil keputusan saja tapi mengolah informasi yang di dapat untuk mengambil keputusan guna untuk membuat strategi dan mempelajari hal yang di lakukan oleh lawan nya dan masih banyak lagi hal yang dapat dilakukan AI untuk menciptakan game yang hebat.
Tactical & Strategic
AI digunakan untuk membuat NPC dapat mengambil keputusan yang kemudian, di olah menjadi informasi untuk digunakan sebagai Taktik dan Strategi yang harus di lakukan oleh NPC tersebut. Namun, penulis mengatakan bahwa tidak semua jenis game dapat menggunakan AI dan AI harus dibatasi dalam setiap permainan. Contoh dalam game dengan genre FPS (First Person Shoot), di dalam game tersebut NPC ditugaskan untuk menembaki pemain. Jika AI di pasang dalam NPC tersebut maka, NPC tersebut akan membuat sebuah strategi berdasarkan pengalaman nya dan hal tersebut akan membuat tingkat kesulitan game tersebut bertambah dengan sendiri nya. Hal yang paling buruk adalah membuat pemain menjadi stress untuk menghadapi NPC tersebut.
Learning
Learning dalam game diperlukan untuk NPC agar dapat mempelajari gerakan, strategi, dan pola permainan dari pemain lain sehingga dapat menunjang NPC untuk mengambil keputusannya sendiri untuk menghadapi pemain tersebut seperti membuat strategi dan memutuskan sebuah penyelesaian masalah.
Daftar Pustaka :
[2] Roedavan, Rickman. 2016. "Unity Tutorial Game Engine". Bandung: Informatika.
[3] https://www.academia.edu/26064884/Unity_3D_Game_Engine
[4] https://unity.com