Browser game dengan Libgdx Applet

hello there, lama tak menulis. :D
tutorial yang saya tulis belum selesai juga ya? hehe . bukannya tak sempat tapi lupa terus. lagipula saya juga masih belajar jadi masih perlu explorasi lebih jauh lagi metode terbaik buat bikin game pake libgdx. Yang saya suka dari libgdx adalah ternyata libgdx sangat flexible untuk digunakan. :D

Dan satu lagi yang bikin saya suka dengan libgdx. Ternyata game yang dibuat dengan libgdx dapat dideploy sebagai web-app hanya dengan sedikit konfigurasi project tanpa harus mengubah kode. saaaaaaangat mudah dan hasilnya memuaskan :)

lalu bagaimana caranya? mari kita coba!

(sebelumnya silakan download semua jar dan requirement lainnya disini)

Read more …

Making a shooter game with flashpunk: making waves of enemies

Part 1: Memulai dengan flashpunk dan AS3

Part 2: Membuat pesawat menembakkan peluru

Part 3: Tambahkan musuh, tambahkan ketegangan

Part 4: Saatnya bullet pattern!

Part 5

Part 6: Improving our character

Part 7: Background

Part 8: Scrolling camera

Tak terasa kita sudah sampai di seri kesembilan dari serial tutorial membuat game dengan flashpunk. Sekarang kita akan menambahkan lebih banyak musuh ke dalam stage kita yang sudah scrolling secara otomatis. Tapi sebelum itu, kita akan memperbaiki satu bug dari tutorial kita sebelumnya. Coba dari hasil tutorial sebelumnya, ketika scrolling (belum sampai ujung atas) klik-tahan mouse untuk menembak. Peluru tidak keluar dari pesawat, ketika kita mendekat bagian atas, baru terlihat peluru kita. Ini karena posisi awal dan akhir peluru yang masih belum kita ubah.

Ada yang aneh

Bug peluru tutorial sebelumnya

Untuk memperbaikinya kita tinggal mengubah posisi awal dan akhir peluru kita sesuai dengan camera offset. Dalam class character, ubahlah code buat menembakkan peluru jadi seperti ini:

				if (timeToDeltaShot > deltaShot)
				{
					shoot(FP.camera. x + Input.mouseX, FP.camera.y + Input.mouseY);
					timeToDeltaShot -= deltaShot;
				}

dan ubahlah inisiasi peluru dalam fungsi shoot() menjadi seperti ini:

var peluru:Bullet = new Bullet(AssetsList.PELURU1, FP.camera.x + x, FP.camera.y + y, xTarget, yTarget);

dengan dua perbaikan ini sebenarnya kita sudah memperbaiki bug kita, tapi masih ada satu masalah lagi: yaitu peluru akan otomatis dihapus dari world kalau keluar dari koordinat tertentu. Coba lihat fungsi update() kelas Bullet, kita akan bisa melihat baris codenya. Bagaimana penyelesaiannya? tinggal comment saja baris yang menghapus peluru dan masalah selesai.

			if (x < 0 || x > 640 || y < 0 || y > 480)
			{
				// remove peluru ketika keluar dari game window
				// this.world.remove(this);
			}

Peluru sudah menembak dengan benar

Read more …

Pembentukan Rasa Dan Citra Untuk Musik

Rasa dan citra adalah dua parameter dasar yang digunakan untuk menilai karya seni. Tidak terkecuali pada musik atau BGM game, pemberian rasa dan citra yang pas pada musik yang kita buat akan menentukan apakah musik itu bernilai baik, atau tidak.

Pada tulisan saya yang sebelumnya, saya telah membahas tentang cara composing musik menggunakan FL Studio. Nah, sekarang kita akan mengupas tentang bagaimana membentuk rasa dan citra pada musik.

Terdapat 4 unsur dasar yang vital dalam pembentukan rasa dan citra pada musik.

Harmoni musik

Harmoni dapat menentukan sifat atau emosi yang hendak disampaikan musik. Harmoni adalah kombinasi antara nada-nada yang tingginya berbeda dan dibunyikan dalam suatu urutan waktu tertentu. Harmoni yang terbentuk atas tiga atau lebih nada bersamaan biasanya kita kenal dengan sebutan akord (chord). Sedangkan harmoni yang dibunyikan berurutan, kita kenal dengan sebutan arpeggio.

Pola nada dalam harmoni diatur dalam scale. Scale (tangga nada) adalah jarak interval nada yang membentuk suatu urutan tertentu. Scale yang paling umum dan populer digunakan adalah scale mayor dan minor. Meskipun banyak scale-scale lain seperti Maqamat (scale pada musik Arabic), Gamelan (Pelog) scale, Pentatonic (cinese oriental) scale, dll. Tapi scale-scale tersebut jarang digunakan.

Gambar 1. scale C major dan C minor

Penggunaan scale musik tersebut sangat mempengaruhi emosi musik yang nantinya akan kita buat. Beberapa diantaranya :

  • Suasana ceria dan semangat biasanya dibentuk dengan scale mayor.
  • Musik dengan scale minor untuk menggambarkan kesedihan, galau, suram, dll.
  • Scale minor dengan chord diminish dan nada-nada atonal (sengaja melenceng dari scale) untuk membuat suasana tegang.
  • Untuk menggambarkan suasana bingung, gunakan scale mayor dengan nada-nada atonal.

Tempo dan Dinamika

Tempo adalah ukuran kecepatan dalam birama lagu yang memiliki satuan BPM (Beats per Minute). Dalam sebagian besar partitur lagu klasik, kita juga bisa menjumpai ukuran tempo yang dinamai dengan bahasa italia seperti “Andante”, “Allegro”, “Adagio”, dll. Beberapa istilah tempo dalam bahasa italia yang dikenal beserta penjelasannya :

  • “Larghissimo — very, very slow (20 bpm and below)
  • Grave — slow and solemn (20–40 bpm)
  • Lento — slowly (40–60 bpm)
  • Largo — broadly (40–60 bpm)
  • Larghetto — rather broadly (60–66 bpm)
  • Adagio — slow and stately (literally, “at ease”) (66–76 bpm)
  • Adagietto — rather slow (70–80 bpm)
  • Andante moderato — a bit slower than andante
  • Andante — at a walking pace (76–108 bpm)
  • Andantino – slightly faster than andante
  • Moderato — moderately (108–120 bpm)
  • Allegretto — moderately fast (but less so than allegro)
  • Allegro moderato — moderately quick (112–124 bpm)
  • Allegro — fast, quickly and bright (120–168 bpm)
  • Vivace — lively and fast (?140 bpm) (quicker than allegro)
  • Vivacissimo — very fast and lively
  • Allegrissimo — very fast
  • Presto — very fast (168–200 bpm)
  • Prestissimo — extremely fast (more than 200bpm)”

(sumber : Wikipedia)

Dinamika menyatakan keras lembutnya suatu musik dimainkan. Ukuran dinamika biasanya juga dinyatakan dalam bahasa italia. Ukuran dinamika paling keras adalah fortissimo assai (fff), dan paling lembut adalah pianissimo possibile (ppp). Dalam composing musik digital, dinamika dapat diatur melalui velocity pada piano roll.

Gambar 2. ukuran dinamika dalam velocity not

Peranan tempo dan dinamika dalam pembentukan citra dan rasa musik sangatlah vital. Musik-musik dengan tempo tinggi dan dinamika forte akan memberikan kesan emosi yang tinggi dan meluap-luap, ceria, atau juga bisa ketakutan. Sedangkan lagu dengan tempo lambat dan dinamika piano biasanya akan memberikan nuansa tenang atau sedih.

Pemilihan Instrumen

Instrumen musik adalah suatu alat atau seperangkat alat yang berfungsi untuk menghasikan bunyi, nada, dan ritme yang membentuk musik. Citra dan rasa dalam musik tentu saja sangat dipengaruhi bentuk bunyi dari sumber nada. Pemilihan instrument juga dapat menentukan genre musik yang akan dibuat.

Misalnya :

  • Pada musik orchestra, instrument yang digunakan : String (biola, cello, contrabass), Brass (terompet, trombone), Woodwinds (Seruling, Oboe), Perkusi (timpani, simbal)
  • Untuk genre musik celtic, digunakan instrument : Biola, Bag and Pipe, Bodhran (semacam tamborin), Seruling
  • Untuk genre musik trance, disko, dubstep digunakan instrument-instrumen Elektrik dan Synthetizer
  • Untuk genre musik ethnic digunakan instrument : gitar akustik, ketipung, gamelan, rebab, seruling, tamborin
  • Untuk musik rock, punk dan metal digunakan instrument : gitar elektrik, drum, bass, keyboard

Gambar 3. (dari atas) gamelan, instrumen celtic, instrumen orchestra, synthetizer elektronik

Sebenarnya, hampir tidak ada aturan yang fixed tentang pemilihan instrument. Bisa saja kita membuat musik punk dengan menggunakan gamelan atau instrument elektrik (Saya sendiri sering membuat musik trance dengan instrument-instrument yang seharusnya digunakan dalam musik orchestra XD). Selama itu cocok dan harmonis, maka musik yang dihasilkan akan tetap terdengar enak.

Spotting Musik

Yang dimaksud spotting musik, adalah peletakan musik itu dalam suatu adegan atau kesempatan.
Misalnya : Musik fanfare yang ceria untuk adegan kemenangan, Musik bertempo tinggi dengan nada penuh tension untuk adegan battle, Musik dengan tempo slow dan scale minor untuk adegan sedih, dll.
Peletakan musik yang emosinya pas pada adegan yang benar akan meciptakan harmoni antara adegan dengan musik.

Demikian tulisan dari saya untuk minggu ini. Semoga bisa menjadi wacana untuk membuat musik yang berguna bagi pembaca.

Keep rock all :3

Apa yang membedakan industri gamedev kita dengan industri gamedev luar? Part 4

Part 1: http://blog.gamedevid.org/?p=422

Part 2: http://blog.gamedevid.org/?p=552

Part 3: http://blog.gamedevid.org/?p=702

Waduh! Sorry telat ngepost berhubung lagi liburan kemarin jadinya gak bisa ngepost sama sekali so sebagai gantinya saya postnya hari ini aja deh mumpung lagi ada waktu. So berikut adalah lanjutan dari apa yang sudah saya bahas pada post sebelumnya dan kini kita akan berbicara mengenai negara-negara pelaku game industry di benua timur lainnya.

South Korean Gaming Culture.

Kalau kita bicara soal Industri game di Korea, maka jelas kata game online atau MMORPG mungkin yang pertama kali terlintas di pikiran kita. (atau kalau buat saya, “Starcraft” adalah kata yang terlintas di kepala saya setiap kali denger negara Korea) Namun, some of you maybe wonder, “Apa sih yang membuat Korea begitu hebat di dunia game online dan MMORPG?”

I'm pretty sure pasti pada inget game apa ini!

Industri game di Korea mulai mendapatkan momentumnya sedikit demi sedikit ketika internet mulai mendunia (sekitar tahun 1996-2000an) dan dari game-game MMORPG barat yang telah keluar sebelumnya, maka Industri Game di Korea mulai memutuskan untuk membuat game MMORPG mereka sendiri.

Alhasil, industri game online pun ngeBoom di Korea dan developer-developer game pun mulai bermunculan di Korea, dan tentunya mereka semua mayoritas berkecimpung di dunia MMORPG atau game online saja. Selanjutnya kita semua tau bahwa sampai hari ini, Korea Selatan masih merupakan negara penghasil game MMORPG terbesar dan masih menjadi raja dari industri game MMORPG dunia.

South Korean Game Industry Mentality.

Orang-orang Korea mungkin terlihat romantis dan ganteng-ganteng atau cantik-cantik di drama-drama Korea, tapi orang Korea yang sebenarnya itu sangatlah kompetitif (tapi tetep mereka ganteng2 and cantik2 karena kebanyakan pada operasi. lol!). Selain kompetitif, orang Koreapun terkenal high-tech. Makanya tidak heran, industri elektronik terbesar di dunia juga terletak di Korea.

Dari segi art and gameplay pun, Koreajuga cukup sama flexiblenya seperti Jepang dimana banyak game dan komik Korea yang masih memiliki art dengan nuansa “manga” Jepang. Sedangkan untuk tema yang digemari pun juga masih seputar “medieval Europe fantasy RPG” ala Lord of the Ring. 

Mirip kostum Elven armornya LOTR, right?

Sikap kompetitif dan high-tech inilah yang membuat industri game online di Korea tumbuh subur. Para developer game disana juga sangat pandai membuat event2 gaming khusus yang membuat para pemainnya merasa harus bekerja keras untuk membuat karakter avatar mereka bisa terlihat lebih kuat dan lebih hebat lagi. Sehingga gak heran, gamer Korea banyak yang jago karena mereka rajin dalam bermain game disana.

China and Taiwan Game Industry Culture.

Dari semua negara timur yang saya sebutkan diatas, sebetulnya pasar market terbesar untuk game online terletak di China tentunya. Dalam hal ini, yang saya bicarakan lebih kepada para pemain dan bukan dari segi developer. China merupakan negara kedua dengan penduduk terpadat di dunia dan pengguna Internet di China tidaklah sedikit sehingga hal ini menjadi target bagi para pelaku industri game online seperti di Jepang dan Korea untuk menargetkan China sebagai ladang emas buat mereka.

As you can see, gamer di China banyaknya luar binasa.

Game Industry di China sendiri juga masih tergolong kecil dan walaupun beberapa saat terakhir mulai bermunculan banyak developer-developer game kecil dariChina, namun sayangnya game-game yang mereka buat masih bisa dibilang dibawah standard. Namun dari segi outsource industri game, maka bisa dibilangChinamerupakan negara penghasil outsource asset untuk game yang sangat baik. Hal ini bisa dilihat dari banyaknya perusahaan publisher game besar luar yang menempatkan kantor cabang mereka di China seperti Ubisoft dan EA di Shanghai.

Berbeda dengan Taiwan, dimana Taiwan lebih maju dari segi online game development dibandingkan China. Taiwan sendiri mulai banyak membuat game-game online sekelas MMORPG yang mereka harapkan bisa menembus pasar game online dunia seperti layaknya Korea. Memang terdapat beberapa kemiripan antaraTaiwan dan Korea, dan tampaknya Taiwan saat ini sedang berusaha mengejar Korea dari segi industri game online mereka.

China and Taiwan Game Industry Mentality.

Seiring dengan semakin baiknya jasa penyediaan internet di China, begitu pula dengan kalangan-kalangan menengah yang mengerti teknologi semakin banyak bermunculan di China, maka penduduk China yang sangat banyak merupakan market yang luar biasa besar untuk game-game online. Bagi para developer China yang masih baru di industri game ini, mereka tentunya ingin sekali bisa memonopoli industri game di local mereka sendiri. Namun sayangnya, kualitas game-game yang ada bisa sangat terlihat dan tampak cukup dibawah standard dikarenakan gameplay design yang kurang menarik.

Tebak ngeClone dari game apakah ini?

Dari segi ini, terlihat sekali bahwa keinginan untuk mendapatkan profit yang cepat dengan kualitas game yang masih dibawah standard adalah hal yang diincar oleh para pelaku industri game di China. Secara mentalitas sendiri, game-game buatan lokal Chinamasih terkesan sangat menjiplak dari game-game sukses yang sudah ada. Hal ini bukanlah hal yang memalukan untuk Industri Game di China, karena bagi mereka, “Copying is a sign of flattery”.

Dari segi outsource however, kualitas asset game yang dihasilkan di China tidak kalah dengan negara penghasil game lainnya di dunia. There is nothing wrong with China Game Industry from the skill perspective, but they need to work things out from their game design perspective.

One of Taiwan made MMORPG

Sedangkan kalau di Taiwan sendiri, industri game onlinenya memang sedang beranjak naik dan jauh lebih bagus dan original dari segi kualitas dibandingkan dengan Industri Game yang ada diChinadaratan. Saat ini, investor dari luar mulai semakin banyak yang tertarik untuk invest di industri game di Taiwan. 

Di part “Culture & Mentality” yang terakhir, akhirnya kita akan bahas mengenai Industri game local kita sendiri so ditunggu untuk yang part terakhirnya. Thanks for reading and Godspeed!.

Oh iya dan sebelumnya “HAPPY NEW YEAR 2012, people!”

RonW.

Membuat Game Android Avoider Menggunakan Framework Libgdx – Part #3 Base Entity and Multiple enemies

Part #1 – Introduction
Part #2 – Movement
Part #3 – Base Entity and Multiple Enemies

hehe buat part 3 ini kayanya judulnya panjang banget yah :D
saya bikin jadi satu saja karena sebenarnya masing – masing bagian ga terlalu panjang dan bisa dibahas sekaligus.
so let’s get it done!
Read more …

Beberapa Motivasi Seseorang dalam Bermain Game

Tentunya setiap orang memiliki motivasi mereka masing-masing ketika mereka memutuskan untuk membeli sebuah game dan memainkannya. Paling tidak ada beberapa alasan yang dapat dijadikan landasan pemikiran bagi para perancang game untuk memenuhi selera pemain maupun idealisme sang perancang itu sendiri.

Mau tahu? OK, ayo kita kupas satu-persatu.
Read more …

Making a shooter game series, part 8: Scrolling camera

Sampai juga kita di seria kedelapan dari tutorial pembuatan game shooter. Sama seperti biasanya kita akan melanjutkan dari tutorial part terakhir, kalau kamu masih ingat pada tutorial terakhir kita membuat background yang lebih menghibur daripada sekedar warna hitam. Seperti yang (kalau tidak salah) saya janjikan di tutorial seri ketujuh, kali ini kita akan membahas mengenai camera dan bagaimana membuat scrolling background.

Camera, dalam konteks game/game development, adalah pengganti mata kita dalam melihat game. Pendeknya, apa yang masuk dalam jarak pandang cameralah yang akan ditampilkan di game window. Kita bisa saja membuat sesuatu diluar jarak pandang camera, yang nantinya (dalam gameplay) akan tampil di game window dengan cara menggerakkan camera, dengan cara inilah kita akan membuat scrolling background. Sebelum kita membuat sesuatu diluar jarak pandang camera, pertama-tama kita akan belajar bagaimana cara menggerakkan camera terlebih dulu. Tambahkan fungsi ini di bagian atas class MapOne:

	import net.flashpunk.utils.Input;
	import net.flashpunk.utils.Key;
        import net.flashpunk.FP;

setelah itu kita akan menambahkan fungsi untuk menggerakkan camera, masih di MapOne:

Read more …

Apa yang membedakan industri gamedev kita dengan industri gamedev luar? Part 3

Part 1: http://blog.gamedevid.org/?p=422

Part 2: http://blog.gamedevid.org/?p=552

Faktor Budaya & Mentalitas Part 2

Melanjutkan dari pembicaraan terakhir, kini kita akan berbicara mengenai kultur dan mentalitas dari pelaku industri game dari benua Timur seperti Jepang, Korea, China dan juga Taiwan. So mari kita langsung saja mulai dari Game Industri di Jepang terlebih dahulu.

Japan Gaming Culture.

Seperti yang sudah saya bicarakan di artikel-artikel sebelumnya, pada tahun 1983 sampai sekitar 2005 pertengahan, dapat dibilang industri game Jepang memimpin industri game dunia pada saat itu.

Thanks, Akira Toriyama

Salah satu hal yang paling mengena disetiap pemain yang pernah memainkan game-game Jepang adalah nuansa game yang unik dan tidak biasa bahkan sampai yang luar biasa absurd sekalipun. Dan tidak seperti game industri Amerika, budaya gaming di Jepang lebih mengarah ke tema fantasy dan bukan realitas seperti di North America. Hal ini tentunya bisa kita lihat dari banyaknya game-game RPG di Jepang (yang sekaligus merupakan genre andalan game Jepang) yang memiliki dunia yang terkesan sangat unik dan bersifat fantasy.

Budaya anime sendiri juga mendukung hal tersebut, dimana kalau kita melihat industri film animasi Jepang pada tahun 80-90an, hampir semua tema yang dipakai bergenre kan fantasy atau sci-fi fantasy (magic girl, mecha sci-fi, etc) dan umumnya cerita merupakan salah satu pertimbangan paling penting dalam pembuatan sebuah game di Jepang. Sehingga dengan kuatnya budaya “storytelling” tersebut, maka jelas pengembangan karakter di game-game Jepang terasa lebih kuat dan emosional.

Hanya saja sayangnya seiring waktu, cerita-cerita di game RPG Jepang mulai kehabisan idea dan semakin lama semakin monotone. Ditambah sayangnya lagi, para developer masih tidak berani untuk berinovasi dari segi cerita dikarenakan mereka takut sampai kehilangan market “remaja” mereka yang merupakan market utama pembeli game di Jepang.

got emo?

My first experience with an emo game character.

Memang remaja Jepang lebih “nyambung” dengan cerita dimana sang tokoh utama game RPG memiliki ciri-ciri kepribadian yang remaja Jepang miliki yaitu umumnya tokoh utama game berusia dibawah 20 tahun (namun sudah harus menyelamatkan dunia), tokoh utama masih remaja labil yang mencari jati diri dalam game, terkadang juga “emo” dan suka menyendiri dan banyak cliché lainnya yang tentunya kita semua sudah cukup familiar kalau kita sering memainkan game2 Jepang.

Alhasil dengan semakin monotonenya game-game RPG andalan Jepang, maka tindakan tersebut malah membuat market luar yang dulunya tertarik dengan game RPG Jepang menjadi jenuh dan tidak lagi tertarik dengan RPG Jepang, juga belum lagi mengingat jumlah kelahiran di Jepang semakin sedikit sehingga jumlah pemainnya pun terus berkurang dan barulah akhir-akhir ini, game developer Jepang mulai kelabakan dan mulai memikirkan untuk membuat game-game yang lebih dikhususkan untuk pasar di benua Amerika (yg jumlah gamer dan jumlah penduduknya jauh lebih banyak)

Japanese Game Industry Mentality.

Dari segi semangat dan niat, maka jelas game industry di Jepang tidak kalah dengan rival mereka di North America. Lalu satu hal lagi yang membuat Industri Game di Jepang unik dan bervariant adalah flexibilitas mereka dalam mengadopsi budaya luar untuk diasimilasi menjadi kebudayaan mereka sendiri.

Memang semenjak Jepang terbuka untuk dunia setelah masa Perang Dunia ke 2, Jepang telah menjadi negara yang sangat toleran menerima kebudayaan luar. Tidak percaya?! Coba liat fashion Harajuku (mengikuti fashion Amerika yang mereka tambah2kan sendiri), makanan (Indian Curry? Daging hamburger yang tanpa roti?, various coffee shop?) dan tidak lupa game yang mereka buat yang pada awal mulanya kebanyakan mengambil tema “medieval Europe fantasy” sebagai tema utama di kebanyakan game-game RPG pada umumnya.

Believe it or not, Dragon Quest series is the number 1 RPG in Japan.

Game RPG paling top di Jepang saat ini ada 2 yaitu “Dragon Quest” dan “Final Fantasy” dan kalau kalian ikutin kedua seri tersebut dari awal, maka kalian akan menemukan bahwa di seri-seri awal, Final Fantasy dan Dragon Quest betul-betul mengambil terang2an dunia fantasy medieval dari negara Barat untuk game buatan mereka. Barulah di seri-seri berikutnya, mereka menambah-nambahkan beberapa elemen Jepang didalamnya.

Mereka tidak memaksakan bahwa game RPG pertama mereka harus mengenai samurai di jaman Edo namun mereka sangat flexible disini dan tidak malu untuk memakai budaya luar untuk kreasi mereka. Namun apakah ini artinya orang Jepang tidak nasionalis? Absolutely not! The opposite in the matter of fact! Orang-orang Jepang adalah orang-orang yang bangga dengan nasionalitas mereka namun hal tersebut tidak selalu harus diperlihatkan dengan menunjukan bahwa product mereka harus 100% selalu bertema Jepang.

Sehingga sekali lagi mungkin yang patut dikagumi dari Mentalitas para pelaku Industri game Jepang adalah flexibilitas mereka dalam menyerap budaya luar untuk dijadikan budaya mereka sendiri. Hal ini membuat semua product buatan Jepang (baik itu game ataupun bukan) unik dan sometimes digemari di beberapa benua sekaligus.

Berhubung untuk part Jepang sendiri sudah cukup panjang jadi di Part 3 berikutnya, baru kita akan masuk ke negara2 game industry timur lainnya seperti South Korea, China dan Taiwan so ditunggu post berikutnya. :)

Thanks and Godspeed, people!

 

RonW.

Membuat Game Android Avoider Menggunakan Framework Libgdx – Part #2 Movement

Part #1 – Introduction
Part #2 – Movement
Part #3 – Base Entity and Multiple Enemies

Yow halo semua :D
kembali lagi di seri tutorial game android dengan menggunakan libgdx. ini adalah bagian kedua dari seluruh tutorial, apabila anda belum membaca yang pertama lebih baik selesaikan dulu membaca yang pertama . :D

Menggerakkan Musuh

Bergerak menurut fisika berarti sebuah benda melakukan perpindahan posisi. Di dalam game pun tidak berbeda, yang kita lihat dalam game sebagai Bergerak sebenarnya adalah posisi benda yang kita lihat telah berubah posisinya karena di update. jadi di dalam game Pergerakan adalah perubahan posisi sebuah benda (x,y,z) tiap satuan waktu/per update cycle

Untuk menggerakkan sebuah benda dibutuhkan kecepatan. Kecepatan adalah besarnya perpindahan posisi sebuah benda tiap satuan waktu/per update cycle . Kecepatan adalah berupa vector karena memiliki besar dan arah.

karena itulah kita akan membuat sebuah object bertipe Vector2 bernama vel (singkatan dari velocity)

public final Vector2 vel = new Vector2();

keyword final artinya menjadikan object tersebut sebagai sebuah constant object. apa artinya constant object akan saya jelaskan di kesempatan lain. just leave it be for now.

lalu di constructor mari kita set nilai vel tersebut menjadi (0,-50) yang artinya kecepatan x adalah 0 dan kecepatan y adalah -50 . sesuai dengan world koordinat libgdx dimana y positif adalah ke atas berarti kecepatan -50 di y adalah menuju ke bawah

    public GameScreen(Avoider avoider) {
        super(avoider);
       //code here....
        vel.set(0, -50);
    }

selanjutnya untuk dapat menggerakkan sang musuh pada tiap update cycle sebelumnya kita buat dahulu satu method bernama update. di dalam method update ini perpindahan posisi musuh dilakukan

    public void update(float delta) {
    }

kemudian panggil method update tersebut di bagian paling atas method render()

@Override
    public void render(float delta) {
        super.render(delta);
        update(delta);
       .... //more code below
    }

taruh kode untuk menggerakkan musuh di dalam method update tadi.

    public void update(float delta) {
        honeycomb.setPosition(honeycomb.getX() + vel.x * delta, honeycomb.getY() + vel.y * delta);
    }

terlihat sedikit rumit , namun bila dirumuskan akan terlihat lebih mudah :
x = x + Vx * delta
y = y + Vy * delta

note: Vx * delta dan Vy * delta merupakan rumus interpolasi yang digunakan untuk menjaga agar pergerakan tetap terlihat smooth tidak terpengaruh oleh FPS game.

oiya perlu juga diatur posisi awal musuh agar dapat bergerak dari atas sampai ke bawah. tuliskan kode ini di dalam constructor

honeycomb.setPosition(100, 480);

tekan Run dan amati hasilnya!

full code

package com.gdi.avoider;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.math.Vector3;

public class GameScreen extends BaseScreen {

    private SpriteBatch batch;  //class that will handle 2D rendering task
    private Texture androidTexture; //texture as image container
    private Texture honeycombTexture;
    private Sprite android;             //sprite that will be used to draw texture
    private Sprite honeycomb;

    public final Vector2 vel = new Vector2();
    public GameScreen(Avoider avoider) {
        super(avoider);
        batch = new SpriteBatch();
        androidTexture = new Texture(Gdx.files.internal("android.png"));
        honeycombTexture = new Texture(Gdx.files.internal("honeycomb.png"));
        android = new Sprite(androidTexture, 0, 0, 100, 100);
        honeycomb = new Sprite(honeycombTexture, 0, 0, 50, 50);
        android.setPosition(100, 100);

       honeycomb.setPosition(100, 480);
 vel.set(0, -50);
    }

    //a texture defined must be disposed after unused or application closed
    @Override
    public void dispose() {
        super.dispose();
        androidTexture.dispose();
        honeycombTexture.dispose();
    }

    @Override
    public void render(float delta) {
        super.render(delta);
        update(delta);
        Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);   //clear screen
        Gdx.gl.glClearColor(255, 255, 255, 255);    //fill screen with white color

        //batch drawing must began with batch.begin() and ended with batch.end()
        batch.begin();
        android.draw(batch);        //sprite has draw function inside
        honeycomb.draw(batch);
        batch.end();
    }

    public void update(float delta) {
 honeycomb.setPosition(honeycomb.getX() + vel.x * delta, honeycomb.getY() + vel.y * delta);
 }

Next ,, menggerakkan karakter :)
Click on next page please

Composing BGM menggunakan FL Studio

BGM (Background Music) dalam sebuah game memiliki banyak peran. Salah satunya, membantu menggambarkan emosi dan tension yang mungkin kurang jika digambarkan secara visual saja. Oleh karena itu, penyusunan  atau composing BGM adalah salah satu aspek yang harus diperhatikan dalam development sebuah game.

Saat ini, kemajuan di bidang IT telah memungkinkan kita untuk menciptakan music tanpa harus merekam permainan musisi asli. DAW (Digital Audio Workstation) dan VST (Virtual Studio Technology) adalah tool yang berperan untuk membantu musisi untuk mewujudkan hal itu. Dalam tulisan kali ini, penulis akan menjelaskan cara membuat BGM game dengan menggunakan DAW FL Studio.

Pengenalan User Interface FL Studio

User Interface FL Studio, bisa dibagi – bagi menjadi region atau wilayah – wilayah seperti ini :

Interface FL Studio, secara garis besar dibagi dalam 6 kelompok :

Toolbar :

Panel tempat kita bisa mengakses banyak command dan option untuk mengkonfigurasi FL Studio.

Channel Windows & Step Sequencer :

Di sini adalah tempat utama user melakukan proses composing. Panel ini berfungsi untuk menempatkan instrument dan memasukkan beat melalui step sequencer. Dari channel ini juga user bisa mengaktifkan Piano Roll. Hasil komposisi step sequencer dan piano roll tersebut akan disimpan dalam pattern – pattern.

Piano Roll :

Tempat memasukkan nada instrument

Browser :

Panel ini memberikan akses cepat ke koleksi preset instrument user.

Playlist :

Playlist adalah tempat user menyusun pattern – pattern menjadi sebuah komposisi musik.

Mixer :

Di panel ini, dilakukan tahap penyelesaian sebuah aransemen musik. Masing – masing instrument dirouting ke channel – channel mixer tersendiri, lalu dilakukan proses tweaking yang disebut Mixing dan Pre-Master / Mastering.

Read more …

Stop SOPA