Semuanya termasuk contoh GUI, physiscs, libraries, model, texture, dan segalanya. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat
langsung digunakan untuk scripting sejak halaman pertama. Biasanya game engine semacam ini memiliki batasan-batasan terutama jika dibandingkan dengan
game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditunjukkan 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 gamenya. 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.
2.7 Unreal Engine
Dalam pengembangan tugas akhir ini, penulis akan menggunakan game engine yang tidak berbayar yaitu Unreal Engine 3. Teknologi Unreal merupakan
sebuah teknologi yang dibangun oleh perusahaan game besar Epic Games dengan nama Unreal Engine. Unreal Engine merupakan sebuah engine yang biasanya
digunakan untuk membuat suatu game. Game yang sudah dikembangkan dengan game ini seperti: Unreal Tournament, Sanctum, Hazard, AFF: Planetstorm,
Dungeon Defense, Whizzle, Bounty Arms, The Ball, Prometheus, dan sebagainya. Unreal Engine merupakan game engine dengan popularitas kedua setelah game
engine tiga dimensi serupa yaitu Source Engine. Terdapat beberapa hal yang dipertimbangkan ketika seseorang, instansi atau perusahaan memilih game engine
yang akan digunakan sebagai game engine untuk mengembangkan suatu permainan atau visualisasi. Beberapa diantaranya dipilih berdasarkan lisensinya,
berbayar atau tidak. Unreal Engine merupakan salah satu game engine yang lisensinya adalah proprietary, namun untuk Unreal Development Kit lisensinya
adalah tidak berbayar. Tidak semua game engine dapat menangani grafik dua dimensi sekaligus
tiga dimensi. Terdapat game engine yang hanya menangani grafik dua dimensi, hanya menangani tiga dimensi, atau dapat menangani keduanya. Unreal Engine
merupakan game engine yang khusus menangani grafik tiga dimensi. Dari beberapa game engine yang sama-sama menangani grafik tiga dimensi, Unreal
Engine dapat menangani lebih banya platform Fritsch, 2004. Beberapa diantaranya yaitu Windows, Linux, MacOS X, iOS, Dreamcast, PS2, PS3, Xbox,
Xbox 360 yang lebih banyak daripada game engine lain seperti Source Engine, GameMaker, Unigine, id Tech 3 Engine, id Tech 4 Engine, Blender Game Engine,
NeoEngine, Unity, Quake Engine, C4 Engine atau game engine lain. Selain itu, Unreal Engine dapat menangani grafik tiga dimensi dengan dukungan seperti
OpenGL, DirectX 9, DirectX10 dan DirectX 11. Game engine lain terkadang hanya dapat menangani salah satu saja.
Dengan membandingkan karakteristik tiga game engine yaitu Quest3D, Blender, Unreal Engine dan Unity Petridis, 2009, kita dapat mengamati
pengamatan berikut. Unreal 3 performanya melebihi semua game engine lainnya termasuk dalam perbandingan tersebut, dalam hal audio, visual, fungsional, dan
penyusunan. Unreal Engine ini dapat digunakan sebagai patokan untuk membandingkan game engine yang berbeda dalam permainan serius.Namun,
kelemahan utama dari game engine ini adalah aksesibilitas terbatas atau proprietary untuk Unreal Engine 3, konsekuensi biaya tinggi yang terkait dengan
engine.Untuk itu Unreal Development Kit yang lisensinya tidak berbayar dapat digunakan untuk menekan biaya yang tinggi tersebut.
CryEngine, id Tech 3 Engine, id Tech 4 Engine, Jupiter Extended EX, Source Engine, Unreal Engine 2 sangat cocok untuk mengembangkan lingkungan
virtual non-game. Keuntungan utama dari Unreal Engine 2 adalah bahwa game engine itu telah tersedia selama beberapa tahun sehingga ada sejumlah besar
tutorial dan artikel tentang game engine tersebut Smith, 2008. Kekurangan utama adalah bahwa sekarang ada game engine yang akan membantu untuk
meningkatkan realism lingkungan virtual yang dikembangkan. Unreal Engine 3 merupakan versi terbaru dari game engine ini yang memuat fitur dan fungsional
yang lebih baik daripada Unreal Engine 2. Sebuah prototype dari instrumentasi di Unreal Engine yang digunakan
oleh Epic Games telah dibuktikan melalui eksperimen dengan Unreal Tournament 2004 untuk secara efektif membantu dalam anilisis konten, dan menunjukkan
hasil yang menjanjikan untuk masa depan Bullen, 2006. Unreal Engine memiliki kerangka kerja framework lengkap untuk
pengembangan professional.Sistem inti engine ini menggunakan bahasa pemrograman C++, tetapi untuk pengembangannya digunakan bahasa
pemrograman Java. Seperti kebanyakan game engine lainnya, Unreal Engine dapat mengolah beberapa data seperti obyek tiga dimensi, suara, teksture, dan lain
sebagainya. Unreal Engine memiliki aliran data yang mengalir dalam engine yang diilustrasikan pada gambar 2.2 berikut ini.
Gambar 2.2.Aliran Data Pada Unreal Engine Busby, 2004 Unreal Engine memiliki beberapa komponen yang dapat berdiri sendiri-
sendiri, namun tetap berada dalam kesatuan yang terpusat pada “core-engine” Bubsy, 2004. Berikut adalah komponen-komponen dari Unreal Engine:
a. Graphics Engine. Modul ini mengatur apa yang akan ditampilkan ke layar pengguna. Seperti benda apa yang harus didepan. Menampilkan material
sesuai yang diatur sebelumnya. Hingga mengatur pencahayaan dari lingkungan virtual yang dibuat.
b. Sound Engine. Modul ini mengatur efek suara dari lingkungan virtual. c. Physics Engine. Modul ini digunakan untuk mengatur benturan antar dua
obyek yang terjadi. d. Input Manager. Modul ini digunakan untuk mengatur input, seperti tombol
ditekan, tombol dilepas. e. Network Infrastructure. Epic Games dengan gamenya Unreal Tournament
telah berhasil mengembangkan network gaming yang efisien. Fitur network gaming yang efisien tersebut juga tersedia di Unreal Engine.
f. Unreal Script Interpreter. Salah satu bahasa scripting yang dapat dilakukan oleh engine, tanpa menyentuh source code asli. Script ini mirip dengan
bahasa pemrograman terkenal lain seperti Java dan C++. Bahkan bahasa ini lebih mudah dari 2 bahasa pemrograman yang telah disebutkan
sebelumnya. Unreal Script Interpreter adalah yang mengubah script yang dibuat oelh pengembang menjadi suatu yang bisa diproses oleh engine.
Unreal Development Kit menyediakan alat untuk membuat dunia virtual yaitu Unreal Editor.Editor ini juga bisa melakukan import dari perangkat lunak
pembuat obyek tiga dimensi yang sudah banyak digunakan seperti 3D Studio Max dan Maya. Antarmuka pengguna menyerupai perangkat lunak pembuat obyek tiga
dimensi seperti 3D Studio Max yang sudah dilihat pada gambar di bawah ini.
Gambar 2.3. Antarmuka Pengguna Unreal Editor, Editor Dari Unreal Development Kit
Unreal Development Kit juga menyediakan Unreal Fronted UFE. UFE adalah sebuah alat yang menyediakan seragam untuk melakukan banyak tugas-
tugas umum dalam ekosistem Unreal. Dimana pada umumnya mencakupi: •
Meluncurkan permainan •
Memulai server •
Menambahkan klien ke server untuk server lokal •
Menjalankan editor •
Kompilasi kode script •
Cooking data Tanpa UFE banyak dari tugas-tugas ini akan membutuhkan file batch
terpisah yang tidak perlu dan akan meningkatkan kompleksitas alur kerja sekaligus menciptakan sebuah mimpi buruk.
Gambar 2.4. Antarmuka Pengguna Unreal Fronted
2.8 Perangkat Lunak Modeling 3D 3 Dimensi