Tampilkan postingan dengan label Research. Tampilkan semua postingan

Jumat, 07 September 2018

Hand Gesture Recognition Pada Aplikasi Pengenalan Bangun Ruang Dengan Leap Motion Controller



Abstract: 

Dalam mempelajari bangun ruang seringkali pelajar Sekolah Dasar mengalami kesulitan pemahaman terhadap materi yang diberikan. Maka diperlukan suatu alat peraga interaktif dan menarik dalam bentuk aplikasi multimedia Pengenalan Bangun Ruang supaya dapat meningkatkan minat belajar dan pemahaman siswa-siswi dalam mempelajari materi bangun ruang. Penulis menggunakan teknologi Leap Motion Controller untuk mengimplementasikan Hand Gesture Recognition yaitu pengembangan dari Hand Motion Tracking. Dengan demikian, aplikasi dapat dikontrol dengan menggunakan gerakan tangan tanpa keyboard ataupun mouse. Penulis menemukan bahwa variasi dan persentasi ketepatan gestur pada aplikasi-aplikasi sebelumnya belum optimal. Dengan menggunakan metode Multimedia Development Life Cycle (MDLC), penelitian ini bertujuan menambah variasi jenis gestur yang digunakan serta meningkatkan persentasi ketepatan dalam mengenal gestur. Hasil dari penelitian adalah aplikasi dengan fitur 10 jenis definisi gestur, yaitu: Tap, Swipe, Clap, Double Outward Swipe, Circular, Fly Control, Pinch, Release, Push dan Pull. Ketepatan penerjemahan gestur mencapai 91.6% pada frame rate 30 fps dan eksekusi CPU sebesar 45,53 ms.


Demo Video : 

Sabtu, 28 Juli 2018

Ubah Foto Jadul Hitam Putih Menjadi Berwarna dengan Colorize



Berawal dari rasa penasaran saya akan pertanyaan bagaimana video pada film dokumenter perang dunia ke dua bisa disajikan berwarna? Padahal saat itu kita tau bahwa pada tahun itu belum ada teknologi kamera dengan warna. Hanya hitam dan putih. Dunia seakan kelabu.

Seperti yang terlihat pada video National Geographic berikut 


Bagi saya, teknologi restorasi ini penting sekali untuk mengembalikan dan meng-upgrade dokumen sejarah menjadi se-nyata mungkin supaya bisa lebih menarik untuk dipelajari di masa depan.

Setelah googling, saya akhirnya tau bahwa saat ini ternyata memang sudah ada teknologi dengan algoritma pengolahan citra yang brilian dan kompleks yang bisa secara otomatis hanya dalam hitungan detik bisa "mewarnai" foto jadul alias foto hitam putih. Dan teknologi ini sekarang tidak eksklusif lagi. Kita sudah bisa mencoba, mengimplementasikan dan mengembangkannya secara bebas.

Kalian bisa langsung mencobanya di : 


Halaman utama Colorize, Tinggal upload dan lihat hasilnya..

Kodenya ditulis dengan menggunakan bahasa pemrograman Python

Source code bisa dipakai untuk pengembangan :
https://github.com/richzhang/colorization

Pada halaman abstraknya, mereka menyebutkan bahwa machine learning ini menggunakan "hints" yaitu saran warna yang ditentukan oleh komputer. Dan pada databasenya disebutkan bahwa sudah mengantongi lebih dari 1 juta referensi gambar dan warna. Sehingga hasil yang dikeluarkan oleh proses pewarnaan ini cukup nyata mendekati citra aselinya. 

Wah, keren banget ya!


Referensi Lengkapnya :

Minggu, 06 Mei 2018

Membuat Aplikasi Cross-Platform dengan Corona SDK

CORONA SDK

Corona adalah sebuah framework cross-platform yang digunakan untuk membuat aplikasi dan game yang ditujukan untuk mobile device, desktop maupun TV. Artinya, anda hanya cukup sekali melakukan pengkodean yang bisa di-publish ke multi device. Termasuk Apple iPhone dan iPad, Android phone dan tablet, Amazon Fire, Mac desktop, Windows Desktop, dan bahkan terkoneksi dengan TV seperti Apple TV, Fire TV, dan Android TV.

Corona digunakan oleh programmer profesional, pengembang aplikasi mobile, bisnis, sekolah dan universitas yang mengutamakan pemfokusan game, aplikasi edukasi dan bisnis maupun aplikasi utilitas lainnya. Bisa dibilang Corona cukup mudah dipelajari bagi pemula seperti saya contohnya, dan cukup powerful bagi para professional developer. Dengan menggunakan Corona, anda mendapatkan beberapa manfaat berikut :

1. Corona sangat lengkap dari segi framework untuk membuat berbagai macam aplikasi
2. Cross-platform, satu basis kode dan bisa di-compile ke multi device
3. Berbasis Lua script, mudah untuk dipelajari.
4. Mendukung realtime device testing dan Corona simulator
5. Ada lebih dari 1000 API yang bisa dimanfaatkan
6. Tersedia Corona Plugin yang siap pakai, termasuk monetization plugins.
7. Terdapat Corona marketplace untuk membeli item-item premium
8. File installer relatif kecil dibandingkan Android Studio misalnya, hanya 80 MB
9. Tidak native, namun disediakan juga bila ingin memanggil library kode native lewat JNLua misalnya (sebuah jembatan antara bahasa Java dan Lua).
10. Sudah "Game-Ready" dengan fitur-fitur berikut : Multi-Element Collisions, Allowing Jumps, Ray Casting and Reflection, Uniqueness of Post-Collisions, Predicting Trajectory, LiquidFun Essentials, LiquidFun Particle Collisions, Radial Gravity, Non-Physical Collisions

Dan salah satu kelebihan Corona lagi adalah, sudah tersedia banyak contoh aplikasi bawaan yang bisa menjadi dasar dalam membuat aplikasi yang lebih kompleks lagi. Contohnya seperti gambar berikut :


Satu lagi yang saya rasakan kemudahannya saat pertama kali menggunakan Corona adalah kemudahan melakukan build ke target yang dituju. Android / iOs ataupun windows. Syaratnya komputer anda harus terkoneksi internet, lalu Corona akan melakukan build dengan menggunakan servernya.


Walaupun tidak semudah Game Maker Studio, namun yang perlu diperhatikan bahwa Corona ini gratis, jadi anda dan saya yang jika memiliki masalah modal yang minim XD bisa langsung publish aplikasi keren tanpa harus bayar tools ini. 

Yang mau coba, bisa langsung download dan baca dokumentasinya di coronalabs.com

* Jasa Pembuatan Aplikasi Web / Android
* 08977791190 - Whatsapp (David)

Senin, 29 Februari 2016

Tutorial Leap Motion Virtual Hands pada Unity 5



Setelah pada tutorial sebelumnya, yaitu menginstall Leap Motion Core Asset, langkah selanjutnya adalah mencoba memasukkan objek Virtual Hands kedalam scene Unity. Bagaimana caranya ?

1. Setelah Leap Motion package diinstall, kita cari HandController prefab pada direktori Leap Motion -> prefabs -> HandController.prefab.

2. Drag HandController.prefab kedalam scene game


3. Pastikan posisi HandController.prefab (berbentuk ikon Leap Motion) diposisikan dalam jangkauan kamera atau persis di depan kamera.

4. Lalu coba pasangkan terlebih dulu Leap Motion device ke USB komputer, lalu klik tombol play, dan maikan.

5. Jika ukuran Virtual Hands terlalu kecil maka kita dapat melakukan transform yaitu memperbesar objek HandController, atau mendekatkan posisi kamera. Semua tergantung kebutuhan dan kreatifitas anda. Proses cara transform bisa dilakukan dengan mengubah nilai Scale pada  x, y, z di properti transform. Atau bisa juga dengan menekan tombol R pada keyboard. 


6. jika ukuran sudah dirasa pas, maka Virtual Hands akan terlihat proporsional


Nah, untuk dasarnya, kita sudah berhasil memasukkan objek Virtual Hands, secara default bentuk tangan virtual akan terlihat seperti screenshoot di atas.

Melakukan kustomisasi pada Virtual Hands

1. Kita dapat melakukan kustomisasi dengan membuat sendiri prefab dengan 3D modeller seperti blender atau 3DS MAX atau bisa menggunakan model-model yang sudah ada.

2. Kita bisa lihat di dalam folder Prefabs akan banyak pilihan, baik itu tangan robot ataupun tangan manusia. Tinggal menyesuaikan Hand Controller (Script) dengan prefab yang kita pilih. Sesuaikan Graphics dan Physics nya.


3. Jika diganti dengan model tangan manusia, Maka akan terlihat seperti berikut


Sampai jumpa di tutorial berikutnya!

Tutorial Install Leap Motion Package pada Unity 5



Tutorial kali ini akan membahas bagaimana cara mengimport atau menginstall paket Unity 5 yang diperlukan untuk dasar pengembangan aplikasi berbasis Leap Motion Controller. Bisa dibilang ini adalah tahap awal pengembangan aplikasi. Berikut langkah-langkahnya :

1. Buat dulu poject baru dengan pilih New Project, beri nama serta tentukan path penyimpanannya. Lalu create project.



2. Siapkan Leap Motion package, jika belum ada download dulu di :
atau

Paket Unity yang diperlukan dalam perancangan aplikasi dengan Leap Motion Controller adalah paket resmi dari Leap Motion yaitu LeapMotionCoreAsset versi 2.312 (atau yang terbaru juga boleh).

3. Setelah didownload, silakan disimpan dimana saja.

4. Untuk menerapkan Custom Package, klik kanan pada project view lalu Import Package , lalu Custom Package seperti yang tertera pada gambar berikut ;


Pilih package yang didownload tadi.

5. Pada pilihan pada saat import package, paket OVR tidak perlu dicentang karena OVR adalah plugin untuk perangkat Oculus Virtual Reality (Kecuali anda mau mendevelop Oculus).


Pilih import, maka paket Leap Motion development yang meliputi model, scene example, source code, dan plugin sudah berhasil diinstall.

6. Komponen utama adalah virtual hands yang merupakan UI controller berbentuk tangan manusia. Untuk mengimplementasikan virtual hands, paket Leap Motion telah menyediakan prefab HandController.


Lanjut ke Tutorial Selanjutnya

Minggu, 06 Desember 2015

Pembuatan Game Bajaj 3D dengan 3D RAD

Gameplay Bajaj Kota 3D Game

Teknologi 3 dimensi (3D) adalah teknologi multimedia yang dewasa ini telah berkembang pesat. Hampir segala bidang multimedia sudah menerapkan teknologi 3D seperti industri film, televisi, iklan, perangkat seluler dan game.

Penerapan teknologi 3D dimaksudkan agar para penikmat produk multimedia dapat melihat dan merasakan sensasi atau pengalaman yang terlihat lebih nyata. Hal ini membuat para pengembang perangkat lunak komputer pun berlomba-lomba untuk membuat game 3D dengan tampilan grafis yang sedekat mungkin dengan image di dunia nyata.

Indonesia sudah mulai menjadi pangsa pasar yang cukup menjanjikan bagi para developer game. Dapat dilihat dari banyaknya kaum remaja Indonesia yang banyak merelakan waktu dan biaya untuk bermain game. Sayangnya, game yang mereka mainkan kebanyakan merupakan produk asing yang sarat akan kekerasan dan kurang mengedepankan unsur budaya Indonesia. Dengan memainkan game “Bajaj Kota”, warga Jakarta tidak melupakan salah satu transportasi yang sudah mulai ditinggalkan ini.

DOKUMENTASI & TUTORIAL : 



HASIL : 


Butuh full documentation?
email : davidpras1994@gmail.com

Tags:
membuat game 3d cepat,
membuat game bajaj, membuat game angkot,
3d rad export import object,
research and development

Sabtu, 05 Desember 2015

Tutorial Prestashop - Membuat Toko Online Cepat dan Mudah


Toko online bukan lagi barang baru di jagat internet. Banyak yang menggunakan media toko Online sebagai media untuk menjual barang dengan harapan menjangkau pasar yang lebih luas.

Dengan teknologi yang ada sekarang, membuat website toko online bisa sangat cepat dan mudah. Dengan paket yang dinamakan CMS (Content Management System), user tidak perlu lagi memikirkan coding untuk memanajemen toko onlinenya.

Prestashop adalah salah satu CMS online-shop yang paling terkenal dengan ribuan developer yang tersebar di seluruh dunia. Paket CMS tersedia gratis sedangkan untuk pluginnya ada yang berbayar.

Berikut ini adalah tutorial cara membuat toko musik / toko CD online dengan prestashop.
Untuk Projectnya dapat didownload disini


Selasa, 01 Desember 2015

Tutorial Membuat Game Simulasi Pesawat Terbang 3D dengan 3DRAD


Anda bercita-cita jadi pilot? Tentunya tidak kan? Karena anda membaca tutorial ini pasti ingin menjadi seorang developer game. 3D Rad adalah sebuah game engine yang terbilang cukup mudah digunakan terutama karena example game nya yang lengkap. Engine ini juga sudah didukung teknologi PhysX yang membuat game akan menjadi lebih nyata dari sisi pergerakan fisika seperti air, tanah, benturan, gravitasi dan elemen lainnya. Maka 3D Rad sangat cocok untuk membuat suatu program simulasi 3D.

Siapkan bahan-bahannya.
- 3DRAD ( download free)
- Sketchup (Versi berapa saja bebas)
- 3DRad Exporter (download disini)

Sebelumnya install dulu semua software.

Untuk plugin 3DRAD exporter, masukkan file 3DRadExporter.rbs ke dalam folder direktori \SketchUp\SketchUp 2015\ifcplugin atau \SketchUp\SketchUp 2015\Tools
masing-masing komputer berbeda, tergantung dimana anda menginstalnya. Tergantung pula versinya.

Jika sudah, mari berkarya!

1. Cari model pesawat yang anda suka misal : boeing 747-400 di www.3dwarehouse.sketchup.com. Kalau bisa jangan yang ukurannya terlalu besar supaya tidak memberatkan game.

2. Download dan pastikan formatnya berbentuk .SKP

3. Buka 3DRAD

4. Buka contoh project bernama AircraftDemo cari yang Autobalance. Format 3DRAD adalah .3dr

5. Sekarang Buka model pesawat yang sudah didownload dengan sketchup

6. Ekspor sebagai skinmesh. pada menu Extensions - 3D Rad - (3)


7. Secara auto, model akan disimpan ke dalam folder skinmesh. 

8. Pada project anda, tambahkan skinmesh, lalu sesuaikan dengan ukuran pesawat terbang yang ada pada contoh AircraftDemo . maka akan jadi seperti ini :


9. Sekarang setting beberapa properties supaya saat dimainkan pesawat lebih terasa nyata dari segi berat dan kecepatannya. Jika gambarnya kurang jelas, open link in new tab saja gambarnya atau download.














10. Pastikan sesuaikan posisi roda sesuai supaya seimbang. Ukuran roda juga harus disesuaikan dengan badan pesawat, jangan terlalu besar.

11. Untuk test game, tekan tombol spasi. Keyboard angka 1, 2, 3, untuk atur kekuatan mesin lalu tombol arah untuk mengendalikan pesawat. Untuk mengangkat pesawat, tekan arah bawah. Untuk membuat pesawat menukik, tekan tombol arah atas.

12. Jika sudah sesuai, silahkan percantik scene game anda dengan model-model yang tersedia di internet.


13. Jangan lupa bagian terrain / tanah harus rata dan berupa rigidbody supaya roda tidak tembus.

14. Sesuaikan posisi kamera dan jumlah kamera

15. Untuk lebih jelasnya tentang manual 3D Rad silahkan baca documentationnya disini

16. Jika anda mau download contoh game simulasi pesawat boeing yang sudah jadi, bisa klik DISINI

Pertanya? kritik saran?
email aja atau mention twitter.
Thanks for your visit :)

Jangan lupa baca juga sebagai referensi anda:
Bikin Game 3D Cepat dan Mudah? 3D RAD Solusinya!
Membuat Game 3D (3 Dimensi) Komputer dengan Mudah

Rabu, 23 September 2015

Leap Motion Controller


Leap Motion

Leap Motion adalah sebuah perangkat keras yang dapat mendeteksi pergerakan jari-jari tangan dan memungkinkan user untuk berinteraksi dengan komputer dengan cara menggerakkan jari atau melambaikan tangan tanpa harus menyentuh atau menggunakan mouse.

Natural User Interface (NUI) Device adalah istilah yang muncul untuk menyebutkan perangkat yang dapat mendeteksi citra, pola dan gerak tubuh manusia untuk dikonversi menjadi input yang dikenal oleh komputer. Setelah kemunculan Kinect, dirilisnya Leap Motion Controller tahun 2013 menambah variasi dari implementasi dan pengembangan real-time motion tracking dalam bidang sains komputer. Potensi penggunan Leap Motion dapat mencakup aspek yang sangat luas seperti personal PC controller, presentasi interaktif, virtualisasi di bidang pendidikan dan kesehatan, industri kreatif seperti game dan musik, hingga simulasi dan pemodelan sistem bidang lainnya.'


Aplikasi Leap Motion


Leap Motion Controller menggunakan pencitraan infrared (IR) untuk menentukan posisi dari predefined-objects pada ruang terbatas secara real-time. Secara teknis algoritma yang digunakan sejauh ini masih dirahasiakan terkait dengan hak paten Leap Motion, Inc. Leap Motion menggunakan sistem koordinat Kartesian tangan-kanan untuk menentukan posisi pada jangkauan sensor. Jarak efektif penggunaan Leap Motion adalah 25-600 milimeter di atas sensor dengan sudut jangkauan sekitar 150O

Selasa, 12 Mei 2015

Tutorial Greenfoot - Membuat Game Sederhana ala Feeding Frenzy


Gambaran Umum Game

• Game ini memiliki skenario sederhana yaitu 1 aktor ikan yang lapar, 2 aktor ikan yang dapat dimakan, 1 aktor ikan yang beracun.
• Game terdiri dari 2 scene yaitu scene Level dan Menu.
• Pada Level1, jika berhasil memakan lebih dari 10 ikan, maka pemain dinyatakan menang. Sedangkan jika pemain menyentuh ikan beracun, maka pemain dinyatakan kalah.


Langkah Pembuatan
Langkah Pembuatannya adalah sebagai berikut :

1) Siapkan Resource Image dan Sound untuk project ini.

(Download di SINI )

Letakan gambar berikut di folder images :
*Semua image berformat .png

Letakan file suara berikut di folder sounds :


*Bisa pakai gambar dan sounds dari anda sendiri, tapi jangan lupa nama dan ekstensi disesuaikan dengan coding nantinya.

Buat subclass-subclass berikut :




2) Mari kita Mulai Coding!

Class Levels

 import greenfoot.*;   
 abstract class Levels extends World  
 {  
   public Levels()  
   {      
     super(800, 600, 1);  
   }  
 }  


Class Level1

 import greenfoot.*;   
 public class Level1 extends Levels  
 {  
   public Level1()  
   {    
     super();  
     prepare();  
  }  
  public void prepare()  
   {  
     Crab crab = new Crab();  
     addObject(crab, 506, 668);  
     Crab crab2 = new Crab();  
     addObject(crab2, 657, 602);  
     crab.setLocation(499, 546);  
     crab2.setLocation(652, 567);  
     crab.setLocation(491, 511);  
     crab.setLocation(482, 501);  
     IkanJahat hungryFish = new IkanJahat();  
     addObject(hungryFish, 434, 135);  
     fish fish = new fish();  
     addObject(fish, 212, 262);  
     fish fish2 = new fish();  
     addObject(fish2, 408, 307);  
     fish fish3 = new fish();  
     addObject(fish3, 506, 313);  
     fish fish4 = new fish();  
     addObject(fish4, 517, 268);  
     fish fish5 = new fish();  
     addObject(fish5, 203, 89);  
     fish fish6 = new fish();  
     addObject(fish6, 147, 51);  
     fish fish7 = new fish();  
     addObject(fish7, 102, 169);  
     fish fish8 = new fish();  
     addObject(fish8, 94, 254);  
     fish fish9 = new fish();  
     addObject(fish9, 180, 320);  
     fish fish10 = new fish();  
     addObject(fish10, 264, 342);  
     fish fish11 = new fish();  
     addObject(fish11, 311, 53);  
     fish fish12 = new fish();  
     addObject(fish12, 519, 56);  
     fish fish13 = new fish();  
     addObject(fish13, 266, 217);  
     fish fish14 = new fish();  
     addObject(fish14, 422, 237);  
     fish fish15 = new fish();  
     addObject(fish15, 89, 99);  
     fish fish16 = new fish();  
     addObject(fish16, 57, 353);  
     fish1 fish1 = new fish1();  
     addObject(fish1, 154, 149);  
     fish1 fish17 = new fish1();  
     addObject(fish17, 259, 259);  
     fish1 fish18 = new fish1();  
     addObject(fish18, 25, 42);  
     fish1 fish19 = new fish1();  
     addObject(fish19, 40, 268);  
     fish1 fish110 = new fish1();  
     addObject(fish110, 417, 368);  
     fish1 fish111 = new fish1();  
     addObject(fish111, 524, 251);  
     fish1 fish112 = new fish1();  
     addObject(fish112, 317, 298);  
     fish3 fish32 = new fish3();  
     addObject(fish32, 259, 159);  
     fish3 fish33 = new fish3();  
     addObject(fish33, 40, 148);  
     fish3 fish34 = new fish3();  
     addObject(fish34, 530, 205);  
     fish3 fish35 = new fish3();  
     addObject(fish35, 242, 37);  
     fish3 fish36 = new fish3();  
     addObject(fish36, 145, 355);  
     fish3 fish37 = new fish3();  
     addObject(fish37, 174, 241);  
     fish3 fish38 = new fish3();  
     addObject(fish38, 553, 378);  
     fish111.setLocation(443, 24);  
     fish2.setLocation(574, 127);  
     fish38.setLocation(347, 230);  
     fish110.setLocation(528, 370);  
     fish10.setLocation(395, 371);  
     fish36.setLocation(408, 306);  
     fish.setLocation(257, 382);  
     fish17.setLocation(147, 373);  
     fish37.setLocation(104, 28);  
     fish33.setLocation(33, 376);  
     fish32.setLocation(186, 251);  
     fish34.setLocation(575, 68);  
     fish38.setLocation(501, 219);  
     fish3 fish39 = new fish3();  
     addObject(fish39, 260, 149);  
     fish3 fish310 = new fish3();  
     addObject(fish310, 48, 159);  
     removeObject(fish14);  
     removeObject(fish39);  
     removeObject(fish36);  
     removeObject(fish10);  
     removeObject(fish6);  
     removeObject(fish12);  
     removeObject(fish);  
     removeObject(fish9);  
     fish32.setLocation(206, 328);  
     fish13.setLocation(300, 359);  
     hungryFish.setLocation(425, 143);  
     fish34.setLocation(415, 348);  
     fish35.setLocation(544, 65);  
     fish111.setLocation(215, 31);  
     fish3.setLocation(267, 214);  
     fish7.setLocation(433, 29);  
     fish11.setLocation(200, 250);  
     fish34.setLocation(249, 572);  
     fish110.setLocation(727, 620);  
     fish13.setLocation(934, 322);  
     fish112.setLocation(368, 686);  
     fish32.setLocation(147, 608);  
     fish17.setLocation(597, 551);  
     fish33.setLocation(39, 471);  
     fish16.setLocation(270, 383);  
     hungryFish.setLocation(765, 128);  
     fish4.setLocation(477, 341);  
     fish38.setLocation(637, 437);  
     fish3.setLocation(377, 143);  
     fish11.setLocation(160, 357);  
     fish8.setLocation(891, 515);  
     fish1.setLocation(375, 519);  
     fish5.setLocation(666, 388);  
     fish111.setLocation(263, 216);  
     fish37.setLocation(153, 198);  
     removeObject(fish7);  
     removeObject(fish3);  
     removeObject(fish11);  
     removeObject(fish17);  
     removeObject(fish13);  
     removeObject(fish4);  
     bubble bubble = new bubble();  
     addObject(bubble, 763, 375);  
   }  
 }  


Class IkanJahat

 import greenfoot.*;   
 public class IkanJahat extends Actor  
 {  
   public int totalPoisonEat = 0;  
   public int totalFishEat = 0;  
   Score score_field = new Score("Score:" + totalFishEat);  
   public void act()   
   {  
     keyBoardControl();  
     eat();  
     checkScore();  
   }    
   public void checkScore()  
   {  
     if(totalPoisonEat >= 1)   
     {  
       setImage("fishMainDead.png");   
       loose alert_loose = new loose();  
       getWorld().addObject(alert_loose, 370, 300);     
       Greenfoot.delay(350);  
       Greenfoot.setWorld(new MenuScreen());  
     }  
     if(totalFishEat >= 10)   
     {  
       win alert_win = new win();  
       getWorld().addObject(alert_win, 370, 300);   
        Menus.titleSound.stop();  
       Greenfoot.playSound("fanfare.wav");  
       //Greenfoot.stop();  
       Greenfoot.delay(350);  
       Greenfoot.setWorld(new MenuScreen());  
     }  
   }  
   public void keyBoardControl()  
   {   
     if (Greenfoot.isKeyDown("left") )  
     {  
       setImage("fishMain2left.png");      
       move (-3) ;  
       if (Greenfoot.isKeyDown("down"))  
         turn (-3) ;  
       if (Greenfoot.isKeyDown("up"))  
         turn (3);     
     }     
     if (Greenfoot.isKeyDown("right"))  
     {   
       setImage("fishMain2.png");  
       move (3);  
       if (Greenfoot.isKeyDown("down"))  
         turn (3) ;  
       if (Greenfoot.isKeyDown("up"))  
         turn (-3);  
     }  
   }  
   public void eat()  
   {  
     Actor Score;  
     Actor fish;  
     fish = getOneObjectAtOffset(4, 4, fish.class);  
     getWorld().addObject(score_field, 90, 30);  
     if (fish != null)  
     {  
       World Sea;  
       Sea = getWorld() ;  
       Sea.removeObject(fish);  
       Greenfoot.playSound("eating.wav");  
       totalFishEat++;  
       score_field.setText("Score: " +totalFishEat);  
       hitafish();  
     }  
     Actor fish1;  
     fish1 = getOneObjectAtOffset(4, 4, fish1.class);  
     if (fish1 != null)  
     {  
       World world;  
       world = getWorld() ;  
       world.removeObject(fish1);  
       Greenfoot.playSound("eating.wav");  
       totalFishEat++;  
       score_field.setText("Score: " +totalFishEat);  
       hitafish();  
     }  
     Actor fish3;  
     fish3 = getOneObjectAtOffset(4, 4, fish3.class);  
     if (fish3 != null)  
     {  
       World world;  
       world = getWorld() ;  
       world.removeObject(fish3);  
       Menus.titleSound.stop();  
       Greenfoot.playSound("loose.mp3");  
       totalPoisonEat++;  
       hitafish();  
     }  
   }  
   private void hitafish()  
   {  
     Levels SeaWorld = (Levels) getWorld();  
   }  
 }  

Class Menus

 import greenfoot.*;   
 abstract class Menus extends World  
 {  
   public static GreenfootSound titleSound;  
   public Menus()  
   {    
     super(720, 480, 1);  
     if (this.getClass().getName().equalsIgnoreCase("MenuScreen"))  
     {  
       addObject(new StartBtn(), 80, 100);  
       addObject(new StoryBtn(), 100, 220);  
       addObject(new HelpBtn(), 80, 310);  
       titleSound = new GreenfootSound("title-theme.mp3");  
       titleSound.stop();  
             titleSound.setVolume(70);  
             titleSound.playLoop();  
     }  
     else  
     {  
       addObject(new BackBtn(), 100, 400);  
     }  
   }  
 }  

Class Button

 import greenfoot.*;   
 public class Buttons extends Actor  
 {  
   public void act(String buttonName)   
   {  
     if (Greenfoot.mouseMoved(this)) {  
       setImage(buttonName + "_over.png");  
     } else if (Greenfoot.mouseMoved(null)) {  
       setImage(buttonName + ".png");  
     }  
     if (Greenfoot.mousePressed(this)) {  
       getImage().scale((int)Math.round(getImage().getWidth() * 0.9), (int)Math.round(getImage().getHeight() * 0.9));  
     }  
     if (Greenfoot.mouseClicked(null) || Greenfoot.mouseDragEnded(null)) {  
       setImage(buttonName + ".png");   
     }  
     if (Greenfoot.mouseClicked(this)) {  
       setImage(buttonName + ".png");  
       Greenfoot.delay(5);   
       if   (buttonName.equalsIgnoreCase("StartBtn")) Greenfoot.setWorld(new Level1());  
       else if (buttonName.equalsIgnoreCase("StoryBtn")) Greenfoot.setWorld(new StoryScreen());  
       else if (buttonName.equalsIgnoreCase("HelpBtn")) Greenfoot.setWorld(new HelpScreen());  
       else if (buttonName.equalsIgnoreCase("BackBtn")) Greenfoot.setWorld(new MenuScreen());  
     }  
   }  
 }  


Pada setiap class button (story, start, help), letakan statement ini (pada method act)

 public void act()   
   {    super.act(this.getClass().getName());  
   }  


Untuk membuat Kepiting (crab) bergerak, letakkan kode berikut pada class Crab


 import greenfoot.*;  
 public class Crab extends Actor  
 {  
     public void act()   
   {  
      setLocation(getX() - 2, getY());  
      if (getX() <= 0)  
      {  
          setLocation(getWorld().getWidth() +getX() , getY());  
      }  
   }    
 }   


Untuk membuat gelembung (bubble) bergerak, letakkan kode berikut pada class bubble

 import greenfoot.*;  
 public class bubble extends Actor  
 {  
   public void act()   
   {  
     setLocation(getY() - 5, getX());  
      if (getY() <= 0)  
      {  
          setLocation(getWorld().getHeight() + 20 , Greenfoot.getRandomNumber(600));  
      }  
   }     
 }  


Aktor crab dan bubble hanyalah aktor pendukung, tidak ada pengaruhnya pada jalannya game. Hanya sebagai animasi tambahan supaya game lebih menarik.

Pada kelas fish (ikan yang dimakan / ikan musuh) kode dasarnya adalah sebagai berikut


Class Fish


 import greenfoot.*;  
 public class fish extends Actor  
 {  
   public void act()   
   {  
     move (2) ;  
     if (Greenfoot.getRandomNumber (20) < 10)  
   {  
     turn (Greenfoot.getRandomNumber (50) - 20) ;  
   }   
   if (getX () <= 5 || getX() >= getWorld().getWidth () - 5)  
   {  
   turn (180) ;  
   }  
   if (getY () <= 5 || getY() >= getWorld().getHeight () - 5)  
   {  
     turn (180) ;  
   }  
   }     
 }  


Listing Program ini dipakai juga untuk class fish1 dan fish3. Untuk melakukan variasi terhadap gerakan ikan, maka kita dapat mengubah nilai move() dan turn() diatas sesuai dengan keinginan.

Pada Class Score, kode nya adalah sebagai berikut

Class Score

 import greenfoot.*;   
 import java.awt.Color;  
 import java.applet.*;  
 import java.awt.*;  
 public class Score extends Actor  
 {  
 Font font1=new Font("Helvetica",Font.BOLD,35);  
  public Score(String text)  
  {  
    GreenfootImage img_field = new GreenfootImage(140,50);  
    img_field.setFont(font1);  
    img_field.setColor(Color.white);  
    img_field.drawString(text, 0, 45);  
    setImage(img_field);  
   }  
  public void setText(String text)  
   {  
     GreenfootImage img_field = getImage();  
     img_field.clear();  
     img_field.drawString(text, 0, 45);  
   }  
 }  


Bagaimana?
Sudah jalan kah game nya?
Jika belum, cek lagi errornya.

Jika sudah mentok, silahkan lihat dan unduh contoh projectnya disini.

Download
Matikan dulu ADBLOCK / Pop-upBlocker pada Browser

Jangan lupa baca juga tutorial membuat game lainnya :

- Membuat Game 3D (3 Dimensi) Komputer dengan Mudah
- Tutorial Membuat Game Simulasi Pesawat Terbang 3D dengan 3DRAD
- Membuat Game Online Komputer dengan Mudah
- Cara Membuat Model dan Animasi untuk Game 3D
- Cara Membuat Game Android Sederhana dan Mudah Tanpa Coding
- Cara Mudah Membuat Game PC Komputer - Tips dan Trik Membuat Game



Rabu, 28 Agustus 2013

Cara Membuat Efek Visual Komputer seperti Film Hollywood


Industri film hollywod sangat maju, dan paling maju di dunia. Siapa yang tidak tahu Transformers, Harry Potter, Star Trek, TRON, dan sebagainya. Film-film yang saya sebutkan tadi adalah film-film dengan efek visual yang luar biasa canggih dan terlihat sangat nyata. Budget/biaya yang dibutuhkan untuk pembuatannya pun tidak main-main karena Hollywod mengutamakan Totalitas.
Nah, sekarang di jaman yang serba komputerisasi ini, kita sebagai orang biasa juga sebenarnya bisa kok membuat efek visual komputer dengan biaya yang murah. Kali ini Saya mau share tentang softwarenya dan bagaimana caranya.

Adobe After Effect
Ada salah satu software paling terkenal untuk pembuatan visual efek, yaitu Adobe After Effect. Walaupun software ini sangat powerful dan direkomendasikan untuk para professional, namun, harga original dari software ini sangat mahal. Belum lagi efek-efek tambahan yang dijual terpisah dengan harga yang tinggi pula.
Jika kita ingin belajar After Effect, kita akan menemui satu kendala lagi yaitu Spec Komputer yang harus terupdate. Komputer dengan processor dan kartu grafis yang memiliki power besar untuk pengolahan gambar (rendering). Harga komputer yang dipakai pun cukup mahal.

Particle Illusion
Saya akan memberikan alternative software yang murah (jika ingin beli), ringan, tidak membutuhkan spesifikasi yang terlalu besar dan tentunya mudah untuk dipelajari. Buat kamu yang baru pertama kali mendengar software ini, ini detailnya :
Nama Software : Particle Illusion 3.0
Tahun : 2011
Vendor : GenArts, Inc.
System Requirements :
- grafis harus mendukung OPEN GL
Minimum : Windows, 512 RAM , 1 core 1.8 Ghz Processor.
Spec di atas sudah bisa menjalankan Particle Illusion, namun sangat direkomendasikan menggunakan spec yang lebih tinggi untuk hasil yang memuaskan dan proses editing serta rendering yang lebih cepat. Percaya deh, laptop / komputer kamu pasti sudah memenuhi syarat. Nggak kaya PC jadul ane nih. Haha.

Oke, buat kamu yang mau belajar membuat efek komputer visual, kamu sangat beruntung dengan mampir ke artikel ini. Karena saya sudah menyiapkan Exclusive Pack dari Particle Illusion. Kamu hanya tinggal download dan pakai software yang sudah full version. Exclusive Pack juga menyertakan Efek-efek terbaru (pro emmiters) dari particle illusion tinggal pakai saja (seharusnya per efeknya beli). Selain itu di Exclusive Pack ini, saya sertakan tutorial Particle Illusion dan cara penggunaan efek yang lengkap selengkap-lengkapnya. (Di blog lain belum ada loh yang ngasih paket selengkap ini. Hahaha)

Links download Particle Illusion Exclusive Pack (from INDOWEBSTER)
Jika browser anda terdapat ADBLOCK, harap Matikan Dulu!

Particle Illusion 3 0 9 - Indowebster.com
Alternative LINK (GDrive)
Crack ]
Date upload: 28-Aug-2013 Size: 17.21 MB

PRO Emitter Libraries - Indowebster.com 
Alternative LINK (GDrive)
Date upload: 28-Aug-2013 Size: 44.79 MB

Download Tutorial Particle Illusion 3 0 English - Lengkap - Indowebster.com
Alternative LINK (Mediafire)
Date upload: 28-Aug-2013 Size: 6.43 MB

Contoh Karya Saya dengan Particle Illussion:








Yang mau belajar bikin animasi, bisa kesini : Membuat Animasi Mudah dengan I-Clone
ini contoh animasi yang pernah saya buat :


-------------------------------------------------------------------------------------------
Jika ada pertanyaan/ kritik / saran silahkan berkunjung dan komen di :
davidprasetyo.com
email : davidpras1994@gmail.com
twitter : @davithace

Selasa, 13 Agustus 2013

Membuat Game Edukasi Matematika Kalkulus – CalcaLand

CalcaLand adalah game yang saya buat bersama teman2 kuliah sebagai tugas pembuatan software edukasi. Pada dasarnya Calcaland Mengisahkan seorang pejuang Pulau Calca yang berusaha keluar dari Pulau tersebut.

Syaratnya, ia harus mengalahkan monster-monster yang ada. Setiap monster yang kalah, tantangan berikutnya akan muncul suatu soal Kalkulus yang harus dijawab.

Game ini berformat EXE, berjalan di semua Windows dapat langsung dimainkan tanpa diinstall. Game ini merupakan game PC/ laptop, bukan mobile. Semoga bermanfaat dan menginspirasi sobat yang mungkin sedang mencari ide untuk tugas kuliah / tugas akhir.

Nah, buat sobat yang mau buat game edukasi seperti ini juga Silahkan googling lagi ya Software pembuat game ini. Namanya Game Maker 8 Pro. Jika ada pertanyaan, saya akan membantu sebisa saya.

Penasaran?

Link Download :
via Yoyogames (Recomended)

via Box

Contact me :

davidpras1994@gmail.com
@davithace (twitter)

Jumat, 23 November 2012

Game Indonesia Asli - ASKA (Abimanyu Sang Ksatria Mahabrata)


Di jaman yang serba modern ini, tentu banyak dari kita yang mulai meninggalkan budaya
nenek moyang. Salah satunya adalah budaya wayang. Budaya yang sudah mulai tergerus sedikit demi sedikit
oleh produk dan budaya luar.
ASKA adalah sebuah Game rumahan yang dibuat secara indie oleh Prasetyosoft , Inc (Saya sendiri).

Game ini mengambil latar belakang kisah pewayangan Jawa ,Wiracarita Mahabrata.
Setelah mengalami beberapa perubahan pada cerita aslinya, akhirnya terbentuklah
cerita versi ASKA dengan sosok Abimanyu sebagai tokoh utama.

Game ini adalah game pertama yang saya buat dengan serius. Walaupun awalnya hanya iseng,
Dan hanya menjadi pelampiasan hobby di bidang IT,Tapi toh berlanjut jadi project kecil – kecilan.
Dengan jangka waktu sekitar tiga minggu, akhirnya game sederhana ini dapat saya selesaikan.
Penyajian game ini sudah dikemas sedemikian rupa supaya menarik dan tidak terlihat kolot,
namun tetap mempertahankan unsur budaya. Hal ini terlihat terutama dari penggambaran karakter dan musik latar
bernuansa Jawa. Hal ini tidak lepas karena saya sendiri berasal dari keturunan Jogja yang lahir di Jakarta.
Sejak kecil sudah disuguhkan tontonan wayang, dan alhasil saya meyukai dunia pewayangan walaupun
Saya tidak begitu mengerti secara detail seluk beluk ceritanya.

Saya berharap, dengan adanya game yang bertemakan sepenggal kisah Mahabrata ini, kita sebagai generasi muda
Indonesia tidak pernah lupa akan sejarah bangsa sendiri. Seperti yang diucapkan kaisar Jepang di film The Last Samurai ,
"Kita bisa punya hal - hal serba moderen, namun kita tidak boleh lupa dari mana kita berasal."

Kalau saya tidak salah, tipe game platform seperti ini baru pertama kali ada di Indonesia loh. (sok tahu)
Mau tahu seperti apa sosok ‘ASKA’ sesungguhnya ?
Tunggu apalagi ? Langsung saja download dan coba sendiri…

Download (Klik banner dibawah ini):

kursus blog


Screenshoot :