Jumat, 19 Maret 2010

Analisis Game Engine

Definisi Game Engine

Game Engine merupakan sistem 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. Sebuah game engine memungkinkan penggunaan kembali komponen komponen yang dapat mempercepat hadirnya game menjadi nyata di layar monitor mu. Beberapa diantara nya yang termasuk dengan itu adalah deteksi tubrukan, tampilan grafis, setting dalam game, artificial intelligence dan lain lain. Semua komponen tadi disatukan dalam satu pake game engine. Artist dan Developer, dapat menambahkan pustaka texture dan model sendiri untuk dijadikan tokoh utama atau setting dunia dalam sebuah engine. Sekali lagi dalam analogi game, model dan texture dalam game engine bisa dibilang sebagai body dan aksesoris mobil. Game engine dibagi lagi menjadi dua bagian besar. Yaitu API dan SDK. API ( Applicaiton Programming Interfaces ) adalah bagian operating system, services dan libraries yang diperlukan untuk memanfaatkan beberapa feature yang diperlukan. Dalam hal ini contohnya DirectX. Sementara SDK adalah kumpulan dari libraries dan API yang sudah siap digunakan untuk memodifikasi program yang menggunakan operating system dan services yang sama. Biasanya, game engine menyertakan keduanya.

Tipe-Tipe Game Engine

Game engine biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrogramman. Tapi dalam pembahasan sekarang ini, ketimbang harus me-list semua jenis game engine yang ada di wikipedia, mendingan kita bahas garis besar nya saja.

Roll-your-own game engine

Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine nya sendiri. Ini berarti mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Disisi lain, mereka kadang menggunakan libraries komersil atau malah open source. Terkadang mereka malah membuat semuanya dari nol.

Biasanya, game engine tipe ini lebih disukai karena selain kemungkinan besar tersedia 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. Menara Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine nya, hanya untuk di tulis ulang semuanya dalam beberapa hari penggunaan karena adanya bug kecil yang sangat mengganggu.

Mostly-ready game engines

Engine engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer / programmer. Semuanya termasuk contoh GUI, physiscs, libraries model dan texture, dan segalanya. Banyak dari mereka yang sudah benar benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama.

Biasanya game engine semacam ini memiliki batasan batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar benar terbuka lebar. Hal ini ditujukan agar tidak terjadi terlalu banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis, dan masih memungkinkan game engine nya itu sendiri untuk mengoptimalkan kinerja game nya. Banyak dari game engine seperti ini, Unreal Engine, Source Engine, id Tech Engine dan sebagainya, yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Hal ini dengan serta merta menyingkat sangat banyak waktu dan jelas, biaya dari para Developer game.

Point-and-click engines

Engine untuk point-and-click merupakan engine yang sangat amat dibatasi, tapi dibuat sangat user friendly. Kamu bahkan bisa mulai membuat game mu 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 nggak berguna, bagi developer cerdas dan berdaya kreativitas tinggi, game engine bapuk seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine seperti ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman, dan secepatnya merilis game game mereka.

Jenis-Jenis Game Engine

Freeware Game Engine

v Blender

v Ogre

v Build Engine

v Cube

v jMonkeyEngine

v Panda3D

v Sphere

v Aleph One

Shareware Game Engine

v Alamo

v Dunia Engine

v Jedi

v Medusa

v Visual3d

v Vision Engine

v Euphoria

v Torque Advance Game Engine

Perbandingan 2 Buah Game Engine

Freeware Game Engine (Blender)

Kelebihan yang dimiliki Blender adalah dapat membuat game tanpa menggunakan program
tambahan lainnya, Karena Blender sudah memiliki “Engine Game” sendiri dan menggunakan “Python” sebagai bahasa pemograman yang lebih mudah ketimbang menggunakan C++,C, dll.
Blender menggunakan “OpenGL” sebagai render grafiknya yang dapat digunakan pada
berbagai macam “OS” seperti Windows, Linux dan Mac OS X. Gambar berikut merupakan sebuah “screenshot” dari salah satu project game yang dibuat menggunakan Blender
Sekarang ini Blender merencanakan sudah mengeluarkan versi yang terbarunya, yaitu Versi 2.49
yang lebih ditujukan untuk pembuat game. Karena Versi ini memiliki fitur-fitur baru yang dirancang untuk membuat tampilan game yang lebih realistis dari pada versi sebelumnya. Untuk membuat game di Blender anda tidak perlu jago pemograman, jika anda hanya ingin
membuat game sederhana anda cukup mempelajari tool-tool yang disediakan oleh blender tanpa harus menggunakan “script” sedikitpun.

Kekurangan blender hanya terletak pada GUInya yang agak susah dimengerti (mungkin hanya butuh waktu untuk membiasakannya.)

Shareware Game Engine (Torque Advance Game Engine)

Kelebihan Torque :

v Selain sebagai mesin grafis 3D, TGE menyediakan kode jaringan yang kuat, scripting, di-dunia mesin editing dan GUI penciptaan. The source code dapat dikompilasi pada Windows, Macintosh, Linux, Wii, Xbox 360 dan iPhoneplatform.

v Model pemuatan mendukung model 3D dalam. DTS format file dan. DIF format file.

v Torsi mendukung jaringan LAN dan permainan di internet dengan tradisional arsitektur client-server. Server objek “ghosted” pada klien dan diperbarui secara berkala atau pada peristiwa.

v DTS model biasanya digunakan untuk karakter dan kendaraan meskipun kadang-kadang,disini digunakan untuk bangunan dan interior jadi beda .

v Dataran secara otomatis menyala dan tekstur diterapkan pada daerah dapat dicampur bersama-sama dengan dengan rapi.

Kekurangan Torque :

v Banyak versi dari Torque Game Engine, terutama Torque Torque X dan 3d, yang hampir seluruhnya kurang di dokumentasi resmi. Sebagai contoh, satu-satunya dokumentasi resmi untuk Torque 3d terdiri dari deskripsi singkat subset terbatas fitur

v Sofwarenya mahal sekali Tersedia Lisensi Indie untuk individu dan perusahaan yang membuat kurang dari US $ 250,000 dalam penjualan tahun sebelumnya, dan Lisensi Komersial Tersedia pada harga yang lebih tinggi untuk individu dan perusahaan yang membuat lebih dari 250,000 dolar di tahun sebelumnya

Sumber :

http://blenderindonesia.org/forum/viewtopic.php?f=47&t=22

http://en.wikipedia.org/wiki/List_of_game_engines

http://www.gamexeon.com/forum/article/37197-game-engine-apaan-sih.html

Rabu, 10 Maret 2010

Non-Fotorealistik Rendering

Non-Fotorealistik Rendering

Non-fotorealistik rendering (NPR) merupakan wilayah komputer grafis yang berfokus pada kemungkinan berbagai gaya ekspresif untuk digital art. Berbeda dengan tradisional grafik komputer, yang berfokus pada photorealism, non-fotorealistik rendering ini terinspirasi oleh gaya artistik seperti melukis, menggambar, ilustrasi teknis, dan animasi kartun. Non-fotorealistik rendering telah muncul dalam film dan video game dalam bentuk toon shader, dan juga dalam ilustrasi arsitektur dan animasi eksperimental. Contoh penggunaan modern metode ini adalah bahwa dari Cel-diarsir animasi.

Artistik rendering mencoba menimbulkan gambar yang digambarkan oleh tangan ataupun meggunakan gaya lukisan seperti mebuat lukisan arang dengan sketsa, ilustrasi pena dan tinta, atau lukisan cat minyak.

Tiga Dimensional NPR Teknik

Tiga dimensi NPR adalah gaya yang paling sering dilihat dalam video game dan film. Output dari teknik ini hampir selalu merupakan model 3D yang telah dimodifikasi dari model input asli untuk menggambarkan sebuah gaya artistik baru. Dalam banyak kasus, geometri dari model identik dengan geometri asli, dan hanya materi yang diterapkan pada permukaan adalah dimodifikasi. Dengan peningkatan ketersediaan diprogram GPU’s, shader telah memungkinkan efek NPR diterapkan pada gambar yang akan ditampilkan ke laya. Sebagian besar teknik NPR diterapkan pada geometri 3D dimaksudkan untuk membuat adegan tampak dua dimensi.

Dua Dimensional NPR Teknik

Input ke dua dimensi sistem NPR gambar paling umum, namun ada sistem yang mengambil geometri 3D informasi sebagai masukkan dan menghasilkan gambar 2D atau video output. Sekali lagi, banyak dari sistem dimaksudkan untuk meniru gaya artistik yang dikehendaki, seperti cat air, impresionisme, atau pena dan tinta.

Selasa, 23 Februari 2010

Game Teknologi

Game teknologi merupakan suatu bentuk dari multimedia interaktif yang digunakan untuk sarana hiburan yang menggunakan console dalam memainkan permainan dimana untuk berinteraksi dan mengendalikan karakter yang dimainkan oleh player menggunakan joystik.

Tahap-Tahap Dalam Pembuatan Game

1) Idea / Concept

Fase ini merupakan fase awal dalam proses pembuatan game, yaitu proses pembuatan konsep game. Konsep yang didapat kemudian dibuat menjadi sebuah Vision Document yang mejelaskan game secara garis besar . Sebuah Vision Document minimal berisi abstraksi game, target pemain, dan nilai lebih dari game tersebut dibandingkan game lain.

2) PreProduction

Fase ini harus dilakukan sebelum proses pembuatan art assets atau programming dimulai. Ada tiga hal yang harus dilakukan dalam preproduction, yaitu :

a. Game Design Document

Dokumen ini adalah acuan utama dalam proses pembuatan game, mencakup story, character design, game mechanics, level design, dan art references. Bagian yang bertanggung jawab untuk membuat dokumen ini adalah game designer.

b. Technical Design Document

Dokumen ini adalah pengembangan dari game design document yang dibuat oleh bagianprogrammer untuk menjadi referensi programmer. Isi dari dokumen ini adalah penjelasan teknis dari setiap bagian dari game, seperti use case, class diagram, atau naming convention.

c. Game Project Management

Sebelum project dimulai sebaiknya dibuat timeline dan tentukan milestonemilestone yang harus dicapai. Pada tahap ini setiap task harus sudah didefinisikan dan dialokasikan pada orangorang yang bersangkutan.

3) Production

Pada fase ini proses pembuatan game secara teknis dimulai, dari pembuatan asset dalam game, pembuatan sound effect, sampai digabungkan menjadi sebuah software game. Prosesproses tersebut harus mengacu pada dokumendokumen yang dibuat pada fase preproduction.

a. Art

© Concept Art

© 2D Sprite

© 2D Animation

© Projection (pra 3D Model)

© 3D Model

© Texturing

© Rigging

© 3D Animation

b. Programming

© Game Engine

Sebelum membuat game, sebaiknya merancang arsitektur game yang efektif dan efisien agar game yang dihasilkan lebih stabil dan mudah dimodifikasi. Arsitektur game yang dapat digunakan kembali untuk game lain bisa disebut sebagai sebuah game engine. Sebuah game engine yang baik harus memiliki fiturfitur yang akan dibutuhkan dalam game, mulai dari graphic 2D atau 3D, audio, AI, networking, dan lainlain.

© Game Logic

Setelah memiliki arsitektur game yang baik, sistem game bisa diimplementasikan. Mulai dari bagaimana karakter bergerak, bagaimana game menerima input dari pemain, dan lainlain.

© Game Tools

Untuk mempermudah pembuatan game, terutama jika content dalam game cukup banyak, dapat dibuat game tools. Contoh paling umum adalah level atau world editor. Tools tersebut dibuat terpisah dari game dan hanya digunakan dalam pengembangan game.

© Game Content

Setelah semua fitur dalam game dibuat, barulah game content bisa dimasukkan dalam game.Contoh content yang dimaksud adalah ingame dialog, item, level, atau misi. Ada beberapa milestone penting yang berkaitan dengan status game yang dibuat, yaitu :

Ø First Playable

Game harus bisa dimainkan, tanpa harus lengkap baik asset atau fiturnya.

Ø Alpha

Semua fitur dalam game harus sudah diimplementasi, namun objek-objek dalam game seperti level atau item tidak harus lengkap.

Ø Beta

Semua fitur, asset, level, dan item dalam game harus sudah lengkap. Pada tahap ini game tidak boleh mengandung bug yang signifikan.

Ø Release

Pada tahap ini semua aspek dalam game sudah lengkap dan tanpa bug. Game sudah siap dirilis.

Ø PostRelease

Setelah game dirilis developer masih memiliki tanggung jawab untuk membuat patch atau bug-fix jika dibutuhkan.

Teknologi Yang Digunakan Untuk Menghasilkan Game

Untuk menghasilkan sebuah game, kita dapat menggunakan banyak bahasa pemrograman, tapi pada umumnya ada beberapa bahasa yang memang sudah teruji digunakan dalam membuat game. Seperti C++ dan Flash. Dilihat dari kemampuan, keduanya memang sangat berbeda dan tujuan penggunaannya pun berbeda pula. Tapi kedua bahasa ini sangat umum digunakan sekarang untuk membuat game. Kita tidak membahas siapa yang lebih baik disini karena seperti yang dikatakan sebelumnya, keduanya tidak berkaitan sama sekali bila dilihat dari tujuan penggunaannya. Tapi bukti dilapangan menjelaskan bahwa game komersil sekarang ini umum dibuat dengan C++. Sementara hampir semua game casual dan berbasis web menggunakan Flash. Sebaliknya apakah tidak ada game online berbasis C++ dan game biasa berbasis Flash? Ada, hanya saja umumnya keduanya mempunyai pangsa pasar dan area khusus yang tersendiri pula. Nah, anda sebagai pemula memilih mana? Apakah hanya ada 2 pilihan itu saja dari sudut kepopuleran dan pilihan pangsa pasar? Tidak juga. Anda masih bisa memilih bahasa lain, seperti Darkbasic, Blitz, Lite-C untuk 3DGamestudio, LUA, Phyton, C#, dan bahasa lain yang berorientasi untuk game.

Aplikasi games dapat dijalankan pada berbagai platform. Beberapa platform media yang bisa dijadikan pilihan untuk advergames adalah :

1. Personal Computer berupa aplikasi games pada PC. Games ini dijalankan pada personal computer. Pada media Personal Computer, durasi waktu penayangan adalah tidak terbatas, selama games tersebut bagus dan mampu menghibur audience/pemain, maka selama itulah tingkat kemungkinan untuk dilihat audience akan semakin tinggi. Pembuatan Games ini biasanya menggunakan Language C++ / C#, membutuhkan waktu 3-6 bulan tergantung dengan kompleksitas games tersebut.

2. Web Based Games. Yaitu aplikasi games yang diletakkan pada server di internet dimana audience/pemain hanya perlu menggunakan akses internet dan browser untuk mengakses games tersebut. Corporate yang memiliki keinginan mengumpulkan komunitas internet dan sekaligus memperkenalkan product/brandnya kepada komunitas Internet sangat cocok memilih media games online internet ini. Pilihan ini banyak digunakan karena dapat meningkatkan traffic pada suatu website Bila games yang dibutuhkan simple maka diperlukan waktu pengembangan yang relative lebih singkat 1-2 bulan.

3. SmartPhones/PocketPC. Aplikasi games yang jalan pada mobile devices bersistem operasi Windows Mobile 2003/2004 ataupun windows mobile 5.0. Product yang memiliki target market status ekonomi A,B dan karakter pengusaha/ eksekutif muda sangat cocok apabila menggunakan media PocketPC/SmartPhones sebagai bagian aktivitas kegiatan advertising. Games bertemakan strategi ataupun simulasi bisnis pada umumnya lebih disukai oleh orang-orang golongan ini. Waktu pengembangan biasanya memerlukan waktu 3-6 bulan tergantung dengan kompleksitas games tersebut.

4. CellPhones / Mobile Phones. Aplikasi games untuk cell-phones atau mobile phones sebenarnya bisa dimanfaatkan untuk mendapatkan potensial pelanggan dengan golongan Status Ekonomi Responden A,B dan C. Produk yang memiliki target golongan ABG, remaja, anak kuliah, eksekutif muda sangat tepat menggunakan media ini, mengingat pada golongan inilah mereka suka sekali mencoba dan mengeksplorasi features aplikasi yang tersedia pada mobile/cellphones mereka. Mereka biasanya aktif mencari aplikasi bersifat fun atau game yang dapat mengisi waktu senggang mereka. Waktu pengembangan untuk membuat aplikasi pada devices ini relative lebih pendek yaitu 1-3 bulan tergantung dengan kompleksitas games tersebut.

Profesi Dalam Pembuatan Game

1. Game Production

Orang-orang yang secara langsung terlibat dalam pembuatan game.

© Design Part

a. Game Designer

Bertugas membuat konsep utama dari game, dari mulai dari game mechanics sampai game world.

b. Level Designer

Bertugas membuat level atau misi-misi yang harus diselesaikan oleh pemain.

c. Game Writer

Bertugas membuat cerita dalam game, semua dialog dalam game, dan membatu game, dan membantu game designer menyusun Game Design Document.

© Programming Part

a. Game Programmer

Bertugas mengimplementasi semua game logic dan fitu-fitur spesifik dalam game.

b. Graphic Programmer

Bertanggung jawab atas setiap aspek grafis dalam game, mulai dari menampilkan objek kelayar, sampai efekefek seperti bloom atau particle.

c. AI Programmer

Bertanggung jawab atas setiap aspek grafis dalam game, mulai dari menampilkan objek kelayar, sampai efekefek seperti bloom atau particle.

d. Physics Programmer

Bertanggung jawab membuat efekefek yang merupakan simulasi dari fenomena fisika di alam.Contohnya adalah gravitasi, tumbukan, dan lainlain.

e. Audio Programmer

Bertanggung jawab mengintegrasikan berbagai audio ke dalam game, seperti sound effect,voice over, sampai BGM.

f. Tools Programmer

Bertugas membuat game tools seperti world editor atau level editor.

© Art Part

a. Concept Artist

Bertugas untuk membuat concept art sebuah game, yang akan menentukan art style dari game yang bersangkutan.

b. 2D Artist

Bertugas untuk membuat asset 2D yang digunakan dalam game, seperti character sprite ataubackground image.

c. 3D Modeler

Bertugas membuat 3D model untuk game, mulai dari objek lingkungan seperti pohon ataubangungan, sampai objek karakter atau monster.

d. Texture Artist

Bertugas membuat tekstur dari 3D model yang sudah dibuat. Tekstur tersebut dapat berupatekstur buatan atau modifikasi dari tekstur benda nyata.

e. Animator

Bertugas memberi bone pada 3D model dan membuat animasi untuk model tersebut.

© Audio Part

a. Voice Over

Voice over atau dubbing adalah rekaman suara manusia yang dimasukkan dalam game sebagaisuara karakter dalam game.

b. Sound Effects

Sound effects adalah efek suara yang ditambahkan ke dalam game, contohnya suara ledakanatau tembakan.

c. Composer

Composer adalah orang yang bertanggung jawab membuat lagu untuk game, yang biasdigunakan sebagai background music atau soundtrack game.

© Management Part

a. Game Producer

Game producer adalah orang yang mendanai atau mengatur keuangan sebuah project game.Seorang game producer dapat juga berperan sebagai project manager.

b. Project Manager

Bertanggung jawab mengatur dan mengawasi proses game development. Mulai dari membuattimeline, milestone, dan memastikan semua task dikerjakan sesuai jadwal.

2. Quality Assurance

Tugas bagian quality assurance adalah melakukan pengujian terhadap game, untuk memastikan game berjalan dengan baik, dan untuk menemukan bugbug dalam game agar bisa diperbaiki. Bagian QA ini juga biasa disebut dengan game tester.

3. Game Business

Pekerjaanpekerjaan berikut tidak berhubungan langsung dengan proses pembuatan sebuah game,namun tetap dibutuhkan jika ingin membuat game yang skalanya cukup besar.

a. Licensing

Bagian licensing berurusan dengan masalah hak lisesnsi atau hak cipta. Misalnya jika membuatgame dari suatu film, developer game harus memiliki hak lisensi untuk film tersebut.

b. Sales and Marketing

Bagian ini berkaitan dengan promosi dan penjualan game, mulai dari pembuatan iklan sampaimerchandise.

Sumber :

http://www.stmik-abg.ac.id/?k=151

http://galihadi.ngeblogs.com/2009/10/01/perkembangan-teknologi-game/