Kategori
Dunia Gamedev

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 sekedar bikin program

Ya, proses bikin game itu bukan cuma sekedar melibatkan pemrograman saja. Pembuatan game itu melibatkan banyak aspek, mulai dari pemrograman, desain karakter, 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 artikel yang lain ya.

Untuk kamu yang masih bingung karena belum bisa pemrograman, atau merasa belum pede untuk menggambar, bisa mampir ke artikel saya yang ini yang membahas tentang langkah awal proses pembuatan game.

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 pemrogramannya. Dalam dunia pengembangan game, konsep game ini biasa disebut dengan istilah game design.

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

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

Jadi langkah pertamanya mesti bikin konsep dulu?

Gak selalu harus begitu sih. Bingung ya? 😅

Begini, untuk bikin game memang biasanya diawali dari pembuatan konsep/game design. Tapi untuk belajar tentang pemrograman game, 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 pemula yang ingin belajar tentang pemrograman game. Walaupun kuno, tapi dari Pong kamu bisa belajar tentang ilmu dasar 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 pemrogaman game dari utak-atik kode game Pong. Pengalaman itu pernah saya bagikan di artikel 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 bikin program? Harus paham C/C++ dulu kah?

    Kalau memang sudah pernah punya pengalaman pemrograman 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 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 pemrograman menggunakan C/C++, kamu tetap bisa mulai membuat game sesuai dengan bahasa pemrograman 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 pemrograman gamenya dan konsentrasimu 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#.
    • 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.
    • Godot Engine. Game engine open-source yang juga bisa membuat game multi-platform dan terbilang beginner-friendly. Untuk membuat gamenya bisa menggunakan GDScript atau C#.

    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 pemrograman, 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 pemrograman 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.. =)

    Semoga obrolan saya tadi bisa membantu kamu yang punya pengalaman pemrograman 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!

    Oleh Krishna.W

    seorang game programmer yang gemar menjelajah samudra digital sambil menikmati secangkir kopi hangat.

    22 replies on “Langkah Pertama Bikin Game.. Catatan untuk Programmer.”

    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.. =)

    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 🙂

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

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

    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? 🙂

    waah.. tawaran yang menarik! saya juga sekarang lagi utak-atik unity bwat bikin game. (^^,)
    kalau mau kolaborasi bikin game boleh2 aja, kontak via email aja untuk diskusi lebih lanjut ya.. cheers!

    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.