Mengenal algoritma A* untuk pencarian jalur / rute terdekat

Pencarian jalur atau istilah kerennya adalah pathfinding dalam deskripsi saya adalah proses pencarian rute/jalur (biasanya rute terdekat) dari suatu arena yang pada umumnya memiliki penghalang-penghalang dari arena tersebut. Adapun penghalang dapat berupa tembok, sungai, dsb. Goal dari pathfinding ini pada umumnya adalah untuk mencari jalur paling efisien dengan sebisa mungkin menghindari penghalang yang ada.

Pathfinding dapat diterapkan misalnya dalam membuat AI dari suatu game, misalnya agar AI tersebut dapat mengejar musuh secara efisien dan tanpa menabrak tembok atau menghindari penghalang lain. Terdapat beberapa metode yang dapat diterapkan dalam pathfinding ini, salah satu metode yang sering digunakan adalah A*. Ok, tanpa berbelit-belit langsung saja kita berkenalan dengan metode yang satu ini.

Langkah 1 : Arena
Berikut adalah contoh simple arena yang akan kita gunakan. Warna hijau adalah starting point, warna merah adalah goal/end point, dan biru adalah penghalang. Goal dari aplikasi ini adalah mencari rute dari titik hijau ke merah tanpa melewati penghalang biru

Read more of this post

Simple 2D Sprite di Unity Menggunakan Orthello

 photo orthello-free_zpsabf226d3.png

Unity, mungkin bagi orang yang sering mengunjungi blog ini sudah tidak asing lagi dengan apa yang disebut dengan unity. Ya, unity adalah sebuah game engine dimana engine ini memiliki kemampuan untuk membuat game-game 3D dengan berbagai efek yang memukau, seperti efek lighting, physics, dsb. Namun tahukah Anda jika unity dapat pula digunakan untuk membuat game 2D? Ya, selain untuk membuat game-game 3D ternyata unity juga memiliki kemampuan untuk membuat game 2D. Namun seberapa ampuhkah kemampuan unity untuk membuat game-game 2D? Apakah bisa seampuh engine 2D lain seperti flash, game maker, dsb? Hal ini merupakan pertanyaan yang cukup sulit, karena setiap developer tentu memiliki tools-tools andalan mereka dalam membuat produknya. Namun bagi saya pribadi sebagai seorang developer yang sering memanfaatkan tools Unity, saya sangat yakin bahwa Unity sama sekali tidak kalah dengan engine-engine 2D lainnya asalkan developer mampu memanfaatkan tools-tools dalam unity secara maksimal. Hal ini dibuktikan dengan munculnya berbagai game-game 2D yang cukup fenomenal yang dibuat menggunakan Unity. Sebut saja Bad piggies, game 2D besutan Rovio yang sangat sangat terkenal ternyata juga dibuat menggunakan Unity.

 photo BadPiggies_zps0ed043b7.jpg

Read more of this post

Library yang berguna di Unity

Seperti yang telah saya bahas pada post sebelumnya, Unity merupakan sebuah engine yang sangat powerfull untuk mengembangkan game. Kalau boleh saya katakan, Unity merupakan tools serba bisa untuk mengembangkan game. Unity dapat digunakan untuk mengembangkan berbagai jenis game seperti Role Playing Game (RPG), First Person Shooter (FPS) dsb. Dalam Unitypun sudah didukung berbagai library atau tools yang cukup ampuh unutuk mendukung pembuatan game. Sebut saja component physics NVidia Phisx secara default akan disematkan di unity untuk mempermudah mengaplikasikan hukum-hukum fisika pada sebuah object. Dari segi AI unity juga membenamkan component path finding secara default sehingga akan lebih mempermudah programmer untuk mengembangkan game yang memiliki musuh dengan AI yang mengaplikasikan pathfinding.

Namun, dengan segala bentuk kesaktiannya bukan berarti Unity dapat melakukan segala hal. Ada masih banyak hal yang mungkin tidak dapat dilakukan dengan baik di Unity, sehingga seorang programmer harus merancangnya dari awal. Sebut saja 2D sprite manager, Unity (sampai versi Unity 4) setahu saya belum memberikan fitur untuk menjalankan sprite 2D di enginenya. Untuk itu seorang programmer harus bersusah payah untuk membuat sprite manager agar dapat membuat game 2D di Unity. Untungnya, dari keterbatasan ini unity menyediakan fitur package dalam exstensi .unitypackage yang memungkinkan seorang pengembang pihak ketiga membuat sebuah project library tambahan untuk meningkatkan kesaktian engine ini. Mungkin cukup dulu basa basinya, dan berikut adalah beberapa lib yang menurut saya sangat bermanfaat untuk mengembangkan game :

Read more of this post

Membuat Simple Augmented Reality di Android Menggunakan Unity 3.5.6f4 + Qualcomm Vuforia SDK v2.0

WARNING : Artikel ini menggunakan Vuforia SDK v2.0. Untuk versi yang lebih baru lengkap dengan sample project dapat Anda lihat di artikel ini.

Sudah lama saya tidak membuat artikel panjang. Kali ini berhubung saya sedikit sepi dari tugas dan ada permintaan dari seseorang maka saya kembali menulis sebuah artikel yang mungkin lumayan panjang. Artikel ini sebenarnya merupakan update dari artikel lama saya yang pernah saya tulis di sini. Artikel tersebut sepertinya sudah tidak cocok lagi dengan versi Vuforia yang baru, dimana perkembangan Vuforia SDK ini memang sangat cepat. Beragam fitur baru bermunculan hanya dalam beberapa bulan. Untuk itu tidak heran jika banyak sekali yang protes kepada saya kalau artikel lama saya tersebut tidak bisa dicoba. Hahahaha…. Daripada saya banyak dosa karena menyesatkan banyak orang yang mencoba, maka kali ini saya tulis sebuah update dari artikel saya. Semoga artikel saya kali ini bermanfaat.

Read more of this post

Ngapain sih saya bikin blog?

Siang ini saya sedikit kurang kerjaan. Memang, hari ini sedikit sepi dari tugas-tugas kuliah. Sejak pagi saya hanya duduk ditemani laptop kesayangan saya lengkap dengan browser Firefox yang merupakan browser favorit saya. Hingga pada siang ini saya teringat tentang sedikit perkataan seseorang kepada saya beberapa waktu yang lalu dimana kurang lebih perkataan itu seperti ini “Ngapain sih kamu bikin blog? Dapet uang nggak, capek iya. Kalopun kamu nulis artikel, belum tentu juga artikel kamu dibaca orang”. Hahahaha…. Saya hanya sedikit tertawa kecil dalam hati karena memang saya menulis blog ini bukan untuk dibaca orang lain, tapi memang untuk saya sendiri. Kalaupun ada orang yang baca kebanyakan juga orang yang nemuin blog saya dari google atau orang yang memang ingin mengetahui blog saya. Saya tidak pernah mempromosikan atau menunjukkan blog ini di manapun, termasuk di jejaring sosial atau sejenisnya. Bahkan saya seringkali menolak jika ditanya blog saya kecuali dengan alasan yang masuk akal. Kemudian, ngapain sih saya bikin blog kalo gak buat dibagi? Inilah beberapa alasan saya kenapa saya membuat blog ini.

Read more of this post

Koneksi ADB over Wifi (Debugging via Wifi)

Sekedar share nih.. Berangkat dari penglaaman pribadi. Bagi Anda seorang programmer Android pasti pernah akan melakukan yang namanya debugging langsung di HP, maksudnya bukan di emulator. Nah… Kalo anda sedang melakukan debuging  pasti nih Anda maen-maen dengan tools yang namanya adb. Nah… Pada umunya secara default adb dapat dijalankan over USB kabel. Masalahnya, bagaimana jika anda ingin membuat program yang memanfaatkan fitur accelerometer? Anda harus menjungkir balikkan handphone Anda untuk mengetes apakah program Anda sudah berjalan baik atau belum. Bayangkan jika Anda menggunakan kabel. Yahh…. Lagi enak-enak jungkir balik eh koneksinya putus….. Dan debugpun berakhir sehingga harus dimulai dari awal lagi. Nah pada artikel kali ini saya ingin sedikit berbagi untuk menguprek device Android Anda, yaitu untuk membuat koneksi adb bukan lagi melalui USB kabel melainkan melalui koneksi wifi. Yuk… Langsung aja kita praktek….

Read more of this post

Link-link tutorial game development

Banyak orang yang tertarik untuk belajar mengembangkan permainan. Namun terkadang mereka bingung harus memulai darimana dan apa saja yang harus dipersiapkan. Sebenarnya, jika kita mau bertanya kepada salah satu situs pencari terhebat, google, maka akan banyak tutorial-tutorial yang ditemukan. Namun seringkali orang yang akan belajar bahkan tidak tau harus memakai kata kunci apa untuk memulainya dan mana saja situs yang menarik untuk diikuti. Pada postingan kali ini saya akan memberikan link-link yang dulu sempat saya ikuti ketika saya memulai untuk belajar mengembangkan permainan. Dan berikut adalah segelintir link yang saya ketahui :

Read more of this post

Very simple AI di Unity

AI (Artificial intelligence), mungkin sudah tidak asing di benak para game developer. Ya, AI adalah sebuah kecerdasan yaitu sebuah kecerdasan yang dibangun menusia dan diterapkan kepada sebuah mesin agar mesin tersebut dapat berpikir menyerupai manusia. Berbagai metode diciptakan untuk mengembangkan AI dan membuat mesin sepintar mungkin. Namun sebelum Anda mempelajari AI secara lebih dalam dengan menggunakan metode A, B C, D, E sampai Z, ada baiknya anda belajar dahulu simple A.

Kali ini saya akan membuat sebuah karakter sederhana, dengan kemampuan mengejar dan merubah arah secara halus (smooth). Mungkin ini hal ini masih sangat sangat jauh jika disebut AI. Tidak ada algoritma khusus, tidak ada kemampuan khusus, dan hanya dapat mengejar objek saja. Namun cara ini cukup sering saya pakai untuk mebuat karakter dengan karakter AI simple yang tidak membutuhkan pencarian rute (findingpath) dan kemampuan bertele-tele. Ok, langsung saja kita mulai pembuatannya.

Read more of this post

Blog yang semakin tidak terurus

Sederet kesibukan menyerang dengan bertubi-tubi. Mulai tugas akhir yang banyak menyita waktu, urusan pekerjaan untuk mencari makan, sampai urusan lomba Gemastik 5 yang cukup bikin saya pusing tujuh keliling. Alhasil blog saya amenjadi semakin tidak terurus. Mungkin sudah lebih dari 4 bulan saya hampir melupakan blog ini. Begitu saya buka, tampak puluhan notifikasi pertanyaan yang mungkin tidak dapat semuanya saya jawab. Saya mohon maaf bagi beberapa komentar yang mungkin belum saya jawab. Jangan sungkan untuk berkomentar lagi, semoga selanjutnya saya dapat menjawab semua komentar dan pertanyaan yang masuk.

Andengine, Library Imut Yang Tangguh untuk Android Game Developer

Andengine, mungkin hanya sedikit dari anda yang tahu. Bahkan mungkin juga sebagian besar dari anda baru mengenal kata ini setelah anda membaca artikel ini. Memang, saya sendiri juga sangat awam tentang hal ini. Mulanya saya juga tidak tahu apa itu Andengine, sampai pada suatu ketika karena tuntutan saya harus menggunakan library ini untuk mengembangkan suatu permainan yang saya buat bersama teman-teman saya. Mungkin jika berkenan anda dapat membaca sedikit pengalaman saya ketika membuat game dengan menggunakan library ini disini.

Sebenarnya saya sendiri merasa kurang pantas jika menjelaskan tentang Andengine, karena saya sendiri juga baru sekali memakainya. Tapi apalah artinya ilmu jika tidak diterapkan dan dibagikan, untuk itu pada artikel kali ini saya akan sedikit memaparkan apa itu Andengine dan apa kelebihan kelemahan dari library ini.

Read more of this post