Tuesday, June 2, 2015

3. Fun Levels design [Tips making a fun platformer game]

3. Level design yang menyenangkan sekaligus menantang.

Level design tidak bisa dipungkiri adalah nyawa dari suatu game. Level design lah yang menentukan bahwa game tersebut menyenangkan, adiktif, serta tingkat kesulitan suatu game. Tidak masalah jika nanti kalian ingin membuat game dengan kesulitan tinggi macam Super Meat Boy, atau relatif mudah dan colorful seperti rayman series karena hal yang utama dari suatu game adalah menyenangkan dan memuaskan tidak game tersebut bagi pemain. Biasanya ada 4 macam entitas rintangan level design yang dihadapi pemain dalam memainkan game platformer.

1. Enemies / boss
Hampir setiap video games terdapat musuh untuk dilawan. Walau sekedar untuk dihindari, ataupun digunakan untuk mengumpulkan poin. Ada banyak variai musuh yang biasa ditemui di game platformer.

- Musuh yang memberikan damage jika bersentuhan dengan MC. musuh ini biasanya paling mudah untuk dibunuh. Bisa menggunakan tembakan atau dengan diinjak.



- Musuh yang memiliki proteksi/pelindung tubuh. Musuh tipe ini biasanya merupakan upgrade dari tipe musuh pertama. Musuh tipe ini agak sedikit susah untuk dibunuh dengan cara biasa, bahkan kadang bahkan bisa melukai MC sendiri jika tidak diserang dengan timing yang pas.



- Musuh dengan senjata. Biasanya tingkah laku musuh seperti ini sama seperti dengan musuh tipe pertama diatas, yang membedakan biasanya tingkat jangkauan serangan yang diberikan.


- Musuh yang bisa menembakan projectile/peluru. Musuh seperti ini biasanya paling susah untuk dilawan, kita harus bisa memprediksi kapan musuh dengan tipe ini menembakkan pelurunya.



2. Deadly Obstacle
Berbeda dengan actor enemies yang kebanyakan bisa dikalahkan untuk medapat poin, object-object yang termasuk deadly obstacle biasanya tidak bisa "dimatikan" dengan cara biasa. Jika kita menyentuh object tersebut, dia akan langsung mengurangi health poin MC atau bahkan game over. Di kebanyakan game platformer, object-object ini bisa dihindari dengan melompatinya. Tetapi variasi tentu sangat dibutuhkan agar pemain tidak jenuh dengan rintangan yang itu-itu saja.

Salah satu contoh game dengan variasi level design yang luar biasa adalah game Super mario 3D World. Di game tersebut buanyak sekali object-object yang sangat seru untuk dihindari, mulai dari gerigi, paku, penggiling, roda dan lain-lain. Berterima kasihlah pada Koichi Hayashida dari Nintendo yang memimpin team level design untuk game tersebut. Dia mengenalkan istilah Kishōtenketsu (yang nantinya akan saya coba ulik lebih dalam) dalam melakukan design sebuah konsep musuh atau rintangan. Oh iya, sebaiknya dalam membuat rintangan usahakan sebisa mungkin menghindarui penggunaan tutorial dalam bentuk teks. Alangkah baiknya jika pemain langsung bisa mengetahui tingkah laku rintangan tersebut dengan cara mengamati sendiri.




3. Environmental Hazards.
Tidak ada yang lebih ditakuti dalam bermain game platformer selain jatuh kedalam jurang (disebut juga bottomless pit atau abyss ). Jika kita terjatuh kedalam jurang tersebut, tanpa ampun lagi kita harus memulai permainan dari awal/checkpoint. Ada beberapa variasi dari environmet selain berupa jurang, bisa saja berbentuk lava, sungai/laut, atau landasan yang penuh dengan paku/duri.

4. Puzzle Object.
Walaupun object yang digunakan dalam puzzle jarang yang berbahaya. Puzzle tidak jarang membuat pemain frustasi dan berpotensi menjadi sebuah show stopper jika puzzle nya terlalu susah. Puzzle yang baik adalah puzzle dengan tingkat kesulitan lumayan, tetapi membutuhkan kejelian pemain dalam mengamati "hint" disekitar puzzle agar pemain dapat mandiri menemukan caranya sendiri menyelesaikan puzzle tersebut.

No comments

2. Pengaturan kamera [Tips making a fun platformer game]


Atur Posisi kamera agar pemain bisa selalu melihat MC dan rintangan dengan jelas


Pernah mendengar gamer yang pusing setelah main game FPS atau TPS?. Walaupun jarang terjadi untuk game ber-genre platformer, kamera memegang peranan penting dalam memberikan kenyamanan bermain. Jangan pernah menempatkan MC di suatu tempat yang tidak terjangkau oleh kamera sehingga pemain tidak tau lokasi dari MC sedang berada dimana. Di era sekarang dimana ukuran monitor PC, TV atau smartphone yang banyak yang lebar dan luas dapat membantu developer dalam melakukan  pengaturan posisi kamera di game platformer. Di layar yang lebar tersebut, developer dengan mudah menempatkan MC di tengah posisi kamera agar pemain nantinya bisa melihat rintangan di depan ,belakang, atas dan bawah MC secara berbarengan.


Pemain dengan mudah melihat rintangan di sekeliling MC
Biasanya posisi MC di dalam kamera adalah selalu berada di tengah atau dengan kata lain koordinat X berada di 50% dari lebar layar. Sedangkan posisi vertikal atau Y bervariasi antara 50% dari tinggi layar atau bisa juga 70%-30% dimana porsi langit lebih banyak daripada porsi tanah karena biasanya posisi langit lebih memiliki objects of interest yang lebih variatif daripada tanah.

Game ini secara tepat menggunakan proporsi 50% untuk posisi X, dan 70%-30% untuk Y
Tetapi jika suatu saat kita diharuskan membuat game dengan ukuran yang lebih kecil seperti Smartwatch atau Java games, penentuan posisi kamera sangatlah krusial. Kita harus pintar-pintar mengatur secara manual spot per spot dan tidak hanya terpaku pada posisi default kamera. Perhatikan contoh penempatan kamera di layar device yang sempit dibawah ini :




Pencapaian terbaik dalam melakukan pengaturan kamera dalam sebuah game adalah bagaimana saat bermain, pemain tidak sadar akan eksistensi kamera di game tersebut.

Ada juga kasus dimana terdapat penempatan kamera yang kurang tepat di game-game platformer. Tidak selamanya posisi default dari kemera selalu pas, ada kalanya kita harus memodifikasi posisi kamera di tempat tertentu agar pemain bisa nyaman melihat kedalam isi kamera. Berikut contoh yang salah dan sering dijumpai di game platformer.

Before
Pemain akan kebingungan, apakah platform di bawahnya aman dipijak atau tidak. Manfaatkanlah ruang kosong untuk dipakai dalam penempatan kamera.   

After
Dengan penempatan kamera yang benar, pemain bisa mengetahui bahwa platform di bawahnya itu aman untuk dipijak. Serta sekilas didepan terlihat potongan platform lain yang secara tidak sengaja memberitahu pemain bahwa ada alternatif platform yang bisa dicapai juga dengan cara melompat. 

Solusi lain untuk mengatasi permasalahan pada kamera yaitu penggunaan kontrol zoom in-zoom out pada kamera. Jadi jika saat MC berada di area yang minim object interaktif/musuh, kamera bisa di set di posisi zoom in atau mendekat sehingga pemain bisa fokus pada animasi MC dan keindahan background. Zoom in juga bisa ditampilkan saat pemain terlalu lama tidak melakukan apa-apa terlalu lama atau idle (lupa mem-pause permainan) sehingga saat pemain mulai ingin melanjutkan permainan, pemain bisa langsung terfokus pada tokoh MC. Setelah MC mulai bergerak, barulah kamera sedikit bergerak mundur atau zoom out. Zoom out juga diatur saat MC menemui banyak rintangan, puzzle atau saat melakukan perjalanan ke arah vertikal agar secara tidak sadar pemain terfokus pada lingkungan area sekeliling MC.

Hal menarik dan sedikit lucu yang mungkin secara tidak sadar menjadi sebuah standart dalam membuat game platformer adalah perjalanan MC dari start ke tempat tujuan hampir pasti dimulai dari sisi kiri ke sisi kanan. Alam bawah sadar kita ternyata punya persepsi bahwa kiri ke kanan itu ditangkap otak sebagai visual motion. Coba bayangkan kita bermain game dari kanan ke kiri, baru membayangkannya saja sudah bikin pusing bukan?haha. Selengkapnya bisa dibaca di artikel dari Gizmodo di sini.





No comments

1. Polished Character Animations [Tips making a fun platformer game]

Siapa yang tidak tahu dengan game Super Mario Bros. Game platformer yang telah terjual 40 juta copy itu telah diibaratkan sebagai pioner game platformer yang hingga kini terus melegenda. Walau saat ini game dengan genre platformer kurang menjadi primadona seperti genre FPS, RPG maupun openworld game adventure, tetap saja banyak developer yang membuat game dengan genre tersebut. Dari nama besar Little Big Planet, Rayman dan Mario hingga besutan indie developer seperti Thomas was alone, Fez, Shovel Knight, dll.

Dari segi developer game, membuat game dengan genre ini sebenarnya gampang-gampang susah. Banyak tutorial di internet baik dari yang "instan" seperti dengan software Construct 2, Stencyl atau pun yang agak sedikit njlimet seperti Unity dan lain-lain. UbiArt sendiri dengan Rayman-nya memiliki engine khusus yaitu UbiArt Engine. Dari engine tersebut UbiArt bahkan berhasil memodifikasinya menjadi game indah yang bernama "Child of Light".

"Sekarang jika engine-nya sudah punya, tutorial sudah terdownload lengkap di hardisk, programmer, graphic artist serta game designer sudah ada, apakah kita bisa membuat game platformer yang super keren yang bisa bikin orang enjoy memainkannya?". Sebelum itu cobalah kita perhatikan, saat ini di Google Play maupun App Store  banyak sekali game platfomer yang dirilis, akan tetapi tidak sedikit yang hanya numpang lewat atau cuman mejeng 2 minggu di situs atau koran lokal saja. "Terus apa yang kurang?" untuk menjawab pertanyaan itu, simak tips-tips membuat game platformer bawah ini.

Update : Sebelumnya saya ingin membuat tips-tips ini dalam 1 artikel saja, akan tetapi ternyata tiap poin membutuhkan penjelasan detail yang makin hari makin terus mengembang. Oleh karena itu, tiap tips akan saya pisah menjadi beberapa postingan.

1. Poles, poles dan poles animasi karakter semaksimal mungkin.

Tidak bisa dipungkiri selama permainan 90% pandangan user selalu tertuju di character utama (MC). Bagaimana jika selama 90% itu pemain melihat animasi yg clunky, kasar atau transisi antar gerakan yang kurang halus?. Pastilah hal tersebut memberikan kesan yang kurang bagus terhadap pengalaman bermain. Animasi dasar dari MC yang paling sering dilihat adalah animasi idle, running/walking, attack, hurt serta die. Jadi yakinkan character artist-mu untuk membuat animasi sehalus dan se-natural mungkin. Jika menggunakan spritesheet untuk game 2D, jangan irit untuk memberikan frame animasi untuk gerakan tersebut misalkan animasi running, minimal sediakan 8 frames untuk gerakan tersebut.
Lihatlah berapa jumlah frame yang dibutuhkan untuk 1 animasi lari ini!

Tentu saja tidak semua character harus memiliki mobility/pergerakan yang sama. Pergerakan untuk manusia, hewan atau robot pastilah berbeda. Dengan catatan biasanya urutan mobility dari yang paling "berat" hingga "ringan" adalah sebagai berikut : robot --> manusia --> hewan. Dan satu hal lagi, cobalah buat animasi berlari tanpa terkesan mengambang atau meluncur bagaikan di arena ice skating. Contoh game klasik yang memiliki animasi yang "luar biasa" di masanya adalah game Prince of Persia untuk versi NES. Coba mainkan game ini di sini dan perhatikan animasinya dari mulai potongan cutscene hingga animasi MC. Untuk ukuran game NES, animasi di game tersebut sangat sangatlah halus. 

Soooooo Smoooth!!
Tapi ingat! semakin banyak frames yang kamu gunakan dalam membuat animasi akan mengurangi frame per second (fps) overall game nantinya. Tips-nya, coba kurangi object bergerak yang mempunyai frame animasi yang banyak muncul dalam 1 layar. Misal, menampilkan MC melawan 10 musuh dengan tembakan peluru disana-sini disertai dengan environment di background seperti pohon, sungai, angin, rerumputan yang penuh dengan animasi merupakan bukan pilihan bijak. Selain akan membuat layar terlihat terlalu ramai, menerapkan hal tersebut pasti akan berpengaruh terhadap turunnya fps. 


Tambahan detail dalam membuat animasi yang perlu diperhatikan adalah :

1. Kurangi menggunakan animasi yang sama berulang-ulang untuk tiap state animasi yg berbeda.
- ex : menggunakan animasi yang sama untuk power up yang berbeda-beda, menggunakan animasi yang sama saat berjalan di platform biasa, platform licin, dalam air, ruang hampa udara, dll.

2. Berikan efek impact pada saat MC bertumbukan dengan musuh atau suatu object.
- ex : ketika suatu character menghantam sesuatau, berikan feel seperti kita memukul sebuah punching bag, bukan hanya memukul angin.

3. Berikan value gravity yang paling tepat untuk animasi loncat. Hilangkan kesan terbang, atau floating seperti kapas. 
Game besar seperti Little Big Planet bahkan sering dikritik karena animasi loncat karakter utama si Sackboy terlalu "floaty". Jadi sempatkan waktu untuk memberikan value gravitasi sampai dirasa pas. Jangan ragu untuk meminta feedback dari orang lain.

4. Berikan kemampuan pada MC untuk melakukan hal lain saat berada di udara. 
Hal ini penting agar saat MC di udara atau sedang melakukan loncatan tidak terlihat membosankan.
- ex : Double jump, menyerang musuh saat loncat, loncatan akrobatik untuk meraih platform tertentu, dll.
No comments

Monday, June 1, 2015

Nonton Ketoprak di Gedung Pertunjukan Balekambang Solo

Malem minggu tanggal 30 Juni 2015 kemarin ceritanya mumpung saya dan istri mudik di Solo, saya pengin berkumpul sama temen-temen kampus untuk malam mingguan bareng. Saat itu teman saya mengusulkan untuk melihat ketoprak di Taman Balekambang Solo yang kebetulan tempat tersebut baru-baru ini terkenal setelah disana diadakan acara Uji nyali di salah satu televisi swasta. Pikir saya, seru juga nonton ketoprak sambil Uji nyali,ha ha.

Acara ketoprak tersebut mengangkat judul "Sumilaking Pedhut Majapahit". Pentas ini diperankan lebih dari 80 orang gabungan dari aktor-aktor profesional dari seniman muda Surakarta serta beberapa seniman dari salah satu perguruan tinggi swasta Solo. Sebenarnya acara ini merupakan acara dies natalies dari kampus tersebut, tapi pentas ini untungnya bebas disaksikan oleh khalayak umum. Di bawah ini ada beberapa foto yang sempat saya dan teman-teman ambil dari pentas tersebut, semoga mewakili rasa penasaran para pembaca tentang jalannya acara.

Salah satu lukisan di dinding gedung. kerisnya kayak keluar lukisan  gak sih. hiii
Kenapa yang dipasang malahan RamaShinta ya? mungkin dulunya RamaShinta mampir ke Kerajaan Majapahit,hehe.

Numpang foto-foto dulu sama teman-teman di salah satu stand photo booth. Itu kenapa shinta nya berkumis ya?
Tiket secuil ini bisa ditebus dengan uang 0 Rupiah alias gratis! dan ternyata ada doorprize TV berwarna, HP , Tablet sama uang tabungan juga lo. 
Kursi sudah mulai penuh sesak. Saat acara dimulai, 450 kursi bahkan sampai tidak cukup. bahkan banyak yang harus lesehan di lantai agar bisa melihat pentas ini.

Pertunjukan sudah mau dimulai, penonton mulai sudah tidak sabar gara-gara acara molor 30 menit-an.
 
Suasana di dalam gedung pertunjukan. Tidak hanya orang tua, banyak jaga anak-anak muda yang ikut menyaksikan acara pada malam itu. Semoga ini jadi kebangkitan kaum muda untuk tertarik melestarikan seni ketoprak ini di masa mendatang,


Budaya wong Solo. Walau pentasnya molor, tetap anteng dan tertib. Saluuut!.

MC sudah mulai membacakan narasi dan menyebutkan para seniman-seniman yang terlibat di pentas ini.

Walau dibawakan dengan bahasa Jawa, banyak sekali kelucuan yang muncul di pentas. Kebanyakan berasal dari para aktor dari mahasiswa-mehasiswi yang belum fasih bahasa Jawa karena pada dasarnya mereka memang bukan seniman profesional.

Di tengah acara, para ibu-ibu dan remaja putri dengan percaya diri menyanyi lagu campursari. Tingkah polah ibu-ibu ini sangat lucu sekali. Mereka menari dengan bebasnya dan kadang secara spontan menampilkan gerakan yang mengundang tawa penonton.

Ada juga cowok yang ikut nimbrung diantara ibu ibu yang pentas. wah jaman dahulu ternyata ada harem juga ya?haha

Sayang sekali sebelum acara selasai, istri saya sudah tidak kuat dengan suasana tempat duduk kami. Di barisan kursi depan kami banyak bapak-bapak yang merokok dan kumpulan remaja mahasiswa di kursi belakang agak "heboh" sendiri jadi mengurangi kenyamanan dalam menyaksikan ketoprak saat itu, jadi bukan karena acaranya yang kurang bagus atau apa. Akhirnya kami pun keluar dari gedung dan memutuskan berjalan-jalan disekitar area Balekambang sampai kami memutuskan untuk pulang pada jam 22.30 WIB.
No comments