Idonthave Alastname

Mulai sekarang itu nama tengah dan belakang saya…

My full name on Facebook

Hahaha… Capek deh daptar facebook musti ngisi nama belakang segala…
Kemaren sih pakek nama belakang ‘Doang’ tapi kayaknya jelek…

Kenapa yah facebook nggak mikirin kemungkinan ada orang yang cuman punya nama 1 kata doang…

Prolog

Uas udah selesai…
Libur udah dateng…
Mungkin ini saat yang tepat untuk memulai ‘kehidupan’ yang baru -__-; hmm…

Beres2 komputer di Lab
Ngidupin server di Lab (where the hell is RPL Lab’s web?!)
Ngoprek XNA (i haven’t touch it since the last game i created in Surabaya… doh)
Nyelesein kuliah (ugh!)
Ngurusin badan (guh!!)

Dan untuk menunjukkan semangat perubahan, saya akan memulai dengan mengubah layout blog ini
(again?!!!)

Posted in ?. Tags: . 7 Comments »

Akhirnya…

Jadi juara satu di FGTA 2008 di ITS…

Horaay!!! (setelah ikut beberapa putaran dan gagal terus -_-;)

Disana saya membawa game “SpaceMath”. Sebuah game action bernuansa matematika.

Main menu-nya spaceMath

Game ini banyak mengambil model dan texture dari game SpaceWar bawaannya XNA. Dibangun menggunakan XNA dan jalan native di windows XP. Ceritanya sih bumi diserang alien gitu. Aliennya dorong-dorong asteroid ke bumi. Nah untuk menjaga bumi, kita harus mendorong balik asteroid-asteroid yang mau menghantam bumi. Caranya dengan menembak asteroid tersebut dengan rocket khusus.

Rocket khusus ini ada medan magnetnya. Jumlah (satuan) medan magnetnya harus sama dengan jumlah medan magnet di kedua kutub asteroid. Medan magnet asteroidnya dilambangkan dengan soal matematika di atas setiap asteroid. Jadi kita harus menembakkan rocket yang tepat ke asteroid yang tepat. Intinya itu sih…

Hee… garing yak? Ceritanya rada maksa :P hehe… Tapi intinya sih saya pengen ada battle antar 2 pemain (atau 1 lawam Computer). Sasaran battlenya adalah asteroid-asteroid besar dan cokelat (ada 5) yang bisa di ‘ping-pong’ diantara 2 pemain. Hmm… Yah begitulah intinya :P

Gameplay1Gameplay3

Nah, siapa aja pemenang FGTA 2008 putaran ketiga di Surabaya? Ini adalah listnya yang saya ambil dari website acaranya :

ANIMASI

A. KATEGORI PELAJAR

I. A001 – Anton Andi Nugroho (SMK N 3 Yogyakarta) – Bayang-bayang

II. A039 – Ongky, Zuchal, Wahyu Tri (SMK N 5 Malang) – NOS Kerapan Modern

III. A023 – Erik Pujianto (SMK N 5 Malang) – Aku Bingung

B. KATEGORI MAHASISWA

I. A007 – Dikky Setiawan (ITS Surabaya) – Sketsa Indonesia

II. A013 – Iqin (VEDC Malang) – Hehe ini Musikku

III. A008 – Handfire’s (Politeknik Seni Yogyakarta) – Stop Merokok

C. KATEGORI UMUM

I. A002 – Gathotkaca (Gathotkaca Studio) – Grammar

II. A045 – Otothepat (otodidax_studio) – Cong”OK@War

III. A005 – Tekaceria (Tekaceria Studio) – UN Congress

GAME EDUKASI

A. KATEGORI MAHASISWA

I. G011 – Palapa Studio (IT Telkom) – SpaceMath

II. G106 – Prana Mahardika (ITB Bandung) – Sultan Agung MMOG

III. G115 – The Partner (PENS ITS Surabaya) – Dance Revolution

B. KATEGORI UMUM

I. G002 – Intra Median(ITS Surabaya) – Brain Battle Online : Once upon a time in Bali

II. G065 – Gasing Kayu(ITS Surabaya) –RISE

III. G125 – Rianti (ITB Bandung) – 2nd Chance

C. JUARA FAVORIT

I. G065 – Gasing Kayu (ITS Surabaya) – RISE [383 sms]

Selamat untuk semua pemenang, dan salut untuk tim Prana Mahardika… Enginenya mantep buanget!!! Udah kayak warcraft III aja ^_^ saluut!!!

*ehem* Nampaknya apresiasi departemen terkait untuk mengadakan acara ini sudah mulai menurun. Ini terlihat dari minimnya fasilitas yang saya dapatkan dalam acara ini. Tidak seperti putaran-putaran sebelumnya, dalam putaran kali ini kami peserta FGTA tidak lagi dijatah makan 3x sehari (1x doang, beberapa hari belakangan). Dan yang paling parah : Tidak diberi fasilitas menginap! Wew… Tipe-tipe sayalah yang paling menderita, makhluk asing di Surabaya dan tanpa anggaran biaya menginap (yang mencapai ~200rb per malam kalo mau ke hotel).

Untungnya ITS juga sedang mengadakan lomba LCEN. Nah disana saya ketemu Kusuma dari UGM, teman SMA saya dulu. Thank’s kus, kaulah penyambung hidupku (halah)… Kenapa? Karena peserta LCEN mendapat fasilitas penginapan di asrama Haji. Yaa akhirnya saya (secara diam-diam) ikut numpang tidur disana…. Hehehe, sori ya panitia LCEN, saya udah nyuri-nyuri jatah fasilitas :D

Graha ITSNah, lombanya diadakan 5 hari, dari tanggal 19-23 Mei 2008. Kami (saya dan Didi) berangkat dari kampus IT Telkom hari minggu sore. Langsung ke Stasiun KA Bandung, naik Turangga ke Surabaya. Sampai disana senin pagi, kami langsung ke Graha ITS untuk daftar ulang dan ikut pembukaan acara. Selanjutnya? Nongkrong di stand sampai sore… Soalnya memang tidak ada acara hari itu. Jam 7 malam bis jemputan datang dan saya (diem-diem) ikut disana menuju asrama haji… Hehehe…

Penjurian baru dilaksanakan mulai hari ke-2. Jumlah peserta FGTA mencapai 200an (total gabungan peserta Animasi dan Game Edukasi). Peserta Game sendiri mencapai 120an orang (saya nggak catet angka pastinya). Dan saya dapat urutan ke-11 untuk presentasi, daftar ulangnya kecepetan sih, jadi dapet nomer peserta G011. Wew, nggak kebayang deh capenya dewan juri musti ndengerin presentasi semua peserta, satu-persatu ~_~

Saking banyaknya peserta Game, presentasinya harus dibagi jadi 2 hari. Sehingga hari ke-3 ini kembali saya berbengong-bengong ria di Graha ITS. Untung aja siangnya someone-special dateng, jadi nggak bosen lagi ^_^ miss u honey ;) Akhirnya pada jam 7 malam pengumuman 20 besar lomba Game ditempel (15 kategori mahasiswa dan 5 kategori Umum, CMIIW). Alhamdulillah nama tim saya nongol disana ^_^ Yup berbekal modal nekat, SpaceMath saya poles sedikit lagi untuk dipresentasikan besoknya. Malamnya Didi banyak membantu memperbaiki tampilan Gamenya :)

Hari ke-4, Kamis, jam 2 siang saya dipanggil lagi untuk presentasi yang terakhir… Wew keringetan -_-; banyak kritik dan saran dari juri waktu itu… Yang sebenernya bikin ragu bakal dapet nomer ~_~

Next, Jum’at pengumuman pemenang FGTA dilakukan pada acara Penutupan lomba (sekaligus penutupan lomba LCEN). It was fun, diisi dengan beberapa band dan sambutan, sampai akhirnya pemenang pun dibacakan. Dag-dig-dug kayak mau copot aja ni jantung….

Pemenang ke III… bukan… Pemenang ke II… bukan juga!!! Gyaaah… <panik>… lalu terdengar suara : “Pemenang pertama, dengan nomor G Satu..” *Krak* disini hati saya sempet pecah beberapa milisecond sampai terdengar lanjutan kata-kata “..Kosong Satu Satu, Palapa..” … Yee!!! Menang!!! Hehehe… (untung nggak ampe teriak2 :P)

Selamet juga buat team Ganbate – nya Kusuma dari UGM yang dapet juara tiga :)

Ini dia the three musketeer, alumni Foursma Bali yang kumpul lagi di surabaya. Dari kiri ke kanan adalah saya, Wendy dan Kusuma… Kapan-kapan kumpul lagi bro!!! :D:D:D

3 orang ganteng

(latar belakangnya Graha ITS yang udah di beres2in)

Bikin musuh sederhana di XNA

T.H.E pacmanOkay, setelah berhasil me-load gambar, dan menggerakkannya sesuai dengan posisi mouse, tahap selanjutnya adalah membuat musuh! Bayangkan aja musuhnya adalah… engg… Pacman! Ya, karena karakter yang kita mainkan adalah the Ghost – maka musuhnya si Pacman donk :)

Mari kita buat gambarnya terlebih dahulu. Bukalah image editor favorit anda, dan buatlah sebuah gambar 100×100 pixel yang mirip-mirip sama Pacman. Simpan dengan nama “pacman.png”. Save image tersebut ke folder \content\ di folder project XNA anda.

Langkah-langkah yang harus kita lakukan hampir sama dengan tutorial sebelumnya. Berikut dijelaskan secara setep bae setep :

1. Open projectBuka visual studio C# 2005 express

2. Klik File -> Open Project

3. Browse ke tempat kita menyimpan project pada langkah sebelumnya, pilih file .SLN-nya dan klik Open.

4. Atau kita bisa langsung membuka projectnya lewat shortcut yang disediakan di Start Page Visual Studio C# 2005 express di tab Recent Projects.

Pacman is officially added!Nah setelah projectnya dibuka, kita load gambar tadi sebagai sebuah asset. Langkah-langkahnya adalah :

1. Klik kanan di folder content dalam jendela Solution Explorer

2. Pilih Add – Existing Item

3. Pilih file “pacman.png” yang tersimpan di folder \project XNA anda\Content\

Kemudian buat sebuah variable untuk ‘menampung’ aset tadi. Langkah-langkahnya adalah :

1. Buat sebuah variable bertipe Texture2D yang kita beri nama pacmanTexture

2. Pindah ke method LoadContent()

3. Hubungkan aset “pacman” dengan variable pacmanTexture dengan mengetikkan pacmanTexture = Content.Load<Texture2D>(“pacman”); disana.

4. (lihat gambar disamping untuk lebih jelasnya)

Nah, pertanyaan selanjutnya adalah, dimana kita akan menggambar si Pacman? Dan gimana sih tingkah lakunya (behavior) si Pacman? Mari kita definisikan sekarang :

1. Pacman selalu mulai digambar di posisi (0,0)

2. Pacman selalu bergerak menuju si Ghost.

Yap segitu dulu sementara. Cukuplah untuk menyebut ‘musuh’ di game ini sedikit ‘pintar’. Hehehe…

Langkah selanjutnya adalah menuangkan logika tingkah-laku Pacman kedalam bahasa C# :) Let’s do it step-by-step :

1. Buat sebuah variable untuk menampung posisi Pacman. Tipe variable yang tepat untuk merepresentasikan posisi Pacman adalah Vector2. Ketikkan code ini di bagian deklarasi variable : Vector2 posisiPacman;

2. Pada method Initialize() set nilai awal posisiPacman ke (0,0) dengan mengetikkan code : posisiPacman = new Vector2(0, 0);

3. Pindah ke method Update(). Dan ketikkan code berikut ini disana :

posisiGhost = new Vector2(mouse.X, mouse.Y);

jarak = posisiGhost – posisiPacman;

posisiPacman += jarak * gameTime.ElapsedGameTime.Milliseconds * 0.005f;

Okay, mari kita bahas 3 langkah di atas. Pertama-tama, kita buat sebuah variable untuk menyimpan posisi Pacman. Tipe data yang kita gunakan adalah Vector2. Tipe data ini merupakan record/struct yang menyimpan data float X dan float Y. Float adalah tipe data yang mirip-mirip dengan tipe data real (menyimpan koma-koma juga).

Selanjutnya variable tersebut di beri nilai awal (0,0). Sehingga Pacman selalu muncul dari pojok kiri atas. Kemudian kita pindah ke method update dan mengetikkan 3 baris code disana. Baris pertama posisiGhost = new Vector2(mouse.X, mouse.Y); memindahkan nilai X dan Y dari posisi mouse ke variable posisiGhost. Hal ini dilakukan untuk mempermudah perhitungan jarak antara posisi Ghost dan posisi Pacman yang dilakukan dengan menulis code : jarak = posisiGhost – posisiPacman;. Kemudian posisiPacman di increment mendekati posisiPacman dalam baris ketiga code di atas.

Artinya untuk setiap update, dekatkan posisiPackman dengan posisi Ghost sejauh 1/200 atau 0.005 pixel untuk setiap milisecond yang sudah berlalu sejak Update() sebelumnya. Nah, masih ingat dengan proses Update() dan Draw() yang selalu dikerjakan selang-seling? Keduanya tidak bisa dilakukan secara bersamaan. Nah, XNA menyimpan properti berapa waktu yang sudah lewat setelah satu Update() sebelum pemanggilan Update() yang sekarang dilakukan. Nilainya dapat dipanggil dengan mengetik : gameTime.ElapsedGameTime.Milliseconds . Dengan mengalikan jarak, 0.005 dan waktu yang sudah lewat, kita bisa mendapatkan pergeseran posisi Pacman yang ‘smooth’ -halus, sesuai dengan FPS (Frame Per Second) yang diraih game tersebut.

Kode diatas tidak valid (belum bisa di run) karena kita belum mendefinisikan variable jarak dan posisiGhost. Untuk itu, pindahlah ke bagian deklarasi variable dan tambahkan code ini disana :

Vector2 posisiGhost;

Vector2 jarak;

Sehingga source code kita sekarang seharusnya tampak seperti gambar di bawah ini :

Method updatenya udah ter-Update

Terakhir, kita harus mengupdate Draw() method kita. Disini kita memanfaatkan posisiPacman dan posisiGhost untuk menggambar texture pacman dan ghost di layar. Untuk ini kita harus sedikit mengubah code di method Draw yang sudah kita ketik kemaren menjadi :

spriteBatch.Begin();

spriteBatch.Draw(ghostTexture, posisiGhost, Color.White);

spriteBatch.Draw(pacmanTexture, posisiPacman, Color.White);

spriteBatch.End();

Dalam code diatas, kita menggunakan variable posisiGhost dan posisiPacman langsung kedalam fungsi spriteBatch.Draw(). Hal ini mungkin dilakukan karena kedua variable tersebut tipenya adalah Vector2.

Selesai! Coba jalankan program XNA anda dengan menekan F5!

Cool isn’t?! Well cukup sekian dulu hari ini, besok kita coba bikin collision detection untuk mengecek apakah kedua gambar tersebut (ghost dan pacman) sedang tabrakan. Tujuannya : untuk tau kapan kita kalah :D

Asset dan Input di XNA

Nah, setelah sukses menginstall XNA, sekarang kita bisa mulai coba-coba bikin aplikasi sederhana di framework XNA. Anggap aja ini tutorial menggunakan XNA :) Dan dalam tutorial ini kita belajar cara membuat sebuah aset dan memanggil mouse sebagai input dari user.

Membuat Project Baru

Create new Project

Klik File -> New

1. Buka visual studio C# 2005 express

2. Klik File -> New Project

3. Pada jendela create project yang baru muncul, pilih “XNA Game Studio 2.0” sebagai project type dan “Windows game 2.0” sebagai Template Project.

4. Kemudian, beri nama untuk project baru ini sekaligus mengubah path-nya (bila perlu). Pada contoh ini saya menggunakan nama “cobaXNA” dan sekaligus mengubah pathnya ke tempat project-project XNA saya.

5. Klik OK

Jendela EditorXNA sudah memudahkan kita untuk segera membuat sebuah game. Hal ini dilakukan dengan menyediakan kerangka method-method yang diperlukan. Perhatikan jendela code editor, disana sudah disediakan 5 buah method yaitu : Initialize(), LoadContent(), UnloadContent(), Update() dan Draw().

Namun dalam contoh ini, hanya 4 method utama yang akan kita pakai yaitu :

· Initialize() sebagai tempat untuk mengeset nilai awal variable-variable.

· LoadContent() sebagai tempat untuk memanggil content (gambar, font, suara, map, dll).

· Update() sebagai tempat untuk meng-update variable variable.

· Draw() sebaga tempat untuk memanggil fungsi untuk menggambar ke layar.

Dan memang biasanya hanya 4 method itu yang sering dipakai.

Kalau mau iseng, coba tekan ‘F5’ (run). Maka di layar anda akan muncul sebuah jendela berlatar biru. Horaaay! Game anda sudah bisa jalan!!! (walaupun masih kosong :P)

Cara kerja XNA

The WorkflowI hope this image is enough to explain it :)

Hal yang perlu di catat adalah bahwa method Update() dan Draw() selalu dipanggil secara bergantian. Disanalah kita harus menulis core dari program game kita. Update() biasanya diisi dengan kode program untuk meng-update nilai dari variable posisi player, posisi musuh, posisi peluru, check tumbukan (collision) dll. Artinya disanalah inti dari engine game kita ditulis.

Sedangkan Draw() adalah tempat untuk memanggil fungsi-fungsi drawing. Disini kita harus menggambar satu-per-satu texture kita (player, enemy, bullet, explotion, dll) sesuai dengan posisinya masing-masing.

Nah kombinasi kedua method inilah (update-draw) yang mengakibatkan terjadinya pergerakan gambar-gambar di layar monitor. Tiap pemanggilan Draw() bisa diasosiasikan dengan dengan sebuah Frame (dalam flash, atau video). Sehingga banyaknya pemanggilan Draw() dalam 1 detik bisa disebut sebagai Frame Per Second (FPS). Semakin tinggi FPS-nya semakin halus pergerakan gambar-gambar di monitor kita.

Karena Update() dan Draw() saling dipanggil bergantian, maka apabila method Update() dipanggil terlalu lama (perhitungan yang dilakukan didalamnya terlalu rumit) maka jumlah pemanggilan Draw() per-second-nya akan semakin kecil. Kalau terlalu kecil (dibawah 30 FPS) maka akan terasa ada efek patah-patah dalam gameplay game kita.

Load Asset

Create Gambar

Asset adalah cara XNA menyebut well… aset :P Aset adalah engg… file-file yang diambil dari luar program kita (sebut saja begitu). Misal : Texture / Gambar, Sound, Font, dll.

Nah, game yang baik adalah game yang ada gambarnya (citation needed :P). Jadi langkah pertama kita dalam membuat game adalah membuat gambar.

Bukalah image editor favorit anda, dan buatlah sebuah gambar. Dalam contoh disamping saya menggambar sebuah hantu, mirip kayak musuh dalam permainan pacman. Formatnya adalah .PNG dan berdimensi 100×100 pixel.

Save file imagenya di \folder tempat project XNA kita\content\. Dalam contoh ini, gambarnya di save di D:\Project\XNA\cobaXNA\cobaXNA\Content\.

The asset is loaded okay....

Add existing item

Kemudian, kembali ke visual studio, pada bagian Solution Explorer, klik-kanan di ‘folder’ Content -> Add -> Existing Item. Browse ke image tadi (ghost.png).

Dan akhirnya kita memiliki sebuah aset bernama ‘ghost’ (secara default diambil dari nama file-nya).

Langkah selanjutnya adalah meng-assign (kalo bahasa pascalnya) asset tadi dengan sebuah variable dalam XNA. Untuk menyimpan gambar 2D (png, jpg, bmp, dll) di XNA, kita bisa menggunakan tipe data Texture2D. Caranya ialah dengan mengetikkan code berikut di layar editor Game1.cs di bagian deklarasi variable (tepat dibawah perintah GraphicsDeviceManager graphics; dan SpriteBatch spriteBatch;).

Texture2D ghostTexture;

Kemudian pindah ke method LoadContent() dan ketikkan kode ini dibawah bagian // TODO:

ghostTexture = Content.Load<Texture2D>(“ghost”);

Tampilkan Texture di Layar

Untuk menampilkan gambar tadi, kita bisa mengetikkan kode berikut di dalam method Draw()

spriteBatch.Begin();

spriteBatch.Draw(ghostTexture, new Vector2(300, 300), Color.White);

spriteBatch.End();

Tekan F5 untuk melihat hasilnya. Seharusnya dalam layar biru tadi sudah muncul gambar yang anda buat.

Penjelasan potongan-potongan code diatas adalah sebagai berikut : Pertama, kita membuat sebuah variable bertipe Texture2D dengan nama ghostTexture. Variable ini berfungsi untuk ‘menyimpan’ sebuah gambar/texture dua dimensi. Kemudian kita menghubungkan variable ghostTexture dengan sebuah aset yang bernama “ghost”. Aset ini tiada lain dan tiada bukan adalah gambar .PNG yang sudah kita buat.

Kemudian pada method Draw(), kita memanggil spriteBatch.Draw() untuk menggambar texture ghost tadi ke layar. Parameter yang dimasukkan dalam fungsi tersebut adalah nama variable texturenya, posisi (pojok-kiri-atas) sebagai titik awal untuk mulai menggambar texturenya dan Color Modulation – white aja biar gambar yang ditampilkan sama dengan gambar aslinya.

Perlu diperhatikan bahwa fungsi spriteBatch.Draw() hanya boleh dipanggil diantara spriteBatch.Begin() dan spriteBatch.End().

Input!

Lha apakah begituan doang udah dibilang game? Ya nggak lah, masih panjang perjalanannya untuk sampai bisa disebut sebuah game. Harus ada interaksinya dengan pemain (input dari user, mouse atau keyboard atau joystick), harus ada efek suara dan musicnya, harus ada scoring, dan harus ada kondisi kalah dan menangnya.

Mari kita mulai dengan sesuatu yang sederhana : menggerakkan gambar tadi. Caranya ialah dengan merubah posisi gambar (menggerakkannya) sesuai dengan pergerakan mouse. Kenapa mouse? Karena paling gampang manggilnya :)

Hal yang harus kita lakukan pertama kali adalah membuat variable untuk menampung mouse. Caranya ialah dengan mengetikkan code berikut di bagian deklarasi variable :

MouseState mouse;

Kemudian pindah ke method Update() dan ketikkan potongan code berikut :

mouse = Mouse.GetState();

Dan merubah code spriteBatch.Draw() kita tadi dengan :

spriteBatch.Draw(ghostTexture, new Vector2(mouse.X, mouse.Y), Color.White);

Jalankan gamenya (tekan F5) daaannn…. Tadaaah! Sekarang gambarnya bergerak sesuai dengan pergerakan mouse! Nice isn’t?!

Yang barusan kita lakukan adalah membuat sebuah variable bertipe MouseState (kayaknya udah jelas fungsinya apa) yang berfungsi untuk menyimpan state dari mouse. Kemudian kita memberi variable tersebut nilai baru dari mouse dengan memanggil GetState(). Pemberian nilai baru ini harus dilakukan setiap saat, oleh sebab itu perintah mouse = Mouse.GetState() dipanggil di method Update(). Perhatikan perbedaan huruf besar dan kecilnya! Kemudian variable mouse kita ambil posisi X dan Y nya untuk menjadi posisi penggambaran ghostTexture.

That’s it for now – sampai jumpa besok :D

Installasi XNA

haa… basbang ah :p
Tapi mungkin masih ada yang belum tau ^_^ here’s how :

Hardware Requirement :

  • 512 MB Ram, tapi sebaiknya punya 1 Giga atau lebih
  • 1 GHz CPU, lebih cepat lebih baik :)
  • Minimal kartu grafis yang support Shader Model 1.1 secara hardware (Nvidia GeForce 3, ATI Radeon 7x ke atas)

Software Requirement :

Proses installasinya seharusnya sangat mudah. Tinggal klik-klik aja. Tidak ada trik-trik khusus dalam penginstallasian semua software diatas. Namun perlu diperhatikan urutan penginstallannya harus seperti berikut :

  1. Install DirectX Runtime.
  2. Install Visual Studio 2005 Express dan SP.1-nya. Visual Studio Express dapat diinstall berdampingan dengan Visual Studio family lainnya (bahkan Visual Studio 2008).
  3. Jalankan Visual Studio Express minimal 1x. Hal ini diperlukan untuk mengaktifkan dan mempersiapkan environtment setting untuk keperluan installasi XNA.
  4. (optional) Install XNA 1.0 refresh.
  5. Install XNA Studio Express 2.0. Note: Beberapa contoh dan tutorial di internet masih menggunakan XNA framework versi 1.0. Jika anda mau, anda bisa menginstall kedua-duanya sekaligus.
  6. Selesai, seharusnya anda sudah melihat logo XNA saat anda ingin memulai project baru dalam Visual Studio 2005 Express anda. Namanya : “Windows Game (2.0)”

    XNA framework selesai di install

(note: Install artinya klik-dua-kali file installernya).

Oh, btw, saya masih menggunakan Windows XP sebagai OS untuk men-develop game XNA ^_^

Di solok lagih…

Hi, mulai dari tanggal 1 kemaren, saya ngajar lagi di kota Solok. Masih dengan materi pascal untuk 3 siswa SMA 1 Solok yang lolos seleksi TOKI ke tahap propinsi. Btw, soal-penyisihan-TOKI tahun ini kejam banget yak… Syusah bo! ~_~

Tyus, hari pertama, abis ngajar kita ditraktir marbatak pasir, eh, martabak mesir ding :P wich is…. delicious!!!

Martabak Mesir
Trus dilanjutkan dengan perjalanan pulang melewati kota dengan pemandangan sawah dan bukit yang luar biasa indah… Plus red sunset yang menawan… ahh ~_~

Sun set di solok

See you again next week!
:D

Posted in d'Journey. Tags: , . 6 Comments »