zsuperxtreme 0 Report post Posted January 8, 2007 Ha ah. boleh buat kat dalam tu. Tapi kalau nak power lagi pakai OGRE. FREE. Tapi dari development team dia kata, library game takde, kena cari atau buat sendirik. Kalau nak Shadow, lighting, power power guna OGRE, tapi tutorial kat sini still pakai irrlicht. hehe. Simple. Quote Share this post Link to post Share on other sites
powerabu 0 Report post Posted January 8, 2007 maaf jika soalan aku ni kelihatan seperti bodoh skit...Game engine ni sebenarnya untuk apa?Apa fungsi dia? Quote Share this post Link to post Share on other sites
izmal 0 Report post Posted January 8, 2007 hmm..menarik orge ni..cel shading pon clean..kena explore ni..thx zx.. *link gile yang aku maksudkan (saja kongsi) Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 8, 2007 TUTORIALCOLLISION DETECTION (LEVEL TUTORIAL: SEDERHANA)Ok kalau kita nak buat collision (langgar dinding, panjat tangga, gravity) maka kita guna kaedah di bawah. Kod ini sebelum whileKod untuk buat collision detection, sebelum while.//Memasukkan model ke dalam game     scene::IAnimatedMesh* q3levelmesh = smgr->getMesh("dunia.3ds");     scene::ISceneNode* q3node = 0;         if (q3levelmesh)         q3node = smgr->addOctTreeSceneNode(q3levelmesh->getMesh(0)); //Letak kamera FPS dan buat collision detection     scene::ICameraSceneNode* camera =         smgr->addCameraSceneNodeFPS(0, 100.0f, 300.0f, -1, 0, 0, true);     camera->setPosition(core::vector3df(-100,50,-150));     scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(         selector, camera, core::vector3df(30,50,30),         core::vector3df(0,-3,0),         core::vector3df(0,50,0));     camera->addAnimator(anim);     anim->drop(); Ok Izmal, byk lagi kita dapat explore makin menarikkan? hehehe.. tu laMENJAWAB SOALANGame engine ni sebenarnya untuk apa?Game engine ni membantu mengurangkan kod yang perlu dibuat. Contohnya kalau nak buat animasi guna CORE PROGRAMMING, memang panjang, adala dalam 1000 line. Tapi kalau pakai game/graphic engine, cuma paling koman 2 3 line je. Selain itu sesetengah game engine sediakan fizik game yang membantu membuat pegerakan dan bermacam-macam lagi. contoh irrlicth sediakan pegerakan FPS, cuma 1 line sahaja, Kalau code sendiri mau tulang belakang patah. Hehehe. Dan banyak lagi fungsi-fungsi yang memudahkan pembangunan game.Apa fungsi dia?Membantu menyediakan fizik, animasi, modelling, texturing, material dan map lebih mudah berbanding core programming.Sebelum kita pergi lebih lanjut, adalah lebih baik kita diskus mengenai COLLISION, info diatas tu ringkas je... any question? Jwb soalan lagi bagus. senang sikit nak jelas. Quote Share this post Link to post Share on other sites
LanoV 22 Report post Posted January 8, 2007 Dalam semua game engine, kita seringkali diberitahu bahawa adanya feature 'collision detection'. Apakah definisi sebenar collision detection dalam sesebuah game. Kalo ikut pengetahuan orang biasa:(1) Collision - perlanggaran/ pertembungan/ penghampiran(2) Detection - pengesananCikgu Zsuperxtreme boleh terangkan lebih lanjut tak? Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 8, 2007 MENJAWAB SOALANDEFINISI(1) Collision - perlanggaran/ pertembungan/ penghampiranCollision (Pelanggaran) adalah suatu method dimana sesuatu objek adalah terpaut dengan teori-teori fizik graviti dan pelanggaran pada sesuatu permukaan yang tidak boleh ditembusi. Oleh itu dengan adanya pengiraan "collision" ini objek tidak dapat menembusi dinding, pokok, kereta, dan objek-objek lain seumpama dunia realiti. Selain itu dengan adanya teknik ini juga, objek dapat berkedudukan pada lokasi begraviti dimana ia boleh memanjat tangga, jatuh dari bangunan dan menggelonsor dari permukaan curam. Dengan adanya teknik "collision" ini game akan kelihatan lebih realistik. Berikut adalah bagaimana "collision detection dapat dijelaskan dalam bentuk gambarajah. Garisan Kuning menandakan kawasan yang telah disetkan ke dalam model agar objek tidak menembusi ruangan tersebut, dan terdapat ruangan yang boleh ditembusi.(2) Detection - pengesananPengesanan collision ini terbahagi kepada banyak peringkat1. Sphere Collision DetectionObjek bulat mewakili mana mana objek untuk mengesan 2 objek bulat berlanggar antara satu sama lain2. Box Collision DetectionPengesanan pelanggaran dua objek melalui kekotak3. Triangle Collision DetectionPelanggaran ditentukan dengan samada objek memasuk ruangan segitiga yang telah disetkan.Implementasi pengesanan pelanggaranPengesanan sesuatu pelanggaran boleh dilakukan dengan kaedah begini, pada kedudukan masa t1, t2 disemak samada berada di ruangan pelanggaran atau tidak, seperti rajah dibawah.Berikut adalah contoh bagaimana penggunaan sphere collision detectionSelain itu collision sphere ni boleh dikecilkan lagi untuk permukaan yang bukan bulatKaedah yang dipakai oleh game engin (advance) adalah seperti berikut dan mempunyai algorithma pokok yang kompleksWalaubagaimanapun, game engine dah sediakan algorithma collision untuk kita so don't worry, unless korang nak buat core programming, memang sakit kepala nak buat mcm nie. Quote Share this post Link to post Share on other sites
LanoV 22 Report post Posted January 9, 2007 (edited) Terima kasih, dah paham dah sikit2...Soalan Selanjutnya.Adakah objek seperti peluru yang ditembak ke arah 'monster', laser, dan implementasi 'particle system' (letupan, api, air, awan, habuk etc.) adalah juga menggunakan collision detection? Edited January 9, 2007 by LanoG Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 9, 2007 MENJAWAB SOALANAdakah objek seperti peluru yang ditembak ke arah 'monster', laser, dan implementasi 'particle system' (letupan, api, air, awan, habuk etc.) adalah juga menggunakan collision detection?Ya, objek yang ditembak (peluru) menggunakan collision detection pada monster yand ditembak. Pengesanan ini boleh dilakukan dengan cara mudah iaitu sphere detection atau susah tree detection. Gambar di bawah menjelaskan bagaimana implementasi tembakan pada monsterBagi particle system pulak, normally particle yang dihasilkan di dalam game tidak melibatkan collision detection. Particle itu bebas dari collision detection tetapi mempunyai code yang diset untuk pergerakan particle dari segi graviti. Ini kerana particle yang menembusi objek dikira (hilang).Mengenai Air dan Awan. Pegerakan yang disetkan adalah pada TEXTURE ANIMATION, bukan collision detection. Dan Air dan Awan tidak terikat pada struktur graviti code. Kerana Texture air contohnya air terjun telahpun dilukis awal-awal, dan pegerakannya hanya bergantung pada animasi yang di set. Jika air itu mempunyai particle (percikan air) penambahan kod particle diletakkan pada permukaan hentaman dan tiada collision detection. Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 9, 2007 TUTORIALCODE PELANGGARAN MUDAH (LEVEL TUTORIAL : MUDAH)Ok ini ada serba sedikit contoh bagaimana pelanggaran kekotak dengan satu titik dijalankan. Walaubagaimanapun jika kita guna game enjin, kod sebegini telah pun direka untuk kita. kita just panggil sahaja, contoh semaklanggar(). Simpel, jadi tutorial kali ini sekadar untuk pemahaman sahaja. Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 10, 2007 OUTSOURCE TUTORIALSEMAKAN PELANGGARAN ( LEVEL TUTORIAL: SUSAH )Artikel dibuat oleh Kasper Fauerby, artikel ini mempunyai pelbagai jenis semakan yang sangat bagus dari segi pelanggaran, vektor dan normal pegerakan.DOWNLOAD [754kb]: Collision DetectionOk ada kat sapa-sapa kat sini dah catchup dengan semua tutorial yang aku buat ke? Quote Share this post Link to post Share on other sites
MalaYneuMaya 4 Report post Posted January 10, 2007 assalamualaikum...err tak sempat tanya itu ari.. 1. dalam code post #9://Menambahkah model ke dalam gameIAnimatedMesh* mesh = smgr->getMesh("../../media/kotak.md2");IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );apsal guna model .md2 bukan .3ds?2. sumer code2 yg dh ditunjukkan tu masukkan dlm irrlicht ker? maksudnya dev c++ blum guna lagi?3. collision detection tu sama ke dgn 'Hit Boxes' (model halflife guna istilah tu) Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 10, 2007 (edited) WalalaikumsalamMENJAWAB SOALAN1. Apsal guna model .md2 bukan .3ds?Semua jenis format yang boleh dipakai untuk mesh dalam irrlicht:3D Studio meshes (.3ds) B3D files (.b3d) Alias Wavefront Maya (.obj) Cartography shop 4 (.csm) COLLADA (.xml, .dae) DeleD (.dmf) FSRad oct (.oct) Irrlicht scenes (.irr) Microsoft DirectX (.x) (binary & text) Milkshape (.ms3d) My3DTools 3 (.my3D) OGRE meshes (.mesh) Pulsar LMTools (.lmts) Quake 3 levels (.bsp) Quake 2 models (.md2) 2. sumer code2 yg dh ditunjukkan tu masukkan dlm irrlicht ker? maksudnya dev c++ blum guna lagi?Code tu dibuat dalam Dev C++, selepas install irrlicht dan configure Include dan Library irrlicht pada Dev C++. Contoh nak configure Dev C++ untuk irrlicht : http://irrlicht.sourceforge.net/tut_devcpp.html3. collision detection tu sama ke dgn 'Hit Boxes' (model halflife guna istilah tu)Actually bagi half life dia guna teknik box collision = hit boxes, tapi sebenarnya teknik collision ni luas, selain tu kita ada sphere, triangle, plane, dan berbagai-bagai lagi.Edit : Waalaikumsalam, lupa plak... hehehe. Edited January 10, 2007 by zsuperxtreme Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 11, 2007 (edited) TUTORIAL LINKIrrWizard : Game Engine (LEVEL TUTORIAL : Sangat Susah)LINK : http://irrwizard.sourceforge.net/ Ok setelah kita pelajari bagaimana nak buat grafik dengan IrrLicht, kita pergi kepada yang lebih advace, FPS wizard, so dengan wizard nie korang bleh buat FPS game guna irrlicht. Dari teknik grafik yang kita pelajari sebelum ini kita dapat jadikan impian untuk membuat game menjadi kenyataan dengan IrrWizard nie. Sebelum kita get through kepada IrrWizard, better korang study dulu introduction dan cara nak guna sebelum kita diskus. Edited January 11, 2007 by zsuperxtreme Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 11, 2007 Ok selepas ni kita akan buat sirius game, tapi sebelum aku continue, ada tak sesapa kat sini tak dapat lagi buat Kotak dan run kan dalam irrlicht graphic engine? Quote Share this post Link to post Share on other sites
LanoV 22 Report post Posted January 11, 2007 Bagus2... hehehe.Aku cadangkan en. ZX buat dulu flowchart yang simple, iaitu aliran proses yang digunakan sampai lah ke tahap sekarang. Ini secara tidak langsung akan memudahkan pemahaman konsep secara visual. Contohnya mula2 apa nak buat BUAT OBJEK (pakai Anim8or)----> MASUKKAN OBJECT dalam SCENE (pakai irrlitch) dan seterusnya........ Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 11, 2007 (edited) TUTORIAL LEARNING CURVEOk atas permintaan LanoG, ini adalah serba sedikit flow chart study untuk buat game. Edited January 11, 2007 by zsuperxtreme Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 11, 2007 Actually yang sebelum nie kita belajar simple je.... lepas nie harder and more harder... so aku takkan proceed lagi selagi member kat sini tak ready for the next next next tutorial yang lebih complex. So any question? Quote Share this post Link to post Share on other sites
MalaYneuMaya 4 Report post Posted January 11, 2007 assalamualaikum...waa..nanti japcamner nk settingkn dev c++ terima enjin irrlicht tuhh? link yg zx bagi tu aku dh try, tpi xbleh pon. aku slh dl file ker?dlm tutorial tu dia suruh linkkan 3 file nih dlm 'parameters - linker' devc++.libIrrlicht.a -- the Irrlicht library libjpeg.a -- the Independant JPEG group library libz.a -- the zlib compression library tpi aku jumpa file yg atas tu jer. mana lagi 2?lagi satu dia asik klua:confirm - there doesn't seem to be GNU make file in PATH or in devc++ Bin path.....bla bla panjang arrtulungg..* ko tulis 'Sangat Susah' kt ats tu mnakutkn aku la. hee Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 11, 2007 (edited) WaalaikumsalamHehe... Cool down. ok aku ajar simple step1. download Dev C++ dan Irrlicht 1.2 SDK2. Install Dev C++ pada drive C:\ (contoh C:\Dev-CPP\)3. Install Irrlicht pada drive C:\ (contoh C:\irrlicht-1.2\)4. Open Dev C++, open empty project (File->New->Project...->Blank Project) Save5. Klik Project->project option (Alt+p)6. Pergi ke tab "directories", klik tab include, pastu add directory (C:\irrlicht-1.2\include)7. pastu pergi ke tab "parameters" pastu add "library or object", pastu select file (C:\irrlicht-1.2\lib\Win32-gcc\libIrrlicht.a)8. Ok.Siap, pastu ko try la guna example yang ada untuk test. Itu sahaja. RUN -> Well done... heheheErm, mengenai "sangat susah", ko jangan risau, kalau ko follow tutorial nie, tanpa lalai, atau buat tak tahu setiap step, ko pasti berjaya. Lagipun aku taknak tipu, aku mention sangat susah tu kerana tutorial kali ini tak mcm sebelum nie, yang sebelum nie simpel, lepas nie akan lagi detail dan banyak coding, mungkin ini punca kita takde game programmer 3d nie, mungkin sebab dorang tak suka FIZIK....yang penting, study, don't worry, selagi aku ada aku akan bantu.EDIT: Susah kerana melibatkan AI, GAME, CORE, dan ENGINE, coding yang tak direct tapi pusing sana-pusing sini. Edited January 11, 2007 by zsuperxtreme Quote Share this post Link to post Share on other sites
b1naryc0de 1 Report post Posted January 11, 2007 Oo... baru aku tau.. extension *.a tue untuk library dalam dev c++.. aku guna visual c++ jer dan guna library libIrrlitch.lib..ZsuperXtreme.. Ada perbezaan ker dari segi coding dan output dalam visual c++ dengan dev c++?? Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 11, 2007 Definitely "takda langsung" perbezaan. Sama je....Actually banyak program boleh guna irrlicth, tapi output semua sama sahaja, so tak kesah nak pakai apapun bahasa pengaturcaraan, yang penting kena tau bagaimana irrlicht berfungsi sebagai (Graphic Engine) dan bagaiaman irrWizard berfungsi sebagai (irrlicht Game Engine). Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 11, 2007 (edited) Visual C++ dan Dev C++ beza cara install je, lain semua sama.Better guna Dev C++ sebab free, Visual kena bayar. Lagipun sekarang nie kita tengah tumpu penggunaan open source, so bila korang buat game, takde la kena bayar, tak perlu modal, cuma sebiji pc je. Itu target aku.Antara bahasa yang boleh digunakan1. LUA2. RUBY3. BCX4. JAVA5. PYTHON6. PUREBASIC7. C++, Visual C++, C# Edited January 11, 2007 by zsuperxtreme Quote Share this post Link to post Share on other sites
LanoV 22 Report post Posted January 11, 2007 Yup! Aku sokong penggunaan Open Source sebagai alatan untuk pembangunan game nie. Lagipun, kalo kita pakai semua adalah percuma. Sedangkan kalo pakai yang komersial punya, mesti ada di kalangan kita tak mampu nak beli (dalam erti kata lain guna yang c*tak r*mpak)... di sini pun kita punya iltizam dan harapan dah terpesong sebab kita nak hapuskan lanun2 daripada muka bumi Malaysia nie. Itu lah harapan kita dan semua pihak terutama programmer2 yang telah memerah keringat menghasilkan program/games yang bermutu. Sekian, harap maklum. Quote Share this post Link to post Share on other sites
MalaYneuMaya 4 Report post Posted January 11, 2007 assalamualaikum...hahaha..ropenye aku silap dload lar..dev c++ yg takder compiler punya (mingw ape ntah) dlm 2 MB. pastu aku dload skali lgi yg fullnyer (8 MB) baru boleh..anyway..timekaseh zx bgi tutorial tuh..*emm (tarik napas..) Quote Share this post Link to post Share on other sites
zsuperxtreme 0 Report post Posted January 12, 2007 Sama,sama.Oh, bagus-bagus, akhirnya boleh jugak. Aku rasa mana nie aku nampak MalaYneuMaya je yang dah sampai tahap install, yang lain aku nampak kat binarycode, ada sapa-sapa lagi dah instal ke? Quote Share this post Link to post Share on other sites