Sunday, September 27, 2009

Bermain dengan Sprite (Let's play with sprites)

Selamat kembali! Selamat Hari Raya semua!! Lama jugak saya tidak membuat update untuk blog ini. Minta maaf dalam bulan Ramadhan malam saya terlampau penuh dengan aktiviti malam ditambah pula lagi dengan masalah WiMax saya. Buntu saya dibuatnya. Ada hikmah di sebalik semua itu insyaallah.

Tiba masanya untuk kita perdalamkan ilmu XNA kita dengan sprite. Apakah dia sprite? Sprite adalah objek ilustrasi yang digunakan di dalam permainan anda. Sebagai contoh sekiranya anda ingin membuat permainan bolasepak. Ilustrasi pemain anda adalah sprite. Bola adalah sprite. Tiang gol juga sprite. Malah penonton di dalam stadium juga merupakan sprite. Pendek kata ke semua ilustrasi di dalam permainan anda adalah sprite.

Bila create New Project->Windows Game (masukkan nama game anda. Dalam konteks ini “Game1”. Terdapat class-level variable, Game1 Constructor dan lima method. Class-level variable yg pertama adalah GraphicsDeviceManager. GraphicsDeviceManager berfungsi untuk memberi kemudahan kepada programmer untuk menggunakan resource graphics dalam PC anda

Terdapat property di dalam GraphicsDeviceManage yang dipanggil GraphicsDevice. GraphicsDevice merupakan penghubung antara XNA game anda dan GPU (graphics processing unit).

Class-level variable yang kedua adalah SpriteBatch yang akan digunakan untuk melukis graphics di atas permukaan skrin. Sprite bermaksud imej 2D atau 3D yang diterjemahkan ke atas graphics lain yang lebih besar permukaannya. Sprite juga adalah aturan imej yang bersangkutan satu sama lain tetapi mempunyai sequence imej seolah-olah membentuk pergerakan.

Initialized method adalah method yang digunakan utk mengisytiharkan variable-variable yang akan digunakan di dalam membuat game nanti.

LoadContent method dipanggil apabila terdapat panggilan system terhadap graphics content yang perlu dimasukkan ke dalam game. Biasanya dalam method ini anda akan memasukkan elemen-elemen grafik, peranti input, imej, objek, sound dan sebagainya yang akan digunakan oleh Game anda.

Selepas melalui method LoadContent akan melalui satu stage iaitu Game Loop. Ada dua method yang akan dipanggil apabila Game anda melalui proses ini iaitu, Update method dan Draw method. Penggunaan method Draw dikhususkan hanya kepada melukiskan elemen-elemen ke dalam game anda, tidak lebih dari itu. Minimumkan penggunaan Draw method ini untuk sekadar melukis dan bukan untuk memproses AI atau logic game yang lain.

Untuk kira collision detection, mengupdate pergerakan, kiraan mata dan mengakhiri game seelok-eloknya dibuat di dalam Update method.

Perbezaan antara aplikasi Game dan aplikasi biasa

Bagi aplikasi computer biasa, selalunya aplikasi ini menunggu sehingga user memasukkan input ataupun menekan butang tertentu apabila selesai melakukan sesuatu. Proses tertentu akan berjalan apabila user menekan butang, memasukkan perkataan di dalam kotak ayat dan sebagainya.

Manakala bagi aplikasi game, proses akan berjalan sepanjang waktu tanpa menunggu input dari user. Konsep ini dipanggil POLLING. Sebagai contoh game perlumbaan kereta, sebagai pemain sudah tentu anda akan menggerakkan kereta anda ke kiri. Situasi ini adalah sama seperti apa yang berlaku pada aplikasi windows biasa. Cuba anda fikir siapa pula yang menggerakkan kereta lawan anda, sudah tentu komputer. Inilah yang dipanggil POLLING. Setiap perkara yang berlaku kepada kereta lawan anda tidak menerima apa-apa input dari pengguna lain.

Dalam permainan computer, oleh kerana ia selalu membuat polling maka ia sentiasa berada di dalam loop. Loop akan sentiasa bersedia menerima input, arahan dari dalam game seperti tambah mata, collision detection (perlanggaran). Biasanya segala arahan ini akan dilakukan di dalam Update. Dari Update inilah arahan seperti pergerakan musuh dihantar kepada Draw supaya pergerakan itu boleh dilukis ke atas skrin menggunakan graphics device yang diceritakan di awal bab ini.

Penting juga untuk kita mengambil tahu tentang Game State. Game State adalah merupakan fasa dalam permainan anda. Aspek-aspek seperti splash screen, alam permainan dan the end dipanggil game state.



Biasanya apa yang terjadi di dalam Update adalah segala aspek permainan berjalan di dalamnya atau gambar dilukiskan di dalam Draw dan akhir sekali permainan ditamatkan.

Apabila permainan anda ditamatkan, seboleh-bolehnya buatlah satu splash screen atau apa-apa bentuk alert yang boleh memberitahu pemain bahawa permainan dah tamat. Kemungkinan mereka akan tertanya-tanya sekiranya game anda exit dengan begitu sahaja. Berikan option kepada pemain untuk memulakan semula atau loadkan kembali bab tertentu yang mereka sudah berjaya melepasinya atau sebagainya. Barulah professional.

Apabila game anda tamat, segala resource game anda akan ditamatkan atau dihapuskan dari memori. Bila anda memulakan game anda segala resource ini akan dimasukkan ke dalam LoadContent(). Setelah game anda tamat segalanya akan dihapuskan oleh garbage collector (kesemua .Net applikasi mempunyai konsep ini). Namun sekiranya anda mempunyai resource yang anda uruskan sendiri anda boleh tamatkan segala resource itu di sini.



Add to Google Reader or Homepage

Subscribe in NewsGator Online

Add to netvibes




Subscribe in Bloglines

Add to Excite MIX

Friday, August 21, 2009

Membuat installasi untuk Microsoft C# 2008 Express dan XNA 3.0


Minta maaf kerana saya terlalu sibuk dengan tugasan saya di pejabat. Tak sempat hendak meluangkan masa saya untuk menambah artikel saya di sini. Kita teruskan tutorial kita dengan cara membuat installasi untuk Microsoft C# 2008 Express dan XNA 3.0.

Anda semua telah muat turun kedua-dua perisian ini. Jika tidak kembali kepada artikel saya yang lalu iaitu Microsoft C# Express dan XNA

Untuk mulakan installasi saya nasihatkan anda membuat installasi untuk Microsoft C# dahulu sebelum XNA. Namun sekiranya anda membuat installasi untuk XNA dahulu sekalipun, anda akan ditanya samada anda sudah install atau belum Microsoft Visual Studio atau C# Express.

Proses installation amat mudah. Ikut sahaja arahan skrin dan akhir sekali mendaftarlah dengan Microsoft. Anda tidak perlu risau sekiranya anda memakai perisian Windows "lanun" atau yang sekutu dengannya. Kebaikan mendaftar dengan Microsoft, anda mendapat sokongan teknikal daripada jurutera Microsoft untuk C# anda, mendapatkan kemaskinian perisian C# anda dan peluang mendapat plug-ins dan memasuki forum Microsoft yang mempunyai banyak maklumat dan bahan-bahan penting untuk anda memulakan cita-cita anda menjadi seorang pereka permainan komputer.

Setelah selesai menginstall C# teruskan menginstall XNA. Juga amat mudah dan enteng sekali. Juga ikut arahan skrin. Apabila selesai lancarkan Microsoft C# anda dan anda akan dapati anda oleh memulakan projek baru anda untuk merekacipta permainan komputer anda. Lihat gambar di bawah:


Jika di lihat pada gambar di atas, apa yang kita perlukan adalah projek Windows Game 3.0 yang berkotak merah tu. Selain dari itu anda juga boleh membuat projek-projek lain seperti Windows Game Library 3.0. Windows Game Library 3.0 bukan game engine sebenar tetapi ia adalah seperti komponen tambahan untuk game anda. Sebagai contoh anda hendak asingkan komponen Artificial Intelligence* di luar game engine* anda, ataupun komponen memproses 3D grafik. Selain dari itu terdapat juga projek-projek yang disediakan khas untuk anda memulakan projek anda untuk platform XBox dan Zune. Akhir sekali, terdapat Platformer Starter Kit yang mana ia adalah satu permainan komputer yang telah siap dan sedia untuk dimainkan namun anda boleh menggunakan starter kit ini untuk mengubahsuai dan menokok tambah menjadikan ia lebih menarik.

Iklan dalam teks


Glosari;
Artificial Intelligence - singkatan AI. Adalah merupakan otak pemikir dalam game anda. Sebagai contoh anda bermain Counter Strike di mana anda sedang dikejar musuh. Proses AI dijalankan pada musuh anda. Berapa bijaknya komputer menggunakan kod aturcara AI anda pada musuh anda sehingga dia boleh mencari anda.

Game Engine - projek Windows Game 3.0 anda adalah projek game engine anda. Di mana semua komponen dan aras permainan (game level) berada dalam projek Windows Game 3.0 ini

Add to Google Reader or Homepage

Subscribe in NewsGator Online

Add to netvibes




Subscribe in Bloglines

Add to Excite MIX

Thursday, August 13, 2009


Anda ahli Facebook?

Sertai group XNA di dalam Facebook.

Masuk discussion area dan aktifkanlah berkomunikasi di dalam group tersebut. Berkongsi ilmu di situ

Nama groupnya adalah XNA

Add to Google Reader or Homepage

Subscribe in NewsGator Online

Add to netvibes




Subscribe in Bloglines

Add to Excite MIX

Wednesday, August 12, 2009

Microsoft labur RM3.045 Billion bangunkan teknologi di Malaysia


Microsoft pengeluar perisian terbesar di dunia labur RM3.045 Billion untuk bangunkan teknologi terkini dalam bidang perisian melalui inisiatif Microsoft Dreamspark. Dreamspark di laman websitenya https://www.dreamspark.com/default.aspx menawarkan akses percuma kepada perisian berlesennya terutama kepada pelajar-pelajar. Ia boleh dinikmati oleh pelajar-pelajar sekolah rendah, menengah dan institusi pengajian tinggi.

Pelaburan DreamSpark RM3.045 Billion adalah rentetan daripada komitmen Microsoft Malaysia bernilai RM500 000, untuk program BizSpark yang khusus kepada usahawan baru yang ingin memulakan langkah membuka perniagaan berasaskan teknologi. Ini juga adalah merupakan kerjasama antara Kementerian Pengajian Tinggi (MoHE) dengan Microsoft Malaysia.

Seperti yang dikatakan sebelum ini DreamSpark menyediakan akses percuma kepada perisian berlesen Microsoft seperti Visual Studio 2008 Pro, XNA Game Studio 3.0 dan 3.1 muat turun di sini), SQL Server Developer 2008 dan Express, Microsoft Robotics Developer Studio 2008, dan Microsoft Virtual PC. Sebelum inisiatif ini ke semua perisian ini ada yang bernilai berbelas ribu, sekarang pelajar-pelajar boleh mendapatkannya dengan percuma.

Apa lagi yang hendak ditunggu-tunggu! Mulakan langkah anda yang pertama. Peluang hanya datang sekali. Marilah sama-sama kita menjayakan teknologi ini untuk Malaysia. Pelaburan Microsoft RM3.045 Billion itu jangan disia-siakan.

Tuesday, August 11, 2009

XNA 3.1 dah muncul dengan lebih banyak tarikan!


XNA 3.1 dan muncul kali ini tardapat beberapa penambahbaikan telah dibuat. Ia juga menyokong lebih banyak features yang menarik. Antaranya: (telah di melayukan)

*Avatar Support (sokongan avatar) - sekarang anda sudah boleh memasukkan avatar anda ke dalam XNA dengan cara mengimportkannya ke dalam XNA

XBox Live Party Support (sokongan XBox Live Party) - sekarang anda sudah boleh ber"chit-chat" walaupun rakan anda tidak bermain permainan yang sama dengan anda. Sebanyak 8 sambungan boleh disambungkan pada satu masa yang dipanggil eight way group voice chat.

Video Playback (pemain semula video) - sekarang menyokong video playback yang mana boleh digunakan untuk menayangkan video seperti splash screen, tayangan logo, cut-scene video, video dalam permainan (in-game video). Ia menyokong
  • pemain semula video skrin penuh (full screen video playback)
  • pemain semula video untuk tekstur (video playback to simple textures in game)
  • kawalan ke atas video - anda boleh pause, stop dan resume (sambung semula)
  • maklumat terperinci mengenai video - masa playback, saiz, dan framerate
  • mengenalpasti penggunaan trek audio - boleh mengenalpasti samada trek audio mengandungi muzik, mengandungi dialog atau kedua-duanya
  • boleh memainkan banyak playback pada satu masa - kebolehan memainkan pelbagai video dan serentak
Sokongan XACT3 -boleh membuat filtering (saringan) audio track dan mempunyai sokongan ke atas xWMA compression.

Iklan dalam teks

Mahukan tip-tip berguna! Semua tip ada!



Kemunculan XNA 3.1 ini sudah tentu akan memberikan aura baru dalam industri ini. Semoga akan lebih banyak lagi penambahbaikan terutama sekali ke atas plug-ins yang boleh digunakan oleh hobbiest seperti saya.

Glosari *

Avatar -
adalah karektor ikon yang biasanya digunakan oleh pengguna social bookmarking site macam Yahoo 360, Skype dan banyak lagi.

Thursday, August 6, 2009

Microsoft C# Express 2008 dan XNA

Microsoft C# Express 2008 dan XNA 3.0 akan digunakan untuk tujuan ini. Kenapa saya menggunakan kedua-dua ini? Pertamanya adalah kedua-duanya adalah percuma FOC. Seronok betul skrang ni, segalanya boleh didapati dengan percuma sekarang termasuk juga ilmu. Cuma nak berjaya sahaja kena tunjuk usaha skit.

Microsoft C# Express 2008 adalah satu cabang komponen dalam Visual Studio. Penggemar rekacipta permainan komputer (hobbiest) boleh menggunakan C# Express tanpa sebarang ikatan termasuklah juga menjual game yang dibuat tanpa perlu mendapat pengesahan Microsoft atau dikenakan charge licensing. Kaut untung habis-habisan. Satu saja kekurangannya berbanding Visual Studio, banyak plug-ins yang digunakan oleh golongan professional tidak boleh digunakan oleh C# Express. Namun begitu masih terdapat third-party tools yang boleh membantu.

Gabungan kedua-dua ini, kita boleh membuat permainan komputer selain komputer ia juga boleh dimainkan ke dalam Xbox dan Zune.

Sebelum anda muat turun kedua-dua ini (C# di http://www.
microsoft.com/express/vcsharp/
dan XNA di http://www.microsoft.com/downloads/details.aspx?familyid=df4af56a-58a7-
474c-bfd0-7cf8ed3036a3&displaylang=en&tm
) anda perlu pastikan yang komputer anda memenuhi syarat-syarat minimum seperti kad grafik anda menyokong Shader Model sekurang-kurangnya Shader Model 1.1. Dapatkan model kad grafik anda dan pergi ke website pengeluar dan tengok spesifikasi teknikalnya.

Wednesday, August 5, 2009

Apakah dia XNA?



Apakah dia XNA? Maksudnya tiada. Hanya panggillan sahaja. Acronym itu tiada maksudnya yang panjang. Ia merupakan satu kelengkapan (tool) yang mengutilasikan managed runtime environment oleh Microsoft untuk memudahkan pengaturcara aplikasi permainan komputer. Ia mengurangkan panggilan kod berulang-ulang yang hanya bertujuan untuk melakukan sesuatu fungsi yang kecil. Kod berulang-ulang ini dipanggil "repetitive boilerplate code".

Toolset ini dipanggil SDK iaitu Software Development Kit. SDK mempunyai koleksi dan libraries, functions dan classes yang memudahkan anda mengekod aplikasi permainan komputer anda. Koleksi ini memudahkan anda mengakses (SDK juga dipanggil interface) resource atau sumber kad grafik, memori dan komponen komputer lain tanpa anda perlu menyusahkan diri anda menggunakan low-level langguage seperti Assembly Langguage untuk mencapai resource ini.

Sebelum kedatangan XNA, toolset yang digunakan oleh pembangun aplikasi permainan komputer menggunakan DirectX dan Managed DirectX. (Ada juga yang lain seperti OpenGL dan Heidi. Tetapi untuk platform lain) Libraries di dalam XNA lebih mudah oleh sebab itulah XNA ditujukan kepada hobbiest. Maka atas tujuan itulah, saya menggunakan XNA untuk memenuhi hobi saya programming dan seterusnya membuat permainan komputer.

Iklan dalam teks

Jana pendapatan menjual website! Website sekarang adalah produk paling laris!!


Glosari:
managed runtime environment - menggunakan teknologi .Net. Managed bererti kelebihan mengakses kesilapan aturcara sebelum program itu dijalankan di CPU Central Processing Unit (cip komputer AMD atau Intel). Mirip kepada Java yang menggunakan virtual machine

libraries - himpunan fungsi-fungsi aturcara seperti DLL (dynamic link libraries) dan COM (component object modelling) yang melakukan kerja-kerja spesifik seperti mengakses fungsi grafik dalam kad grafik.

classes - membentuk sesuatu objek dalam aturcara anda. Sebagai contoh objek kereta dalam aturcara anda. Classes terdiri daripada interface dan methods. Interface bermaksud sifat objek kereta anda iaitu warna, enjin, cermin, dan sebagainya. Method pula fungsi yang menyebabkan kereta itu berfungsi seperti method jalan_enjin, berhenti, turun_cermin dan sebagainya.

Tuesday, August 4, 2009

Projek XNA Melayu. Salam Permulaan



Salam Permulaan, Projek XNA Melayu ini bermula sebagai satu hobi. Akhirnya hobi ini bakal dijadikan tatapan dan bahan bacaan umum. Saya tidak tahu sekiranya ada blog lain atau halaman web lain yang mirip seperti ini. Namun begitu, sekiranya ada saya amat berterima kasih dan berasa berbesar hati kerana usaha mereka ini untuk memberi pengetahuan yang mana saya rasa ilmu ini amat kurang diminati oleh kaum melayu.

Untuk pengetahuan saudara/i, saya mempelajari ilmu ini melalui buku seperti dalam gambar. Buku XNA 3.0 ini ditulis oleh Aaron Reed. Beliau adalah seorang tenaga pengajar DirectX dan XNA di Universiti Neumont. Oleh kerana beliau seorang tenaga pengajar keadah yang digunakan olehnya amat mudah dan senang dipelajari dan difahami. Oleh yang demikian saya rasa ini adalah peluang yang terbaik buat saya untuk mengetengahkan hobi ini untuk tatapan anak-anak melayu. Semoga ilmu ini berkembang dikalangan anak-anak melayu.

Melayu Boleh! Semoga Projek XNA Melayu ini bakal menjadi satu permulaan kepada generasi XNA melayu di Malaysia. Saya tidak juga menolak kaum lain untuk menjadi ahli di sini. Ianya terbuka. Ilmu adalah untuk dikongsi bukan untuk disimpan.