Tutorial Game beserta game Engine nya


Tutorial Game dengan Direct 3D


DirectX (atau bisa disebut Direct3D) adalah kumpulan API untuk menangani berbagai tugas dalam pemrograman multimedia khususnya permainan komputer dalam sistem operasi Microsoft Windows. DirectX sendiri merupakan gabungan dari Direct3D, DirectDraw, DirectMusic, DirectPlay, dan DirectSound. DirectX SDK dapat diperoleh secara cuma-cuma dari Microsoft. Versi terbaru untuk Windows vista yang di luncurkan sekitar bulan januari 2007 adalah DirectX 10

Komponen
Komponen-komponen dari directX adalah:
·         DirectX Graphics, terdiri dari beberapa APIs:
o    DirectDraw: Untuk menggambar grafik 2D (raster graphics). Sekarang tidak disarankan (karena adanya Direct2D), meskipun masih digunakan sedikit game dan sebagai video renderer di media aplikasi.
o    Direct3D (D3D): Untuk menggambar Grafik 3D.
o    DXGI: untuk menghitung penyesuaian dan pengawasan, dan mengatur rangkaian pertukaran untuk Direct3D 10 keatas.

·         DirectInput: Untuk menangani alat masukan termasuk papan ketiktetikustuas kontrols, ataugame controllers. Tidak disarankan setelah versi 8 karena adanya XInput untuk Xbox 360kontroler atau WM INPUT untuk keyboard dan mouse.
·         DirectPlay: Untuk komunikasi koneksi area lokal atau area luas. Tidak disarankan setelah versi 8.
·         DirectSound: Untuk putar balik dan merekam gelombang suara.
o    DirectSound3D (DS3D): Untuk putar balik suara 3D.

·         DirectMusic: Untuk putar balik rekaman suara yang disahkan di DirectMusic Producer.
·         DirectX Media: terdiri dari DirectAnimation untuk 2D/3D animasi web, DirectShow (Tidak disarankan sebentar lagi oleh Media Foundation) untuk multimedia putarbalik dan streaming media, DirectX Transform untuk interaksi web, dan Direct3D Retained Mode untuk grafik 3D tingkat tinggi. DirectShow terkandung DirectX plugin untuk pemroses sinyal audio dan DirectX Video Acceleration untuk video terakselerasi. Sejak Tahun 2005 DirectShow tidak termasuk dalam DirectX API. DirectShow dimasukan dalam paket Windows SDK.
·         DirectX Media Objects: mendukung streaming seperti enkode, dekode, dan efek.
·         DirectSetup: untuk memasang komponen DirectX.

Direct 3D 11
Microsoft mengumumkan directX 11 di Gamefest 08, Seattle, dengan dukungan terhadapGPGPU,dukungan tessellation, peningkatan terhadap dukungan multi-threading untuk membantu pengembang game menggunakan unit pengolah data(disebut juga processor) multi-core. Direct X 11 akan digunakan di sistem operasi vista, seven dan generasi seterusnya. Mekanisme multi-threading mampu didukung perangkat keras berbasis Direct3D 9/10/10.1. Tessellation dan Shader Model 5.0 membutuhkan perangkat keras berbasis Direct 3D 11. Microsoft sendiri telah merilis peninjauan teknis. Direct 3D 11 akan dirilis ke pabrik bulan Juli '09 dan dirilis ke publik bulan Oktober 2009.

Salah satu contoh pembuatan game sederhana menggunakan Direct 3D
Untuk membuat sebuah project ikuti langkat berikut: klik File >> New >> Project
Pilih Visual C# >> Windows >> Empty Project, masukan nama project anda pada kolom Name, tekan OK. Buka jendela Solution Explorer, tambahkan reference untuk library DirectX dengan cara klik kanan pada Reference, lalu pilih Add Reference. 
Pilih tab .NET dan cari library berikut:
· System.Drawing
· System.Windows.Form
· Microsoft.DirectX
· Microsoft.DirectX.Direct3D
Jika library sudah masuk, maka langkah berikutnya ada membuat satu file kode. Masuk kembali ke Solution Explorer, klik kanan projectnya, kemudian pilih Add >> New Item. Pilih class, beri nama kelasnya pada kolom Name. Disini saya menggunakan nama GameMain.cs.
Berikut adalah kode lengkapnya
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
namespace WindowsGame1
{
class GameMain : Form
{
private Device device = null;

GameMain()
{
//Buat konstruktor disini 

}
void Initialize()
{
PresentParameters presentParam = new PresentParameters();

presentParam.Windowed = true; //Untuk Fullscreen cukup dibikin FALSE

presentParam.SwapEffect = SwapEffect.Discard;

device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing,
presentParam);
this.Text = “Aplikasi Game dengan DirectX”;

this.Size = new System.Drawing.Size(600, 480); //Ukuran windows

}
protected override void OnPaint(PaintEventArgs e)
{
device.Clear(ClearFlags.Target, Color.CornflowerBlue, 1.0f, 0);

device.Present();}

static void Main()
{
GameMain GameForm = new GameMain();

GameForm.Initialize();
Application.Run(GameForm);
}
}
}

                    http://tutorial.dumbstrack.com/index.php/2010/04/mengenal-directx/