Sabtu, 18 Desember 2021

Game Buatan Saya (yang Dihapus Google)

Game Tapak Suci

Saat perkuliahan memasuki semester 5, saya langsung tertarik ketika diajak teman kuliah (Azis dan Rima) untuk bergabung ke dalam tim PKM (Program Kreativitas Mahasiswa) mereka. Dan pasti mengiyakan karena tahu produk yang mereka buat adalah sebuah mobile game. Momen itu merupakan awal dari cerita-cerita berkesan tentang passion lama yang kembali muncul saat kuliah diploma. Sebab, sebelum adanya tawaran itu, saya sudah melupakan impian masa kecil menjadi game developer, meskipun di mata kuliah Rekayasa Perangkat Lunak semester 3 saya mendapat bagian membuat game. Namun, game edukasi yang saya buat, yang berjudul SnowMath itu masih kurang memuaskan. Jadi saya harus menerima ajakan tersebut.

Ajakan ikut serta dalam tim PKM membuat saya belajar engine baru, yaitu Unity dengan bahasa pemrograman C#. Unity merupakan engine atau software yang sudah banyak digunakan oleh game developer. Engine ini dapat digunakan untuk membuat game 2D, 3D, maupun VR, dan banyak platform (mobile, PC, atau console). Selain itu, Unity memiliki banyak assetlibrary, dan fitur lengkap serta user interface yang dapat dikustomisasi. Unity sangatlah cocok bagi kami untuk menyelesaikan game yang diikutkan dalam PKM.

Game kami bernama Goa Caraka. Sebuah permainan bertemakan edukasi pembelajaran aksara jawa dengan memanfaatkan mekanisme fisika. Saya berkontribusi dalam pembuatan beberapa fitur dan mini game tambahan. Tonton video trailer Goa Caraka di Youtube, klik di sini.

Selain diikutkan dalam program PKM, game tersebut juga kami daftarkan dalam berbagai event dan perlombaan. Beberapa di antaranya membuat kami memenangkan lomba. Dan ada satu event yang berkesan yaitu saat kami mengikuti acara pameran game di Jogja, selain karena pengalaman pertama mengikuti pameran, kami juga berkesempatan untuk diwawancarai dan diliput oleh media lokal. Baca disini Goa Caraka, Game Berbasis Android untuk Media Pembelajaran Aksara Jawa 

Pengalaman menggunakan Unity bersama teman satu tim PKM, seperti yang sudah disebutkan di awal, mengembalikan passion dalam industri game. Saya kembali memiliki keinginan membuat game dengan ilmu yang baru, khususnya untuk perangkat mobile, karena saat SMA, saya hanya bisa membuat versi PC dekstop. Keinginan tersebut terlaksana saat meneruskan kuliah lanjut jenjang. Usulan judul tugas akhir untuk membuat mobile game diterima oleh jurusan. 

Tentang Game Tapak Suci

Judul tugas akhir saya (jujur detail pastinya sudah lupa) adalah "Pembuatan Game Mobile Sabung Tapak Suci dengan Algoritma Dynamic Decision Tree". Sebuah permainan dengan tema seni bela diri khusus dalam pertandingan satu lawan satu pemain Tapak Suci (sabung). Sehingga game ini dapat dikategorikan bergenre fighting games.

Player memainkan satu avatar melawan NPC (Non-Playable Character). NPC inilah yang diprogram untuk dapat "melawan" musuh (avatar player) menggunakan algoritma. Algoritmanya adalah Dynamic Decision Tree dengan perhitungan entropi. Gerakan yang digunakan oleh player akan menjadi masukan (input) yang dibaca oleh program untuk menghasilkan decision tree setelah dilakukan perhitungan entropi pada masing-masing variable. Setelah membuat decision tree, NPC akan mengambil keputusan (decision) gerakan terbaik untuk merespon gerakan player.

Pembuatan program dengan implementasi algoritma membutuhkan waktu yang cukup lama, karena NPC harus dibuat senatural mungkin. Diskusi dengan dosen pembimbing dan membaca jurnal-jurnal sejenis pun harus saya lakukan. Di samping itu, karena saya membuat sebuah mobile game, sisi hiburannya juga harus dipikirkan. Seperti desain karakter, background, musik, effect, dan gimmick lainnya. "Idealisme" membuat saya harus bisa membuat sendiri desain-desain yang digunakan dalam game. Kecuali untuk font, sound, dan music, saya menggunakan aset milik orang lain yang tersedia gratis di internet.

Proses pembuatan aset, desain karakter dan background lumayan menyita waktu. Tentu saja karena harus dilakukan dalam kondisi yang benar-benar "mood". Saya ingat ketika "waktu" tersebut tiba, hampir 10 animasi gerakan Tapak Suci dapat selesai dibuat. Lalu, aplikasi yang saya gunakan dalam menggambar dan membuat desain adalah Inkscape dan GIMP.

Akhirnya gim tersebut selesai sekitar bulan januari 2017, satu bulan sebelum sidang tugas akhir dilaksanakan. Game Tapak Suci, nama yang sengaja dipilih supaya lebih menggambarkan isinya. Saya meminta ijin kepada tim PKM untuk mengunggah Game Tapak Suci pada akun Play Store tempat mengunggah Goa Caraka. Setelah proses review Google selesai, mobile game pertama (yang 95% saya kerjakan sendiri) dapat tayang dan diunduh di Play Store.

Game Tapak Suci memiliki 2 pilihan bermain yaitu "Fight!" dan "Training". Di masing-masing mode terdapat 6 gerakan dasar Tapak Suci sebagai media informasi dan edukasi, yaitu serangan tangan (Katak Melempar Tubuh dan Naga Terbang Dalam), tendangan (Harimau Membuka Jalan dan Ikan Terbang Menjulang Angkasa), dan tangkisan (Mawar Layu dan Rajawali Membuka Sayap). 

Mode "Fight!" merupakan pertandingan satu lawan satu menggunakan aturan yang ada pada sabung Tapak Suci. Mode ini terdiri dari 10 tingkat. Semakin tinggi tingkatnya, gerakan kita dan respon NPC semakin beragam.

Mode "Training" berisi 4 pilihan latihan, ialah "Unlimited Fighting", "Hit Training", "Kick Training", dan "Defense Training". Bagian menarik dari mode ini adalah pertarungan melawan robot pada "Hit Training" dan "Kick Training".

Game Tapak Suci

Game yang Tak Terurus

Setelah Game Tapak Suci ada di Play Store, hampir setiap hari saya memantau halaman Console untuk melihat berapa banyak orang yang sudah mengunduh dan memberi rating pada game. Sebagian besar pengguna yang memainkannya adalah orang-orang yang berhubungan dengan Tapak Suci, siswa, guru, atau pendekar. Itu terlihat dari komentar-komentar yang mereka tinggalkan di laman game.

Lama-kelamaan fighting game buatan saya itu muncul dan berada di urutan paling atas ketika memasukkan kata kunci "tapak suci" di menu pencarian. Tak ayal, pada februari 2018 kurang lebih 10.000 orang sudah mengunduh game tersebut. Mobile game yang dibuat untuk memenuhi tugas akhir itu bisa dimainkan oleh banyak praktisi Tapak Suci. Sebuah pencapaian yang luar biasa bagi saya.

Game Tapak Suci

Melihat jumlah unduhan yang terus bertambah, sebelum mendapatkan pekerjaan, saya pernah berniat untuk memperbarui Game Tapak Suci. Muncul keinginan untuk menambah fitur dan memperbaiki beberapa hal yang dirasa masih kurang. Namun ternyata membuka folder dan file lama bukanlah hal yang mudah. Sebab waktu itu saya juga sedang mengerjakan proyek lainnya pasca kelulusan. Keinginan itu pun tidak pernah tercapai. Apalagi sampai saya diterima di pekerjaan yang sekarang, yang sangat jauh dari industri kreatif ataupun gim. Tak punya waktu (dan semangat) lagi untuk membuat game, alih-alih memperbaiki Game Tapak Suci. Game itu akhirnya tak terurus, meskipun masih banyak yang mengunduh, sebelum akhirnya dihapus oleh Google dari Play Store. 

Kebijakan Baru Google

Pada tanggal 30 Juni 2020, saya (dan sepertinya anggota tim yang lain juga) mendapatkan surel pemberitahuan dari Google Play. Isi dari surel tersebut menginformasikan bahwa semua aplikasi dan gim yang diunggah di Play Store harus support 64-bit requirements. Sedangkan ekstensi Game Tapak Suci saya (dan Goa Caraka dan game lain) yang menggunakan SDK dari Unity terdeteksi masih belum mendukung persyaratan 64-bit. Melalui surel, Google mengingatkan bahwa masa berlaku ekstensi itu akan berakhir pada 1 Agustus 2020.

Kami diminta untuk meninjau semua game yang termasuk dalam daftar supaya dipastikan telah sesuai dengan persyaratan 64-bit. Dan setelah 1 Agustus, masa berlaku ekstensi akan berakhir dan kami tidak dapat mengunggah versi game yang tidak mematuhi kebijakan baru Google tersebut.

Karena sudah tidak punya waktu dan energi setelah seharian bekerja serta file project game tersimpan di laptop lama, saya tak mungkin dapat melakukan update pada Game Tapak Suci, dan harus merelakan Google untuk menghapus game kebanggaan saya itu dari Play Store. 

Hanya Kenangan

Kenangan saat membuat Goa Caraka dan Game Tapak Suci tidak mungkin mudah untuk dilupakan, apalagi hobi ini adalah kegiatan yang membuat saya bahagia sejak SMA. Namun, pekerjaan saat ini, bukan sebagai game developer adalah pilihan saya.

Jadi, biarlah pengalaman seru itu hanya menjadi sebuah kenangan (meskipun saya siap dengan berbagai kejutan di masa depan).

NB: Sepertinya Game Tapak Suci masih dapat dicari di Google

Sabtu, 14 Agustus 2021

Mengedepankan Chatbot

Pada 24-25 Agustus 2019 saya dan dua anggota tim SSW Developer (Syamsul dan Windy) berkesempatan untuk mengikuti kegiatan hackathon di Jakarta. Kegiatan tersebut adalah pengalaman pertama bagi kami. Kami harus menyelesaikan ide aplikasi dalam 24 jam dan bersaing dengan 30 tim lainnya. Kegiatan yang diadakan di salah satu hotel di Jakarta itu adalah "babak final" bagi para peserta yang sebelumnya sudah berhasil lolos dalam babak penyaringan ide.

Ide kami sederhana, yaitu membuat aplikasi chatbot atau layanan obrolan otomatis yang digunakan oleh user untuk mendapatkan aksi atau jawaban sesuai apa yang dibutuhkan. Ide tersebut adalah buah hasil diskusi via telepon yang kami lakukan (karena saya di Surabaya, Syamsul di Palembang, dan Windy di Semarang kala itu). 



Mengapa kami memilih ide tersebut? Hal paling mendasar karena kami ingin membuat aplikasi yang mudah dan cepat dan realistis untuk diselesaikan dalam waktu 24 jam. Kesibukan kami pada pekerjaan juga mengakibatkan waktu untuk eksplorasi teknologi baru menjadi sangat minim. Kemampuan kami dalam hal programming juga harus "dipanasi". Sehingga kami menghindari ide yang "wah" apalagi yang membutuhkan usaha untuk belajar lagi.

Selain alasan keterbatasan skill dan waktu, kami juga mempertimbangkan efek kebermanfaatan pada aplikasi yang dibuat. Salah satu tema yang diberikan oleh panitia adalah B2C (Business to Consumer). Permasalahan yang muncul ialah bagaimana dapat menjaga loyalitas dan meningkatkan engagement konsumen pada produk dengan aplikasi yang dibuat. Loyalitas konsumen pada sebuah produk (tentu saja karena kualitas produk itu sendiri) disebabkan oleh bagaimana keterbukaan, kecepatan, keakuratan informasi yang disampaikan. Juga bagaimana penanganan atas laporan, keluhan, komplain yang diterima dari konsumen. Bagi perusahaan penyedia produk dengan jumlah konsumen yang banyak, informasi-informasi dan keluhan-keluhan menjadi sangat repetitif (berulang) dan seragam. Namun penanganannya harus dengan baik dilakukan ke semua konsumen. Berbagai kanal yang ada juga dirasa masih kurang. Kami juga melakukan riset dengan membaca berbagai artikel di internet, untuk melihat bagaimana solusi yang ditawarkan oleh berbagai perusahaan, apa yang menjadi best practice, dan siapa pemberi produk yang paling bisa memberikan kepuasan kepada konsumen. Setelah banyak pertimbangan, kami menyimpulkan bahwa intinya adalah komunikasi. 

Kami pun memilih ide membuat chatbot.

Aplikasi chatbot adalah salah satu solusi yang dapat digunakan untuk menjawab permasalahan B2C. Mengapa? Karena di era yang serba cepat ini, para konsumen (untuk produk apapun) membutuhkan jawaban dan feedback yang juga cepat dari pemberi produk. Di dalam customer services, kita mengenal istilah Services Level Agreement (SLA) untuk menentukan berapa lama response time dan resolution time dari para agent services desk. Terbiasanya konsumen dalam mendapatkan apa yang dinikmati (instant gratification) juga menjadi alasan mengapa komunikasi yang handal sangat dibutuhkan. Chatbot juga sudah banyak digunakan oleh perusahaan, seakan menjadi best practice dan kanal yang wajib dimiliki dan disediakan. Maka pilihan untuk membuat chatbot kami rasa sudah tepat, karena membutuhkan waktu yang relatif singkat untuk dapat membuat aplikasi sederhana namun memberi manfaat yang besar.

Tentang Chatbot

Chatbot bukanlah sebuah terobosan baru di era milenal (2000an). Ia adalah ide lama yang kembali menjadi populer karena adanya perkembangan aplikasi mobile chatting dan user sudah terbiasa dengan obrolan melalui teks (adanya UX -- user experience). Apalagi didukung oleh perkembangan teknologi cloud dan open source.

Chatbot yang pertama kali dibuat (dan tercatat dalam sejarah) bernama ELIZA, dibuat pada tahun 1966 oleh Joseph Weizenbaum, salah satu profesor MIT, menggunakan metode AI decision tree. Setelah itu muncul PARRY (1972), Jabberwacky (1988), Dr. Sbaitso (1992), A.L.I.C.E. (1995), SmarterChild (2001), Siri (2010), Google Assistant (2012), Cortana (2014) dan Alexa.

Intinya, gagasan chatbot ini sudah lama dipikirkan oleh manusia untuk menyelesaikan berbagai permasalahan. Perkembangan Artificial Intellegent dan Machine Learning juga berperan dalam mengembangkan chatbot, yang memiliki tujuan supaya percakapan yang dilakukan semirip mungkin dengan obrolan sesama manusia. Namun tentu saja chatbot tidak hanya digunakan untuk menjawab pertanyaan kita, tetapi juga dapat digunakan untuk menyelesaikan sebuah permasalahan. Contohnya chatbot yang ada pada Telegram, Slack, Microsoft Teams, dan lain sebagainya. Mereka semua adalah robot yang menggunakan "interface" sebuah percakapan untuk men-trigger sebuah perintah.

Seperti yang saya sebutkan di awal, penggunaan aplikasi chatbot menjadi marak dan sangat populer dewasa ini karena mulai berkembangnya teknologi dan banyaknya orang-orang baik di internet. Berbagai layanan framework banyak ditawarkan, yang dapat langsung kita gunakan dalam pembuatan aplikasi chatbot ini, mulai dari yang sederhana sampai rumit, yang disusun oleh if-else biasa sampai yang dapat mengakomodir Natural Language Processing. Beberapa contoh dari framework chatbot adalah Microsoft Bot Framework, Rasa, Wit AI, Dialogflow (yang tim saya gunakan dalam Hackathon), IBM Watson, Amazon Lex, Pandorabots, Botpress, Botkit, dan ChatterBot. Belum lagi dengan library AI atau ML yang dibuat oleh banyak komunitas/perusahaan, contohnya OpenAI, DeepMind, Doc.ai, atau Fermilab. Dan juga layanan cloud seperti Google Cloud Platform, Microsoft Azure, AliCloud dan AWS. Kita dapat dengan mudah menemukan tutorialnya di internet.

Chatbot Adalah Solusi

Pada acara hackathon yang kami ikuti, kami menggunakan framework Dialogflow dengan basis data dari Firebase. Sedangkan untuk GUI (Graphic User Interface), kami menggunakan aplikasi mobile yang dibuat dari Ionic framework dan aplikasi dasbor administrator yang dibuat dari .NET framework. Berkat solusi chatbot yang kami tawarkan tersebut, Alhamdulillah dapat mengantarkan kami menjadi finalis 10 besar.

Selain menjadi solusi bagi kami dalam hackathon, chatbot juga dapat menjadi jawaban untuk semua permasalahan kita. Karena berbasis teks, chatbot sangat powerful apabila dapat diintegrasikan dengan aplikasi yang lain. Teknisnya mungkin dapat menggunakan API (Application Programming Interface) atau web-services. Kita tinggal mencarinya di internet sesuai dengan kebutuhan.

Dan berbicara mengenai kebutuhan, selama ini saya mendapatkan permasalahan pada pekerjaan yang amat sangat ingin saya pecahkan menggunakan chatbot. Berikut di antaranya:

1. Permasalahan komunikasi dengan user. Melihat dengan banyaknya user yang saya dan tim tangani, terkadang terpikir untuk dapat membuat aplikasi chatbot tersendiri. Walaupun skalanya hanya untuk internal perusahaan, tetapi aplikasi chatbot ini pasti akan membantu menjawab pertanyaan-pertanyaan berulang yang disampaikan oleh user dan melakukan aksi yang sering dimintakan. Aplikasi chatbot yang terhubung dengan Whatsapp for bussiness perusahaan atau collaboration tools resmi yang pasti digunakan oleh semua pekerja di kantor.

2. Permasalahan dalam mengakses aplikasi ERP. Setiap perusahaan besar pasti menggunakan aplikasi ERP (Enterprise Resource Planning) untuk mengatur pembelian, pengadaan, penjualan, penyediaan stok, dan lain sebagainya. Semuanya terhubung dalam satu rangkaian proses dan tersimpan dalam satu database besar. Contohnya adalah SAP. Supaya dapat mengaksesnya, diperlukan aplikasi GUI khusus (SAP Logon) dan lisensi yang terhitung mahal. Padahal mungkin dari banyaknya fitur yang disediakan SAP, kita hanya menggunakan t-code (transaction code) yang itu-itu saja. Belum lagi untuk mendapatkan sebuah laporan dan informasi tertentu secara singkat dan cepat, kita harus melakukan banyak langkah. Akan menjadi sangat mudah apabila terdapat chatbot yang tersambung dengan SAP yang terintegrasi dengan collaborations tools (katakanlah Slack, Microsoft Teams, Telegram, dan lainnya). Hanya diperlukan beberapa "chat" untuk dapat memerintah dan mendapatkan informasi yang kita butuhkan.

3. Permasalahan dalam mewujudkan imajinasi. Suatu ketika saya pernah terpikir dan mempertanyakan apakah ada yang namanya idea generator? Mengubah ide akan suatu aplikasi atau videogames menjadi kenyataan tanpa bersusah payah untuk membangunnya. Karena programming tidak hanya melakukan pekerjaan mengetik program tetapi sebagian waktu digunakan untuk berpikir. Pertanyaan itu lama tidak pernah lagi saya pikirkan hingga saya membaca sebuah artikel tentang OpenAI - Codex.

Codex adalah sistem kecerdasan buatan (yang lebih ke arah NLP) milik OpenAI yang dapat mengubah bahasa sehari-hari menjadi bahasa/kode pemrograman. Codex adalah pengembangan dari GPT-3 yang sebelumnya sudah sangat menarik perhatian banyak orang karena kemampuannya menginterpretasikan bahasa manusia. Codex dapat diakses menggunakan API yang dapat diterapkan pada berbagai aplikasi. Kita bisa melihat video demonya di sini: https://youtu.be/SGUCcjHTmGY

Berbeda dengan konsep citizen development, yang menggunakan konsep low-code/no-code tanpa adanya proses pengkodean, hanya menggunakan drag-drop (silakan baca tulisan saya tentang Citizen Development di sini) API Codex ini memungkinkan kita untuk memberikan perintah pada AI untuk membuat sebuah aplikasi atau video games dengan keluaran berupa kode pemrograman. Hal yang kita butuhkan adalah kalimat yang jelas dalam memerintah kecerdasan buatan tersebut. Dalam video demo di atas, kita dapat melihat bagaimana Codex dapat dengan baik menghasilkan beberapa baris program sesuai masukan dari pendemo. Sebuah gebrakan yang akan banyak mengubah dunia pemrogaman. Codex tidak akan menggantikan peran developer, tetapi akan menjadi partner selayaknya J.A.R.V.I.S bagi Iron Man. Dan tentu saja imajinasi akan menjadi lebih mudah untuk diwujudkan.

Chatbot Adalah Kita

Sepertinya kita akan kembali ke masa lalu dalam hal komunikasi. Orang-orang purba jaman dahulu berkomunikasi menggunakan simbol-simbol yang ditulis pada dinding, pada batu, pada tanah sebelum adanya bahasa dan sastra. Dengan adanya pergeseran UX pada perangkat mobile kita saat ini, cara kita berkomunikasi pun menjadi sangat amat sederhana. Kembali menggunakan simbol-simbol. Banyak sekali kita temui orang yang kita ajak berkomunikasi via teks (Whats App atau aplikasi chat yang lain) sering menggunakan emoticon atau stiker alih-alih mengetikkan kalimat secara penuh. Hal yang dapat saya simpulkan dari fenomena ini adalah kesederhanaan dan kecepatan, yang terpenting adalah informasi tersebut dapat tersampaikan.

Menurut hemat saya, chatbot juga seperti itu. Tidak perlu kalimat sesuai susunan SPOK, kita hanya mengetikkan satu karakter, satu kata, atau beberapa kata, robot (sederhana) sudah dengan mudah mengerti maksud kita. Karena chatbot didesain untuk mempercepat penyampaian informasi dan aksi yang dibutuhkan, bukan untuk diajak berbicara deeptalks

Kesimpulan

Aplikasi chatbot menjadi solusi karena ia begitu dekat, hanya diperlukan komunikasi via teks. Dengan melihat banyak sekali potensi dari salah satu produk AI ini, mungkin mulai hari ini kita harus lebih memprioritaskan dan mengedepankan chatbot dalam riset IT kita, dengan tujuan menyelesaikan semua permasalahan kehidupan kita.

Sabtu, 07 Agustus 2021

Son Isol Production: Game Studio Pertama dan Fun Theory

Masa kecil saya awalnya tidak banyak diisi dengan video games. Bapak memberikan larangan untuk bermain (dan menghabiskan uang) di rental Playstation atau Game Center (warnet). Hari-hari saya pun diisi dengan berbagai kegiatan kreatif. Contohnya menggambar, menggambar berbagai karakter yang belum pernah ada. Lalu membuat kerajinan tangan, dengan memanfaatkan barang-barang tidak terpakai di toko. Juga bermain dengan teman-teman sebaya, memainkan permainan baru dengan peraturan dan gameplay ciptaan saya. 

Karena belum pernah bermain video games, seperti anak kecil pada umumnya, rasa penasaran pun tumbuh, penasaran bagaimana asyiknya memainkan console. Saya dapat menahan malu dan rela pergi jauh ke rumah teman untuk sekadar bermain video games. Bahkan pernah juga bermain fitur game (yang amat sangat sederhana) di TV salah satu sepupu. Asalkan tidak ke rental PS atau warnet.


Hingga suatu ketika, akhirnya bisa puas bermain video games. Sebuah console Nintendo NES bekas, di rumah nenek yang tidak terpakai, boleh saya bawa pulang. Hanya ada 3 gim yang tersedia yaitu kura-kura ninja (fighting games), cliffhanger, dan mickey mouse (keduanya bergenre adventure). Tiga game yang saya mainkan terus menerus hingga dapat menamatkannya berulang kali, selama berhari-hari. Saat sudah menemukan kenikmatan dan keseruan pada gim tersebut, tiba-tiba sepupu meminta console itu kembali, untuk dibawa pulang ke rumahnya.

Lalu saat menginjak kelas 6 SD, Bapak membelikan sebuah personal computer intel pentium 4 windows profesional. Ketertarikan saya pada dunia komputer pun dimulai. Berbekal ilmu yang didapatkan dari pelajaran komputer di SD dan pengalaman memainkan game PC di rumah teman, saya meng-explore semua fitur yang ada pada PC pertama tersebut. Keseruan dan perasaan asyik yang baru pun muncul. Sensasi yang berbeda dengan perasaan ketika berhasil menggambar karakter sebanyak satu buku, atau saat membuat board game dari barang-barang bekas.

Kegiatan eksplorasi tetap saya lakukan hingga SMP (tentu saja). Pelajaran TIK saat SMP pun menjadikan semakin menikmati dunia komputer. Apalagi dalam sesi belajar membuat website (client-side) menggunakan HTML. Dengan ilmu yang sudah didapatkan dan hasil sharing dengan teman-teman SMP, saya menggunakannya untuk mengutak-atik sistem komputer. Namun, hobi tersebut akhirnya membuat PC saya rusak. Operating system-nya bermasalah. 

Bapak meminta salah satu tetangga kami untuk memperbaiki PC itu. Dengan seksama saya melihat dia bekerja. Jujur waktu itu saya merasa sangat kagum. Ternyata pekerjaan "memperbaiki" PC itu menyenangkan, dapat mengeksplorasi PC orang lain dan mendapatkan bayaran. Tetangga kami juga memasang (install) banyak aplikasi dan video games baru. Karena penasaraan, saya bertanya tentang pekerjaan itu kepadanya. Dia menyebut dirinya sebagai seorang "programmer". Meskipun lupa bagaimana persisnya dialog tersebut, yang menghubungkan perbaikan PC, instalasi aplikasi dan video games dengan programmer, tetapi itulah wow moment dalam hidup saya.

Semua aplikasi dan gim adalah sebuah karya, sebuah hasil ciptaan. Berarti ada manusia yang membuatnya. Dan nama pekerjaan itu adalah programmer. Saya ingin menjadi seorang programmer.

Setelah momen itu, sejak SMP kelas 9 cita-cita saya berubah. Awalnya ingin menjadi seorang arsitek, lalu ingin menjadi seorang programmer, dan game developer. Ya, saya berharap dapat menjadi keduanya. 

Eksplorasi pada dunia komputer beralih menjadi bagaimana cara membuat game. Ingin menjadikan karakter yang sudah digambar dapat "hidup" pada gameplay yang saya buat. Saat membayangkannya saja sudah merasa senang. This is sure to be really fun!

Son Isol Production

Dulu ada salah satu program di statiun TV SpaceToon yang khusus membahas dunia game. Nama programnya adalah GamedotTV (semoga benar itu namanya). Acaranya tayang seminggu sekali. Segmen yang paling saya tunggu adalah rekomendasi game indie. Setiap kali mendapatkan judul game indie baru, keesokan harinya saya mengajak teman-teman SMP untuk pergi ke perpustakaan sekolah, untuk mengunduh game indie tersebut. Saat itu perpustakaan SMP kami sudah memiliki fasilitas PC dengan internet, dan tidak ada aturan bahwa siswa dilarang mengunduh gim permainan.

Momen berselancar internet di perpustakaan SMP itu juga menakdirkan saya menemukan sebuah aplikasi, yang sudah saya cari sejak dulu. Aplikasi yang dapat kita gunakan untuk membuat video games. Namanya adalah Game Maker.


Riset saya dalam membuat gim dimulai dari kelas IX SMP akhir semester 2 setelah menemukan aplikasi Game Maker tersebut. Jangan ditanya bagaimana bahagianya saat itu. Bagaimana "passion" itu memenuhi hari-hari. Saya mengunduh semua tutorial, asset, buku pdf yang disediakan oleh YoyoGames (perusahaan yang menciptakan Game Maker). Bahkan juga mencetak buku-buku pdf tersebut, supaya dapat dibaca di luar PC. Intinya saya ingin menjadi game developer.

Saya memiliki banyak ide yang sudah ditulis di buku. Tak lupa juga menggambar karakter, gameplay, rules-nya pada buku tersebut. Dan akhirnya berhasil menciptakan game pertama menggunakan Game Maker di awal kelas X SMA. Nama game-nya adalah Patrick's Job. Gim yang sangat sederhana dengan misi menjalankan karakter yang mirip Patrick (karakter Spongebob) untuk melawan ubur-ubur menggunakan bola pantul. Beberapa game sederhana pun berhasil saya buat setelahnya. Seperti Toing Ball, Orange Robot, Purple Hunter, dan banyak lainnya.

Desain karakter pada game saya buat sendiri menggunakan aplikasi Microsoft Publisher (untuk menggambar) dan UnFreeze (untuk membuat animasi). Code dan engine didapatkan dari banyak sumber yang membahas Game Maker. Ilmu baru-baru yang saya dapatkan langsung diimplementasikan pada game baru yang dibuat.

Karena sudah membuat beberapa game, saya terpikir untuk membuat brand, seperti Game House, Valve, Blizzard, atau seperti nama-nama game studio lainnya dari beberapa video games yang pernah saya mainkan. 

Setelah menimbang banyak nama, akhirnya pilihan jatuh kepada nama Son Isol Production

Saya memberi splash screen tulisan Son Isol Production pada semua gim yang baru dibuat selama masa SMA. Itu adalah salah satu masa terbaik dalam hidup. Tak hanya membuat gim untuk diri sendiri, tetapi ada juga gim yang saya unggah di situs YoyoGames. Meskipun tidak banyak yang mengunduh game tersebut. Namun perasaan bangga dan bahagia dapat saya rasakan. Oh iya, saya juga pernah membuat game sebagai kenang-kenangan kelas X. Namanya Seven's Characters. 

Perjalanan menjadi game developer alias perjalanan mencari kebahagiaan tersebut sempat vakum saat menginjak kelas XII SMA. Karena harus menyiapkan ujian akhir dan masuk ke perguruan tinggi. Masa-masa vakum itu juga sempat mengubah cita-cita saya. Saya ingin masuk ke jurusan desain produk, ingin menjadi seorang desainer (karena saya berfikir bahwa cita-cita menjadi game developer sudah berhasil tercapai).

Namun, sepertinya saya sudah ditakdirkan untuk kembali ke dunia video games

Saya diterima di jurusan D3 Teknik Informasi di salah satu politeknik negeri. Bagaimana akhirnya dapat belajar pemrograman secara lebih serius. Saya juga pernah mencoba untuk membuat game lagi saat liburan semester 1 kelas 1, mencoba mengimplementasikan ilmu yang didapatkan di perkuliahan. Tapi, tentu saja tidak semudah itu. Berbagai tugas dan kesibukan, akademik dan non-akademik menyebabkan gagal menyelesaikan game tersebut.

Sampai suatu ketika, teman saya (Rima) menawari untuk bergabung dengannya dalam ajang program kreativitas mahasiswa (PKM). Tentu saja jawabannya adalah "Iya!". Saya tahu bahwa produk yang ingin ia buat adalah video game berbasis Android. Mungkin alasan Rima memberikan tawaran karena sebelumnya di semester 1 kelas 2, kami tergabung dalam satu kelompok mata kuliah Rekayasa Perangkat Lunak. Kami membuat game dengan engine Flash/ActionScript. Jadi, dia tahu kalau saya juga punya minat di dalam pengembangan video games.

Itulah cara Tuhan mengembalikan saya ke dunia games

Saya dan tim menyebut diri kami sebagai Dandelion Team. Dengan tim tersebut, karena mendapatkan pendanaan dari acara PKM, kami mengikuti banyak event perlombaan dan pameran video games. Tidak hanya di Surabaya, tetapi juga di luar kota. Hmm, mungkin kisah-kisah tentang Dandelion Team akan saya ceritakan lebih detail di tulisan yang lain.

Intinya, saya kembali merasakan kebahagiaan dan dapat having fun. Game development adalah passion saya. Saya pun memutuskan untuk memilih pembuatan game sebagai judul tugas akhir kuliah D4. Ingin membuat game yang bagus, dengan ilmu dan pengalaman yang sudah didapatkan. Maka terciptalah Game Tapak Suci (pernah ada di Google Playstore). Gim yang sangat saya banggakan saat itu, sebelum dihapus oleh Google hehehehehe. Baca kisahnya disini: Game Buatan Saya (yang Dihapus Google).

Fun Theory

Sebelum menyelesaikan Game Tapak Suci (yang berarti belum lulus kuliah), berbagai event dan seminar tentang game pernah saya ikuti. Saya pun mengetahui banyak nama game studio asal Indonesia. Contohnya Maulidan Games, Mojiken, Toge Productions, dan masih banyak lagi.

Maulidan Games pernah diundang oleh jurusan Game Technology untuk mengisi acara seminar di kampus. Materi yang disampaikan seputar pengembangan game secara cepat dan efisien. Bagaimana membuat framework dan tools yang dapat digunakan untuk menyelesaikan game berkualitas tinggi dalam waktu yang singkat. Namun, bukan itu materi yang saya ingat sampai sekarang. Materi atau slide presentasi yang masih terikat di kepala saat Maulidan Games menjelaskan "mengapa mereka membuat game". Yaitu fun theory.

Fun Theory adalah teori yang pertama kali disebut dalam video Volkswagen di Youtube. Video tersebut menampilkan orang-orang yang lebih memilih naik ekskalator ketimbang lewat tangga. Untuk meningkatkan jumlah orang yang naik tangga, anak-anak tangga pun akhirnya disulap menjadi alat piano raksasa, yang ketika diinjak mengeluarkan bunyi not piano. Orang-orang pun penasaran dengan tangga piano tersebut. Mereka merasakan keseruan dan kebahagiaan yang didapatkan saat berjalan melewatinya. Dengan memanfaatkan unsur "fun", jumlah pengguna tangga pun menjadi meningkat daripada sebelumnya. Video dapat dilihat pada https://youtu.be/SByymar3bds. Video tersebut jugalah yang diputar pada acara seminar Maulidan Games. Materi yang masih saya ingat sampai sekarang.


Keseruan, kebahagiaan, dan keasyikan dapat menyebabkan orang-orang untuk melakukan sesuatu secara sukarela. Mereka, atau mungkin kita, akan lebih memilih melakukan sesuatu karena pekerjaan tersebut menyenangkan. Itulah juga alasan mengapa terdapat banyak game developer. Walaupun prospek bisnis atau penjualan atau uang yang dihasilkan dari membuat game tidak banyak, mereka tetap melakukannya dengan senang. Selain karena dapat menikmati proses pembuatannya, game itu sendiri dapat digunakan sebagai metode untuk memberikan positive impact kepada orang lain melalui cara yang mengasyikkan.

Ian Bogost, salah satu pembicara pada WIRED mendefinisikan kata "fun" pada game sebagai sebuah kesatuan dari play, commitment, dan respect

Dimulai dari kata Play, sifat fun (seru, asyik, senang) akan muncul apabila kita mulai melakukan sesuatu. Benar juga. Sebuah momen bermain gim itu dimulai sejak kita memutuskan untuk memainkannya, dengan memegang console. Ketika anggapan bahwa perasaan senang-lah yang ingin kita cari saat bermain game. Perasaan senang juga sangat pasti akan didapatkan saat membuat game. Saya pernah mengalaminya.

Commitment. Adalah sikap kita untuk tetap bertahan sampai akhir, sampai perasaan fun itu kita dapatkan. Bagi orang yang bermain game, menyelesaikan misi adalah komitmen yang harus dimiliki. Bagi orang yang membuat game, komitmen untuk membuat game sampai selesai adalah kewajiban. Yaa meskipun dalam proses pembuatan game pun sudah sangat menyenangkan. Karena adanya komitmen untuk dapat membuat game tersebut (mulai dari menggambar karakter, membuat kode pemrograman, atau menyelesaikan satu action dalam game). Tanpa adanya komitmen, perasaan fun yang utuh tidak mungkin dapat kita capai.

Unsur terakhir adalah Respect. Rasa hormat kita kepada video game yang kita mainkan dan kita buat. Memunculkan perasaan "fun" karena adanya pengakuan bahwa game tersebut akan-sedang-telah memberikan stimulus kepada otak kita, untuk menikmatinya. 

Gim apapun yang dibuat, baik yang dibuat oleh game studio indie maupun oleh game studio besar dan terkenal, mau sebagus apapun game-nya, jika 3 unsur di atas tidak miliki, maka perasaan fun tidak akan didapatkan. Hal inilah yang juga berlaku bagi para game developer saat membuat game. Dan juga, game yang dibuat harus dapat menjadikan (calon) pemain untuk mendapatkan unsur-unsur fun theory itu.

Namun, apakah fun theory hanya ada pada dunia game?

Aplikasi Fun Theory pada Kehidupan

Saya bersyukur dengan pekerjaan yang saya miliki saat ini. Bukan sebagai game developer di salah satu game studio terkenal. Melainkan menjadi seorang pegawai kantor, yang tentu saja bukanlah hal yang buruk.

Perasaan bahagia, senang, seru, tertantang, asyik, dan semua yang didapatkan saat membuat game sudah barang tentu juga dapat saya dapatkan dengan pekerjaan yang sekarang. Bagaimana dapat memulai untuk melakukannya (play), bagaimana berkomitmen untuk menyelesaikan pekerjaan dengan baik (commitment), dan bagaimana menghormati semua hal yang berkaitan dengan pekerjaan (respect).

Sehingga, dalam pekerjaan apapun, jika kita dapat mengimplementasikan Fun Theory, insya Allah kita dapat menikmati segalanya. Bukankah waktu tidak akan terbuang sia-sia apabila kita menikmati setiap prosesnya? Dan ada rasa syukur yang muncul. Karena menurut saya, puncak dari kebahagiaan, keseruan, keasyikan, dan semua istilah yang menggambarkan "fun" adalah rasa syukur.

Dengan apa yang kita miliki dan dapatkan saat ini, kontribusi kita kepada sekitar diharapkan dapat menjadi semakin meningkat. This is sure to be really fun!

Jumat, 30 Juli 2021

Membiasakan Gamification

Ketika mendengar kata video game atau gim (mengacu ke KBBI terbaru), apa yang ada di dalam pikiran kita? Apakah tentang melakukan hal yang menyenangkan? Menjalankan sebuah misi? Berinteraksi dengan sebuah realitas virtual? Meningkatkan poin dan level? Atau muncul nama-nama game? Seperti Tetris? DotA? Candy Crush? Atau muncul gambaran tentang console game? Playstation 5? Nintendo Switch? Xbox? Apapun itu, kita semua pernah berinteraksi dengan video game.

Video game pertama yang pernah dibuat dan tercatat di dalam arsip internet adalah game tenis (Tennis for Two). Video game tersebut diciptakan pada tahun 1950an dan dimainkan pada sebuah osiloskop secara sederhana. Dan di dalam perkembangannya, muncul banyak game yang mengadopsi permainan dari dunia nyata seperti olahraga, kuis, aksi, dan pertarungan. Dunia nyata dimasukkan ke dalam sebuah fantasi yang tidak terbatas. Hingga dewasa ini muncul berbagai video game yang memiliki ide, alur, karakter, dunia yang sebelumnya tidak pernah kita bayangkan.

Tetapi, kalau kita kembali ke dasar, berbagai macam gimmick yang ada di dalam permainan modern hanyalah sebuah tambahan. Konsep dasar dan mekanisme game sudah ditemui di dalam dunia manusia. Di dalam permainan anak-anak, di dalam olahraga, di dalam permaian tradisional. Katakanlah petak umpet, sepak bola, gobak sodor, secara sederhana memiliki sistem yang sama dengan game-game modern yang biasa kita mainkan melalui telepon pintar, console, atau personal desktop.

Konsep dasar, mekanisme, atau sistem yang ada (dan selalu melekat) pada game adalah adanya keikutsertaan manusia (sebagai pemain) untuk menjalankan sebuah misi. Untuk mencapai misi tersebut, game akan memiliki dinamisasi yang dialami oleh pemain. Dinamisasi dapat berupa kualitas ataupun kuantitas. Kualitas ialah emosi, visual, perasaan senang, sedih, bangga, tidak mau kalah, dan semua yang manusia alami (bahkan juga dirasakan di luar game). Sedangkan kuantitas dapat didefinisikan sebagai poin, level, skor, nyawa, atau angka apapun yang harus dicapai dan dipertahankan oleh seorang pemain.

Jadi, sebenarnya game adalah kehidupan kita sehari-hari, entah disadari atau tidak.

Itu yang sering kita lupakan. Kita kadang (atau selalu) berpikir bahwa hidup tidak melulu soal video game (bahkan bagi seseorang yang bekerja sebagai game developer). Tidak BUTUH video game. Kita menjalani realita kehidupan yang membutuhkan cara-cara 'makhluk hidup' untuk bisa bertahan hidup, yaitu makan, bereproduksi, belajar, melatih hard skill atau soft skill, memiliki rumah, membeli sesuatu, memimpin, berekonomi, dan lain sebagainya. 

Saya disini hanya ingin mengingatkan.

Bahwa hidup ini hanyalah sebuah permainan.

Dan di dalam hidup yang fana ini, para pakar telah menemukan sebuah istilah baru, yang digunakan untuk mendefinisikan teori tersebut, yaitu gamification.

Apa itu Gamification?

Kalau kita melakukan pencarian kata kunci "gamification" pada Google. Jawaban inilah yang akan muncul paling atas:

"Gamification is adding game mechanics into nongame environments, like a website, online community, learning management system or business’ intranet to increase participation. The goal of gamification is to engage with consumers, employees and partners to inspire collaborate, share and interact."

Sumber: https://www.biworldwide.com/gamification/what-is-gamification/

Jadi, seperti yang sudah saya paparkan pada pembukaan artikel ini, bahwa game memiliki sebuah mekanisme dan konsep tersendiri. Mekanisme pada game juga dapat diimplementasikan pada pekerjaan kita, pada cara kita berjualan, cara kita belajar, cara kita berbisnis, atau profesi apapun. Contoh manfaat dari gamification pada hal-hal non-game tersebut adalah untuk menginspirasi, berbagi ide, atau berinteraksi dengan pelanggan, pekerja, bawahan, kolega, rekan kerja (sebagai seorang pemain di dalam game's environment yang telah kita rancang).

Gamification Tidak Terbatas

Ke-tidak-terbatas-an pada gamification muncul karena (memang): 

Satu. Kehidupan kita secara fundamental adalah permainan, keinginan untuk mencapai sebuah prestasi dan menyelesaikan sebuah misi.

Dua. Video game yang dibuat melalui proses pemrograman pada bahasa komputer memiliki sifat logically malleable. Semua imajinasi, selama dapat diubah melalui proses yang logis (looping, conditional, variable/object oriented) bukanlah hal yang sulit untuk dapat diimplementasikan. Terbukti dengan banyaknya video game yang sudah dibuat dari berbagai macam genre dan peranti.

Tiga. Manusia memiliki kecenderungan dan kemampuan untuk belajar, beradaptasi, dan menyesuaikan keadaan. (Tapi ini juga tantangan bagi seorang game/gamification designer yang membuat levelisasi. Supaya memiliki tingkat permainan yang pas. Jika terlalu susah, pemain dapat merasa frustasi, namun sebaliknya, jika terlalu mudah, pemain akan cepat menyelesaikan game dan bosan untuk meneruskan).

Tidak adanya limitasi pada gamification itulah yang (sudah dari dulu) dimanfaatkan oleh banyak industri. Berikut ini adalah contoh gamification yang pernah saya ketahui:

Goodreads Reading Challenge. Adalah tantangan yang disediakan oleh Goodreads (media sosial khusus kutu buku) berlaku untuk satu tahun bagi semua pembaca buku. Misinya adalah membaca buku sebanyak target yang kita tulis di awal tahun. Mau 10, 20, 50, atau bahkan 1000 buku setahun. Setiap kali selesai membaca buku, kita harus melakukan update pada akun Goodreads kita dan itu akan menambah progres reading challenge. Saya sudah mencoba mengikuti tantangan ini sejak tahun 2015. Walaupun rewards yang diberikan oleh Goodreads hanya berupa ucapan selamat dan tulisan "completed", tetapi gamification yang digunakan dapat menarik jutaan pengguna Goodreads untuk dapat ikut serta, karena hasilnya dapat dibagikan ke media sosial yang lain.


GoClub. Adalah cara Gojek untuk meningkatkan engagement pengguna melalui levelisasi berdasarkan transaksi/aktivitas yang dilakukan. Misi dari program ini adalah untuk meningkatkan XP (pengalaman) supaya dapat mencapai level Anak Sultan. Saat mencapai level Bos, Juragan, atau bahkan Anak Sultan, kita dapat mengklaim berbagai reward. Ini adalah contoh gamification yang sangat efektif, karena semua pengguna memiliki kesempatan yang sama dan aktivitas yang sangat mudah dan pengguna secara nyata mendapatkan manfaatnya.

Selain dua contoh di atas, kita dapat menemui banyak cara gamification yang digunakan berbagai industri atau brand. Apalagi setelah kita mulai mengerti teori gamification yang memang didesain untuk menarik minat kita secara psikologis.

Gagasan Selanjutnya

Setelah sedikit mengulas tentang gamification, secara pribadi saya ingin mengimplementasikannya pada pekerjaan dan profesi dan jobdesk sehari-hari. Ini adalah jawaban atau solusi bagi saya yang seorang mantan game developer. Keinginan yang masih sangat besar untuk dapat membuat video game sepertinya harus disalurkan melalui metode gamification ini. Implementasi gamification pada saat memberikan cybersecurity awareness pada pekerja, misalnya.

Berbicara tentang Filosofi

Sebelum saya menutup tulisan ini, saya ingin mengingatkan pada diri saya sendiri (khususnya) dan kepada pembaca yang budiman (umumnya) bahwa hidup ini layaknya sebuah game. Permainan yang harus dipertanggungjawabkan. Karena wasit atau ruler ialah Sang Pencipta, Allah subhanahu wa ta'ala. Misi kehidupan adalah beribadah, menjadi wakil-Nya di muka bumi ini, berbuat baik dengan sesama, dan semua hal baik yang dicontohkan oleh Rasulullah shallallahu alaihi wasallam. XP, score, points harus menjadikan kita lebih baik dari hari sebelumnya. Dan tujuan dari hidup ini adalah sebuah checkpoint yaitu kematian, yang menjadi pintu gerbang sebelum mendapatkan reward, tempat kita kembali pulang ialah Jannah. Atau game over yang berupa Neraka. Jujur, ini adalah pengingat bagi diri saya pribadi sebagai seorang pemain.

Penutup

Gamification adalah teori yang (pasti) dapat kita terapkan dalam menjawab berbagai permasalahan profesional atau pekerjaan. Hal yang justru menantang adalah bagaimana kita mendesain sistem gamification tersebut supaya dapat mencapai hasil yang sesuai harapan. Selayaknya game itu sendiri, yang mengubah seorang noob menjadi GG atau dewa, ialah perlunya membiasakan diri dengan teori gamification ini. 

Jadi, apakah sudah siap untuk membiasakan gamification?