Senin, 18 Mei 2015

Bikin Game 3D Cepat dan Mudah? 3D RAD Solusinya!


Mengenal 3D RAD

3D RAD adalah perangkat lunak freeware yang dikembangkan oleh Fernando Zanini dan didukung oleh vendor NVIDIA PhysX. 3D RAD digunakan untuk membuat game 3D, aplikasi 3D interaktif dan berbasis simulasi fisika yang berjalan pada sistem operasi Microsoft Windows XP/Vista/7/8. 

Sebagai game engine, 3D Rad mempunyai editor yang berisi kumpulan komponen yang disebut objek. Objek tersebut bisa dimanipulasi dengan dikombinasikan dan dikonfigurasikan menggunakan berbagai macam cara.

Dalam menciptakan suatu game sederhana pada 3D RAD, pembuat game tidak perlu memahami bahasa pemrograman secara mendalam karena 3D RAD menggunakan minimal scripting.

3D RAD tidak memberikan batasan atas kreatifitas pembuat game. Sesuai perkembangan desain yang mengharuskan berorientasi objek, maka 3D Rad mendukung scripting via AngelScript yang berbasis C++. yaitu script yang dibuat para user dan modulnya dapat diterapkan dan diinteraksikan dengan objek - objek dan script yang lainnya. 

Dengan demikian, para pembuat game dapat berkreasi tanpa batas dengan script (secara profesional) maupun tanpa script (secara amatir). Penggunaan script akan semakin sering seiring dengan kompleksitas game yang akan dibuat.


Keunggulan 3D RAD

3D RAD memiliki beberapa keunggulan dibanding game engine yang lainnya, antara lain :
•  Cepat, instan dan mudah. Berbagai objek siap pakai sudah tersedia dan dapat dimodifikasi sesuka hati.
•  3D RAD merupakan aplikasi pembuat game yang dapat diunduh dan digunakan secara gratis.
• 3D RAD membebaskan lisensi game yang dibuat dengan 3D RAD baik itu untuk commercial maupun non-commercial purpose.
• 3D RAD menyediakan banyak objek siap pakai yang dapat dimanipulasi secara bebas sesuai kebutuhan.
• Dukungan teknologi PhysX membuat kualitas grafis game yang dihasilkan dengan 3D RAD akan lebih alami dan realistis.


Contoh Game

ini contoh game yang saya buat menggunakan 3D RAD :





Objek – Objek pada 3D RAD

3D RAD merupakan game engine yang sangat user friendly karena memiliki objek-objek yang siap pakai. Setiap objek memiliki fungsi dan karakterisitiknya masing-masing. Objek-objek yang ada pada 3D RAD telah disesuaikan dengan objek-objek yang umum ada pada setiap jenis game 3D. Misalnya objek permukaan tanah (terrain), pohon (tree), mobil (car), langit (skybox), kamera (CamChase) dan sebagainya.



Berikut ini adalah keseluruhan objek siap pakai yang ada pada 3D RAD beserta fungsinya ;

1. Airfoil
Digunakan untuk memberi gaya aerodinamis pada objek lain yang memiliki relasi dengan Airfoil. Objek Airfoil dapat diinteraksikan dengan RigidBody dan Wind.

2. AnimationControl
Berfungsi untuk mengontrol animasi pada model 3D dan objek Skinmesh. Animasi yang dapat dikontrol oleh objek ini adalah animation sequences yang terdapat pada model 3D berformat DirectX (.X).

3. Ball
Ball adalah objek bola siap pakai yang bersifat solid yang dapat mendeteksi tumbukan (collision) antar objek yang juga bersifat solid. Objek ball juga sudah memiliki beberapa property seperti massa (mass), radius dan pantulan (bounciness)

4. Buoy
Buoy berfungsi sebagai simulasi pelampung yang diterapkan pada berbagai objek yang memiliki massa sehingga objek tersebut dapat mengapung di permukaan air, maupun melayang di air.

5. Cam1StPerson
Berfungsi sebagai kamera yang berorientasi pada sudut pandang user sebagai pemain (orang pertama). Kamera ini sekaligus berfungsi sebagai karakter utama.

6. CamChase
Selain sebagai kamera biasa, CamChase memiliki property ‘Chase’ pada objek lain yang akan dijadikan target kamera. CamChase juga memiliki efek kamera seperti buram (blur) dan efek shaking.

7. Car
Car merupakan objek utama yang umum digunakan pada 3D rad. Car merupakan objek mobil yang sudah siap digunakan.

8. CarAI
CarAI (Car Artificial Intelegence) adalah fitur kecerdasan buatan yang dapat lagsung diinteraksikan dengan Car. CarAI membuat mobil bisa bergerak secara auto (sendiri) sesuai dengan property AI yang digunakan.

9. Character
Berfungsi sebagai kontrol dari sebuah karakter. Character dapat diinteraksikan dengan RigidBody yang bentuknya dapat bergerak bebas (seperti bola).

10. ConfigureControls
Jika objek ini ditambahkan dalam game, maka user dapat menentukan sendiri input yang akan digunakan dalam game. Contoh : Walaupun secara default game dimainkan dengan keyboard, tidak menutup kemungkinan user dapat menggunakan joystick sebagai input device.

11. Counter
Counter adalah objek yang digunakan sebagai pengganti fungsi increment/decrement suatu parameter. Counter biasa diterapkan untuk mengubah value parameter seperti score, lives, player health dan sebagainya.

12. EventOnContact
EventOnContact akan menjalankan perintah yang telah dibuat sebelumnya jika mendeteksi tumbukan/kontak fisik/ collision antar objek solid.

13. EventOnInput
EventOnInput akan menjalankan perintah yang telah dibuat sebelumnya jika mendeteksi adanya input dari user.
14. EventOnLocation
EventOnLocation akan menjalankan perintah yang telah dibuat sebelumnya jika objek yang memiliki relasi dengan EventOnLocation berada pada lokasi yang telah ditentukan.

15. EventOnObjectId
Walaupun memiliki bentuk yang sama, setiap objek memiliki Id tersendiri. User bisa memberi perintah yang berbeda pada ObjectId yang berbeda.

16. EventOnProximity
EventOnValue menjalankan perintah yang telah dibuat sebelumnya jika telah mencapai kondisi jarak antar objek.

17. EventOnValue
EventOnValue menjalankan perintah yang telah dibuat sebelumnya jika telah mencapai kondisi value tertentu.

18. EventTimer
EventTimer akan memulai/menghentikan property active dari sebuah objek setelah waktu yang ditentukan telah habis.

19. ExitFade
ExitFade adalah objek yang berfungsi untuk mengakhiri project yang aktif dan memulai project selanjutnya dengan efek fade.

20. Fog
Digunakan untuk menambahkan efek kabut(fog) pada game.

21. Force
Force digunakan untuk menambahkan gaya pada objek 3D yang berbentuk fisik seperti RigidBody.

22. ForceFeedback
ForceFeedback adalah objek yang berfungsi untuk mensimulasikan gaya sebab-akibat. Contohnya dalam kasus bola yang memantul.

23. G-Force
G-Force diterapkan untuk memberikan simulasi gaya gravitasi. Seluruh objek fisik yang memiliki relasi terhadap G-Force akan jatuh sesuai dengan arah gravitasi.

24. Group
Group digunakan untuk mengelompokkan beberapa objek menjadi satu grup. Penggunaan group tidak akan berpengaruh pada relasi antar objek. Group hanya memudahkan user dalam mengatur letak dan posisi objek dalam jumlah banyak sekaligus.

25. GUIWindow
GUIWindow dapat memberikan tampilan GUI pada game untuk mengatur parameter-parameter yang diijinkan untuk diubah.

26. HighwayConstructionKit
Digunakan untuk mendesain konstruksi jalan raya di dalam game. Objek ini merupakan objek fisik statis yang dapat mendeteksi collision dengan objek Car.

27. Imposter
Imposter digunakan untuk melakukan kloning / penggandaan objek pada saat game di-run oleh user atau dalam kondisi tertentu. Penggandaan objek dapat dilakukan secara acak (random) ataupun dengan pola.

28. Joint
Joint adalah objek non fisik yang berfungsi untuk menggabungkan antara objek fisik yang satu dengan objek fisik yang lain.

29. Particles
Particles digunakan untuk menambah efek yang berbentuk partikel seperti ledakan, hujan, salju, asap, debu dan lain-lain.

30. Path
Path adalah objek 3D non fisik yang digunakan untuk membuat suatu jalur (path) yang dapat diikuti / ditelusuri oleh objek yang terkait.

31. PathFinder
PathFinder digunakan untuk membuat suatu objek dapat menemukan target yang ditentukan. Objek dapat mencari target melalui jalur tercepat walaupun diberikan halangan atau rintangan.

32. PCar
PCar adalah objek yang hampir sama dengan Car namun memiliki fitur dan parameter yang lebih lengkap.

33. PointLight
Berfungsi sebagai sumber cahaya pada game. Peletakkan PointLight akan berpengaruh pada bayangan (shadows) setiap objek yang memiliki parameter shadows.

34. Projectile
Projectile berfungsi untuk memberikan gaya seperti peluru pada objek. Objek dapat terlempar bahkan melesat sesuai dengan nilai kelajuan yang diberikan.

35. RaceTracker
RaceTracker adalah objek fisik yang digunakan untuk membuat lintasan balapan. RaceTracker sudah dilengkapi beberapa property yang direlasikan dengan CarAI supaya CarAI dapat mendeteksi lintasan balap.

36. RigidBody
RigidBody adalah objek fisik yang dibentuk dari model 3D berformat DirectX (.X). RigidBody dapat mendeteksi adanya collision antar objek fisik. RigidBody juga dapat memiliki massa dan dapat direlasikan dengan gravitasi (G-Force / Force).

37. Rock
Rock adalah objek siap pakai berupa bentuk batu-batuan.

38. Scanner
Scanner adalah objek non fisik yang digunakan untuk mendeteksi objek fisik yang berada dalam garis lurus scanner. Cara kerja scanner mirip seperti cara kerja sinar laser di dunia nyata.

39. Script
Script adalah objek yang memungkinkan user menuliskan kode (melakukan coding) dengan bahasa pemrograman C++ yang telah memiliki fungsi-fungsi 3DRad. Bahasa ini juga sering disebut AngelScript.

40. Skinmesh
Skinmesh adalah objek fisik yang tidak memiliki massa dan tidak dapat mendeteksi collision antar objek.Skinmesh biasanya digunakan untuk membuat “kulit” dari RigidBody.

41. SkyBox
Digunakan untuk memberikan objek langit (cakarawala) pada game.

42. SoundEffect
SoundEffect adalah objek yang digunakan untuk menambahkan efek suara.

43. SoundSource
SoundSource adalah objek yang diggunakan untuk menambahkan sumber suara pada suatu objek fisik. Suara yang dihasilkan akan sesuai dengan keberadaan objek. Jika objek ada di jarak yang jauh, volume sumber suaranya akan mengecil, begitu pula sebaliknya.

44. Spring
Spring adalah objek yang memiliki visualisasi bentuk shockbreaker (peredam kejut) dan memiliki sifat yang mirip pegas. Objek ini dapat diaplikasikan pada Car maupun PCar untuk menambah kesan realistis secara visual.

45. Sprite
Sprite adalah objek dengan 2 dimensi. Pada umumnya sprite diimplementasikan dalam bentuk menu, tombol, karakter dan background.

46. SunLight
SunLight adalah objek non fisik yang dapat memberikan pencahayaan pada objek fisik lain. Objek ini disimulasikan seperti cahaya matahari.

47. Switch
Switch adalah fungsi yang digunakan untuk melakukan pertukaran (switch) pada objek fisik yang di-handle olehnya.

48. Terrain
Terrain adalah objek fisik siap pakai yang digunakan untuk mensimulasikan kontur permukaan tanah (terrain).

49. TextPrint
TextPrint digunakan untuk menampilkan teks pada display game.

50. Trail
Secara fungsi, Trail hampir mirip dengan Particles. Bedanya, Trail akan meninggalkan jejak partikel sepanjang jalur yang dilewati.

51. Transform
Transform adalah objek non fisik yang berfungsi untuk memberikan transformasi pada suatu objek fisik.

52. Tree
Tree adalah objek fisik yang memiliki visualisasi bentuk pohon. Objek memiliki property collision detection yang dapat diatur.

53. ValueLabel
ValueLabel digunakan untuk mencetak suatu value (seperti score, money, health, dsb.) ke layar.

54. ValueLabelBar
ValueLabel digunakan untuk mencetak suatu value (seperti score, money, health, dsb.) ke layar namun dalam bentuk persegi panjang (bar).

55. Velocity
Velocity digunakan unruk memberi kelajuan pada suatu objek fisik. Fungsi objek ini hampir sama dengan Projectile.

56. WayPoint
WayPoint dapat dijadikan objek fisik maupun non fisik. Fungsinya adalah untuk menandai CheckPoint suatu tempat. Objek ini biasa dipakai pada game balapan (racing).

57. Wheel
Wheel adalah objek siap pakai yang berfungsi sebagai “kulit” dari roda pada Car / PCar.

58. Wind
Wind adalah objek non fisik yang siap pakai. Wind berfungsi untuk mensimulasikan gaya akibat angin. Objek yang dapat dipengaruhi oleh Wind adalah AirFoil dan RigidBody.







Read Another


CATEGORIES



4 komentar :

  1. ka, cara menggunakan exitfade sh gmana? dari kemarin aku coba" ngelink ngga bisa... terus game juga ngga bisa di compile.. mohon bantuannya ka,, soalnya buat tugas akhir smk ka...

    BalasHapus
  2. supaya bisa ngelink pake exitfade itu caranya gmana ya ka?

    BalasHapus
    Balasan
    1. coba baca documentationnya.. dan jangan menyerah.. soalnya seingt saya itu pake coding.. tapi lupa codingnya gimana..
      mungkin ini bisa membantu :
      3DRAD DOCUMENTATION

      Hapus