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!