BAB 2 TINJAUAN PUSTAKA 2.1 Teori Umum 2.1.1 Teori Multimedia
Menurut
Savage
dan
Vogel
(2014:2)
multimedia
adalah
pengembangan, integrasi dan pengiriman dari kombinasi text, grafik, animasi, suara atau video melalui proses alat digital. Multimedia dibagi menjadi dua yaitu multimedia interaktif dan multimedia non-interaktif. Multimedia interaktif adalah ketika user atau pengguna dapat mengendalikan arus informasi, sedangkan Multimedia non-interaktif adalah ketika arus informasi tidak dapat dikendalikan oleh user. Aplikasi multimedia interaktif terbagi lagi menjadi beberapa tipe, yang pertama memberikan interaktifitas dasar. Interaksi dasar yang meliputi seleksi menu, tombol untuk pindah layar, objek yang dapat di klik, links, dan text box untuk pertanyaan atau respon. Yang kedua disebut Hypermedia, Hypermedia adalah wujud dari media interaktif yang lebih maju di mana pengembang menyediakan struktur informasi yang saling berhubungan dan bertujuan agar informasi tersebut dapat diakses oleh user. Bentuk multimedia yang lebih maju mengolah presentasi informasi yang dibutuhkan oleh user. Aplikasi-aplikasi yang memiliki aspek intelegensi dan pembuatan keputusan disebut dengan multimedia adaptive atau intellimedia. Wujud lain dari multimedia yang lebih kuat dapat ditemukan dalam simulasi yang lebih maju dan games yang dapat menciptakan virtual reality games itu sendiri. Virtual reality tidak hanya memenuhi respons dari user tetapi juga immersive. Aplikasi Immersive Multimedia dapat membawa usernya memasuki dunia yang berbeda, melibatkan mereka secara intelektual, emosional dan bahkan perasaan yang mendalam.
11
12
2.1.1.1 Elemen dan Unsur Multimedia
Menurut Vaughan (2011:1) multimedia merupakan kombinasi digital dimanipulasi teks, foto, seni grafis, elemen suara, animasi, dan video. Ketika penonton dapat mengendalikan elemen multimedia yang dikirimkan oleh user, hal ini disebut sebagai multimedia interaktif. Sebaliknya, ketika user mampu mengendalikan elemen multimedia terstruktur, dan bisa melakukan navigasi terhadap multimedia interaktif disebut hypermedia. a. Teks Teks adalah salah satu elemen multimedia yang digunakan untuk mengkomunikasikan pikiran, ide dan fakta dalam segala aspek kehidupan manusia. Teks bervariasi berdasarkan penampilannya. Terdapat tiga aspek penampilan teks yaitu efek, jenis teks dan warna teks. Dalam multimedia, teks sering digunakan untuk menunjukkan judul, menu, navigasi dan juga isi konten. b. Gambar Gambar adalah media lain yang berfungsi untuk mengirimkan informasi kepada penonton atau pembaca sebagai gambar yang mempunyai informasi yang spesifik dibalik gambaran maka dari itu gambar dapat mengirimkan informasi lebih cepat dari teks. Gambar dapat dibagi menjadi tiga kategori yaitu gambar dari dunia nyata (foto,lukisan), gambar virtual yang dapat diciptakan dari program editor dan kombinasi dari 2 kategori tersebut.
Gambar juga
dibedakan berdasarkan bagaimana sebuah gambar dihasilkan dengan komputer apakah vektor atau raster/bitmap. Bitmap/raster terdiri dari kumpulan
pixels
dengan
warna
tertentu
yang
membangun
keseluruhan gambar sedangkan gambar vector terdiri dari titik, garis, persegi, lingkaran, dan bangun datar lainnya yang dapat dibuat dengan menggunakan persamaan matematika seperti sudut, koordinat, dan jarak.
13
c. Suara Adalah fenomena gelombang seperti cahaya, tetapi suara ini macroscopic dan meliputi molekul udara yang di kompres dengan alat fisik. Kerasnya suara tergantung pada perantara, amplitudo, frekuensi dan periodik untuk memindahkan gelombang ke telinga manusia. Suara diukur dengan satuan yang disebut desibel atau db. Suara dengan desibel yang lebih tinggi akan lebih terdengar keras di telinga pendengarnya. d. Animasi Animasi terjadi karena fenomena biologis, diketahui sebagai phi. Ini adalah peristiwa biologis dari objek yang ditangkap oleh mata manusia dan objek yang tersisa di dalam mata manusia, ketika retina menangkap penglihatannya. Maka dari itu peristiwa ini menghasilkan gambar bergerak dengan sangat cepat, gambar dengan gambar sehingga menciptakan ilusi pergerakan secara visual. Berikut adalah variasi animasi yang dibuat dari komputer : 1.
Animasi 2D
Animasi dua dimensi yang sederhana dan statis, secara sederhana hanya mengubah posisi layar penonton. 2.
Animasi 2.5D
Ada ilusi yang ditambahkan pada axis z, dengan memberi efek yang bervariasi pada sumbu x atau y, misalnya bayangan, timbul, kemiringan, dan sorot. 3.
Animasi 3D
Animasi tiga dimensi yang secara umum dihasilkan dari komputer dengan menghitung semua tiga sumbu x, y dan z di mana membuat animasi dapat dilihat dari berbagai sisi. e. Video Video adalah urutan gambar yang direkam pada film dengan menggunakan teknologi cahaya sensitif yang mirip dengan fotografi. Video dibagi berdasarkan frame rate, frame atau ukuran gambar dan
14
kedalaman warna atau resolusi yang dikombinasikan dalam satu file video, versi video yang tersebar melalui berbagai versi di seluruh dunia, seperti: a. NTSC (National Television System Committee) Video NTSC menyediakan 525 garis resolusi dan 30 frame per detik. Secara resmi diluncurkan di Amerika Utara, Amerika Selatan dan Jepang. b. PAL (Phase Alternate Line) Video PAL menyediakan 625 garis resolusi dan 25 frame per detik. Secara resmi diluncurkan di Australia, Afrika Selatan, Eropa. c. SECAM (Sequentiel Couleur e Memoire) Video SECAM menyediakan fitur yang sama dengan PAL, tetapi secara resmi diluncurkan di France dan Russia.
2.1.1.2 Storyboard
Menurut
Vaughan
(2011:300)
storyboard
merupakan
gambaran arsitektural dari sebuah proyek multimedia yang membantu memberikan penjelasan detail dan visualisasi terhadap arsitektur informasi dari proyek tersebut. Storyboard dibuat dengan gambar hitam putih yang diatur berurutan sesuai dengan jumlah layar yang akan ditampilkan, dengan memberikan catatan dan penjelasan dari desain yang dibuat pada setiap layarnya.
15
2.1.2 Delapan Aturan Emas
Menurut Scneiderman dan Plaisant (2010:8) ada delapan aturan emas, yaitu: 1.
Berusaha untuk konsisten Sebagai seorang designer tampilan antarmuka user, ada beberapa hal
yang perlu dipertimbangkan akan menjaga mereka konsisten; urutan tindakan, menu, dan layar bantuan. 2.
Memenuhi kegunaan universal Seiring frekuensi penggunaan meningkat, keinginan user juga
meningkat. Untuk mengurangi jumlah interaksi pengguna dan untuk meningkatkan kemudahan berinteraksi dengan sistem. Tombol fungsi singkat, tombol fungsi, perintah yang tersembunyi, dan makro fasilitas sangat membantu untuk para ahli. 3.
Memberikan umpan balik yang informatif Untuk setiap input pengguna ke sistem, harus ada respon dari user.
Untuk tindakan yang sering dilakukan, respon dapat sederhana, sedangkan untuk tindakan yang jarang terjadi dan besar, respon harus lebih besar. 4.
Merancang dialog untuk menciptakan penutupan
Urutan tindakan harus berurutan dari awal, tengah, hingga akhir. Respon informatif balik dari suatu penutupan akhir dari suatu proses. Indikasi langkah – langkah yang harus dilakukan agar user dapat menyelesaikan suatu aksi. 5.
Penanganan kesalahan sederhana
Memberikan penanganan kesalahan. Sehingga user dapat terhindar dari kesalahan sistem/error atau tidak melakukan error yang serius. Sistem harus dapat mendeteksi error itu sebelum terjadi. Apabila kesalahan itu masih terjadi, sistem harus dapat memberikan mekanisme yang sedehana dan mudah dipahami pengguna untuk penanganan kesalahan tersebut. 6.
Memungkinkan mengembalikan aksi yang mudah
16
Rancang sebuah sistem di mana apabila pengguna melakukan kesalahan input kepada sistem, dapat dengan mudah kembali ke state sebelum pengguna melakukan input. 7.
Dukungan tempat kendali untuk pengguna
Rancang sistem untuk membuat pengguna sebagai pelaku dari aksi daripada perespon. Karena operator yang berpengalaman di mana mereka yang bertanggung jawab terhadap sistem dan respon sistem terhadap pengguna. 8.
Mengurangi beban ingatan jangka pendek
Keterbatasan manusia dalam memproses informasi dengan ingatan jangka pendek diperlukan tampilan yang sederhana.
2.1.3 Lima Faktor Manusia Terukur
Menurut Shneiderman (2010:32) terdapat lima faktor manusia terukur yang mempengaruhi perancangan interface yang menarik dan user friendly, yaitu: 1. Waktu untuk belajar Faktor waktu yang dibutuhkan untuk mempelajari bagaimana menggunakan serangkaian perintah yang relevan. 2. Kecepatan performa Berapa
lama
waktu
yang
dibutuhkan
untuk
menyelesaikan
serangkaian perintah. 3. Tingkat kesalahan Berapa banyak dan berapa jenis error yang dibuat dalam melaksanakan serangkaian perintah. 4. Daya ingat dari waktu ke waktu
17
Meskipun waktu untuk membuat dan memperbaiki error mungkin dimasukkan dalam kecepatan performa, terjadinya error adalah komponen yang sangat penting dalam penggunaan sistem di mana penelitian untuk ini perlu dilakukan. 5. Kepuasan subjektif Seberapa baik user menyukai aspek dari sistem. Hal ini dapat dipastikan dengan wawancara atau survei tertulis yang meliputi tingkat kepuasan dan ruang untuk pemberian komentar. 2.1.4 Scrum Menurut Pressman (2010:82) Scrum adalah metode pengembangan software yang tangkas yang disusun oleh Jeff Sutherland dan tim pengembangnya di awal tahun 1990. Kegiatan yang dilakukan dalam metode scrum antara lain : requirements, analysis, design, evolution, and delivery.
Gambar 2.1 Proses Metode Perancangan Scrum Scrum menekan penggunaan satu set dari pola proses software yang terbukti efektif untuk proyek-proyek dengan jadwal yang ketat, perubahan kebutuhan, dan kekritisan bisnis. Masing-masing pola proses ini mendefinisikan sebuah set dari tindakan pengembangan :
18
1. Backlog, adalah daftar prioritas dari kebutuhan proyek atau fitur-fitur yang menyediakan nilai bisnis bagi pelanggan. Produk yang dapat ditambahkan ke backlog setiap saat (ini bagaimana perubahan diperkenalkan). Manajer produk menilai backlog dan update prioritas sesuai kebutuhan. 2. Sprint, terdiri dari unit kerja yang diperlukan untuk mencapai persyaratan yang ditetapkan dalam backlog yang harus sesuai dengan waktu yang telah ditetapkan waktu (biasanya 30 hari).
Seorang pemimpin tim, yang disebut Scrum Master, memimpin pertemuan dan menganggapi respon dari masing-masing orang. Scrum meeting membantu tim untuk menemukan potensi masalah sedini mungkin.
2.1.5 UML
Menurut Hamilton dan Miles (2006:1) Unified Modelling Language (UML) adalah sebuah standar dalam perancangan sistem pada sistem software tertentu. Perancangan sistem dalam skala besar sangat sulit dimengerti oleh developer atau programmer yang melakukan penyusunan sesuai dengan design yang dibuat, oleh karenanya UML sangat penting untuk dipelajari dan diaplikasikan untuk mempermudah perancangan dan pembuatan sebuah sistem. UML merupakan komposisi dari banyak aspek perancangan, yaitu : a. Use Case b. Activity c. Class d. Object e. Sequence f. Communication
19
g. Timing h. Interaction Overview i. Composite Structure j. Component k. Package
2.1.5.1 Use Case Diagram
Use case adalah sebuah situasi di mana sistem yang dibuat digunakan untuk memenuhi satu atau lebih dari kebutuhan user. Use case memperlihatkan fungsionalitas dari sebuah sistem, dan merupakan inti dari model yang dirancang,
Gambar 2.2 Use Case merupakan inti dari model yang dirancang (Sumber : Learning UML 2.0, 2006:30)
Use Case Diagram yang benar merupakan gabungan dari beberapa komposisi penting yaitu Aktor, Communication Line, dan System Boundaries Aktor merupakan pemeran atau pengguna yang berinteraksi langsung dengan sistem itu sendiri, ditunjukkan dengan gambar manusia sederhana berupa stickman.
20
Gambar 2.3 Aktor dalam Use Case Diagram
Communication Line merupakan penghubung atau penanda interaksi antara pengguna/pengoperasi sistem dengan aktifitas didalam sistem yang ada.
Gambar 2.4 Communication Lines dalam Use Case Diagram
System Boundaries merupakan pembatas yang membatasi ruang lingkup sistem yang bekerja bersama ataupun tidak.
Gambar 2.5 System Boundary pada Use Case Diagram
21
2.1.5.2 Activity Diagram
Activity Diagram mempermudah pembaca untuk melihat bagaimana dan seperti apa tujuan sebuah sistem tersebut, Activity Diagram sangat baik untuk digunakan dalam perancangan business process. Business Process adalah kumpulan tugas-tugas yang mencapai business goal. Activity Diagram menunjukkan proses high-level pada sebuah rancangan sistem.
Gambar 2.6 Activity Diagram merupakan bagian dari high level Process View (Sumber : Learning UML 2.0, 2006:62)
Berikut adalah contoh penyusunan Activity Diagram untuk proses pembuatan akun blog :
22
Gambar 2.7 Contoh Activity Diagram ( Sumber : Learning UML 2.0, 2006:65)
23
2.1.5.3 Class Diagram
Class Diagram adalah penggambaran sebuah rancangan sistem menurut aturan hubungan antar Class (Object Oriented). Sebuah class dalam Class Diagram dapat digambarkan dengan beberapa cara berikut :
Gambar 2.8 Penggambaran Class untuk Class Diagram (Sumber : Learning UML 2.0 2006:99)
Class Name adalah nama dari class tersebut, Contoh : Class Makanan. 1. Attribute adalah bagian-bagian dari class tersebut, Contoh : Class Makanan, Attribute Nasi, Attribute Ayam Goreng, dan lain-lain. 2. Operation adalah sebuah method atau hal-hal yang dilakukan oleh class tersebut, Contoh : Class Piring, Operation Penuh, Operation Habis, dan lain-lain. Dalam Class Diagram, tiap atribut memiliki beberapa jenis tipe data seperti Public (Ditandai dengan tanda +), Private (Ditandai dengan tanda -), Protected (Ditandai dengan tanda #).
24
Gambar 2.9 Contoh Class Identity dengan private Password
Class Diagram tidak hanya terdiri dari satu class, tetapi merupakan hubungan dari beberapa class yang membentuk sebuah sistem yang bekerja saling berhubungan dengan Communication Lines.
Gambar 2.10 Hubungan antar Class dalam Class Diagram (Sumber : Learning UML 2.0 2006:110)
25
Gambar 2.11 : Relasi antar Class dalam Class Diagram (Sumber : Learning UML 2.0 2006:122)
1. Dependency digunakan disaat sebuah class bekerja secara singkat satu sama lain 2. Association digunakan disaat sebuah class bekerja dengan class lain dalam waktu yang cukup lama. 3. Aggregation digunakan disaat sebuah class memiliki rujukan ke class lain. 4. Composition digunakan disaat sebuah class mengambil rujukan dari class lain. 5. Inheritance digunakan disaat sebuah class merupakan turunan dari class lain.
2.1.6 Internet
Menurut (Satzinger 2010:336) Internet adalah koneksi global dari jaringan yang saling berhubungan menggunakan sebuah level rendah standar jaringan yang disebut TCP/IP (Transmission Control Protocol atau Protokol Internet).
26
2.2 Teori Khusus 2.2.1 Game
Menurut Adams (2010:3) definisi game adalah jenis kegiatan bermain yang dilakukan dalam bentuk menyerupai kenyataan, di mana penggunanya mencoba untuk menyelesaikan setidaknya satu tantangan dari peraturan yang ada. Jenis-jenis game dibedakan menjadi dua, yaitu berdasarkan platform atau mesin yang digunakan dan satu lagi berdasarkan genre game. Berdasarkan platform atau mesin yang di gunakan: 1.
Menurut Adams (2010:78) Console game adalah game yang dimainkan menggunakan konsol tertentu. Console game dimainkan menggunakan kontroler. Kontroler mempunyai sejumlah tombol dan arah yang dapat memanipulasi di dalam game.
2.
Menurut Adams (2010:79) PC game adalah game yang berjalan pada personal computer. Game yang dimainkan bergantung pada hardware komputer.
3.
Menurut Adams (2010:81) Handheld game adalah game yang menggunakan konsol portable yang dapat dimainkan di mana saja.
4.
Menurut Adams (2010:81) Mobile game adalah game yang berjalan di mobile phone. Game yang berjalan di perangkat mobile dapat dimainkan bersama-sama dengan menggunakan wireless device seperti Nitendo DS.
27
2.2.2 Genre Game
Menurut
Adams (2010:390),
game
memiliki beberapa
genre
berdasarkan gameplay-nya, yaitu : 1.
Action Games Action games membutuhkan good hand, koordinasi mata dan
biasanya juga membutuhkan reaksi cepat. Sebagian besar tantangan dari Action games menguji physical skill, kecepatan dan waktu bereaksi, steering and shooting, timing and rhytm, dan kemampuan untuk membuat combo move dalam fighting games. Jenis tantangan lainnya termasuk pattern recognition dan exploration. Jenis game endless running juga merupakan game bergenre Action. a.
Endless running adalah game yang tidak mempunyai batas untuk dimainkan, karakter akan terus bergerak dan pemain mengarahkan karakter untuk melewati rintangan. Game akan berakhir ketika player melakukan kesalahan.
2.
Strategy Games Dalam strategy games, tantangan yang dihadapkan sebagian
besar adalah strategic conflict challenges dan pemain dapat memilih berbagai macam tindakan yang memiliki potensial agar mendapatkan poin terbanyak dalam game. Strategy games lebih simetris dibandingkan game dengan genre yang berbeda dan terkadang lebih mudah dalam menyeimbangkan kesulitan. Menurut Rogers (2010:11), strategy games terbagi menjadi tiga yaitu: a.
Real Time Strategy (RTS) Berfokus pada ekspansi, eksplorasi, eksploitasi, dan pemusnahan.
b.
Turn Based
28
Dalam game ini pemain memiliki lebih banyak waktu untuk berpikir, sehingga strategi yang digunakan memiliki peluang yang lebih besar. c.
Tower Defense Sistem dalam game ini pemain membangun menara yang dapat
menembak otomatis untuk menghalangi musuh yang datang. 3.
Role Playing Games Dalam genre ini, pemain mengontrol satu atau lebih karakter
yang secara khusus didesain oleh pemain, dan memerintah mereka melewati berbagai quests yang diatur oleh komputer. Karakter dapat berkembang dari segi power dan abilities merupakan fitur utama dari genre
ini. Pemain dapat mengembangkan karakternya sesuai dengan
keinginannya. Biasanya tantangan termasuk tactical combat, logistics, economics growth, exploration, dan puzzle solving. 4.
Sports Games Mensimulasikan beberapa aspek dari olahraga atletik nyata atau
imajinasi, apakah dapat bermain dalam suatu pertandingan, mengatur sebuah tim atau karir maupun keduanya. Tidak semua sports games yang merupakan olahraga nyata, ada beberapa sports games merupakan fantasi walaupun berdasarkan olahraga nyata. 5.
Vehicle Simulation Menciptakan perasaan mengemudi atau menerbangkan kendaraan,
nyata atau imajinasi. Contohnya adalah balapan dengan pemain lain atau melawan artificial intelligence game. Dapat juga melibatkan eksplorasi atau hanya sekedar pengalaman menggunakan kendaraan. 6.
Construction and Management Simulations Contruction and management simulation adalah game mengenai
proses. Tujuan pemain bukan untuk mengalahkan musuh tetapi untuk membangun sesuatu dengan proses yang berkelanjutan. Game dengan
29
genre ini tantangan utamanya adalah ekonomi dan berfokus pada pertumbuhan. 7.
Adventures Games Adventures
games
merupakan
sebuah
cerita
yang
interaktif
tentang karakter protagonis yang dimainkan oleh pemain. Karakter ini merupakan avatar pemain, tetapi lebih dari sekedar perwakilan dari pemain.
Elemen
penting
dari
game
ini
adalah
storytelling
dan
exploration. 8.
Artificial Life Artificial Life atau A-Life biasanya mensimulasikan siklus hidup
dari makhluk hidup. A-Life game berfokus pada memelihara dan mengelola populasi yang berkembang dari organisme, di mana masingmasing merupakan hal yang unik. 9.
Puzzle Games Dalam puzzle game, pemecahan puzzle merupakan aktivitas
utama, walaupun puzzle ada di dalam storyline atau mengarah pada tujuan yang lebih besar. Puzzle games biasanya memberikan challenges yang berhubungan dan variasi dari tema.
2.2.3 Fitur
Fitur adalah kata serapan dari bahasa asing (Inggris) feature yang berarti suatu aspek atau ciri yang menonjol atau daya tarik khusus yang membedakan satu dengan yang lainnya. Di dalam game, fitur merupakan salah satu daya tarik yang membuat game tersebut berbeda dengan game yang lainnya. Fitur game bisa berupa game yang di mainkan secara online, offline, multiplayer dan dapat menyimpan data.
30
2.2.3.1 High Score
Menurut Adams (2010:410) bagi banyak pemain game action, mendapatkan skor tinggi lebih penting dari pada cerita. Melacak pencapaian pemain seperti menyelesaikan misi, mengalahkan musuh, mengumpulkan item, lamanya waktu yang dilalui setiap level.
2.2.3.2 Multiplayer
Menurut Adams (2010:26-27) game multiplayer lokal mempunyai arti dua orang atau lebih bermain bersama dalam satu tempat. Dalam game konsol klasik setiap pemain memiliki kontroler sendiri, tetapi mereka semua melihat layar yang sama. Dalam beberapa permainan, layar terbagi dan masing-masing pemain melihat bagiannya sendiri, sementara itu para pemain semua melihat dunia permainan yang sama secara bersama-sama.
2.2.4 Android
Menurut McWherter dan Gowell (2012:151), sistem operasi Android dibuat menggunakan kernel Linux yang dimodifikasi dan aplikasi di dalamnya ditulis dengan menggunakan Java. Android adalah sebuah sistem operasi berbasis linux untuk smartphone. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi untuk digunakan di berbagai smartphone. Android pertama kali dikembangkan oleh Android Inc pada tahun 2003 dan dibeli secara resmi oleh Google pada tanggal 17 Agustus 2005. Tahun 2007 sistem operasi Android diluncurkan secara resmi. Keberhasilan sistem
31
operasi Android adalah keterbukaan Google untuk pengembangan aplikasi yang
diperbolehkan
untuk
masuk
(Open
Source).
Keterbukaan
pengembangan aplikasi Android menyebabkan banyak pengembang aplikasi tertarik untuk mengembangkan aplikasi untuk Android. Google menyediakan shop Google Play untuk para pengembang mengunggah aplikasi dan sebagai pusat unduh bagi para pemakai aplikasi Android.
2.2.4.1 Versi Android
Perkembangan sistem operasi Android dibedakan berdasarkan nama-nama makanan. Sistem Android CupCake (versi 1.5) adalah kode nama dari sistem Android 1.1 yang telah mengalami pengembangan. Sistem Android terus mengalami perkembangan dan kode nama untuk sistem Android yang paling terakhir adalah KitKat (versi 4.4).
32
Tabel 2.1 Versi Android ANDROID VERSIONS
CODENAME
1.1
RELEASE DATE
9 Februari 2009
1.5
Cupcake
30 April 2009
1.6
Donut
15 September 2009
2.0/2.1
Eclair
26 Oktober 2009
2.2
Froyo
20 Mei 2010
2.3
Gingerbread
6 Desember 2010
3.0/3.1/3.2
Honeycomb
22 Februari 2011
4.0
Ice Cream Sandwich
19 Oktober 2011
4.1
Jellybean
9 Juli 2012
4.2
Jellybean
13 November 2013
4.3
Jellybean
24 Juli 2013
4.4
Kit kat
31 Oktober 2013
2.2.4.2 Fitur Android
Pengoperasian Android bekerja dengan adanya kontak langsung pemakai, yaitu dengan sentuhan pada layar. Android 2.3 (Gingerbread) memberikan berbagai fitur dan API yang memungkinkan pengembang membawa jenis baru dari aplikasi untuk platform Android. 1. Perangkat untuk game
33
2. Bentuk-bentuk baru komunikasi 3. Multimedia yang kaya Perangkat untuk game Performace, Android 2.3 (Gingerbread) mencakup berbagai perbaikan seluruh sistem yang membuat operasi umum lebih cepat dan lebih efisien untuk semua aplikasi. 1. Concurrent
Garbage
Collector
-
The
Dalivik
VM
memperkenalkan sebuah fitur baru, Concurrent Garbage yang meminimalkan jeda aplikasi, membantu untuk memastikan animasi lebih halus dan peningkatan respon di game dan aplikasi yang serupa. 2. Faster event distribution - platform sekarang dapat menangani sentuhan dan keyboard lebih cepat dan lebih efisien, meminimalkan penggunaan CPU selama kejadian berjalan. Perubahan meningkatkan respon untuk semua aplikasi, terutama menguntungkan game yang menggunakansentuhan dalam kombinasi dengan grafis 3D atau operasi CPU-intensif lainnya. 3. Updated video driver - platform menggunakan driver video terbaru pihak ketiga yang meningkatkan efisiensi operasi OpenGL ES, untuk kinerja grafis 3D yang lebih cepat secara keseluruhan. Giroskop dan sensor baru lainnya, untuk proses gerak 3D yang ditingkatkan. Android 2.3 menambahkan dukungan API untuk beberapa jenis sensor baru, yaitu : a. Giroskop. b. Vektor rotasi c. Percepatan linear d. Gravitasi e. Sensor barometer.
34
Aplikasi dapat menggunakan sensor baru dalam kombinasi dengan sensor lain yang tersedia pada perangkat, untuk melacak gerak tiga-dimensi perangkat dan perubahan orientasi dengan akurasi dan presisi yang tinggi. Sebagai contoh, sebuah aplikasi game dapat menggunakan bacaan dari giroskop dan akselerometer pada perangkat untuk mengenali gerakan kompleks pengguna dan gerakan, seperti mengayun, memutar, mendororng, dan melengkung.
Bentuk-bentuk baru komunikasi Near
Field
Communications
(NFC),
memungkinkan
pengembang memulai menciptakan kelas baru seluruh aplikasi untuk Android.
Pengembang
dapat
membuat
aplikasi
baru
yang
menawarkan informasi dan layanan berbasis dekat dengan pengguna, organisasi, pedagang, dan pengiklan. Mulai dari Android 2.3.3, aplikasi juga dapat mencantumkan label dan mengatur koneksi peerto-peer dengan perangkat NFC lain.
Multimedia yang kaya: 1.
Efek audio yang dapat digabung, Sebuah efek audio baru API memungkinkan pengembang dengan mudah menciptakan suasana audio yang kaya dengan menambahkan equalization, bass boost, headphone virtualization (widened soundstage), dan gema untuk jejak audio dan suara. Pengembang dapat mencampur beberapa efek audio dalam track lokal atau menerapkan efek global, di beberapa lagu.
2.
Dukungan untuk format media baru, Platform ini sekarang menawarkan dukungan built-in untuk VP8 format kompresi video yang terbuka dan WebM format kontainer terbuka. Platform ini juga menambahkan dukungan untuk encoding AAC dan AMR wideband encoding (dalam perangkat lunak),
35
sehingga aplikasi dapat menangkap audio berkualitas tinggi dari narrowband. 3.
Akses
ke
beberapa
kamera,
Kamera
API
sekarang
memungkinkan pengembang mengakses kamera yang tersedia pada perangkat, termasuk kamera depan. Aplikasi dapat meminta platform untuk jumlah kamera pada perangkat, jenis dan karakteristik mereka, kemudian membuka kamera dibutuhkan. Sebagai contoh, sebuah aplikasi video chat ingin mengakses kamera depan yang menawarkan resolusi yang lebih rendah, sementara aplikasi foto mungkin lebih memilih kamera belakang yang menawarkan resolusi yang lebih tinggi.
2.2.5 Game Design
Game design menurut Adams (2010:54) adalah sebuah aktivitas yang diciptakan dari kenyataan yang tidak benar-benar ada, namun didramatisir dan dianggap nyata. Para peserta didalam sebuah game memiliki tujuan tertentu, dan diatur dengan beberapa peraturan. Tujuan-tujuan dalam game mempunyai makna berarti, yaitu untuk menciptakan keseimbangan terhadap pemain maupun Artificial Intelligence yang terlibat dalam mencapai tujuan masing-masing, dan menciptakan situasi yang kompetitif dan aktif. Adams (2010:56) mengatakan bahwa terdapat banyak jenis design document yaitu High concept document, Game treatment document, Character design document, World Design document, dan Story or Level progression document. 1.
High Concept Document High concept document berfungsi terhadap sebuah pratinjau ringkas
terhadap game yang akan dibuat kepada direktur, produser, atau produser eksekutif. 2.
Game Treatment Document
36
Dokumen ini berfungsi seperti high concept document, namun menyediakan pengertian yang jelas terhadap aspek-aspek didalam game kepada semua orang yang tertarik dalam game yang akan dibuat. 3.
Character Design Document Dokumen ini menjelaskan karakter-karakter yang akan tampil
didalam game, baik animasi, fungsi, dan peran karakter tersebut. Dokumen ini juga perlu memberikan contoh konsep dan penampilan karakter akan seperti apa. 4.
World Design Document World design document menjelaskan lingkungan dan tema didalam
game, seperti musik, dan seni seperti apa yang akan diaplikasikan kedalam game. 5.
Story and Level Progression Document Dokumen ini menjelaskan alur cerita didalam game mulai dari awal
hingga akhir, juga memberikan gambaran tentang level dan progres dalam game.
2.2.6 Game Programming
Pemrograman didalam membuat sebuah game tidak berbeda dengan melakukan pemrograman pada umumnya, namun menurut CENGAGE LEARNING™ dalam buku “Game Programming Gems 8” ada hal-hal yang harus diperhatikan dalam melakukan pemrograman dalam sebuah game, yaitu : 1.
Grafik
2.
Physics dan Animasi
3.
Artificial Intelligence (AI)
4.
General Programming
5.
Networking dan Multiplayer
6.
Audio
37
7.
Komputasi dalam Graphic Processing Unit (GPU) Aspek-aspek diatas penting dalam proses pembuatan game yang baik,
dapat membuat game lebih optimal dalam penampilan, performa, dan kemampuan sebuah game dalam menghibur pemain.
2.2.7 Game Balancing
Adalah konsep untuk menetapkan serangkaian peraturan dalam game, menciptakan keseimbangan antara pemain dan game, untuk menghindari pencapaian tujuan yang terlalu mudah .Sistem yang tidak seimbang akan membuat pengembangan resource menjadi terbuang percuma dan dapat merusak seluruh jalannya sistem dalam game. Menurut Schell (2008 : 172) Terdapat 12 tipe game balancing yang sering digunakan yaitu : 1.
Fairness
Tipe Balancing Fairness ini terbagi menjadi dua yaitu Symmetrical Games dan Assymetrical Games. -
Symmetrical Games Salah satu kualitas yang player inginkan dalam game adalah keadilan.
Player ingin merasakan bahwa di dalam suatu game terdapat tingkat kesulitan sehingga saat bermain dapat membuat player merasakan tantangan yang diberikan di dalam game. Salah satu cara paling sederhana adalah dengan memastikan pembuatan gamenya symmetrical yaitu dengan memberi kekuatan dan sumber daya yang sama terhadap ke semua player. -
Assymetrical Games Tidak menutup kemungkinan juga untuk memberikan sumber daya
dan kemampuan yang lebih untuk diberikan kepada lawan player agar game lebih menarik, tetapi keseimbangan di dalam game juga harus diperhatikan. Berikut adalah beberapa alasan yang mendukung pembuatan Assymetrical Games:
38
a. Untuk mensimulasikan situasi di dunia nyata. b. Untuk memberikan player cara lain menelusuri dunia game. c. Personalisasi (Orang yang berbeda mempunyai bakat yang berbeda juga, apabila sumber daya yang tersedia cocok dengan bakat atau kemampuan player maka akan membuat player menjadi semakin kuat). d. Tingkat kesulitan yang tepat e. Membuat situasi yang menarik
2.
Challenge vs. Success Ketika game terlalu menantang maka player akan menjadi frustasi
tetapi apabila game terlalu mudah, player juga akan menjadi cepat bosan. Menjaga keseimbangan antara dua hal tersebut dapat menjadi hal yang sulit apabila player memiliki kemampuan yang beragam, ketika salah satu player merasa suatu game sulit player yang lain merasa game tersebut mudah. Untuk mengatasi hal ini, ada beberapa teknik yang bisa digunakan yaitu: a. Meningkatkan kesulitan pada setiap keberhasilan b. Memudahkan player pada awal permainan c. Membuat tingkatan tantangan d. Membiarkan player memilih tingkat kesulitan e. Mencoba bermain dengan player yang bervariasi
3.
Meaningful choices Permainan yang baik memberikan kesempatan pemainnya untuk
memilih, tidak hanya pilihan, namun pilihan yang dapat menentukan dampak yang besar terhadap yang akan terjadi selanjutnya , dan bagaimana permainan akan berakhir. Tapi pernyataan ini
berujung pada suatu
pertanyaan: “Berapa banyak pilihan yang memberi dampak besar yang akan diberikan ke player?”. Jika pilihan dalam game melebihi keinginan player, player akan merasa sangat puas. Jika pilihan kurang dari keinginan player akan menjadi
39
frustasi. Dan, apabila pilihan sama dengan keinginan player maka player akan merasa puas dan senang. Jadi, untuk
menentukan
dengan benar, perlu untuk
berapa banyak pilihan yang diperlukan
menganalisa apa yang player ingin lakukan.
Dalam beberapa situasi terdapat player yang menginginkan sedikit pilihan (sebagai contoh ketika memilih untuk belok ke kiri atau ke kanan pada ujung jalan), di sisi lain ada juga player yang menginginkan banyak pilihan yang tersedia.
4.
Skill vs. Chance Dalam arti yang sebenarnya, ada dua sisi yang berlawanan dalam
merancang suatu game. Apabila terlalu banyak
‘peluang’ maka bisa
meniadakan kemampuan yang dimiliki oleh player dan sebaliknya. Untuk menjaga agar tetap seimbang , untuk mengerti seberapa besar dan banyaknya peluang yang dibutuhkan
2.2.8 Unity Unity adalah software pengembangan game cross-platform yang dikembangkan oleh Unity Technologies: mesin rendering yang terintegrasi dengan fitur, alat intuitif dan alur kerja yang cepat untuk membuat konten 3D dan konten 2D yang interaktif. Unity dapat menerbitkan game multiplatform dengan mudah, aset siap pakai di Unity Asset Store dan komunitas untuk pengembang game yang berbagi pengetahuan.
40
2.2.8.1 Scripting dalam Unity
Unity mendukung tiga bahasa pemrograman : 1.
C # (dibaca C-sharp) adalah bahasa standar industri yang mirip dengan Java atau C ++.
2.
Unity Script adalah bahasa yang dirancang khusus untuk digunakan dengan Unity dan di rancang berdasarkan JavaScript.
3.
Boo adalah bahasa .NET dengan sintaks mirip dengan Python. Banyak bahasa .NET lain dapat digunakan dengan Unity jika
dapat di eksekusi dengan DLL yang kompatibel. Skrip selalu disimpan di dalam sebuah objek sebagai sumber file dan di eksekusi oleh
Unity
kapanpun
sumber
berubah.
Bagaimanapun
juga
memungkinkan untuk mengesekusi sebuah skrip untuk Dynamically Linked Library
(DLL) menggunakan sebuah kompiler terpisah.
Menghasilkan DLL dapat ditambahkan kedalam projek dan kelas yang mengandungnya dapat dilampirkan ke objek seperti skrip normal.
Cara membuat script: Script dibuat dalam Unity secara langsung. Cara membuat scrip baru dari menu Create di bagian kiri atas panel Project atau dengan memilih Assets > Create > C# Script (atau JavaScript / Boo script) dari menu utama. Script baru akan dibuat di folder yang di pilih di panel Project. Nama file script baru akan dipilih, dan meminta untuk memasukkan nama baru.
41
Gambar 2.12 Pembuatan Script baru dalam Unity
MonoDevelop adalah Integrated Development Environment (IDE) yang di dukung oleh Unity. Sebuah IDE menggabungkan operasi yang sejenis dari text editor dengan tambahan fitur untuk debugging dan tugas-tugas manajemen proyek lainnya. MonoDevelop
terinstal
secara
standart
dengan
Unity,
meskipun ada opsi untuk tidak perlu menginstall bersama Unity. Untuk memastikan MonoDevelop sebagai script editor luar, di Preferences opsi dinyalakan, dengan ini Unity akan menjalankan MonoDevelop sebagai editor standar untuk semua file script.
2.2.8.2 Fitur-fitur dalam Unity
a. Animation Mecanim adalah fitur animasi yang lebih sederhana dan fleksibel dalam software unity yang memungkinkan pembuatan animasi yang lebih alami. Mecanim juga dapat memberikan animasi untuk sprite (kumpulan gambar bitmap yang terpisah yang apabila gambar tersebut digabungkan akan tercipta animasi dari gambar tersebut).
42
b. Multiplatform Fitur
multiplatform
dalam
Unity
memudahkan
para
pengembang game untuk mempublikasikan gamenya ke berbagai jenis platform di antaranya : IoS, Android, Windows Phone 8, Blackberry, Windows 8, Windows Store, Mac, Linux, Web Player, Playstation 3, Playstation 4, Playstation Vita, Playstation Mobile, Xbox One, Xbox 360, dan Wii-U. c. Lighting Unity menyediakan fitur lightmap baking untuk memberikan kemudahan bagi user ketika mengatur pencahayaan pada dunia di dalam game. Dengan fitur ini, memberikan detail dan nuansa pada dunia dalam game menjadi lebih mudah dan efisien. Menjadikan objek-objek di dalam game tampil lebih baik dan memperhalus transisi antar objek dalam jarak jauh maupun dekat. d. Special Effects Fitur yang disediakan oleh unity yang bertujuan untuk membuat game menjadi semakin terlihat nyata. seperti pergerakan kamera yang dinamis, gambar ataupun karakter yang tercermin dalam cermin. e. Audio Unity menyediakan alat audio yang didukung oleh FMOD, salah satu perusahaan audio yang paling banyak digunakan di dunia game dan toolkit untuk menciptakan dan memutar audio interaktif. Di Unity, semua audio utama dapat diatur dengan kurva otomatis di Inspector, sehingga dapat memodifikasi soundscape dalam game secara detail. f. AI Unity menyediakan fitur navigasi mesh otomatis di mana fitur ini menggambarkan batas-batas setiap ruang navigasi dalam game sehingga karakter lawan (AI) dapat menemukan jalan ke target atau karakter pemain pada umumnya. Pada saat game berjalan, Unity akan
43
mengambil alih dalam pengambilan data navigasi dan tetap menjaga kinerja game tetap tinggi. g. Terrain Unity menyediakan fitur editor untuk mengukir, meninggikan, dan merendahkan terrain (dataran). Terrain Engine. Unity juga mempunyai tree authoring tool yaitu tools untuk membuat pohon, dengan tools ini menciptakan hutan menjadi sangat mudah. h. Networking Unity memfasilitasi fitur untuk memudahkan pengembang game membuat game multiplayer dengan pilihan seperti menambah skor, dan interaksi secara real-time. Fitur ini termasuk asset tambahan untuk unity yang tersedia di unity,
2.2.8.3 Player Pref
Dalam Unity, terdapat variabel global yang dapat diakses secara bebas antar scene, fungsi, dan disimpan didalam registry android/komputer pengguna, yaitu "PlayerPref." PlayerPref dapat digunakan dalam berbagai kondisi, seperti "flag" antar scene untuk mentrigger
sebuah
event,
atau
bahkan
sebagai
fitur
yang
membutuhkan variabel yang dapat disimpan seperti database, contohnya high score.
2.2.8.4 Photon Unity Networking
Photon Unity Networking adalah plugin Unity yang membuat membuat
komunikasi
menggunakan Photon.
yang
cepat,
dapat
dipercaya
dengan
44
PUNsangat mirip dengan built-in jaringan Unity, dapat di ekspor ke semua platform yang didukung oleh Unity dan dapat dipilih antara PUN Free atau PUN+. Berikut merupakan perbandingan PUN Free dengan PUN+ :
Gambar 2.13 Perbandingan PUN, PUN+, dan UN
PUN Wizard The PUN Setup Wizard membantu dengan pengaturan jaringan dan menawarkan Photon Cloud untuk game multiplayer. Photon Cloud adalah server Photon yang dapat digunakan untuk game multiplayer. Cara memasukkan APP ID PUN+ kedalam Unity :
45
Gambar 2.14 Cara mendaftarkan APP ID PUN+ Kedalam Unity
Ada syarat-syarat untuk menggunakan dan mengkoneksikan Photon, yaitu : 1. Connect Kode ini dibutuhkan untuk menghubungkan dan mulai menggunakan fitur Photon.
Gambar 2.15 Fungsi Untuk Menghubungkan ke Photon Server
2. Matchmaking Ini adalah contoh
script untuk membuat room atau bergabung
kedalam room.
Gambar 2.16 Fungsi Untuk Membuat dan Bergabung Kedalam Room
46
Untuk membuat room tidak terlihat dan menentukan maksimal pemain :
Gambar 2.17 Fungsi Untuk Menentukan Maksimum Player Dalam Sebuah Room
3. Gameplay GameObjects mendapatkan sebuah komponen PhotonView untuk di identifikasi. Update terus menerus dapat ditulis dan dibaca dengan menerapkan OnPhotonSerializeView dan “observing” script di PhotonView.
Gambar 2.18 Fungsi Untuk Menentukan Lokasi Spawn Player
Client dapat memanggil prosedur jarak jauh dengan menggunakan RPC (Remote Procedure Call).
47
Gambar 2.19 Fungsi Untuk Menggunakan RPC
2.2.9 Game Concept Worksheet Untuk membuat ide game yang ada menjadi konsep game yang utuh, diperlukan game concept worksheet yang pada dasarnya merupakan pertanyaan-pertanyaan yang perlu dijawab oleh pengembang game yang akan membantu pengembang game tersebut mendapatkan gambaran yang jelas dari ide yang dimiliki. Berikut adalah 11 pertanyaan untuk membuat konsep dari sebuah game: 1. What is the nature of the gameplay? That is, what challenges will the player face? What actions will the player take to overcome those challenges? 2. What is the player's role? Is the player pretending to be someone or something, and if so, who or what? How does the player's role help define gameplay? 3. What is the game's setting? Where does it take place? 4. What is the player's interaction model? Omnipresent? Through and avatar? Something else? Some combination? 5. What is the game's primary perspective? How will the player view the game's world on the screen? Will there be more than one perspective? If so, how will the perspective be changed? When can the perspective change? 6. What is the general structure of the game? What is going on in each mode, and what function does each mode fulfill?
48
7. Is the game competitive, cooperative, team-based, or single-player? If it is a multi- player game, will they be able to use the same device? Will it be networked? If networked will it be local-area only or will it require a server? Will it use Bluetooth, WiFi, or both? 8. Does the game fall into an existing genre? If so, which one? 9. Why would anyone want to play this game? What sort of people would be attracted to this game?
2.2.10 High Concept Document
Menurut Adams (2010:56) Inti dari high concept document adalah sebagai perantara penjualan, dapat dianggap sebagai resume dari sebuah video game. Tujuan dari high concept document adalah untuk membantu menemukan produser, dan kesempatan untuk “memukul” game tersebut. High concept document perlu memberi penjelasan terhadap game dengan cepat dan jelas, untuk membuat sang produser tertarik dan mau mendengar lebih tentang game yang dibuat, tidak terlalu masalah jika anda belum dengan menentukan semua detil dari game tersebut, pada akhirnya anda anda pun akan perlu mengganti beberapa fitur dalam tahap pembuatan. Maksud utamanya adalah untuk menjelaskan seberapa menarik dan seru game akan jadi nantinya. Sebuah high concept document hanya perlu dua hingga empat halaman panjangnya, dan perlu dapat dibaca dalam tidak lebih dari 10 menit. Semakin lama waktu yang dibutuhkan untuk membaca, kemungkinan kecil produser akan menyelesaikan membaca high concept document tersebut. High concept document tidak perlu diberi judul; Hanya perlu bagian-bagian pentingnya saja.
49
Berikut merupakan komponen-komponen yang diperlukan dalam sebuah high concept document: 1. High Concept 2. Fitur 3. Motivasi untuk pemain 4. Genre 5. Target audiensi 6. Kompetisi yang dimiliki dalam game 7. Selling point yang unik 8. Target hardware 9. Desain Goal 10. Karakter
50