Recent Comments

counter



Free web hostingWeb hosting

Bab 1. Persiapan

Download BAB1-Persiapan.zip (470.7 KB)

Didalam bab ini akan sedikit dijelaskan mengenai tool-tool yang Anda butuhkan, apa itu DirectX, proses installasi DirectX, menyiapkan VC++ agar dapat menggunakan DirectX dan membuat aplikasi DirectX dengan menggunakan wizard. Ketika saya baru pertama kali mempelajari DirectX, saya sempat frustasi menyiapkan DirectX pada VC++. Oleh karena itu, bila Anda seorang pemula, bacalah bab ini dengan seksama karena bab ini merupakan dasar dari penggunaan DirectX pada VC++. Tetapi bila Anda telah mengetahui semua hal tersebut, Anda dapat melewati bab ini.

1.1 Tool-tool yang dibutuhkan

Untuk membuat sebuah game 3D dengan menggunakan DirectX, tool-tool berikut wajib Anda miliki:

1. DirectX SDK 9.0

SDK ini dapat Anda download dari situs Microsoft. Dikarenakan ukurannya yang sangat besar untuk didownload, Anda dapat mencari CD DirectX SDK di toko-toko yang menjual CD Software atau meminjam dari teman Anda yang memilikinya. Ukuran yang besar tersebut disebabkan oleh banyaknya contoh-contoh aplikasi DirectX (pada folder Samples), sedangkan yang Anda butuhkan, minimal, hanyalah file-file include(.H), library (.LIB) dan dokumentasi (.CHM).

2. IDE (Integrated Development Environment)

IDE adalah sekumpulan tool-tool untuk mengembangkan sebuah perangkat lunak pada suatu sistem operasi. Umumnya IDE terdiri atas editor, compiler dan builder. Aplikasi DirectX dapat di-compile dan di-build dengan mulus bila Anda menggunakan Visual C++ 6.0 atau Visual Studio .NET 2003. Dikarenakan IDE tersebut tidak gratis, Anda dapat menggunakan IDE CodeBlocks (www.codeblocks.org) dengan compiler Microsoft VC++ Toolkit 2003 dan Microsoft Platform SDK.

3. 3D Model Editor dan Image Editor

3D Model Editor digunakan untuk membuat model-model 3D dengan animasinya. Tool-tool 3D Model Editor yang umum digunakan adalah 3D Studio Max, Maya dan Milkshape3D. Tool gratis yang dapat Anda gunakan yaitu Blender 3D. Model 3D yang Anda buat diharuskan untuk disimpan dalam format DirectX, yaitu X. Terdapat beberapa plug-in yang dapat meng-export model Anda tersebut untuk dijadikan format X. DirectX memiliki sebuah program, conv3ds.exe, yang tersimpan didalam folder “bin” pada SDK DirectX. Program tersebut dapat mengkonversi model Anda yang disimpan dengan format 3DS agar menjadi format X.

Sedangkan Image Editor digunakan untuk membuat dan memanipulasi suatu image (gambar/citra) dimana format image yang dapat digunakan oleh DirectX adalah format BMP, GIF, JPG dan TGA. Tool-tool yang umum digunakan adalah Adobe Photoshop dan Paint Shop Pro. Tool gratis dari Image Editor ini adalah The Gimp yang kini tersedia untuk Windows dan Linux.

4. Tekad, semangat dan kemauan keras

Ini tool yang Anda perlukan bagi diri Anda sendiri. Tanpa tool ini, apapun yang Anda lakukan, takkan mencapai tujuan yang Anda inginkan. Masuki alam bawah sadar Anda dan sugestikan di dalam pikiran Anda (kayak program hipnotis di tipi aja), bahwa Anda bisa dan mampu untuk mencapai tujuan yaitu membuat game 3D dengan DirectX.

Selain tool-tool wajib tersebut, satu hal yang perlu Anda perhatikan adalah jangan terlalu asik bersama komputer untuk membuat game. Bagilah waktu untuk kehidupan sosial Anda misalnya pergi jalan-jalan bersama teman, bergosip ria, fitness (olahraga) atau berduaan dengan sang pacar (kalo punya lho…). Jangan seperti saya yang di PHK (putus hubungan kekasih) gara-gara di depan komputer terus. :)

1.2 DirectX oh DirectX

DirectX merupakan sekumpulan API (Application Programming Interface) yang dikembangkan oleh Microsoft Corporation. API ini menyediakan berbagai interface, perintah serta fungsi untuk pengembangan aplikasi waktu nyata (real-time) dengan performa tinggi pada sistem operasi Windows. DirectX dapat digunakan secara gratis (bila Anda memiliki lisensi legal dari Windows yang Anda gunakan) dan dapat di-download dari situs Mirosoft (www.Microsoft.com/directx). SDK DirectX berisi file-file header berekstensi h, file-file library berekstensi LIB, file-file binari utilitas, contoh-­contoh aplikasi DirectX dan dokumentasi.

Motivasi utama Microsoft mengembangkan DirectX adalah dikarenakan performa aplikasi game dan aplikasi multimedia tanpa DirectX untuk platform Windows95 jauh dibawah performa aplikasi yang sama bila dikembangkan pada platform DOS. Tetapi kekurangan pemrograman aplikasi DOS yaitu yang harus memperhatikan konfigurasi perangkat keras yang berbeda-beda, menyebabkan para pemrogram memerlukan waktu dan biaya tambahan agar perangkat lunak yang dikembangkan menjadi kompatibel dengan berbagai perangkat keras.

Tutorial ini akan menggunakan DirectX versi 9.0. Bila Anda memiliki SDK DirectX terbaru, SDK tersebut dapat Anda gunakan dengan kode-kode yang terdapat dalam tutorial ini. DirectX versi 9.0 terdiri atas beberapa komponen sebagai berikut :

1. DirectXGraphics

Merupakan kombinasi dari dua komponen yang sebelumnya terpisah, pada DirectX versi 7 kebawah, yaitu Direct3D dan DirectDraw. Microsoft juga memberikan beberapa interface tambahan pada komponen ini, yaitu Direct3DX, yang mempermudah pemrogram untuk melakukan tugas-tugas manipulasi mesh, pembuatan buffer untuk menyimpan data-data vertex, mempermudah operasi loading file model 3D, penggunaan font dan penggunaan sprite.

2. DirectXAudio

Komponen ini digunakan untuk pemrograman suara digital (WAV) dan musik (MIDI).

3. DirectInput

DirectInput menangani input dari perangkat pengontrolan di dalam aplikasi game termasuk mouse, keyboard dan joystick.

4. DirectPlay

DirectPlay menangani koneksi pada suatu jaringan komputer seperti koneksi Internet, koneksi menggunakan protokol TCP-IP dan direct connection.

5. DirectShow

Komponen DirectShow berisi perintah-perintah untuk pembuatan aplikasi media streaming seperti menangkap dan memainkan format file audio video.

Ketersediaan seluruh komponen-komponen game PC (grafik, suara, musik, networking dan instalasi) dan dominasi sistem operasi Windows pada desktop computer, menjadikan DirectX sebagai API yang sering digunakan oleh para pengembang game. Kelebihan yang dimiliki DirectX adalah kemampuan untuk mengakses Hardware Abstraction Layer (HAL). Hardware Abstraction Layer merupakan fitur-fitur tambahan pada kartu grafik untuk meningkatkan performa operasi-operasi grafik 2D dan 3D. Kelebihan lainnya yaitu kemampuan emulasi (menyamai) fitur-fitur HAL seandainya kartu grafik pada sistem tidak memiliki fitur-fitur HAL. Proses emulasi ini disebut dengan Hardware Emulation Layer (HEL) tetapi akan mengakibatkan aplikasi berjalan lebih lambat.

DirectX memiliki banyak interface dan perintah yang tersimpan di dalam file –file dynamic link library (DLL). Ketika suatu aplikasi DirectX dijalankan, sistem operasi Windows memanggil file DLL DirectX yang menyimpan interface dan perintah tersebut. Beberapa interface penting DirectX dapat dilihat pada tabel dibawah ini.

InterfaceDirectX

DLL

Fungsi

IDirect3D

D3D8.DLL

Menyiapkan obyek Direct3D, menyiapkan lingkungan Direct3D dan mendeteksi kemampuan perangkat kartu grafik.

IDirect3DDevice8

D3D8.DLL

Mengatur cahaya dan material, menyiapkan back buffer, menyiapkan viewport.

IDirect3DTexture8

D3D8.DLL

Mengambil bitmap dari file BMP, DDS, JPG

IDirect3DVertexBuffer8

D3D8.DLL

Manipulasi vertex

ID3DXMesh

D3DX8.DLL

Membuat mesh dari file X dan memanipulasinya

ID3DXBuffer

D3DX8.DLL

Tempat penyimpanan data vertex

ID3DXFont

D3DX8.DLL

Pengaturan font (karakter-karakter teks) dan proses render font pada device

ID3DXSprite

D3DX8.DLL

Mempermudah proses render sprite

IDirectInput8

DINPUT.DLL

Membuat obyek DirectInput dan membuat device keyboard dan device mouse

IDirectInputDevice8

DINPUT.DLL

Inisialisasi device DirectInput, mendapatkan akses pada perangkat keras input.

1.3 Installasi SDK DirectX

Setelah Anda memiliki SDK DirectX, jalankan file “setup.exe” atau “install.exe”. Install pada folder “C:\DXSDK”. Setelah proses installasi selesai, maka drive C Anda akan bertambah ratusan mega akibat proses installasi tersebut :D.Berikut tampilannya…

Pada saat proses installasi, bila pada sistem Anda tidak terdapat runtime DirectX versi 9, maka Anda akan diminta untuk menginstall runtime DirectX tersebut. Anda juga dapat membatalkan installasi runtime DirectX bila Anda yakin pada sistem Anda telah terinstall DirectX 9.0. Untuk memastikannya, klik Start–> Run dan ketikkan “dxdiag” pada window Run. Setelah window DirectX Diagnostic Tool muncul, Anda dapat melihat versi DirectX yang terinstall pada komputer Anda. Windows XP telah memiliki runtime DirectX 8.1. Bila Anda menggunakan SDK DirectX 8.1, maka Anda tak perlu melakukan installasi runtime. Pastikan versi runtime DirectX tersebut sama atau lebih tinggi dari versi SDK DirectX yang akan Anda gunakan.

image002

1.4 Menyiapkan VC++

Hal berikut yang harus dilakukan adalah menyiapkan VC++ agar dapat menggunakan SDK DirectX. Terdapat dua versi Visual C++ yang umum digunakan yaitu VC++ 6.0 pada Visual Studio 6.0 dan VC++ .NET pada Visual Studio .NET 2003. Menyiapkan VC++ pada kedua versi tersebut tidaklah jauh berbeda. Bila Anda menginstall SDK DirectX pada folder “C:\DXSDK” maka persiapan tersebut adalah :

1. Pada VC++ 6.0 klik pada menu Tools–>Options dan tab Directories. Lihat Combo-box “Show directories for:” dan pastikan berada pada menu “Include files”. Kemudian tambahkan informasi direktori “C:\DXSDK\Include”. Pastikan direktori ini berada paling atas diantara direktori-direktori standar VC++.

2. Lihat kembali Combo-box “Show directories for:” dan ubah menjadi “Library files”. Tambahkan informasi direktori “C:\DXSDK\Lib” ke dalamnya. Tekan OK. Dan kini VC++ Anda telah mengetahui folder tempat file-file header dan library dari SDK DirectX. Hal ini penting di dalam proses compile dan build aplikasi Anda nantinya. Pastikan direktori ini berada paling atas diantara direktori-direktori standar VC++.

image003

image004

1.5 Mencoba Wizard Untuk Membuat Aplikasi DirectX 9

Bila Anda melakukan installasi SDK DirectX setelah installasi VC++, maka secara otomatis proses installasi akan menambahkan sebuah application wizard untuk aplikasi DirectX 9.0.

image005

Untuk melihat apakah terdapat DirectX9 AppWizard pada VC++ Anda, klik menu File–>New dan klik tab Projects. Perhatikan wizard yang terdapat di window tersebut. Bila terdapat DirectX9 AppWizard, isikan nama project Anda, misalkan “tesDX1”. Secara otomatis VC++ akan membuatkan folder “tesDX1”. Klik OK.

Application Wizard ini dapat Anda gunakan untuk melakukan pengetesan apakah SDK DirectX dan VC++ telah disiapkan dengan baik dan benar. Setelah Anda menekan OK, Anda akan ditampilkan kotak-kotak jendela yang merupakan langkah-langkah (wizard) dari DirectX 9 AppWizard. Pada langkah pertama (Step 1 of 3), pilih “Single document window” dan non-aktifkan pilihan DirectInput dan DirectMusic. Anda hanya akan melakukan pengetesan, bukan membuat aplikasi sesungguhnya sehingga tidak memerlukan DirectInput dan DirectMusic. Perhatikan jumlah langkah yang berkurang menjadi “Step 1 of 2” akibat non-aktifnya DirectInput dan DirectMusic.

image006

image007

Klik Next dan Anda akan ditampilkan kotak langkah kedua. Pilih “Teapot”, “Direct3D fonts” dan “3D meshes (.x files)”. Kemudian klik tombol “Finish” dan kemudian VC++ akan mengenerasi file-file yang dibutuhkan.

image008

Perhatikan FileViewer dan klik file “tesDX1.cpp”. Kalo Anda ingin pusing, perhatikan dengan seksama kode-kode yang terdapat pada file tersebut J . Tetapi jangan ambil pusing dulu dengan kode-kode tersebut, ingat Anda hanya akan melakukan pengetesan.

Untuk mengetahui apakah SDK DirectX dan VC++ telah disiapkan dengan baik dan benar, Anda perlu melakukan compile dan build. Compile akan menjadikan file-file source code C++ (“bahasa manusia” pada file berekstensi CPP) menjadi binari (anggap aja “bahasa mesin” pada file berekstensi OBJ). File-file OBJ belum dapat dieksekusi (dijalankan pada mesin komputer) dan harus disatukan kembali untuk menjadi sebuah file executable (EXE) yang dapat dijalankan. Proses penyatuan OBJ untuk dijadikan EXE disebut dengan proses Build atau linking. Untuk membuat membuat file EXE, klik pada menu Build–>Build tesDX1.exe atau menekan tombol F7. Build juga dapat dilakukan melalui menu Build–>Rebuild All.

Bila Anda telah menyiapkan SDK DirectX dan VC++ dengan baik dan benar, maka proses compile dan build akan berjalan dengan lancar. Perhatikan pada jendela message dibawah VC++, file “tesDX1.exe” akan terbentuk bila VC++ menyatakan “0 error(s), 0 warning(s)”.

image009

Selamat ! ! ! Anda telah membuat aplikasi DirectX menggunakan DirectX9 AppWizard. Klik menu Build–>Execute tesDX1.exe untuk menjalankan aplikasi DirectX Anda. Berikut adalah tampilan aplikasi tersebut…

image010

Awas gucinya jangan digosok. Nanti keluar jinnya lho… hehehe…

5 comments to Bab 1. Persiapan

  • Hm… om udah jago nih… Gw baru baca halaman 1 udah bingung. Btw, apa DirectX bisa support di Java??? Kalo bisa, gimana caranya???

  • Aji Pamungkas

    hehe… bingung dimana ?

    ada binding buat java agar dapat mengakses native library DirectX, kalo masih ada di http://java-direct3d.sourceforge.net/, karena kayaknya pengembangannya sudah dihentikan.

    Lebih baik menggunakan OpenGL, JME, LWJGL atau Java3D kalo kamu mo pake Java untuk pengembangan games, karena sesuai slogan Java, “write once, run everywhere”, karena di Linux atau Mac, tidak ada DirectX.

  • Ow… kalo gw pake GTGE, gak tahu udah implement LWJGL ato ga. ya deh, ntar nyari resource lagi. kalo Java3D itu gmn? apa gak mending langsung pake jME?? Oiya, om bisa add YM gw, pingin ngobrol nih… YM: xp_guitarist

  • Aji Pamungkas

    GTGE bagus untuk 2D games development, berdasarkan referensi dari teman2, tetapi saya sendiri belum pernah menggunakannya.

    Java3D, dulu pernah pakai, bagus juga. Sekarang saya gunakan jME, dan sudah terbiasa dengannya, jadi saya pilih jME untuk 3D game development di Java.

    Untuk C++, saya lebih suka Ogre3D, dan masih terus mempelajarinya, karena sangat sulit Ogre3D itu. fiiuuhh. :D

  • bro, bs bantu buat animasi sholat? pakai poser baiknya. tp pakai yg lain jg boleh.
    gimana? confirm buruan ya.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>