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

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

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

Berkenalan Lebih Jauh dengan Game Engine Unity3d (For Beginner)

Setelah beberapa hari saya tidak mengurus blog ini, akhirnya hari ini saya mulai lagi menulis artikel sebagai pengisi blog ini. Artikel ini saya tujukan khususnya untuk teman saya yang sekarang sedang gencar-gencarnya mulai belajar unity untuk proyek akhir, dan sekaligus untuk siapapun yang ingin memulai belajar game engine unity ini. Saya berharap semoga artikel kali ini bermanfaat bagi siapapun yang membaca. ^^

Unity, adakah dari pembaca yang masih belum tau apa itu Unity??! Bagi yang belum tau apa itu unity monggo dibaca artikel saya sebelumnya disini. Sekedar review aja, Unity adalah salah satu game engine yang banyak digunakan. Dengan software ini, anda dapat membuat game anda sendiri dengan lebih mudah dan cepat. Hebatnya lagi, unity mensuport pembuatan game dalam berbagai platform, misal Unity Web, Windows, Mac, Android, iOS, XBox, Playstation 3 dan Wii.

Mungkin bagi anda yang belum familiar dengan Unity akan sedikit susah untuk mengerti cara menggunakan game enggine ini. Jadi sebelum anda menjadi seorang developer game yang hebat, ada baiknya anda membaca sedikit artikel ini agar anda tahu cara menggunakan Unity. Dibawah ini adalah poin-poin penting yang sangat mendasar tentangĀ  bagaimana cara menggunakan software Unity ini.

Read more of this post

Membuat Aplikasi Augmented Reality Berbasis Android Menggunakan Unity + Vuforia SDK

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

Sebenarnya artikel ini ingin saya tulis di bagian akhir blog ini karena sepertinya artikel ini hanya bersifat tambahan dan pelengkap saja. Namun karena request dari beberapa teman dan saya pikir banyak teman yang mengambil judul proyek akhir tentang Augmented Reality maka saya tulislah artikel ini. Semoga artikel ini dapat bermanfaat bagi pembaca ^^

Augmented Reality, mungkin bagi orang yang awam dengan dunia IT merupakan kata yang asing dan jarang diucapkan. Namun bagi orang yang sehari-harinya bergelut dengan dunia IT dan pemrograman tentu tidak asing dengan kata ini. Kemudian apa yang dimaksud dengan Augmented reality itu?? Menurut sumber Wikipedia dengan link http://id.wikipedia.org/wiki/Realitas_tertambah yang dipetik tanggal 16 Februari 2012 jam 12.53, Augmented Reality atau sering disingkat sebagai AR adalah teknologi yang menggabungkan benda maya dua dimensi dan ataupun tiga dimensi ke dalam sebuah lingkungan nyata tiga dimensi lalu memproyeksikan benda-benda maya tersebut dalam waktu nyata.Tidak seperti realitas maya yang sepenuhnya menggantikan kenyataan, realitas tertambah sekedar menambahkan atau melengkapi kenyataan.

Daripada saya menjelaskan dengan berbusa-busa, langsung saja saya beri contoh augmented reality. Berikut adalah foto-fotonya :

Atau lebih jelas nya lihat video di bawah

Nah…. Sekarang sudah tau kan apa itu AR… Kalau sudah tau langsung saja kita belajar cara membuatnya. Dijamin tidak susah dan tidak ribet ^^ Berikut adalah langkah-langkahnya : Read more of this post