Tampilkan postingan dengan label PENGANTAR TEKNOLOGI GAME. Tampilkan semua postingan
Tampilkan postingan dengan label PENGANTAR TEKNOLOGI GAME. Tampilkan semua postingan

Rabu, 30 Juni 2010

Perbandingan Game Engine

0 komentar
Game Engine adalah perangkat lunak yang dirancang untuk menciptakan dan mengembangkan video game. Fungsi intinya dari game engine mencakup rendering engine (“renderer”) untuk 2D atau 3D graphics, physics engine atau collision detection (dan collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, dan scene graph. Proses pengembangan game sering dihemat oleh sebagian besar development menggunakan kembali game engine yang sama untuk menciptakan game yang berbeda.

1. Open Source Game Engine
  • Ogre 3D
  • Delta 3D
  • Aleph One
  • jMonkeyEngine (jME)
  • Panda3D
  • Sphere
2. Commercial Game Engine
  • DXStudio
  • Dunia Engine
  • Source Engine
  • RPG Maker XP
  • Vision Engine

OGRE 3D(Object-Oriented Graphics Rendering Engine), engine yang object oriented & flexible 3D rendering pada game engine yang ditulis dalam bahasa C++ serta didesain untuk mampu men-develop dengan intuitif & mudah kepada aplikasi produksi dengan menggunakan utility hardware-accelerated 3D graphic. Gambaran abstraknya OGRE menggunakan sistem library seperti Direct3D & OpenGL, serta menyediakan sebuah dasar interface di dunia objek dan class object yang lebih tinggi. Ogre 3D Merupakan engine untuk rendering grafikal yang Open Source. Ogre3D tidak menyertakan komponen built-in seperti physics, penanganan input user dan kecerdasan buatan (Artificial Intellegence). Ogre ini bersifat hanya sebagai plug-in yang ditanam umum menambahkan library-nya yang merupakan sebagai mesin render yang tangguh dan banyak orang bilang ini sebagai game engine. Berdasar dari FAQ(Frequently Asked Question) dari Ogre 3D wiki, Ogre sebenarnya bukan Game Engine tetapi hanya merupakan Graphic Engine, Ogre 3D hanya fokus pada grafis 3D dan manipulasi adegan 3D. Ogre3D digambarkan cukup baik sehingga programmer tidak perlu memprogram bahasa spesifik untuk 3D seperti OpenGL atau DirectX. Namun, Ogre 3D dapat dengan mudah disatukan dengan library lain untuk membuat game. Untuk menggunakan engine ini dalam pembuatan game yang kompleks, maka kita perlu mengintegrasikannya dengan library physics yang tersedia, dan kita juga harus mencari library untuk suara. Ogre3D adalah game engine yang cukup baik untuk digunakan karena mudah digunakan dan kaya fitur. Dibuat oleh beberapa orang dari tim dari sebuah komunitas. Para developernya : Steve ’sinbad’ Streeting, Brian ‘praetor’ Johnstone, Assaf Raman, Holger ‘CABAListic’ Frydrych, Dave ‘masterfalcon’ Rogers, Noam ‘Noman’ Gat, Nir Hasson dan beberapa anggota lain yang sudah keluar/pensiun dari tim tersebut. Ogre 3D ini dapat dijalankan menggunakan beragam jenis hardware (support 3D) tentu dengan performa yang berbeda juga. 
Fitur OGRE 3D:
  • Desain yang object oriented dengan menggunakan plugin untuk mempermudah memasukkan fitur lainnya.
  • Engine berbasis scane graph dengan bantuan untuk sebuah varietas yang luas, octree, BSP, & Paging Landscape scene manager.
  • Multi-platform dengan dukungan OpenGL & Direct3D. Bisa merender konten yang sama di beda platform tanpa harus mempunyai content creator. Dapat diakses pada platform Linux, Mac OS X, dan semua versi Windows.
  • OGRE mendukung program Vertex dan Fragment selama ditulis dengan GLSH, HLSL, Cg, dan assembler.
  • The landscape scene manager untuk Progressive LOD, yang mana bisa dibuat secara otomatis & manual.
  • Engine animasi yang mensuport penuh untuk multiple hardware.
  • OGRE mempunyai comositing manager dengan bahasa script dan full screen postprocessing untuk efek seperti HDR, blooming, satruation, brightness, blurring, & noise.
  • Libraries mempunyai fitur memory debugging & loading resource dari archive-nya.
  • Tersedia konten tools untuk 3D modeler, seperti 3D Studio Max, Maya, Blender, LightWare, Milkshape, Sketchup, dsb.



Delta 3D adalah sebuah simulasi game engine yang telah banyak digunakan dan didukung oleh berbagai open source game. Delta3D merupakan game engine yang mendukung berbagai jenis kebutuhan termasuk latihan, pendidikan, visualisasi dan hiburan. Delta3D ini sangat unik karena menawarkan fitur khusus cocok untuk Pemodelan dan Simulasi dan masyarakat DoD seperti High Level Architecture (HLA), After Action Review (AAR), dukungan daerah skala besar, dan SCORM Learning Management System (LMS) integration. Delta3D adalah Open Source engine yang dapat digunakan untuk permainan, simulasi, atau aplikasi grafis lainnya. Desain modular diperkuat dengan fitur lainnya yang terkenal proyek Open Source seperti Open Scene, Open Dynamics Engine, Character Animation Library, dan OpenAL. Daripada mengubur modul yang mendasar, Delta3D mengintegrasikan mereka bersama dalam API yang mudah digunakan yang selalu memungkinkan akses ke komponen penting yang mendasar. Ini memberikan sebuah high level API yang masih memungkinkan end user untuk mengatur fungsi tingkat rendah. Delta3D dikembangkan dan diuji pada Windows XP menggunakan Microsoft Visual Studio dan Linux menggunakan gcc. Semua dependensi yang mendasar adalah karena juga merupakan cross-platform, sehingga seharusnya kompatibel dengan hanya memodifikasi beberapa kode sumbernya. Secara tidak resmi, ada dukungan umum untuk Mac OSX selain itu banyak pula pengguna yang berhasil mengembangkan aplikasi Delta3D pada platform tersebut.
Features :
Tujuan utama Delta3D adalah untuk menyediakan API tunggal yang fleksibel dengan unsur-unsur dasar yang dibutuhkan oleh semua aplikasi visualisasi. Selain komponen yang mendasarinya, Delta3D menyediakan berbagai alat seperti Simulasi, Pelatihan, dan Game Editor, Compiler BSP, editor partikel,sebuah stand-alone model viewer, dan HLA Stealth Viewer. Lebih lanjut, Delta3D memiliki arsitektur suite luas yang terintegrasi di seluruh mesin. Suite ini mencakup kerangka kerja seperti Application Base Classes (ABC) untuk memulai, Dynamic Actor Layer (DAL) untuk Aktor Proxy dan Properties serta sinyal / slot dukungan untuk direct method linking, Game Manager (GM) untuk manajemen aktor, pluggable terrain tools untuk membaca, rendering, dan membuat terrain, dan pesan tingkat tinggi untuk komunikasi aktor.


sumber:
http://en.wikipedia.org/wiki/Game_engine/
http://www.ogre3d.org/
http://en.wikipedia.org/wiki/Ogre_3D/
http://www.delta3d.org/
http://en.wikipedia.org/wiki/Delta3D/
http://en.wikipedia.org/wiki/List_of_game_engines/

Jumat, 14 Mei 2010

Sound in a Delta3D Application

1 komentar
Delta3D memanfaatkan library OpenAL untuk menyediakan audio untuk simulasi dan permainan. kemampuan audio nya adalah meng-enkapsulasi dalam dtAudio module. Tutorial ini akan memberikan beberapa contoh cara menggunakan dtAudio module untuk menambahkan suara ke aplikasi Anda.


Contoh 1

Ini contoh yang sangat dasar menunjukkan cara bermain suara pada startup aplikasi. Untuk contoh serupa yang mempekerjakan beberapa hal-hal seperti menanggapi penekanan tombol, lihat "testSound" contoh aplikasi yang disediakan dengan sourcecode Delta3D.
Pertama, membuat aplikasi Delta3D (tersebut tercakup dalam tutorial lainnya). Untuk tutorial ini saya membuat sebuah aplikasi bernama SoundDemoApp. Berikut adalah metode konfigurasi dari aplikasi tersebut. Metode Config akan dipecat pada saat startup aplikasi untuk Aplikasi Delta3D:

//To build this code you will need to have #included dtAudio/audiomanager.h somewhere in your code
//and you need to link against the dtAudio library.
void SoundDemoApp::Config()
{
   dtAudio::AudioManager::Instantiate();          //Create the AudioManager (which is a Singleton)

   //We need to call dtAudio::AudioManager::GetInstance().Destroy()
   //when we're all done with audio in the application.  If audio is going to be used throughout
   //the application the best place to do this is probably the Application's destructor.

   //Ask the AudioManager for a new sound
   dtAudio::Sound* drumRoll = dtAudio::AudioManager::GetInstance().NewSound();
   //Load and play our snazzy new sound
   drumRoll->LoadFile("drum_roll.wav");
   drumRoll->Play();   //This call can be a bit deceiving -- we are actually sending a message
                       //to the AudioManager to play the sound as soon as CPU time becomes available.

   //Once we're all done with our Sound, we should return it to the AudioManager for recycling via
   //dtAudio::AudioManager::GetInstance().FreeSound();
   //DON'T do this immediately after the Play() call! The "play message" almost certainly hasn't got through
   //"the system" yet, so we won't hear anything if we free the sound the line after we tell it to play.
}

Di sini kita diperkenalkan pada AudioManager Delta3D. Ini adalah kelas tunggal yang bertanggung jawab untuk mengelola seluruh suara dalam aplikasi. Antrean AudioManager sampai perintah untuk diproses pada saat yang tepat. Ini berarti bahwa ketika kita sebut metode Play Sound, adalah mungkin untuk callback yang akan ditetapkan ketika suara dimulai dan ketika berhenti (lihat dokumentasi SetStopCallback SetPlayCallback dan metode dari kelas Sound of Delta3D). Suara juga dapat memutar ulang atau berhenti.


Contoh 2

OpenAL memungkinkan kita untuk mengatur posisi untuk Sound apapun dan juga untuk global "pendengaran" (atau mikrofon). apliklasi Delta3D dapat memiliki banyak suara tetapi hanya satu Pendengar. Mendapatkan suara keras saat mereka lebih dekat dengan Pendengar dan lembut saat mereka lebih jauh dari itu. Kedua suara dan Pendengar dapat dilampirkan ke Delta3D graphical Objects dan perhitungan redaman akan dilakukan secara otomatis sebagai Objek bergerak. Berikut ini adalah segmen kode untuk sebuah Aplikasi TestSoundApp  yang metode Configurasinya memasang Pendengar untuk Kamera Scene dan Suara ke helikopter 3D Obyek:

void TestSoundApp::Config()
{
   //Position our camera --------------------------------
   dtCore::Transform camPos;
   camPos.Set(0.0f, 10.0f, 0.0f,    //Position
              0.0f, 0.0f, 0.0f,     //LookAt
              0.0f, 0.0f, 1.0f);    //Up Vector

   GetCamera()->SetTransform(camPos);
   GetCamera()->SetPerspectiveParams(45.0, 1.0, 0.1, 500.0);
   //Done positioning camera -----------------------------

   //Setup a MotionModel and attach it to the camera so we can walk around.
   dtCore::WalkMotionModel* mWalkMM = new dtCore::WalkMotionModel(this->GetKeyboard(), this->GetMouse());
   mWalkMM->SetScene(GetScene());
   mWalkMM->SetTarget(GetCamera());

   //Setup some terrain so we have something to walk around on.
   dtCore::RefPtr<dtCore::InfiniteTerrain> mInfTerrain = new dtCore::InfiniteTerrain();
   mInfTerrain->SetVerticalScale(0.01f);
   AddDrawable(mInfTerrain.get());

   //Setup the Audio Manager
   dtAudio::AudioManager::Instantiate();

   //Load up our helicopter hum sound
   dtAudio::Sound* helicopterHum;
   helicopterHum = dtAudio::AudioManager::GetInstance().NewSound();

   helicopterHum->LoadFile("helo.wav");
   //have the helicopter humming sound play over and over so it never stops
   helicopterHum->SetLooping(true);
   //helicopters are pretty loud -- they get quiet slowly as they move away:
   helicopterHum->SetRolloffFactor(0.15f);
   helicopterHum->Play();
   //Done loading up helicopter sound

   //Load up our helicopter 3d model so we have a visual point of reference to tell
   //how far away from or (how close to) we are relative to the sound.
   mHelicopterObj = new dtCore::Object("helicopter");
   mHelicopterObj->LoadFile("uh-1n.ive");

   //Attached the helicopter sound to the helicopter 3D graphical model.  This will
   //cause the Sound to move with the 3D model.
   mHelicopterObj->AddChild(helicopterHum);

   AddDrawable(mHelicopterObj.get());
   //Done loading up helicopter graphical model ------------------------------

   //Get the Listener from the Audio Manager and attach it to the Camera:
   dtAudio::Listener* globalEar = dtAudio::AudioManager::GetInstance().GetListener();
   GetCamera()->AddChild(globalEar);
}

Kita sekarang bisa memindahkan Kamera dekat atau jauh dari helikopter di dunia 3D dan mendengar bagaimana suara dipengaruhi.
Perhatikan penggunaan metode SetRolloffFactor pada objek Sound helicopterHum. Nilai agak kecil seperti 0,15 menyebabkan suara untuk tinggal lebih keras lagi karena kami bergerak jauh dari itu. Jika kita ingin memiliki suara mendapatkan diam lebih cepat saat kami pindah, maka kita akan engkol roll off factor yang lebih tinggi.
Selain suara dan setup 3D Obyek, sebuah WalkMotionModel digunakan untuk memungkinkan kita untuk memindahkan kamera sekitar (yang, ingat, terlampir pada Pendengar global). Beberapa Terrain juga termasuk memberi kami sesuatu untuk berjalan di atas.
OK, jadi kita dapat memindahkan Pendengar tentang. Bagaimana pindah Sound itu? Salah satu cara yang bisa kami lakukan itu adalah untuk menghidupkan helikopter 3D Objek untuk bergerak maju mundur sehingga kita dapat mendengar perubahan suara ketika bergerak dalam kaitannya dengan Kamera:

void TestSoundApp::PreFrame(const double deltaSimTime)
{
   static double moveStep = 0.1;

   //oscillate!!
   if (mTranslation[0] > 40.0 || mTranslation[0] < -40.0)
      moveStep *= -1.0;

   dtCore::Transform xForm;
   mHelicopterObj->GetTransform(xForm);
   xForm.GetTranslation(mTranslation);
   mTranslation[0] += moveStep;
   xForm.SetTranslation(mTranslation);
   mHelicopterObj->SetTransform(xForm);
}

Mendefinisikan sebuah metode PreFrame dalam dtABC Delta3D:: Aplikasi akan menyebabkan kode di sana untuk mendapatkan yang disebut sebelum setiap renders frame. kode ini memindahkan helikopter Obyek 3D bolak-balik sepanjang sumbu x. Sejak Suara helikopter itu membuat anak Objek 3D dalam metode Config, Sound secara otomatis berubah posisi yang tepat bersama dengan Objek 3D.
Roll off tidak efek-satunya yang dapat diatur pada suara. Hal-hal lain yang dapat diatur adalah keuntungan, pitch, arah dan kecepatan. efek doppler menarik seperti juga mungkin dengan bermain-main dengan parameter. Lihat dokumentasi dtAudio:: Sound untuk informasi lebih lanjut. Untuk lebih komprehensif (tapi lebih kompleks) contoh, lihat "testAudio" misalnya dalam distribusi Delta3D.

Kompatibilitas Catatan

Delta3D hanya mendukung format audio yang didukung oleh OpenAL. OpenAL menyediakan dukungan untuk format audio terkompresi. Kompresi tidak didukung dengan cara apapun melalui OpenAL dan diserahkan kepada pengembang untuk dekompresi dan audio streaming ke OpenAL jika mereka ingin menggunakan format kompresi seperti mp3 atau Ogg Vorbis. Jika Anda ingin menggunakan format yang dikompresi kemudian melihat perangkat seperti ffmpeg dan libavcodec untuk dekompresi dan data stream audio ke OpenAL. Saat ini, Namun, format ini biasanya digunakan oleh dan direkomendasikan untuk Delta3D adalah WAV.
Setelah mengatakan ini, harus menyadari bahwa tidak semua. File wav diciptakan sama! Panjang cerita pendek: jika Anda. file wav tidak akan bermain melalui dtAudio (atau OpenAL), kemudian memastikan bahwa Anda memiliki file wav yang menggunakan PCM dan tidak menggunakan kompresi.. Salah satu cara untuk melakukannya adalah dengan beban setiap menyinggung file wav ke dalam Audacity alat dan Open Source. Ekspor sebagai WAV. Aku tahu, itu adalah _already_ file wav., Tapi ingat, tidak semua. File wav sama.
Meskipun. File wav audio biasanya berisi terkompresi dalam format PCM, WAV spesifikasi juga mendukung pengkodean lainnya, termasuk kompresi (yang OpenAL tidak mendukung). Hal ini akan membingungkan sangat cepat, sebuah diskusi lengkap codec audio adalah cara di luar lingkup dokumen ini. Jika Anda benar-benar ingin masuk ke sepele audio digital, tempat yang baik untuk memulai adalah entri Wikipedia pada file WAV.
Perlu diketahui juga bahwa Delta3D tidak mendukung posisi suara stereo (hanya mono).


sumber : http://sourceforge.net/apps/mediawiki/delta3d/index.php?title=Sound_in_a_Delta3D_Application

Kamis, 15 April 2010

pengenalan game

5 komentar
Permainan merupakan sebuah aktivitas rekreasi dengan tujuan bersenang-senang, mengisi waktu luang, atau berolahraga santai. Permainan biasanya dilakukan sendiri atau bersama-sama.  Permainan sendiri terbagi
menjadi 3 bagian yaitu:
  1. Permainan anak-anak
  2. Di lingkungan yang masih terlihat keakraban antar anggota masyarakat, banyak permainan yang dilakukan oleh anak-anak secara beramai-ramai dengan teman-teman mereka di halaman atau di teras rumah. Mereka  berkelompok, berlarian, atau duduk melingkar memainkan salah satu permainan dan tercipta keakraban. Beberapa permainan ini karena tercipta di masa yang lama berlalu disebut dengan permainan tradisional, sedangkan di sisi lain beberapa permainan yang lebih akhir (dan biasanya menggunakan peralatan yang canggih) disebut permainan modern.
    • Bentengan
    • Layangan
    • Congkak
  3. Permainan Dewasa
    • Kartu Remi atau Bridge
    • Sudoku
    • Catur
  4. Permainan Vidio
  5. Permainan video (bahasa Inggris: video game) adalah permainan yang menggunakan interaksi antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video. Permainan video umumnya menyediakan sistem penghargaan–misalnya skor–yang dihitung berdasarkan tingkat keberhasilan yang dicapai dalam menyelesaikan tugas-tugas yang ada di dalam permainan. Sistem elektronik yang digunakan untuk menjalankan permainan video disebut platform, contohnya adalah komputer pribadi dan konsol permainan.
    • Permainan Komputer
    Permainan komputer (bahasa Inggris: computer game) adalah permainan video yang dimainkan pada komputer pribadi, dan bukan pada konsol permainan, maupun mesin ding-dong. Permainan komputer telah berevolusi dari sistem grafis sederhana sampai menjadi kompleks dan mutakhir. Permainan online (bahasa Inggris: online game) adalah jenis permainan video atau permainan komputer dengan menggunakan jaringan komputer, umumnya internet, sebagai medianya. Permainan online terdiri dari dua unsur utama, yaitu server dan client. Server adalah penyedia layanan gaming yang merupakan basis agar client-client yang terhubung dapat memainkan permainan dan melakukan komunikasi dengan baik. Suatu server pada prinsipnya hanya melakukan administrasi permainan dan menghubungkan client-client. Sedangkan client adalah pengguna permainan dan memakai  kemampuan server. Contoh permainan online adalah Ragnarok Online, Risk Your Life, Xian dll. Ragnarok Online adalah sebuah MMORPG (Massively Multiplayer Online Role Playing Game) dari Korea Selatan yang dibuat berdasarkan cerita dan latar belakang yang sama dari komik korea terkenal berjudul "Ragnarok" yang ditulis oleh Lee Myoung-Jin.Komik ini kemudian dikembangkan menjadi sebuah game online yang memfokuskan fitur komunitas antar pemainnya.Game ini dibuat oleh Gravity Corporation. Hampir seluruh versi resmi (official) RO sudah memasuki masa komersil di mana pemain harus membayar untuk bermain (pay-to-play). Perlu dibedakan, terdapat pula private server yang merupakan server tidak official ilegal dan tidak ada toleransi dari Gravity serta penyelenggara RO di seluruh belahan dunia.
    • Konsol Permainan
    Konsol permainan atau Game Console adalah sebuah mesin elektronik yang dirancang khusus untuk memainkan permainan video. Perangkat keluarannya biasa berupa monitor komputer atau televisi. Alat masukan utamanya berupa sebuah pengendali. Konsol permainan yang pertama kali di buat adalah Atari, kemudian dilanjutkan dengan Nintendo yang sukses pada tahun 1985-1989. Konsol permainan modern sekarang ini antara lain adalah Playstation buatan perusahaan Sony. Untuk Console yang berbentuk kecil dan dapat dibawah kemana-mana biasa disebut Portable Console.

sumber:
http://www.scribd.com/doc/7594396/modul1-pengenalan-game
 

qazdec27