Rabu, 31 Juli 2013

Construct 2 RPG tutorial: The battle continues...

Sesudah kita membahas tentang battle design di bagian kedua, di bagian ketiga ini aku akan mulai mengimplementasikan apa yang kita desain sebelumnya. Di sini aku mulai memikirkan tentang implementasi stats karakter yang kita desain, dan juga tentang pemakaian equipment / senjata. Pertama-tama mari kita lihat screenshot hasil akhir dari tutorial ini:


Pertama-tama aku akan menambahkan beberapa family baru, family ini adalah fitur construct 2 yang cuma ada di versi berbayar (punyaku versi personal)

Aku akan menjelaskan apa arti dari masing-masing family:
- Enemies: berisi daftar-daftar musuh dalam game
- enemySprites: sprites dari musuh, namanya sama dengan nama musuh
- Friendly: berisi karakter pemain dan party member lain yang bergabung dalam battle. Objek-objek yang ada di family ini nggak bisa dilukai dengan serangan pemain tapi bisa disembuhkan dengan item atau skill penyembuh pemain
- FriendlyAttackFX: efek serangan yang dikeluarkan anggota family Friendly, efek serangan ini yang nanti dites collision detection dengan musuh
- Weapons: daftar senjata yang ada dalam game. Senjata yang ada di sini nggak harus dipakai oleh pemain atau party member yang lain, ini cuma menjadi database senjata.

Minggu, 28 Juli 2013

Game Design: What is fun?

Oke, sudah agak lama nggak nulis blog post kali ini aku mau nulis sesuatu soal salah satu tujuan game dibuat, yaitu memberikan rasa senang kepada pemain. Apa itu fun? Fun adalah perasaan kenikmatan yang kita rasakan ketika kita sedang melakukan aktifitas tertentu, aktifitas ini bisa macam-macam dan dua orang yang melakukan aktifitas yang sama bisa saja merasakan rasa fun yang berbeda. Aktifitas ini bisa berupa menonton film, membaca buku, jalan-jalan, dan berbagai macam. Tapi kali ini, kita akan berbicara soal fun dalam game.

Aku mengelompokkan fun dalam dua macam: Entertaining Fun, dan Challenging Fun. Entertaining fun adalah perasaan senang sewaktu kita merasa rileks dan terhibur, kita tidak perlu bersusah payah untuk mendapatkan perasaan senang macam ini. Game yang memberikan perasaan ini adalah casual game yang sekarang banyak hadir di smartphones. Game tipe ini tidak memberikan banyak tantangan, tantangan yang ada hanyalah tantangan sederhana yang bisa dilalui pemain, baru kemudian tantangan itu diberikan variasi. Contoh yang paling gampang adalah angry birds, tantangan yang diberikan hanyalah satu: membunuh para babi dengan burung yang disediakan. Tantangan ini kemudian divariasikan dengan memberikan beraneka macam burung dengan kemampuan berbeda untuk dilempar, atau diberi penghalang lain dalam satu level (batu sebagai pengganti kayu misalnya). Game semacam ini diberikan untuk pemain yang tidak suka tantangan, dan lebih menginginkan rasa fun yang langsung bisa mereka dapatkan saat itu juga.

Because pigs are too angry birds


Challenging fun adalah kebalikan dari Entertaining fun. Challenging fun tidak membuat pemain merasa senang sewaktu sedang memainkan gameplay dari game, tapi semakin menekan pemain (dalam batas-batas game rules) untuk mengeluarkan kemampuan terbaik mereka untuk mengalahkan tantangan dalam game. Perasaan senang itu baru akan diterima pemain ketika sudah menyelesaikan tantangan itu sendiri. Game yang menggunakan tipe fun seperti ini biasanya adalah game-game yang dirilis di PC, baik itu oleh developer besar atau developer indie. Game ini dibuat untuk gamers yang memang menginginkan tantangan, dan menguji kemampuan mereka dalam mengalahkan tantangan itu.

This is just the easy mode, baby

Jadi ini juga menjadi salah satu bahan pemikiranmu sewaktu kamu membuat game, tipe fun seperti apa yang ingin kamu berikan pada gamers? Sesudah itu terjawab, kamu bisa menentukan challenge & reward yang sesuai dengan tipe gamers yang ingin kamu tuju. Sampai ketemu di blog post berikutnya.

Rabu, 17 Juli 2013

Construct 2 RPG tutorial: battle design!

Baik, sekarang kita memasuki bagian kedua dari tutorial membuat RPG dengan Construct 2!  Kali ini aku ingin melanjutkan membuat battle system, tapi sebelum itu aku harus menyentuh ke desain pertarungannya dulu, supaya kita punya dasar ketika coding nanti. Jadi untuk sekarang ini aku akan menulis soal game design dari sisi pertarungan.

Yang pertama-tama akan aku bikin adalah stats. Entah stats ini singkatan dari apa, tapi dalam RPG sudah sering kita temui stats, baik stats musuh ataupun stats pemain. Stats yang aku bicarakan ini beda dengan status dalam artian status effect, karena status effect adalah efek buff (baik) atau debugg (buruk) yang mengenai pemain / monster. Stats-stats ini adalah sebagai berikut:

  • HP: Health point. Total health, kalau pemain / monster disembuhkan, nilai currentHP ngga bisa melewati ini.
  • CurrentHP: Health saat ini, kalau turun sampai 0 maka pemain / monster mati.
  • SP: Spirit point. Dipakai untuk menggunakan skill / sihir, nilai currentSP ngga bisa melewati ini.
  • CurrentSP: Spirit point saat ini, berkurang tiap kali memakai skill / sihir. Kalau jumlahnya kurang dari yang dibutuhkan untuk menggunakan skill / sihir, maka skill / sihir itu ngga terpakai.
  • ATK: Attack. Nilai serangan karakter, digunakan untuk menentukan besaran kekuatan serangan fisik / skill bersama dengan kekuatan senjata.
  • DEF: Defense. Nilai pertahanan karakter, dipakai untuk menentukan pertahanan terhadap serangan fisik yang juga dihitung bersama dengan pertahanan armor.
  • ACC: Accuracy. Kemungkinan serangan kena atau nggak. Serangan jarak dekat, jarak jauh, dan sihir /skill dihitung pakai stats ini.
  • EVA: Evasion. Kemungkinan menghindari serangan.
  • INT: Intelligence: Tingkat kecerdasan, dipakai untuk menentukan kekuatan serangan sihir
  • RES: Resistance. Ketahanan terhadap serangan sihir.
  • LUK: Luck. Menentukan tingkat critical dan mungkin hal-hal lain yang bergantung pada keberuntungan (item drop misalnya).

Baik karakter pemain ataupun monster memiliki stats yang sama, yang membedakan adalah nilainya. Monster akan memiliki lebih banyak HP dibandingkan dengan karakter pemain, karena nantinya monster nggak akan menyerang seagresif pemain, dan kebanyakan monster nggak punya skill / sihir seperti pemain (kecuali tentunya boss).

Berikutnya adalah stats yang diberikan dari senjata. Sudah umum kita temui dalam RPG, semua senjata punya atribut seperti ATK dan semacamnya, jadi senjata dalam game ini pun juga seperti itu. Di bawah ini adalah stats dari senjata:


  • MinAtk: Kekuatan serang terendah senjata ini
  • MaxAtk: kekuatan serang tertinggi senjata ini.
  • StatsMod: Modifier dari stats tertentu dari pengguna senjata, kalau ada. Stats ini boleh kosong.
  • Elemen: Elemen senjata, boleh kosong.

MinATK dan MaxAtk adalah bonus serangan yang didapat karakter dari senjata, nantinya sewaktu menyerang karakter akan mendapat bonus ATK yang berkisar antara MinAtk dan MaxAtk, sehingga tiap serangan akan menghasilkan damage yang bervariasi seperti RPG pada umumnya. StatsMod adalah tambahan stats tertentu yang didapat karakter sewaktu sedang meng-equip senjata ini. Nggak semua senjata punya StatsMod jadi boleh kosong. Contoh dari StatsMod ini adalah senjata yang punya kekuatan spiritual sehingga meningkatkan SP pemain yang memakainya. Kemudian elemen adalah elemen senjata, ini nggak perlu dijelaskan pasti sudah jelas, elemen ini bisa saja dimiliki senjata sejak awal, atau ditambahkan dari proses crafting. Ini masih belum seluruhnya dari atribut senjata, masih ada yang belum aku bahas seperti nama senjata, definisi, harga beli, dan harga jual. Tapi di sini aku lebih fokus ke stats senjata dalam battle, jadi ini aja cukup.

Kamis, 11 Juli 2013

Game design: Game rules

Apa sih itu game rules? Kita pasti tahu apa itu game rules, karena itu dipaparkan dalam game selama kita memainkan game, cuma mungkin saja kita yang nggak sadar kalau ada peraturan khusus dalam game. Sewaktu kita memainkan game kita selalu mengikuti peraturan-peraturan khusus yang sudah ditetapkan oleh game designer.Untuk menjelaskan soal game rules ini, aku akan mengambil contoh dari game yang sudah terkenal: Mario.

Peraturan-peraturan dalam game ini kira-kira seperti ini:
1. Kalau menyentuh musuh dari samping, Mario akan mati. (atau kalau  sudah memakan jamur, tubuhnya akan kembali kecil)
2. Kalau menyentuh musuh dari atas (menginjak), musuhnya mario akan mati
3. Kalau jatuh dalam lubang, Mario akan langsung mati
4. Kotak batu yang disundul akan hancur, atau mengeluarkan koin atau jamur atau bunga.
5. Lompatan Mario sangat tinggi kalau dibandingkan dengan tinggi badannya. Bisa dibilang ini adalah kekuatan supernya Mario (lol)

Sebenarnya ini bisa dilanjutkan lagi, tapi untuk sekarang ini, aku ambil lima saja contohnya. Gabungan dari aturan-aturan inilah yang nantinya membantu membentuk gameplay dari game.

Minggu, 07 Juli 2013

Construct 2 RPG tutorial: the beginning

Oke, jadi sekarang aku berpikiran untuk membuat tutorial RPG dengan Construct 2, karena Construct 2 ini adalah tool yang mudah digunakan untuk membuat game apapun juga, aku jadi ingin mencoba membikin RPG dengan tool ini. Kenapa RPG? Simple aja, aku ingin buat RPG, dan aku yakin banyak yang juga ingin. Aku nggak tau seberapa rutin aku menulis tutorial ini, tapi aku usahakan akan aku teruskan sampai jadi. Oh iya, tutorial ini berasumsi pembacanya sudah familiar dengan cara memakai Construct 2, jadi cara-cara seperti membuat event / layer / object baru ngga aku tulis di sini, sudah ada banyak tutorial soal itu di website scirra.

Pertama, kita akan membuat game design sederhana dari RPG ini.

Judul: My RPG Project (diganti nanti)
Platform: PC, Mac, Linux
Pemain: 1 orang
Battle system: action-based dengan random battle. Pemain akan berjalan-jalan di map/dungeon lalu mendadak akan bertemu musuh dan pindah ke layar battle. Pertarungan akan mirip pertarungan di Tales of Destiny.
Kondisi menang: Pemain mengalahkan boss terakhir di akhir game.
Kondisi kalah: pemain kalah dari pertarungan, kecuali yang memang dibuat supaya kalah.
Tantangan: Pertarungan. Baik itu random battle atau boss battle
Reward: Exp points, items, dan uang sesudah mengalahkan monster.

Sementara segitu dulu, nanti akan aku lengkapi. Untuk tutorial pertama ini aku ingin memulai dengan battle system sederhananya. Aku sudah meng-upload file project-nya di dropbox, bisa diambil di sini: https://dl.dropboxusercontent.com/u/22420086/My%20RPG%20project.capx
screenshot awalnya adalah seperti ini:

lumayan bagus kan? Untuk yang ingin tau lebih soal cara pembuatannya, bisa lanjut membaca di bawah.

Kamis, 04 Juli 2013

Game design: Ide game

Udah lama banget ya aku nggak nulis soal game design, salah satu sebabnya karena memang nggak ada ide soal game design yang mau aku tulis. Tapi sekarang, kelihatannya aku ada ide soal ini. Yaitu soal ide game. Dulu aku pernah baca artikel tentang "idea guy", alias orang yang hanya punya ide saja tanpa punya skill yang cukup untuk mewujudkan idenya itu. Dalam sebuah tim, orang ini biasanya hanya aktif di awal pengembangan game saja, karena sesudah mengeluarkan ide, dia nggak punya kesibukan lagi. Itulah definisi "idea guy" dari artikel yang aku baca itu.

Tapi beberapa hari lalu aku berfikir, apa benar hanya itu? Atau mungkin ada yang lebih dari seorang "idea guy". Jujur, aku belum pernah bertemu langsung dengan seorang "idea guy" (capek juga ngasih tanda kutipnya), jadi apakah dia benar-benar ada atau tidak, entahlah. Tapi di sini aku nggak ingin membahas soal si manusia ide itu, tapi lebih ke idenya. Apa sih ide itu? Apakah ide dalam game itu cukup hanya sekedar "Aku mau membuat game seperti Final Fantasy XIII-2", "Aku punya ide bikin game mirip Fable.", "Ayo bikin game seperti Dynasty Warriors tapi settingnya bukan tiga kerajaan."?

Kalau itulah definisi dari sebuah "ide", maka menurut aku definisi itu salah. Itu bukan ide, ide bukanlah sekedar satu kalimat pendek mengatakan kita akan meniru game terkenal apa. Ide game adalah sebuah dokumen lengkap tentang sebuah game, walaupun waktu dibuat pertama kali ide game tidaklah harus langsung lengkap dan "benar".

Oke, mari kita coba buat contohnya. Kita akan mencoba membuat ide game RPG, karena genre ini populer dan sepertinya banyak orang yang mau membuat game genre ini, entah bergaya barat atau timur. Nama RPG untuk sementara adalah "Sword of Legend".

Senin, 01 Juli 2013

Konsol dari Google? should I care?

Oke, kecuali kalian tinggal menyendiri di pulau terpencil yang jauh dari manapun juga, kalian pasti sudah tahu kalau google akan meluncurkan konsol game berbasis android mereka sendiri. Ini sebenarnya baru rumor sih, tapi karena sumber beritanya dari wall street journal, ini lumayan terpercaya. Sebenarnya langkah google ini gak terlalu mengejutkan, mengingat sudah ada banyak konsol android "indie" yang didanai dari kickstarter, bukan hal yang aneh kalau sang pemilik android juga ingin menginjakkan kaki di wilayah perang konsol android. Pertanyaan yang menarik adalah: apa efek dari konsol google ini?

Yang paling terkena dampaknya adalah konsol-konsol "indie" yang lain, karena selain bertanding melawan sesama pabrikan indie, mereka juga harus bertarung melawan google. Apa saja kelebihan konsol google ini nantinya? Pertama-tama adalah adanya Googla Play Services, layanan game integrated dari google ini memberikan achievements, leaderboards, cloud save, terikat ke akun google+, dan yang paling penting adalah adanya real time multiplayer. Ini adalah fitur-fitur yang, sampai sekarang, belum ada di konsol-konsol android lain, dan ini bisa jadi fitur andalan di konsol google. Seandainya saja Google Play Services diluncurkan juga di konsol google, orang-orang bisa main di konsolnya sendiri, men-save permainannya di konsolnya, lalu melanjutkan permainan di konsol teman. Atau mungkin disediakan achievement dalam game, beradu leaderboard dengan teman, atau yang paling seru adalah bermain real time multiplayer bersama teman. Bayangkan saja, bermain balapan dengan teman, bertarung di fighting game bersama teman, atau mungkin saja multiplayer RPG langsung di konsol android. Google Play services akan menjadi lawan yang berat bagi konsol android yang lain.