Tuesday, March 19, 2019

Pengenalan Teknologi Game

Assalamualaikum warahmatullahi wabarakaatuh
Salam sejahtera bagi kita semua

Kali ini ibnu akan memberikan materi mengenai teknologi game. apa itu unity 3D? Bagaimana desain skenario dan skripnya? Mari kita simak bahasan berikut ini.


TEKNOLOGI GAME


     Semakin berjalan waktu, teknologi dan perkembangan game semakin erat bergantung. Teknologi yang digunakan dalam game dapat kita lihat dari logic game, design game, ataupun audio dari game tersebut. Perkembangan industri game di Indonesia sudah mulai dengan munculnya game console seperti Nintendo dan Playstation, zaman itu pelaku industri game di Indonesia kebanyakan hanya sebagai distributor. Setelah era game console, masuklah era game online. Teknologi dalam perkembangan game sampai generasi sekarang semakin berkembang, banyak muncul game dengan kualitas tinggi. Dalam pembuatan game dibutuhkan programmer, designer, music composer, dll. Programmer sendiri bertugas untuk membuat logic dalam game, aspek grafis, kecerdasan buatan dalam game, membuat efek-efek seperti tumbukan, juga membuat game tools, sedangkan designer bertugas untuk membuat konsep art dari game, membuat 2D dan 3D model, serta animasi / karakter dari game. 

       Beberapa teknologi pendukung pembuatan game yaitu game engine. Game engine merupakan mesin penggerak jalannya suatu program game. Ada banyak game engine yang dirancang untuk bekerja pada console ataupun operasi desktop seperti Windows. Dalam game engine terdapat fungsi-fungsi yaitu Rendering Engine, Physical Engine, Sound Script, Animation, Artificial Intelligence, Network, Streaming, Memory Management, dan Scene Graph. Elemen pada Game Engine seperti:
  1. Tools untuk penulisan data seperti 3D model editor, level editor ataupun graphic design.
  2. System untuk melakukan komunikasi dengan hardware dari game tersebut. 
  3. Console mempermudah untuk mengubah setting game atau setting game engine.
  4. Support yang berisi berbagai rumus matematika seperti vector, matrix, memory manager.
  5. Game Interface merupakan perantara antara game engine dan game itu sendiri.
  6. Engine core yang berisi Visibility, Collision Detection and Response, Camera, Static Geometry, Dynamic Geometry, Particle Systems, Billboarding, Meshes, Skybox, Lighting, Fogging, Vertex Shading.
        Teknologi pendukung lainnya adalah game development tools yang merupakan software untuk membantu konversi pembuatan game seperti 3D model yang diperlukan untuk video game. Contoh game development tools yaitu RAD Game Tools, Java Game Development Tools, dan Garage. 




UNITY 3D


        Unity Technologies dibangun pada tahun 2004 oleh David Helgason (CEO), Nicholas Francis (CCO), dan Joachim Ante (CTO) di Copenhagen, Denmark. Unity merupakan suatu aplikasi yang digunakan untuk mengembangkan game multi platform. MultiPlatform merupakan aplikasi yang dapat beroperasi di banyak sistem operasi dan sanggup Mempublish ke banyak format tipe file, misalnya : exe, apk,dan lain-lain. Pada dasarnya, Unity 3D merupakan game engine yang berbasis 3D. Tetapi Unity juga bisa dalam membentuk game 2D. Unity menggunakan sistem navigasi bebas dalam pembuatan game, sehingga pengguna dapat dengan mudah untuk melihat setiap sisi 3D dalam pembuatan objek. Sama halnya seperti menggunakan Blender 3D. 
     
    Grafis pada unity dibuat dengan grafis tingkat tinggi untuk OpenGL dan directX. Unity mendukung semua format file, terutamanya format umum seperti semua format dari art applications. Unity cocok dengan versi 64-bit dan dapat beroperasi pada Mac OS x dan windows dan dapat menghasilkan game untuk Mac, Windows, Wii, iPhone, iPad dan fitur-fitur lain tentang Unity :

1. Membuat Game 2D / 3D.
2. Membuat Game FPS.
3. Membuat Game Online.
4. Dukungan Konversi : Mobile Android, Iphone, Blackberry, Windows, Linux, Flash, Webplayer.
5. Online Publish Google Play, Android market.
6. Dukungan kode : C#, Javascript, dan Boo.
7. Dukungan Extensi file, 3ds, obj, fbx.


DESAIN SKENARIO DAN SCRIPT

        Desain skenario pada sebuah game ialah untuk memberikan ide dalam pembuatan skenario serta adegan yang terdapat di setiap karakter dalam sebuah game. Selain itu karakter pada sebuah game pasti memiliki ciri khas yang tidak dimilki oleh karakter lain. Pada sebuah game untuk menggambarkan bagaimana game tersebut akan dibuat dinamakan GDD( Game Design Document) atau lebih mudahnya disebut skenario game. Skenario game adalah langkah awal dalam membuat sebuah game, dengan skenario game dapat mempermudah menyelesaikan game yang akan dibuat. Skenario game adalah sebuah cerita khusus yang melatarbelakangi kejadian – kejadian dalam game. Pembuatan game akan dimulai dari pembuatan game desain dokumen. Game desain dokumen digunakan untuk menjadi landasan pengembangan game tersebut, dan untuk menarik minat pembaca serta menginformasikan gambaran keseluruhan game yang akan dibuat kepada tim pengembang. Jadi, desain skenario pada sebuah game adalah suatu perancangan dalam membangun sebuah skenario yang  didalamnya terdapat gameplay, karakter atau tokoh, lingkungan. Ketiga unsur tersebutlah yang digunakan selama tahap memproduksi sebuah desain pada game komputer.
        Bahasa script merupakan suatu bahasa pemrograman komputer yang diterjemahkan secara khas dan dapat diketik secara langsung dari keyboard. Skrip (script) adalah semacam bahasa pemrograman dalam tingkat kesulitan yang lebih rendah, tanpa aplikasi hasil kompilasi interpreter; skrip biasanya disisipkan ke dalam bahasa pemrograman yang lebih kompleks dan hasil skrip digunakan oleh bahasa pemrograman yang lebih kompleks itu. 
         Contohnya ialah penyisipan skrip assembly ke dalam program Pascal untuk mengakses hardware pada level bahasa tingkat rendah. Skrip disini merupakan kumpulan sintaks bahasa pemrograman yang siap untuk di-compile. Berikut rangkuman tentang script :
  1.      Script adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam situs yang pada saat di akses.
  2.       Jenis script sangat menentukan statis, dinamis, atau interaktifnya sebuah situs
  3.       Semakin banyak script yang digunakan maka akan terlihat semakin dinamis, dan interaktif serta terlihat lebih bagus.
  4.       Bahasa dasar yang di pakai setiap situs adalah HTM
  5.       Macam-macam script, PHP, ASP, JSP, Java Script, Java Applets, VBScript.
     Game script sendiri berfungsi untuk mendokumentasikan rules dan core-mechanics pada sebuah game. Fungsinya adalah untuk membuat suatu aturan yang mendetail pada sebuah game dan agar kita bisa mengetahui cara memainkan game tersebut. Pada saat pemilihan bahasa pemrograman yang digunakan untuk membuat suatu game perlu diperhatikan beberapa syarat berikut ini:
  1. Speed
    Bahasa script untuk sebuah game harus memiliki kemampuan berjalan secepat mungkin. 
  2. Kompilasi dan Interpretasi
    Bahasa script jika ditinjau secara luas diinterpretasikan melalui susunan suatu rangakaian byte. Interpreter akan melihat script setiap baris, serta penyusunan sesuai maksud dari script itu sendiri dan melakukan tindakan yang spesifik. 
  3. Ekstensibilitas dan Integrasi
    Bahasa script sangat dianjurkan mempunyai akses ke fungsi yang signifikan ke dalam sebuah game. H
    al ini penting untuk memiliki sebuah bahasa yang dapat dengan mudah memanggil fungsi atau menggunakan kelas main code dalam sebuah game.
  4. Re-Entrancy
    Fungsi ini sering berguna untuk memanggil script secara ulang sehingga bisa digunakan kembali. Selain itu fungsi ini dapat berjalan untuk sementara waktu, dan ketika waktu telah habis maka script bisa ditunda. Jika script selanjutnya memiliki waktu lagi, maka akan menjalankan kembali script yang telah ditunda sebelumnya.


ARTIFICIAL INTELLIGENCE PADA GAME

        Kecerdasan Buatan (Artificial Intelligence) menurut para ahli :
  1. Kecerdasan Buatan 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]).
  2. Kecerdasan Buatan merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia (Rich and Knight [1991]).
  3. Kecerdasan Buatan merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan (Encyclopedia Britannica).
       Dalam Video Game, kecerdasan buatan digunakan untuk membuat perilaku cerdas yang biasanya terletak pada non-player characters ( NPCs) dan seringnya mensimulasikan seperti kecerdasan manusia. Teknik yang digunakan biasanya menggambarkan metode keseluruhan dari kecerdasan buatan. Bagaimanapun, penggunaan kecerdasan buatan pada game biasanya merujuk pada sekumpulan algoritma yang didalamnya termasuk teknik dari teori kontrol, robotik, grafis komputer,dan pengetahuan komputer secara umum. Kecerdasan buatan pada game atau algoritma heuristic digunakan di banyak bentuk dan area pada sebuah game. Contoh yang sangat jelas adalah :
  1. Dalam mengontrol dari NPC pada game, walaupun penggunaan script/kode saat ini merupakan pengontrol yang umum. 
  2. Pencarian jalur merupakan contoh lain kecerdasan buatan  yang umum digunakan, dan secara luas dapat dilihat pada game real-time strategy. Pencarian jalur merupakan metode untuk menentukan lewat manakah NPC untuk ke tempat tujuan, atau menghindari halangan – halangan, dan bentuk – bentuk daratan. 
  3. Diatas pencarian jalur terdapat navigasi, yang merupakan sub bagian dari kecerdasan buatan pada game yang berfokus pada memberikan NPC kemampuan untuk menavigasi di lingkungan mereka, menemukan jalur untuk sebuah tujuan dengan menghindari tabrakan dengan entitas lainnya ( NPC lainnya, player, dsb) atau berkolaboriasi dengan mereka ( group navigation).

        Georgios N. Yannakakis menyarankan bahwa akademi pengembangan kecerdasan buatan dapat memainkan sebuah peran di dalam game dengan kecerdasan buatan melebihi dari paradigma kecerdasan buatan hanyalah pengontrol perilaku NPC. Beliau menegaskan empat potensi lainnya untuk diaplikasikan dalam area, yaitu:
  1. Player-experience modelling: memahami kemampuan dan kondisi emosional pemain, agar menyesuaikan game dengan benar. Hal ini dapat termasuk penyeimbangan tingkat kesulitan game secara dinamis, yang terdiri dari penyesuaian tingkat kesulitan dari game tersebut secara langsung sesuai dengan kemampuan pemain.
  2. Procedural-content generation: membuat elemen dari sebuah lingkungan game seperti kondisi lingkungan, tingkatan, dan bahkan music dengan secara otomatis. Metode kecerdasan buatan dapat menghasilkan konten baru atau cerita yang interaktif.
  3. Data mining on user behavior: hal ini mengizinkan desainer game untuk mengeksplor bagaimana manusia memainkan permainannya, bagian mana yang paling sering dimainkan, dan apa yang menyebabkan mereka untuk berhenti bermain, mengizinkan developer untuk mengembangkan game tersebut.
  4. Alternate approaches to NPCs: hal ini termasuk berubahnya tampilan game untuk menambah kepercayaan NPC dan mengeksplor ke lingkungan social daripada hanya menjadi NPC atau hanya memiliki perilaku NPC.















Referensi


Buku :
    Budiharto, Widodo dan Derwin Suhartono. 2015. Artificial Intelligence - Konsep dan Penerapannya. Yogyakarta : Andi.
    Pamoedji, Andre Kurniawan, dkk. 2017. Mudah Membuat Game Augmented Reality (AR) dan Virtual Reality (VR) dengan Unity 3D. Jakarta : PT Elex Media Komputindo.
    Pranata, Arya, dkk. 2017. Mudah Membuat Game dan Potensi Finansialnya dengan Unity 3D Baskara. Jakarta : PT Elex Media Komputindo.
    

Internet :
     Firmansyah, Idhar. Scripting dalam Pembuatan Game. Diambil dari : https://www.academia.edu/3875722/Scripting_dalam_Pembuatan_Game. Diakses tanggal 18 Maret 2019.   
     IDCloudHost. 2017. Mengenal Lebih Dekat Tentang Unity 3D Game Engine Pembuat Game 3D. Diambil dari : https://idcloudhost.com/mengenal-lebih-dekat-tentang-unity3d-game-engine-pembuat-game-3d/. Diakses tanggal 18 Maret 2019.
     Nailu, Purma SWP. 2015. Pengertian Artificial Intelligence Kecerdasan Buatan. Diambil dari : http://web.if.unila.ac.id/purmanailuswp/2015/09/13/pengertian-artificial-intelligence-kecerdasan-buatan/. Diakses tanggal 18 Maret 2019.
     Nugroho, Dionisius Ario. 2017. Perkembangan Teknologi dalam Bidang Game. Diambil dari : http://scdc.binus.ac.id/himti/2017/04/29/perkembangan-teknologi-dalam-bidang-game/. Diakses tanggal 18 Maret 2019.
     Wahyupjl. 2018. Apa Itu Unity 3D. Diambil dari : https://eventkampus.com/blog/detail/1474/apa-itu-unity-3d. Diakses tanggal 18 Maret 2019.

No comments:

Post a Comment