Langkah Pertama Bikin Game.. Catatan untuk Programmer.

Baru-baru ini, ketika sedang menulis tutorial Cocos2D saya teringat pengalaman saat dulu mulai terjun ke dunia game development. Waktu itu saya bertanya-tanya, “Kalau mau buat game, mesti mulai darimana dulu nih..?”

Mungkin bagi kamu yang baru pertama kali membuat game juga memiliki pertanyaan yang mirip ya. Nah, di posting kali ini saya ingin berbagi tentang langkah awal saya dulu ketika memulai perjalanan membuat game. Semoga posting ini bisa bermanfaat bagi kamu yang memiliki latar belakang sebagai programmer.

Kok cuma untuk programmer?

Bikin game bukan cuma ngoding

Ya, proses bikin game itu bukan cuma sekedar melibatkan ngoding saja. Pembuatan game itu melibatkan banyak aspek, mulai dari programming, desain art, bikin cerita, sampai ke proses testing. Nah, karena multi-disiplin itulah, maka obrolan kali ini saya batasi tentang langkah awal bagi para programmer saja. Untuk yang aspek lain seperti art, atau bikin cerita, atau testing saya bahas di posting yang lain ya.

Proses bikin game biasanya diawali dengan kegiatan pengumpulan/perumusan ide (istilah kerennya: brainstorming). Rumusan ide ini kemudian dituangkan ke dalam bentuk konsep. Konsep game inilah yang nanti dijadikan acuan untuk proses bikin game. Mulai dari acuan untuk pembuatan aset art sampai dengan aspek programmingnya. Dalam dunia game development, konsep game ini biasa disebut dengan istilah game design.

Oiya.. Game design ini beda dengan bikin gambar untuk game ya. Kalau belum ada bayangan tentang apa sih game design itu, kamu bisa mampir ke posting saya ini yang membahas tentang aspek game design dalam game.

Setelah merumuskan game design tadi, proses bikin game selanjutnya biasanya dibagi menjadi dua bagian besar yaitu:

  • Pembuatan aset art (visual/grafis dan sound) yang ditangani oleh para game artist.
  • Proses programming untuk mengimplementasikan konsep game yang sudah dibuat. Proses inilah yang ditangani oleh game programmer.

Jadi langkah pertamanya mesti bikin konsep dulu?

Well.. Gak selalu harus begitu sih.

Bingung ya? (^^,)

Begini, untuk bikin game memang biasanya diawali dari pembuatan konsep/game design. Tapi untuk belajar game programming, kamu bisa mulai dari mempelajari kode pemrograman dari game yang sudah ada sebelumnya. Misalnya, kamu bisa mempelajari kode pemrograman dari game Pong.

pong

Eh.. Kuno banget ya..? (^^,)

Pong adalah game yang sering dijadikan contoh bagi para game programmer pemula yang ingin belajar tentang game programming. Walaupun kuno, tapi dari Pong kamu bisa belajar tentang dasar-dasar game programming seperti:

  • Struktur kode yang biasa dipakai dalam game. Coba perhatikan potongan kode berikut,
    while( user doesn't exit )
    check for user input
    run AI
    move enemies
    resolve collisions
    draw graphics
    play sounds
    end while
    

    Potongan kode di atas biasanya dikenal dengan istilah game loop.

  • Kode untuk menampilkan gambar ke layar.
  • Kode untuk menggerakkan objek game berdasarkan input pemain. Ada dua aspek programming yang bisa kamu pelajari disini:
    • Menggerakkan objek game dalam layar.
    • Mendeteksi input dari pemain kemudian mengimplementasikannya ke objek game di layar.
  • Kode untuk deteksi benturan (collision detection) antara objek-objek di dalam game.
  • Dan masih banyak lagi yang bisa kamu gali sendiri ketika ngulik Pong. (^^,)

Saya sendiri pun dulu mulai belajar game programming dari ngulik Pong. Pengalaman ngulik itu saya share di posting Pong Android dan Pong BlackBerryĀ .

Oiya, kamu juga bisa memilih game selain Pong lho. Tapi saran saya, mulailah belajar dari game yang terbilang sederhana seperti Pong, Hangman, Breakout atau Tetris.

Langsung terjun ngoding game? Harus paham C/C++ dulu kah?

Kalau memang sudah pernah punya pengalaman ngoding sebelumnya, kamu bisa saja mulai terjun membuat game dengan menggunakan bahasa pemrograman yang sudah kamu kuasai.

Misalnya kamu sudah pernah membuat website atau web-application? Kamu bisa bikin game pakai HTML+CSS+Javascript.
Atau kamu pernah bikin mobile application pakai Java/J2ME atau pakai Objective C? Kamu bisa bikin game pakai bahasa pemrograman tadi.

Gak harus pakai C/C++ kok.

Lagipula di era sekarang game sudah bisa dinikmati di bebagai platform mulai dari PC, konsol, web, sampai dengan mobile (smartphone dan tablet). Jadi walaupun belum punya pengalaman programming C/C++, kamu tetap bisa mulai membuat game sesuai dengan latar belakang programming yang kamu kuasai.

Tips: salah satu saran dari senior saya, “buatlah game memakai bahasa pemrograman dan platform yang sudah kamu kuasai”. Ada benarnya, karena kamu jadi bisa lebih fokus untuk belajar aspek game programmingnya dan tidak terpecah karena harus belajar bahasa pemrograman yang baru kamu kenal.

Perlukah pakai game engine?

Sudah pernah dengar istilah game engine? Definisi game engine menurut wikipedia adalah software yang didesain untuk pembuatan video game. Untuk penjelasan lebih lengkapnya bisa kamu baca di sini.

Menurut saya pribadi, lebih baik kalau kamu mulai belajar dasar-dasar game programming tanpa menggunakan game engine. Walaupun dengan memakai game engine mungkin kamu bisa (relatif) lebih cepat membuat game, tapi kamu tidak bisa mempelajari hal-hal mendasar dari game programming. Karena hal-hal mendasar tadi sudah ditangani oleh game engine.

Namun itu tergantung dari pilihan kamu, kalau memang ingin membuat game dengan menggunakan game engine ada beberapa opsi yang bisa kamu coba seperti:

  • Unity3D. Ini merupakan salah satu game engine populer yang banyak digunakan. Untuk membuat gamenya kamu bisa menggunakan C# atau UnityScript.
  • Cocos2D-iPhone. Kalau ingin membuat game untuk platform iOS, Cocos2D adalah salah satu pilihan yang paling populer. Untuk membuat gamenya menggunakan bahasa pemrograman Objective-C atau Swift. Baru-baru ini saya posting tentang tutorial Cocos2D-iPhone, kamu bisa cek di sini.
  • Cocos2D-x. Varian dari keluarga Cocos2D ini ditujukan untuk membuat game multi-platform (iOS, Android, Windows8). Untuk membuat gamenya kamu bisa menggunakan C++ atau Javascript.
  • Starling Framework. Ini adalah game engine untuk membuat game di plaftorm Flash. Untuk membuat gamenya menggunakan Actionscript 3.

Selain contoh diatas tadi, masih banyak game engine lain yang bisa kamu coba.

Coffee break dulu..
Waah.. Panjang juga obrolan saya ya. Kita rehat dulu sambil menganalisa obrolan yang barusan.

Jadi bagi kamu yang sudah punya pengalaman programming, ada beberapa opsi langkah awal yang bisa kamu ambil untuk mulai bikin game,

  • Kamu bisa mulai membuat konsep game lalu dilanjutkan dengan belajar dasar-dasar programming game memakai bahasa pemrograman yang sudah kamu kuasai.
  • Atau mulai membuat konsep game lalu kamu lanjutkan pembuatannya dengan menggunakan game engine.
  • Bisa juga kamu langsung mulai belajar dasar-dasar game programmingnya dari game yang sudah ada tanpa harus membuat konsep game kamu sendiri dulu.

Tips: Kalau kamu merasa mati ide waktu lagi bikin konsep, kamu bisa coba beberapa tips ini.. =)

Well.. Semoga obrolan saya tadi bisa membantu kamu yang punya pengalaman ngoding dan berniat untuk bikin game kamu sendiri. Kalau masih agak bingung untuk memilih opsi-opsi tadi, kamu bisa share pertanyaan kamu di kolom komentar atau kamu juga bisa gabung ke komunitas developer game untuk saling berbagi dengan para programmer game lain.

So.. Mari kita belajar, bereksperimen dan bersenang-senang membuat game.. Cheers!

Iklan

22 thoughts on “Langkah Pertama Bikin Game.. Catatan untuk Programmer.

  1. kk, tolong ajarin saya plis…
    cara buat game” perang , atau balap…
    saya pingin cari solusinya šŸ˜¦
    yang sesederhana mungkin, kalau bisa ada 1 contoh cara buat game biar saya ngerti kk,
    soalnya saya engga tau di mana…
    kebetulan saya mampir ke blog kk,
    mungkin kk bisa bantu..
    thanks

    • hmm.. sudah punya bayangan mau bikin gamenya yang seperti apa? saran saya, kalau kamu sudah punya pengalaman pemrograman, kamu bisa coba baca-baca tutorial untuk bikin game di sini atau kamu bisa coba pelajari unity untuk bikin game. Di situs-nya unity tadi ada kok sample game yang bisa kamu pelajari.. =)

  2. Yogie Wirajaya berkata:

    Kak, masih aktif sama ni blog ga?
    kalo sempet baca ini gw mo mnta tlong,
    sy blm pernah pengalaman buat game dan programmer,dll.
    sy pgin jadi game design, boleh mnta e-mail atau contact biar sy bsa contact kakak kalo butuh sesuatu? thx šŸ™‚

  3. Yessica berkata:

    kag aku bingung caranya bikin hungman game tapi bikinnya lewat visual basic. gmn ya caranya ???? se’enggaknya script nya ap gt???? mksh.

  4. Ridwan F. berkata:

    nasihat yang bagus bang, walau aku bukan ngarah ke game tapi setidaknya sama2 mendevelop perangkat lunak.

  5. Saya kebetulan lagi menyibukkan diri buat belajar unity 3d… saya juga programmer mobile sih tepatnya android dan iOS, cuma berminat sekali unutk membuat game. Apa kita bisa saling sharing dan bikin komunitas developer game dan coba develop sebuah game? šŸ™‚

  6. ishaq berkata:

    sangat bagus penjelasan membuat game dari kakak..
    kak saya ingin membuat game edukasi seperting game tanya jawab. tpi saya bingung mau pake aplikasi apa??
    saran kakak pake aplikasih apa?? trima kasih

    • Hai Ishaq, terima kasih sudah mampir ke blog saya ya =)
      Untuk aplikasinya, kamu bisa pilih game engine seperti Unity, Construct, GameMaker, atau Game Salad.
      Saran saya, kamu coba dulu salah satunya untuk melihat apakah kamu merasa cocok atau tidak pakai game engine itu untuk bikin game yang mau kamu buat.

Komentar ditutup.