Kamis, 24 Juni 2010

game ogre

Membuat Game dengan Ogre 3D
Saya akan mencoba untuk mendemokan cara membuat game dengan Ogre 3D.

Ogre 3D hanya sebagai perender hasil nya. Sedangkan koding dan memetakan objek nya kita butuh bantuan seperti Visual C++ , 3D Max dan converter mesh nya.

Kali ini saya akan mencoba membuat GAME MENJATUHKAN DADU DENGAN BOLA.

Cara membuat :

1. Install 3D Max 2008 dulu.
2. Install Converter 3D to mesh
yaitu software perubah dari .max, .3ds dan lain-lain menjadi .mesh

jika tidak punya, dapat didownload disini

3. Buat objek yang akan kita gunakan nantinya, yaitu sebuah bola dan 6 buah dadu.

Kemudian, save objeknya, lalu klik file, dan pilih eksport. Setelah itu pilih objek yang dibuat tadi ingin dirubah jadi format berakhiran apa. disitu pilih format berakhiran mesh.
Nantinya objek yang dibuat akan berakhiran mesh.

atau dapat di download disini

4. instal Visual C++


5. install Ogre SDK nya

.
6. install Direct X SDK nya juga.


7. Setelah itu masukan objek yang berakhiran mesh yang dibuat tadi ke Ogre SDK yang kita install, biasanya di folder C dan cari folder Ogre SDK. Disitu pilih media dan pilih model dan tempatkan objek yang dibuat ke tempat itu.


8. Buka visual Studio 2008 > Create New Project > Visual C++ win32 console Application > beri nama project, gameKu.cpp > Click OK


9. Kemudian klik next.


10. Pada bagian Application type kita pilih Windows Application dan pada bagian Additional options kita pilih Empty project seperti yang tertunjuk pada gambar diatas.


11. Selanjutnya kita akan membuat item pada project yang telah kita buat sebelumnya, pada menu project > add new Item > C++ File (.cpp) > beri nama main > click Add maka tampilannya adalah sebagai berikut ini:


12. Akan muncul editor, tempat menulis script cpp,
Saya sudah menyediakan script filenya : silahkan download disini


13. Lakukan hal yang sama dengan langkah 11, disini dibuat Header File(.h)

Scriptnya dapat didownload disini

14.Copy folder Media dan folder bin pada OGRE SDK di default path installation tempat kita menginstal Ogre ke work directory tempat project kita berada,,

Bin folder terdiri dari folder Debug And Release.

15. Kemudian konfigurasikan path pada file resources.cfg pada folder debug dan resouces.cfg pada folder release,,ganti ../../.. Dengan path tempat default path installation kita.

16.Setelah konfigurasi diatas selesai, berikutnya lakukan konfigurasi pada properties project kita, pada jendela solution explorer di kanan atas, klik kanan nama project lalu pilih menu properties.

17.Beberapa konfigurasi yang perlu dilakukan antara lain :

Pada debug active :

Debugging : Working Directory = ..\bin\Debug

Linker : General : Output File = ..\bin\Debug\hello.exe

Linker : Input : Additional Dependencies += OgreMain_d.lib

Linker : Input : Additional Dependencies += OIS_d.lib

Linker : General : Additional Library Directories = $(OGRE_HOME)\lib

C/C++ : General : Additional Include Directories = ..\include;$(OGRE_HOME)\include;$(OGRE_HOME)\samples\include

Lakukan juga setting kan untuk folder Release, tetapi ganti OgreMain_d.lib dan OIS_d.lib diatas menjadi OGreMain.lib dan OIS.lib

18. Konfigurasi selesai dilakukan, kemudian coba running program (F5), maka akan muncul tampilan output seperti di samping ini.. Pilih Direct 3d9 Rendering Subsystem, maka hasil gambar berupa windows application akan keluar.





SELESAI DAN SELAMAT MENCOBA........................

membuat game ogre

PELAJARAN KITA SEMUA

totorial membuat game sederhana dengan ogre


saya disini akan membuat sebuah game bis. objek bis tersebut kita disain di 3dmax. sebelum itu objek kita konvert ke mesh.

Untuk menampilkan objek bis 3D ini, saya menggunakan Microsoft Visual C++ sebagai bahasa pemrograman yang akan menampilkan objek bis 3D tersebut ke dalam OGRE. Pertama kita buat terlebih dahulu Project Baru.

Pada pilihan Project pilih C++ >> Win32 >> Win32 Project dan beri nama project. Lalu muncul jendela Win32 Application wizard, pilih next. Setelah itu muncul jendela Application Setting, checklist Empty Project Lalu kilik Tombol Finish. Terlihat di sana belum terdapat sebuah file C++ karena kta memilih Empty Objek. Pada jendela Solution Explorer klik kanan folder tree Source Files >> New Item >> Add.

Setelah itu muncul jendela Add New Item – Mangkibo. Kita buat sebuah file yang bernama MobilBis.cpp dengan memilih C++ File lalu tekan tombol Add.

Setelah kita tekan tombol Add maka munculah sebuah tampilan kerja dimana kita akan mengetikkan sebuah program C++ untuk menampilkan objek 3D yang kita buat ke dalam OGRE. Selanjutnya ketikan program berikut ke dalam editor.

#include "ExampleApplication.h"

class BelajarOgre : public ExampleApplication

{

public:

BelajarOgre(){ }

~BelajarOgre(){ }

protected:

void createScene(void)

{

int x = 0;

int y = 0;

int z = 0;

//mSceneMgr utk manage semua semua yg tampil pd screen

mSceneMgr->setAmbientLight(ColourValue(1,1,1));

//Entity ad objek yg bs dirender discene

Entity *ent1 = mSceneMgr->createEntity("and1","and1.mesh");

SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode("and1Node", Vector3(x,y,z));

//attach entity ke scenenode ut beri lokasi render robot

node1->attachObject(ent1);

}

};

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32

#define WIN32_LEAN_AND_MEAN

#include "windows.h"

INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT)

#else

int main(int argc, char **argv)

#endif

{

//bikin objek aplikasi

BelajarOgre app;

try

{

app.go();

}

catch (Exception e)

{

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32

MessageBoxA(NULL,e.what(),"Terjadi Error!",MB_OK | MB_ICONERROR |MB_TASKMODAL);

#else

fprintf(stderr,"Terjadi Error = %s\n",e.what());

#endif

}

return 0;

}

ini adalah code untuk menampilkan objek pada monitor. disini kita hanya bisa mainkan maju, mundur, dan belok saja. bisa menggunakan mouse

Selanjutnya kita copy folder bin yang terdapat dalam folder tempat kita menginstall OgreSDK ke dalam folder project yang kita buat. Kemudian konfigurasikan path pada file resources.cfg pada folder debug dan resouces.cfg pada folder release,,ganti ../../.. Dengan path tempat default path installation kita.

Setelah konfigurasi diatas selesai, berikutnya lakukan konfigurasi pada properties project kita, pada jendela solution explorer di kanan atas, klik kanan nama project lalu pilih menu properties.

Konfigurasi tersebut adalah antara lain Pada debug active :

Debugging : Working Directory = ..\bin\Debug

Linker : General : Output File = ..\bin\Debug\hello.exe

Linker : Input : Additional Dependencies += OgreMain_d.lib

Linker : Input : Additional Dependencies += OIS_d.lib

Linker : General : Additional Library Directories = $(OGRE_HOME)\lib

C/C++ : General : Additional Include Directories = ..\include;$(OGRE_HOME)\include;$(OGRE_HOME)\samples\include

Lakukan juga settingan untuk folder Release, tetapi ganti OgreMain_d.lib dan OIS_d.lib diatas menjadi OGreMain.lib dan OIS.lib. Setelah semua telah dikonfigurasi klik OK, lalu Objek 3D yang sudah di konversi tadi terbagi menjadi 2 bagian yaitu .mesh dan .material. Untuk .mesh kita copy ke dalam folder media/model di dalam direktori dimana tempat menginstall OgreSDK. Lalu untuk Material kita copy ke dalam folder media/material/Script di dalam direktori dimana tempat menginstall OgreSDK. Lalu jalan kan OGRE. tampilan gambar game ogre nya tampak pada gambar paling atas.

Jumat, 04 Juni 2010

berpikir ala programer

BERPIKIR LOGIS DENGAN ALGORITMA
Diposting pada: 2010-06-05 14:03:00 Hits : 219 Kategori: Artikel
'BERSALAMAN DENGAN DUNIA HACKING' ini diperuntukkan bagi mereka yang masih baru maumelangkah kedunia hacking!? Kalau yang sudah kadung melangkahpun dipersilahkan baca!?siapa tau mau balik! =). Akan ditulis dalam beberapa artikel berseri! Jadi, pelototinterus situs ini sayang!?
#####################BERPIKIR LOGIS DENGAN ALGORITMA(Salaman: #1. Apa Itu?)#####################oleh logC
Bukan suatu hal yang dapat dipisahkan; antara hacking (dalam artian sebenarnya),pemrograman, dan mesinnya. Dari ketiga hal tersebut dapat ditarik suatu benang hitam,yaitu 'berpikir logis'. Sedangkan cara berpikir logis dalam dunia IT lebih dikenal denganpendekatan algoritma. Nah, artikel berikut dan artikel selanjutnya akan sedikit mengajakanda untuk bagaimana berpikir logis ala algoritma itu.
Mmungkin anda sekarang membayangkan sebuah tabel matematik dengan angka-angka yang jelimetdan membuat mata anda sepet; logaritma. Tapi tidak demikian adanya. Algoritma; kalauditinjau dari akar bahasanya mungkin gak bakalan ketemu pasnya. karena kata ini sebenarnyaberasal dari nama seorang penulis buku Arab yang terkenal, yaitu Abu Ja'far Muhammad IbnuMusa Al-Khuwarizmi (Al-Khuwarizmi dibaca dengan lidah barat menjadi Algorism).Al-Khuwarizmilah yang menulis buku berjudul Kitab Al Jabar Wal-muqaba, yang artinya 'BukuPemugaran dan Pengurangan' (The Book of Retorasion and Reduction). Disana juga ditemukanakar kata 'Al-Jabar' (Algebra). Perubahan dari kata algorism menjadi algorithma munculkarena kata algorism sering disalah sasarkan menjadi arithmatic, sehingga akhiran -smdiubah menjadi -thm. Dalam bahasa Indonesia , kata algorithm diserap menjadi algoritma.
Nah, sekarang apa algoritma itu? Algoritma adalah rurtan langkah-langkah logis penyelesianmasalah yang disusun secara sistematis; atau kalau menurut Kamus Besar Bahasa Indonesiadidefinisikan sebagai urutan logis pengambilan putusan untuk pemecahan masalah. Jadi jelaskhan!? bukan masalah perhitungan dengan angka-angka jelimet saja lho!? Tapidititikberatkan pada proses berpikirnya yang dilakukan secara logis.
Gampang dan sangat dibutuhkan dalam kehidupan sehari-hari. Sebenarnya dalam bidang apapunkita pasti memerlukan cara berpikir logis untuk menyelesaikan tantangan didepan mata!?Okeh sayang! segitu dulu yah!? Nantikan edisi berikutnya tentang cara berpikir logis alalogC eh algotitma ding!? =)
#####################STRUKTUR DASAR ALGORITMA(Salaman: #2. Bagimana itu?)#####################Catatan: Pada artikel berikutnya kita akan lebih mendekati algoritmapada pemrograman C. Kenapa saya pilih C? Bukan hanya karena nick sayalogicalC =), tapi lebih karena C adalah salah satu bahasa pemrogramanyang menjadi tulang punggung terbentuknya struktur jaringan internetdengan disponsori para hacker & unix systemnya!? Jadi, mari kitamulai.....Oh iya! ada istilah-istilah baru yg perlu pahami.---------------------------------------------------------------------
Algoritma berisi langkah-langkah penyelesaian suatu masalah.Langkah-langkah bisa berupa runtunan, pemilihan, dan pengulangan.Ketiga langkah itulah yang menyusun algoritma. Jadi, sebuah algoritmadapat ditempuh dengan ketiga struktur dasar tersebut. Berikut saya cobajabarkan satu-persatu.
Runtunan (Sequence)----------------------Sebuah runtunan terdiri dari satu atau lebih 'instruksi'. Tiap-tiapinstruksi dilaksanakan secara berurutan sesuai dengan urutanpenulisannya; sebuah instruksi baru bisa dilaksanakan setelah instruksisebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaanakhir algoritma. Kalau urutannya diubah, kemungkinan besar hasilakhirnya akan berubah. Misal: Seorang ibu berbelanja di mall. diamelewati beberapa toko; toko perhiasan, toko baju, toko sepatu, dan tokotas. Ketika itu dia iseng! belilah dia satu set perhiasan mas. Namunsetelah berjalan beberapa meter dia berjumpa dengan toko tas. Karena diasadar kalau dirinya membutuhkan tas baru; dia akan menyesal denganmengatakan "seandainya toko perhiasan tadi ada setelah toko tas"!?JUST KIDDING... =)
Misalnya: Ada dua buah bejana, A dan B; bejana A berisi larutan kopi,bejana B berisi larutan susu. Pertukarkan kedua isi bejana itu, sehinggaA berisi larutan susu, dan B berisi larutan kopi. Tidak boleh jadi kopisusu...!?Kita tanyakan Algoritma!? Jawabannya: ada tiga langkah, yaitu:1. Tuangkan larutan dari bejana A ke dalam bejana C. (cuci bersih dulubejana A kalo bisa!?)2. Tuangkan larutan dari bejana B ke dalam bejana A. (cuci juga bejanaB!? =))3. Tuangkan larutan dari bejana C ke dalam bejana B. Selesai.....Gak jadi kopi susu, kecuali anda minum isi kedua bejana itu danmencampurnya di perut anda.
Pemilihan (Selection)---------------------Kadangkala sebuah instruksi dikerjakan setelah 'kondisi' tertentuterpenuhi. Dalam bahasa pemrograman, ini dikenal dengan "if" dan "then".Kondisi adalah persyaratan yang dapat dinilai benar atau salah sehinggaakan memunculkan 'aksi' yang berbeda dengan 'kondisi' yang berbeda.Gampangnya, lansung contoh!Dalam kehidupan sehari-hari kita sering punya pilihan semacam ini:
'if' Widi memperoleh juara kelas'then' ayah akan membelikannya sepeda'if' Jalan Dago macet'then' ambil alternatif Jalan Dipati Ukur'if' Mobilmu rusak'then' pakai saja motorku
Tampak struktur pemilihan 'if-then' hanya memberikan satu pilihan aksibila kondisi dipenuhi atau bernilai benar dan tidak memberikan aksi lainbila kondisi salah. Bentuk pemilihan yang lebih umum adalah memilih satudari dua aksi bergantung pada nilai kondisinya, seperti:
'if' hari hujan'then' pergilah dengan naik taxi'else' pergilah dengan naik motor
di sini secara logika; jika kondisi 'hari hujan' benar, maka aksi 'perginaik taxi' dilakukan. Sebaliknya jika kondisi 'hari hujan' bernilaisalah, maka aksi 'pergi naik motor' akan dilaksanakan. Dan, tidak adapilihan aksi turun ke jalan!? =) Contoh yang lebih kompleks dapatditemui dalam pemilihan dengan tiga atau lebih variable, sepertipenentuan bilangan terbesar dari tiga buah bilangan; x, y, dan z.
'if' x > y 'then''if' x > z 'then'tulis x sebagai bilangan terbesar'else'tulis z sebagai bilangan terbesar'else''if' y > z 'then'tulis y sebagai bilangan terbesar'else'tulis z sebagai bilangan terbesar
Contoh di atas biasa disebut dengan 'pemilihan bersarang'. Coba andabuat mejadi 4 atau lebih variablenya!? =)
Pengulangan (Repetition)-------------------------Salah satu kegunaan pemrograman adalah untuk memudahkan pekerjaan yangharus dilakukan berulang-ulang tanpa capek!? Cerita sedikit nih! =)Sewaktu saya duduk di sekolah dasar, pernah suatu hari dihukum gurukarena tertidur dikelas pada jam pelajaran terakhir. Anda tauhukumannya? Menulis kalimat "saya berjanji tidak akan tidur di kelaslagi" sebanyak 300 kali karena saya masih duduk di kelas 3. Tapiuntungnya guru saya ini gak jelasin dimana saya harus menulisnya.Keesokan harinya saya terpaksa merengek ke mak saya untuk dibolehkanmembawa laptop kesayangan saya ke sekolah!? Sebelumnya pada malamharinya saya sudah membuat program kecil untuk mengulang tulisan "sayaberjanji tidak akan tidur di kelas lagi" sebanyak apapun yang saya mau!?=) akhirnya! guru saya itu cuman bisa geleng kepala!? greetz trik huh!?Sebenarnya program pengulangan saya waktu itu hanya mengimplementasikanalgoritma 'repeat-until' (repeat artinya ulang sedangkan until artinya sampai),sehingga logaritmanya bisa dituliskan seperti:
pencatat_jumlah_kalimat = 0'repeat'tulis "saya berjanji tidak akan tidur di kelas lagi"naikkan pencatat_jumlah_kalimat dengan 1'until' pencatat_jumlah_kalimat = 300
Pemroses akan melaksanakan aksi tulis tersebut sebanyak 300 kali.Struktur pengulangan tersebut dapat ditulisakan secara umum menjadi:
'repeat'aksi'until' kondisi
Dalam istilah bahasa pemrograman, pengulangan di istilahkan 'loop'.
Nah, mari kita coba kombinasikan ketiganya dalam sebuah algoritmapencarian seperti berikut ini:
Sebuah tabel data sudah berisi data nomor ID, login ID, dan passwordlogin ke mesin absensi.Carilah dalam tabel password seorang karyawandengan nomor ID tertentu.1. Baca nomor ID pertama dalam tabel2. 'repeat''if' nomor ID yang dibaca sama dengan nomor ID yang dicari makatulis passwordkaryawan yang bersangkutanstop'else'baca nomor ID berikutnya di dalam tabel'until' nomor ID yang dicari sudah ditemukan atau seluruh isi tabeldibaca.
Struktur 'repeat-until' hanya satu diantara beberapa strukturpengulangan yang saya angkat saat ini. Ada beberapa struktur pengulanganlain seperti 'while-do', 'for' dan sebagainya. Pada seri berikutnyapasti akan tersertakan dengan sendirinya.
#####################Algoritma Dalam PemrogramanSalaman: #3 Aplikasi - 001#####################
Dalam mempelajari algoritma, anda nggak dituntut untuk menguasai ilmu eksak.Halmutlak yang diperlukan dalam mempelajari algoritma adalah logika anda dalam menganalisissuatu permasalahan. Kalo anda sukanya menghayal, siap-siap saja anda bakal boringmempelajari algoritma ;P~
Ada 2 hal penting yang mesti anda tau dari algoritma. Pertama, Algoritma harusbenar. Maksudnya disini, setiap masalah yang anda coba uraikan dalam bentuk program mestimenghasilkan hasil yang benar. Contohnya, anda bikin program penjumlahan 2 tambah 3hasilnya harus 5, khan?! kalo diluar itu, itu berarti algoritma anda dalam program kacau(atau bisa aja andanya yang lagi error).Hal penting kedua, algoritma harus berhenti. Contoh sederhananya sepertialgoritma intrusion. Algoritma tsb berhenti setelah melewati proses Covering Track &Installing Backdoor (walaupun dalam prakteknya anda muter² menjalankan tahapan intrusiontersebut tapi akhirnya anda akan sampai juga pada tahap Covering Track & InstallingBackdoor, khan?!).
Dan bila anda mengalami kebuntuan dalam mendesign algoritma suatu masalah, langkahyang perlu anda lakukan adalah dengan melihat/menganalisis masalah tersebut secaramenyeluruh setelah itu anda coba uraikan/bagi permasalahan tersebut sehingga menjadikumpulan² permasalahan yang lebih sederhana.
Untuk artikel kali ini, saya mencoba untuk ngelanjutin bahas tentangstruktur pengulangan menggunakan "while do" dan "for", (ngelanjutin artikel STRUKTUR DASARALGORITMA (Salaman: #2. Bagimana itu?)).
* While...DoStruktur perulangan "While...Do" tidak terlalu jauh berbeda dengan strukturperulangan "Repeat...Until". Bila pada "Repeat...Until" memungkinkan terjadinya prosesterlebih dahulu sesudah itu baru terjadi pengecekan kondisi, tetapi pada "While...Do",anda tidak akan dapat menjalankan baris² aksi bila syarat(kondisi) yang memungkinkan aksi itudijalankan tidak sesuai. While artinya sementara, sedangkan Do artinya kerjakan, jadi biladiindonesiakan sintaksnya sendiri berbentuk seperti ini :
Sementara /kondisi terpenuhi/ Kerjakanaksi dijalankanSelesai
Contoh penggunaan "While...Do" seperti ini, misalnya anda ingin mencetak kalimat"saya suka k-elektronik" di layar sebanyak 10 kali, menggunakan "While...Do" makasintaksnya akan seperti ini:
pencacah <- 1; /inisialisasi awal thd pencacah, mengisi nilai awal kepencacah/while pencacah <=10 docetak "saya suka k-elektronik";endwhile;
Penjelasan sintaksnya seperti ini. Pada mulanya pencacah diisi dengan nilai 1.Sebelum memasuki badan pengulangan, kondisi "pencacah <=10" diperiksa apakah bernilaibenar, karena "1 <= 10" adalah benar, maka aksi cetak "saya suka k-elektronik" dijalankan.Sehingga keluaran yang tercetak :
saya suka k-elektronik
Selanjutnya nilai pencacah dinaikkan menjadi 2, siklus pengulanagn kembali dijalankan sampainilai pencacah dinaikkan 11 maka kondisi pengulangan bernilai salah, pengulangandihentikan.
* FORStruktur pengulangan "FOR" tidak melibatkan penggunaan kondisi seperti padastruktur perulangan "Repeat...Until" ataupun "While...Do". Struktur FOR ada dua macamyaitu, menaik (ascending) yang ditandai dengan kata "to" dan menurun (descending) yangditandai dengan kata "downto" ntuk sintaksnya:
FOR pencacah <- nilai_awal to/downto nilai_akhiraksi dijalankanendfor
Untuk FOR menaik, nilai awal harus lebih kecil dari nilai akhir. Tetapi pada FOR menurun nilaiawal harus lebih besar dari nilai akhir.
Contoh sintaks :- Untuk FOR menaik
FOR pencacah <- 1 to 10 docetak "saya suka k-elektronik"endfor
- Untuk FOR menurun
FOR pencacah <- 10 downto 1 docetak "saya suka k-elektronik"endfor
Sekian dulu, dan sampai jumpa pada edisi berikutnya :)~#####################
Salam Manis.
by.miftahul 'ulum