Category Archives: Uncategorized

Pengenalan graphics2D dan threading pada java (simple)

Ok hari ini saya mau membahasa tentang graphics2D dan threading pada java. Nah hari ini saya mau lebih menekankan multithreading pada java. Java sendiri merupakan bahasa yang dibuat oleh James Goshling.

lalu apa itu Graphics2D, Graphics2D merupakan class yang terdapat pada java yang digunakan untuk menggambar bentuk, text dan gambar di java( ya sejenis canvas gitu).

lalu Treading , threading kalau di artikan ke bahasa indonesia artinya benang. Maksudnya Threading ini berguna untuk agar kita dapat menjalankan beberapa tugas dalam 1 waktu yang bersamaan. contohnya ada 2 object yang bergerak secara bersamaan.

contoh codingan  nya saya upload <- abisnya nggak tahu cara masukinnya gmana :( . Didalam codingannya udah ada comment – commentnya dan sudah ada penjelasannya :) .

download code

happy reading :D

 


			

State Settings Dengan Bitwise Operation

Ok, a little confession.. I know minggu ini saya seharusnya melanjutkan bagian 3 dari seri  Blackberry Game Development Tutorial, hanya saja minggu ini saya masih relatif sibuk sehingga belum sempat menyelesaikan artikelnya (itu, dan karena ngejar ngabisin nonton The Big Bang Theory season 2 :P ). So instead, untuk minggu ini saya akan menulis mini-article tentang bitwise state setting sebagai gantinya. Teori ini sebenarnya bisa diaplikasikan ke berbagai macam programming language, namun karena Java adalah bahasa yang paling saya kuasai, maka sample-sample yang saya berikan akan saya tulis dengan Java juga. Okay, on to the topic..

Asumsikan kita dihadapkan pada problem berikut: Kita akan membuat sebuah game rock-paper-scissors. Pada model yang sederhana, rule-nya adalah sebagai berikut:

  • Rock beats scissors
  • Scissors beats paper
  • Paper beats rock
Untuk kasus ini, kita bisa membuat method sederhana untuk mengecek pemenang:
private static final int ROCK = 1;
private static final int PAPER = 2;
private static final int SCISSORS = 3;

public String checkWin(int myHand, int enemyHand) {
   //bila sama, maka seri
   if (enemyHand == myHand)
       return "It's a Tie!";
    switch(myHand) {
       case PAPER:
          if (enemyHand == ROCK)
              return "You Win!";
          break;
       case ROCK:
          if (enemyHand == SCISSORS)
              return "You Win!";
          break;
       case SCISSORS:
          if (enemyHand == PAPER)
              return "You Win!";
          break;
    }

    //pemain kalah
   return "You Lose!"
}

Namun bagaimana bila melakukan perhitungan yang lebih kompleks, seperti perbandingan elemen? Katakanlah kita memiliki sebuah kasus sbb: kita ingin membuat game seperti rock-paper-scissors, namun ketimbang menggunakan gunting, batu dan kertas kita ingin membuatnya lebih kompleks dengan menggunakan elemen-elemen seperti air, api dan tanah sebagai pembandingnya. Rule-nya adalah sebagai berikut:

  • Water defeats Fire
  • Fire defeats earth
  • Earth defeats Water
  • Wind defeats Earth and Fire, but loses to Water
  • Thunder defeats Earth, Wind and Water, but loses to Fire
(Note: bukan contoh yang paling realistis memang, but please bear with me :P )
Untuk kasus ini, kita bisa menyelesaikannya dengan menggunakan beberapa if-then-else statement, namun kita bisa membuatnya lebih sederhana dengan menggunakan bitwise operation. Sebelumnya, mari kita bahas beberapa bitwise operation yang bisa kita gunakan.

bhimz

BhimZ adalah seorang Mobile Development Manager di salah satu perusahaan swasta di Jakarta, membantu mengembangkan berbagai macam aplikasi mobile khususnya untuk platform smartphone. Bersama rekan-rekannya sesama hobbyist, BhimZ juga membentuk Pokkon Studio sebagai project after office dan memulai mengembangkan beberapa game baik web-based maupun mobile, beberapa di antaranya sedang dirilis untuk Blackberry AppWorld dan Android Market.

Share workflow artist (workflow ch 2) to catch up with programmer

Hallo lagi semua,

 

Ok kita kembali lagi minggu ini.

Sebelumnya saya minta maaf kalo materi minggu ini agak berantakan dikarenakan kesibukan masa transisi kantor baru dengan wisuda saya yang jatuh besok sabtu.

Setelah minggu lalu diselingi artikel art singkat untuk vektor newbie way, mungkin untuk kejar waktu (speed typing lagi dah :P ) saya mengangkat isu yang mungkin kita sebagai game developer, sering temui dalam pengerjaan game. Ya mungkin anda semua sudah tahu jawabannya, bagaimana sinkronisasi pengerjaan antara art dan asset game dengan pengerjaan code/programming oleh programmer.

 

Kebanyakan orang mungkin jarang mempermasalahkan masalah konsistensi kerja dalam workflow antara programmer dan artist, dan memang dalam skala project yang mungkin hanya dikerjakan 2/3 orang (contoh Mintsphere) hal ini tidak terlalu jadi masalah. Tetapi dalam skala yang sedikit lebih besar, dimana mungkin anggota team bukanlah orang-orang yang bisa dibiarkan bebas berkeliaran hanya dengan patokan “game yang penting selesai pada tgl xxx”, perlu ada penegasan mengenai alur workflow yang sesuai dengan ‘pace’ setiap anggota tim termasuk programmer.

Read more …

Aditya

Co founder of Teelos, a sick twisted bastard that worked as 2d Artis and also PR.

Website - More Posts

mengenal secara simple sistem dalam game

 

ok hari ini , saya mau membahas secara simple sistem yang ada didalam game. jadi apa itu game? game merupakan sebuah program yang looping terus menerus atau bisa dibilang juga mirip seperti state machine. dimana game itu sama dengan program pada umumnya seperti word processor, browser, dan program lainnya. Dimana program yang menerima hasil berupa inputan , diproses lalu menampilkan output. Saya membagi sistem game menjadi 7 bagian subsistem yang simple yaitu :

  1. Input subsistem = bagian untuk menangani bagian input pada game.
  2. Display subsistem = bagian untuk menangani bagian display pada game.
  3. Sound subsistem  = bagian untuk menangani bagian sound pada game.
  4. Network subsistem = bagian untuk menangani bagian network pada game.
  5. Update subsistem = bagian untuk menangani bagian update object – object yang terdapat pada game.
  6. Initialize subsistem = bagian untuk menangani bagian inisialisasi object – object sebelum dipanggil ke main loop.
  7. Main loop = bagian ini bertujuan untuk menggabungkan ke 5 bagian subsistem (input,display,sound, network, dan update) tersebut menjadi 1.

kira – kira gambarannya seperti ini :

cara kerjanya sistem game :

  • Inisialisasi object – object yang akan dipakai dalam didalam game
  • Lalu kita masuk ke main loop, main loop sendiri merupakan sebuah endless loop yang bertujuan agar program berjalan terus menerus yang nantinya akan berhenti bila user atau sistem memasukkan perintah berhenti, didalam main loop sendiri terdapat 5 subsistem yaitu input, network, update, sound dan graphic subsistem.
  • Bagian input , network bagian yang bertujuan untuk menyuplai data
  • Bagian update bertujuan untuk memproses dan memeriksa data, pada bagaian update disinilah bila user minta out,misalnya pencet tombol exit maka program akan berhenti
  • Bagian sound dan graphic bertujuan untuk menampilkan data kedalam bentuk graphic dan sound.

 

sekian pengelanan sistemnya :D , maaf kalau artikelnya hanya begini dan begitu. thanks in advance.

 

Scale 9 Grid

Giliran aku neh yang posting ==a…

Mungkin ada yang belom tau sama saya… kenalin dulu saya Ali Jaya Meilio [alijaya]

Untuk posting kayak ginian aku lebih posting ke teknik2 daripada tutorial mungkin :p… [jadi lebih general]

Pertama – tama seh aku pengen ngebahas tentang Scale9Grid… mungkin sebagian pernah mendengarkan, sebagian nggak, mungkin ada yang dah tau itu apa tapi dengan istilah yang berbeda XD…

Saya ambil istilahnya dari flash… Scale9Grid ini berhubungan dengan perlakuan dengan assets yang berupa gambar / graphic pada Graphic User Interface…

Read more …

alijaya

Just a little boy XD... with passion in creative industry such as game, film, story, cgi, etc. Programming in haXe mainly, make some experiment such as GUI, Component Based Framework, Particle System, Game Engine, etc...

More Posts

Stop SOPA