Sunday, 24 April 2016

Arsitektur Game Engine

Pada posting saya kali ini, saya akan membahas mengenai arsitketur game engine selaku tugas dari matakuliah softskill Pengantar Teknologi Game. Nantinya kita akan membahas apa itu game engine, arsitekturnya dan mungkin akan sedikit menyinggung mengenai game engine itu sendiri.

GAME ENGINE

Dari namanya saja sudah membuat kita langsung berpikir kalau perangkat lunak komputer ini adalah untuk membuat suatu game. game engine adalah suatu perangkat lunak yang diciptakan dan digunakan untuk membuat game yang biasanya disediakan oleh suatu developer perangkat lunak dan digunakan oleh industri pengembang game baik berskala rumahan maupun berskala besar sepeti perusahaan. di era modern sekarang ini, game engine sangat berperan penting dalam dunia pembelajaran karena sangat banyak unsur edukasi yang berada pada game engine seperti, didalam game engine terdapat modelling baik itu 2 Dimensi maupun 3Dimensi, terdapat bahasa pemrograman yang berguna untuk membuat alur logika dari game tersebut, dan juga terdapat editing sound dan skenario dari game itu sendiri.

setelah pengenalan game engine diatas mari kita masuk ke pembahasa ARSITEKTUR GAME ENGINE itu sendiri

ARSITEKTUR GAME ENGINE

arsitektur game engine itu sendiri adalah sistem perangkat lunak yang diciptakan untuk mengembangkan suatu game, arti kata arsitek itu sendiri adalah rancangan yang berarti rancangan dari game engine.

rancangan dari game engine itu sendiri adalah sebagai berikut:

  • program game utama: yaitu suatu logika didalam game yang diimplementasikan dari suatu algoritma yang sesuai dengan tipe game yang kita buat
  • Rendering Engine: rendering sangat diperlukan dalam membangun suatu desain grafik pada komputer, terdapat beberapa metode yang dapat dipilih untuk rendering seperti rasterization, ray-tracing atau beberapa teknik rendering lainnya. rendering sangat dipengaruhi oleh GPU (Graphic Processing Unit), oleh karena itu untuk mendevelop game kita harus memilih GPU yang sesuai untuk rendering.
  • Audio Engine: yaitu engine yang berfungsi untuk memproses suara yang nantinya akan digunakan pada game yang kita buat, pemrosesannya berada pada CPU. 
  • Physics Engine: adalah yang bertanggung jawab pada penerapan fisik dari game, biasanya pada karakter game yang mulanya menembus objek didepannya dijadikan seakan-akan tidak dapat menembus dinding sebagai mana manusia asli.
  • AI (Artificial Intelligence): yaitu yang berperan membuat game menjadi seru, karena konsep musuh biasanya diterapkan menggunakan AI, karena AI adalah suatu kecerdasan buatan.

sekian penjelasan singkat saya mmengenai ARSITEKTUR GAME ENGINE.

SUMBER:
https://en.wikipedia.org/wiki/Game_engine
https://en.wikipedia.org/wiki/Physics_engine


Friday, 1 April 2016

Konsep Pembuatan Script Game komputer

Dalam pembuatan sebuah game pasti terdapat banyak sekali komponen-komponen yang harus di lengkapi untuk membuat game tersebut menjadi seperti apa yang diinginkan, baik berupa grafik, suara, cerita, maupun engine atau bahasa yang ingin digunakan.

Pada hal ini game engine sangat berperan penting bagi kelangsungan pembuatan sebuah game, karena seorang pembuat game tidak akan kesulitan lagi untuk membangun sebuah engine, akan tetapi setiap game engine yang tersedia sekarang baik yang gratis maupun yang berbayar memiliki keunikan masing-masing salah satunya adalah bahasa pemrograman yang digunakan. contohnya saja Unity 3D yang menggunakan bahasa C# dan javascript, cocos2d menggunakan bahasa pemrograma python, dan berbagai engine lainnya.

Tentu hal ini sangat perlu diperhatikan bagi developer yang ingin membuat maupun mengembangkan sebuah game. setiap programer tentunya memiliki skill yang berbeda-beda, maka dari pada itu pemilihan bahasa pemrograman menjadi prioritas utama yang berarti juga menentukan game engine itu sendiri.

Walaupun banyak sekali terdapat bahasa pemrograman didunia ini untuk membuat game, namun pada intinya bahasa tersebut harus memeuhi syarat sebagai berikut:

Pemilihan Bahasa
  • Bahasa scripting untuk game harus mampu berjalan secepat mungkin. Jika kita berniat untuk menggunakan banyak script untuk perilakukarakter dan kejadian di level game, maka scriptakan perlu untuk mengeksekusi sebagai bagiandari loop game utama. Ini berarti bahwa scriptyang lambat akan memakan waktu yang kita butuhkan untuk membuat suatu adegan,menjalankan mesin fisika, atau menyiapkan audio.
  • Bahasa scripting secara luasdiinterpretasikan,melalui susunan serangkaian byte. Penafsiran bahasa diambil melalui formatteks. Interpreter melihat setiap baris, penyusunan bekerja sesuai yang maksud dari script, danmelakukan tindakan yang spesifik. Bahasa byte-terkompilasi dikonversi dari teks ke formatinternal, yang disebut byte code. Kode byte biasanya jauh lebih padat daripada format teks.Karena kode byte dalam suatu formatdioptimalkan ketika dieksekusi, agar dapat berjalan lebih cepat.
  • Bahasa scripting perlu memiliki akses kefungsi yang signifikan ke dalam game. Sebuahscript yang mengendalikan karakter, misalnya, harus mampu untuk menanyai game untuk mencaritahu apa yang bisa dilihat dan kemudianmembiarkan game tahu apa yang akan dilakukansebagai aksinya.

Embedding (Penanaman)

  • Embedding berhubungan dengan ekstensibilitas.Sebuah bahasa yang tertanam dirancang untuk dimasukkan ke dalam program lain. Ketika kitamenjalankan bahasa scripting dari workstation, biasanya akan menjalankan program khusus untuk menafsirkan file source code. Dalam game, sistemscripting perlu dikontrol dari dalam program utama.Game yang menentukan jalannya script harusdijalankan dan harus dapat memberitahu mesin terkait bahasa scripting yang cocok untuk memproses scripttersebut.

Memilih Sebuah Bahasa

  • Sejumlah besar bahasa scripting tersedia, dan  banyak dari mereka yang dirilis di bawah lisensi yang cocok untuk dimasukkan dalam sebuah game. Beberapa mesin game komersial dilengkapi dengan dukungan bahasa scripting ini (Unreal dan Quake oleh id Software, misalnya). Hal ini memberikan solusi lengkap dalam efisiensi waktu pembuatan game, karena sebagian besar bahasa yang ada yang digunakan dalam game pada awalnya tidak dirancang untuk tujuan ini.

Open Source

  • Open-source software, seperti namanya, juga memungkinkan akses untuk melihat dan mengubah source code. Hal ini membuat mudah untuk menarik studio dengan memberikan kebebasan untuk menarik keluar setiap kode asing atau kode yang tidak efisien. Beberapa lisensi open source, bahkan yang mengijinkan anda untuk menggunakan bahasa dalam  produk komersial, mengharuskan anda membebaskan modifikasi bahasa itu sendiri. Ini mungkin akan menjadi masalah bagi proyek anda.


Sumber: 
http://www.academia.edu/3875722/Scripting_dalam_Pembuatan_Game