Pages

Jumat, 02 Juli 2010

Perbandingan Game Engine

Perbandingan Game Engine.

Blender dan Golden T Game Engine (GTGE)

1. Blender

Blender merupakan salah satu program "Modeling 3D dan Animation", tapi Blender mempunyai
kelebihan sendiri dibandingkan program modeling 3D lainnya.
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.

Blender 2.49 memiliki fitur baru seperti :
* Video Texture
* Real-time GLSL Material
* Game Logic
* Bullet SoftBody
* Python Editor
* Multilayer Textures
* Physics
* Render Baking dan Normal Mapping dan masih banyak yang lainnya.
* Composite Adalah tempat menambahkan efek visual seperti pada gamabar berikut.

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.

2. Golden T Game Engine (GTGE)

Golden T Game Engine (GTGE) merupakan sebuah 2D Game Library / Game SDK (Software Development Kit) untuk membuat game yang berkualitas dengan mudah.
GTGE merupakan kumpulan fungsi bahasa pemograman Java (pustaka Java), yang artinya Anda akan menggunakan bahasa pemograman Java untuk membuat game dengan GTGE.
GTGE merupakan suatu pustaka lapisan tingkat tinggi (High Level Interface), artinya programmer tidak perlu mengkhawatirkan perintah tingkat rendah lagi (yang menyangkut perintah ke hardware komputer).
GTGE mencoba menutupi (namun tidak mengunci) fungsi tingkat rendah tersebut dengan menempatkan programmer pada lapisan yang paling baik agar programmer dapat membuat game dengan senyaman mungkin. GTGE memberikan akses ke fungsi hardware tersebut secara langsung dengan cara yang paling mudah.
Kami menfokuskan untuk membuat suatu engine game yang benar-benar mudah untuk digunakan namun tetap fleksibel dan tangguh untuk dapat membuat segala jenis game.
Singkatnya GTGE merupakan kumpulan fungsi-fungsi siap pakai untuk membuat game, seperti fungsi untuk penggambaran ke layar, polling keyboard dan mouse, pemanggilan suara atau musik, dll. Fungsi-fungsi inilah yang disebut dengan Game Engine.


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

Membuat Tutorial Actor, Bagian 3 - Loading Library Anda

Membuat Tutorial Actor, Bagian 3 - Loading Library Anda

Sekarang kita memiliki actor proxy , dan set up actor, selanjutnya adalah membuat library yang bisa kita import ke dalam editor. This is the simplest process of them all, and only requires a couple of steps to accomplish.Ini adalah proses sederhana , dan hanya memerlukan beberapa langkah untuk menyelesaikannya. First, we have to code and compile the library. Pertama, kita harus mengkompilasi kode dan library. The next step is to run the editorLangkah berikutnya adalah menjalankan editor. The final step is to use the Library Editor to import theLangkah terakhir adalah dengan menggunakan Library Editor untuk mengimpor Library. That

Untuk memulainya adalah dengan cara membuat proyek Visual Studio yang baru dan akan mengekspor library actor . To set up a Visual Studio project that will compile Delta3D, please see this tutorial . Untuk membuat proyek Visual Studio yang akan mengkompilasi Delta3D, terdapat dalam tutorial sebelumnya yang terdapat di dalam Delta 3D. After completing that, we must now set the option in Visual Studio to tell it to compile the code into a dynamic library. Setelah menyelesaikan langkah tersebut, sekarang langkah selanjunya adalah harus menetapkan opsi dalam Visual Studio untuk kirim ke mengkompilasi kode ke dynamic library. Right click on the project you created and select the “Properties” tab. Klik kanan pada proyek yang telah di buat buat dan pilih tab "Properties" . Under the “General” tab, select the “Configuration Type” item from the menu. Di bawah tab "General", pilih "Configuration Type" item dari menu. Change it from “Application (.exe)” to “Dynamic Library (.dll)”. Ubah dari "Aplikasi (exe)." Untuk "Dynamic Library (. Dll)".

http://www.delta3d.org/images/articles/20050720135643860_6.jpg

Sekarang setelah dikonfigurasi dengan benar, saatnya untuk melihat beberapa kode. Let's start by making a file called TessellationActorLib.h, and placing the following code inside: kita mulai dengan membuat sebuah file bernama TessellationActorLib.h, dan menempatkan kode berikut di dalamnya:

#include #include class DT_PLUGIN_EXPORT TessellationActorLib : public dtDAL::ActorPluginRegistry { public: TessellationActorLib(); void RegisterActorTypes(); };

Pertama, kami menyertakan file "dtDAL / actorpluginregistry.h" sehingga kami dapat berasal dari class kami itu. It is worth noting that since we are going to be exporting this library, we declare DT_PLUGIN_EXPORT before the name of the class. Perlu dicatat bahwa karena kita akan mengekspor library ini, kami menjelaskan DT_PLUGIN_EXPORT sebelum nama class. After that, we declare the constructor, and the function RegisterActorTypes. Setelah itu, kami menyatakan constructor, dan fungsi RegisterActorTypes. The RegisterActorTypes function is where we will register the tessellation actor with the actor factory for instancing in the editor. Fungsi RegisterActorTypes adalah di mana kita akan mendaftarkan tessellation actor dengan actor factory untuk instancing di editor. Note that you can have as many actors in one library as you want. Perhatikan bahwa Anda dapat memiliki banyak actor dalam satu library yang Anda inginkan. This actor library is named simply for our tutorial, but for your use, it is better to name a library something like 'MyProjectActorsLib'. Library ini diberi nama actor hanya untuk tutorial kita, tapi untuk Anda gunakan, lebih baik untuk nama library sesuatu seperti 'MyProjectActorsLib'. Now it's time to create a file called “TessellationActorLib.cpp” and place the following code inside: Sekarang saatnya untuk membuat sebuah file yang bernama "TessellationActorLib.cpp" dan masukkan kode berikut di dalamnya:

#include "TessellationActorLib.h" #include "TessellationActorProxy.h" extern "C" DT_PLUGIN_EXPORT dtDAL::ActorPluginRegistry* CreatePluginRegistry() { return new TessellationActorLib; } extern "C" DT_PLUGIN_EXPORT void DestroyPluginRegistry(dtDAL::ActorPluginRegistry *registry) { if(registry) delete registry; } TessellationActorLib::TessellationActorLib() : dtDAL::ActorPluginRegistry("Tessellation Actor Library") { mDescription = "This library exports the tessellation actor"; } void TessellationActorLib::RegisterActorTypes() { dtDAL::ActorType *tessActor = new dtDAL::ActorType("Tesselation", "Awesome Actors", "This actor represents a tesselating plane."); mActorFactory->RegisterType (tessActor); }

Ada catatan penting yang perlu diingat. When the editor is importing a library, it parses the library for two separate functions to ensure its validity. Ketika editor mengimpor sebuah library, itu mem-parsing library untuk dua fungsi yang terpisah untuk memastikan validitasnya. These functions are CreatePluginRegistry, and DestroyPluginRegistry. Fungsi-fungsi ini CreatePluginRegistry, dan DestroyPluginRegistry. Due to C++ name mangling, these functions have to be declared with C linkage in order for the editor to be able to parse them correctly. Karena C + + name mangling, fungsi-fungsi ini harus dinyatakan dengan hubungan C agar editor bisa mengurai dengan benar. Next, we set the description of the library in the constructor and pass the name of the library to the parent constructor. Selanjutnya, kita mengatur gambar library di constructor dan nama library untuk konstruktor induk. In the RegisterActorTypes function, we create a new actor type to represent our tessellation actor. Dalam fungsi RegisterActorTypes, kita menciptakan tipe baru untuk mewakili actor tessellation kami. We pass the constructor 3 parameters, which are the name, category, and description of the actor. Pada constructor 3 parameter, yaitu nama, kategori, dan deskripsi actor. Finally, we register the type with the actor factory by passing the class name of the proxy, and a pointer to the actor type. Akhirnya, kami mendaftar dengan jenis actor factory dengan nama kelas melewati proxy, dan sebuah pointer ke jenis actor. That's it Compile your code into a dynamic library and you will have successfully created an actor library. Mengkompilasi kode Anda ke sebuah library yang dinamis dan Anda akan berhasil membuat sebuah actor library. Now there is something to note about this. Sekarang ada sesuatu yang perlu diketahui tentang ini. When you go to import a library into the editor, the library needs to be stored in a directory that is in your computer's PATH environment variable. Jika Anda pergi ke library impor ke editor, library perlu disimpan dalam direktori yang ada di variabel lingkungan PATH komputer Anda. If you do not know what directories are in your PATH environment variable, you can find out by opening up a console window and echoing PATH. Jika Anda tidak tahu direktori berada di lingkungan variabel PATH Anda, Anda dapat mengetahui dengan membuka jendela konsol dan bergema PATH. If you ever get the error “Failed to load the library:xxx”, this is probably the reason. Jika Anda pernah mendapatkan kesalahan "Gagal memuat library: xxx", ini mungkin alasannya. That stated, it's time to import our new library into the editor. Yang menyatakan, saatnya untuk mengimpor library baru kami ke dalam editor.

Untuk memulai, jalankan editor, pilih konteks proyek Anda dan membuat peta. For more information of creating maps and selecting project contexts, please see the 'Getting to Know the Editor' tutorial. Untuk informasi lebih lanjut mengenai membuat peta dan memilih konteks proyek, silakan lihat 'Memahami tutorial Editor'. Navigate to the Edit menu and select Map Libraries. Arahkan ke menu Edit dan pilih Library Peta. This will execute the Library Editor. Ini akan melaksanakan Editor Library.

http://www.delta3d.org/images/articles/20050720135643860_1.jpg

Editor Library adalah di mana Anda dapat mengimpor atau menghapus library dinamis dari peta Anda. Click the Import Library button. Klik tombol Import Library. This will execute a file browser. Hal ini akan menjalankan file browser. Navigate to the directory where you saved the TesselationActorLibrary and double click it. Arahkan ke direktori di mana Anda menyimpan TesselationActorLibrary dan double klik. Presto!Now the tessellation actor can be instanced in the editor. Sekarang actor tessellation dapat instanced di editor.

Catatan - jika Anda memiliki masalah loading library Anda atau crash saat runtime, pastikan bahwa Anda telah mengumpulkan library Anda di negara yang sama sebagai editor (runtime untuk runtime dan debug untuk debug). There are known issues when you try to load a dynamic library in conflicting states. Ada masalah saat Anda mencoba untuk memuat sebuah library yang dinamis di negara-negara yang saling bertentangan.

Sekarang, membuat actor tessellation hanya untuk menguji. You should see something like this: Anda harus melihat sesuatu seperti ini:

http://www.delta3d.org/images/articles/20050720135643860_2.jpg

After you load this map into a Delta3D application, you should see the tessellation actor moving. Setelah Anda memuat peta ini menjadi sebuah aplikasi Delta3D, Anda harus melihat actor tessellation bergerak. Here are some screen shots: Berikut adalah beberapa screen shot:

http://www.delta3d.org/images/articles/20050720135643860_3.jpg

http://www.delta3d.org/images/articles/20050720135643860_4.jpg

http://www.delta3d.org/images/articles/20050720135643860_5.jpg

Jika Anda memiliki masalah loading peta ke dalam scene, silakan lihat tutorial sebelumnya..