MEMBANGUN GAME 2D LOLIBIRD’S JUMP UNTUK IOS MENGGUNAKAN SPRITE KIT ENGINE DARI APPLE
NASKAH PUBLIKASI
diajukan oleh M. FARID LUTFI 13.22.1520
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2015
MEMBANGUN GAME 2D LOLIBIRD’S JUMP UNTUK IOS MENGGUNAKAN SPRITE KIT ENGINE DARI APPLE M. Farid Lutfi1), Emha Taufiq Luthfi2), 1)
Sistem Informasi STMIK AMIKOM Yogyakarta 2) Dosen STMIK AMIKOM Yogyakarta Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283
Email :
[email protected]),
[email protected])
membuat game 2D di sistem operasi iOS khususnya untuk digunakan pada iPhone dengan menggunakan Spritekit.
Abstract - In June 2013, Apple has introduced a collection of scripts, named "Sprite Kit", for building 2D games for the iOS operating system and OS X. By using these scripts, there are chances of developing 2D games easily and quickly because there are many main functions and additional 2D game development integrated inside. Xcode software provides full support for the Sprite Kit which can be accessed directly from the XCode.
1.3. Batasan Masalah Pada penelitian ini diberikan beberapa batasan yaitu : 1. Pembahasan akan difokuskan bagaimana membuat game 2D menggunakan Sprite Kit. 2. Game yang dibuat diperuntukkan untuk iPhone. 3. Game yang dibuat menggunakan Software Utama Xcode versi 5.1 4. Software pembantu yang dipergunakan untuk mendesain grafis baik karakter utama, background, maupun penghalang adalah Pixelmator.
To build a 2D game with Sprite Kit, do performed data collection, analysis various of Game Engine, observations of various kinds 2D games, especially that run on iOS operating system, doing analysis and design, implementation and documentation of the work and reports.
1.4. Tujuan Penelitian 1. Sebagai salah satu wadah untuk menuangkan ilmu yang didapat untuk membuat game mobile untuk iphone dengan Sprite Kit 2. Memenuhi persyaratan kelulusan program sarjana Sekolah Tinggi Manajemen Informatika dan Komputer “AMIKOM” Yogyakarta. 3. Bagi pembaca Sebagai salah satu acuan apabila akan menyusun tulisan dengan tema yang sama
The results of 2D game development using the Sprite Kit in the form is the game "Lolibird's Jump" which runs on the iOS operating system, especially on the iPhone. Games that develop have a goal that the players play the game to get the most value with three (3) types of game models, namely single, double and hard. Games can be run well and can be played both by adults and children alike. Keywords: Mobile games development, 2D games, Sprite Kit, iOS
1.5. Dasar Teori a. Game Game adalah sebuah sistem dimana pemain terlibat dalam konflik buatan yang diatur oleh aturan tertentu yang menghasilkan output yang dapat dipertanggungjawabkan (diukur hasilnya) [3]. Sedangkan dalam penelitian ini game yang dimaksud adalah sebuah perangkat lunak yang memiliki tujuan untuk memberikan hiburan [2].
1. Pendahuluan 1.1. Latar Belakang Masalah Saat ini game mobile berkembang pesat. Terdapat dua system operasi besar yang saling berebut pasar. Android dan iOS. Android memperoleh kemenangan dengan pemakaian yang banyak, sedangkan iOS memenangkan pendapatan baik dari game maupun aplikasi yang dibuat oleh pengembang, sehingga hal ini mendatangkan peluang yang besar untuk mendapatkan pendapatan dari membuat game berbasis iOS.
b. Tahapan membuat game Saat ini tahapan membuat game selain mengadopsi pengembangan software secara umum (SDLC), tetapi juga mempergunakan pendekatan Game Development Life Cycle (GDLC) yaitu : 1. Life Cycle Pitch Tahapan awal dimana ditentukan ide, jenis game, biaya serta konsep awal 2. Pre-Production
Peluang tersebut juga didukung oleh Apple dengan merelease game engine dengan nama SpriteKit. Spritekit ini mempermudah pembuatan game 2D berbasis iOS. 1.2. Rumusan Masalah Berdasarkan pemaparan dari latar belakang tersebut diatas maka dirumuskan masalah yaitu bagaimana 1
3.
4.
5.
6.
c.
d.
Tahapan lebih detail lagi dari konsep, planning kegiatan, tool, sumber daya yang dipakai maupun kebutuhan lain untuk pembangunan game. Main Production Tahapan dimana full produksi game dimulai. Semua yang sudah dipersiapkan pada preproduction dijalankan, baik tim, tool , pembangunan source code maupun pengkombinasian semua asset berada pada tahap ini. Release Alpha Pada tahapan ini hasil dari game yang sudah jadi meskipun belum sempurna dan kemungkinan masih memiliki bug dilakukan testing oleh tester maupun dilempar ke komunitas game untuk mendapatkan masukan Release Beta Pada tahapan ini semua aset dalam game sudah sempurna (complete), tetapi masih dimungkinkan ditemukannya error dan bug yang dapat masih dapat diperbaiki. Release Master Pada tahapan release ini game sudah lebih dari sempurna dari sebelumnya dan siap untuk di release ke pasaran.
Masing-masing mode permainan hanya berbeda dalam hal jumlah karakter yang dikontrol. Single mengontrol 1, double 2, dan hard 3 karakter. Pada game ini, pemain diharuskan menghindari rintangan dan mendapatkan score. Semakin tinggi score maka pergerakan rintangan semakin cepat. 2.2. Analisis 2.2..1. Analisis Faktor Internal dan Eksternal Dalam penelitian ini terdapat peluang (opportunity) yaitu dengan menggunakan kumpulan skrip dari Sprite Kit dapat memudahkan pembuatan game 2D khususnya di iOS. Kemudian beberapa analisis yang dihasilkan untuk mewujudkan peluang tersebut yaitu : a. Sprite Kit dapat dipakai secara gratis, sehingga dapat menekan pengeluaran biaya pembuatan game. b. Sprite Kit memiliki fungsi-fungsi utama untuk membuat game yang lengkap dan terintegrasi dalam software Xcode yang dapat dipakai secara gratis juga. c. Bahasa pemrograman yang dipakai Sprite Kit juga mudah untuk dipelajari sehingga akan memudahkan programmer game. d. Banyak game 2D populer yang mudah untuk ditiru dan dimodifikasi. e. Banyak tersedianya aset permainan di internet yang dapat didownload dan dapat dipakai didalam game yang dibuat tanpa membayar (gratis). Analisis weaknes (faktor kelemahan) yang dimiliki: a. Penulis tidak memiliki kemampuan yang mumpuni dalam hal desain grafis, sehingga akan menghambat popularitas dari game yang dibuat. b. Belum dimilikinya akun iOS developer yang berbayar ($99/tahun) sehingga akan menghambat untuk penyebaran dari game yang dibuat. Analisis Thread (ancaman) sehingga peluang diatas tidak dapat terwujud: a. Tidak mudah diterimanya game ataupun aplikasi yang dibuat untuk dapat masuk ke Apple Store. Hal ini akan menyebabkan game yang dibuat tidak dapat menghasilkan keuntungan dari iklan yang terpasang. b. Banyaknya game yang tercipta oleh pembuat game lain dan beredar di internet, sehingga akan membuat persaingan semakin ketat.
Game Engine Game Engine merupakan kerangka kerja perangkat lunak yang dibuat dan didesain untuk mempermudah dalam pembuatan dan pengembangan video game. Para pengembang game menggunakan Game Engine untuk membuat game pada console (perangkat permainan), komputer personal maupun perangkat bergerak (mobile devices). Dalam penelitian ini game engine yang dipergunakan adalah Sprite Kit dari Apple Sprite Kit Sprite Kit merupakan salah satu teknologi Game Engine 2D yang berjalan pada iOS 7 SDK dan Xcode 5. Sprite Kit ini hanya tersedia untuk iOS dan OS X. Konten yang didukung oleh Sprite Kit antara lain : 1. Tekstur kotak maupun kotak yang tidak bertekstur (Sprites) 2. Teks 3. Objek yang dibentuk dengan garis atau kumpulan garis (Shapes) 4. Video
2.2..2. Analisis Sumber Daya Manusia Analisis Sumber daya manusia dihasilkan bahwa diperlukan sumber daya yang memiliki kemampuan seperti analis, programmer dan desainer grafis. Game yang dibangun memiliki tema permainan dan grafis yang sederhana sehingga tidak memerlukan tim dalam pembuatannya.
2. Pembahasan 2.1. Gambaran Umum Game LoliBird’s Jump adalah sebuah game 2D yang dibuat untuk sistem operasi iOS, khususnya untuk pengguna iPhone. Game dimainkan dengan menekan layar iphone. Karakter utama berbentuk seperti gabungan burung& permen lollipop. Karakter akan meloncat tinggi saat pemain menekan layar. Terdapat tiga mode permainan yaitu single, double dan hard.
2
d. Sistem dapat menentukan kapan karakter meloncat saat pemain menyentuh layar di bagian tertentu yang sesuai. e. Sistem dapat mendeteksi tabrakan (collision detection) saat karakter pemain kontak dengan rintangan sehingga menyebabkan permainan selesai. f. Sistem dapat mengenali kapan saat karakter pemain berhasil melewati rintangan.
2.2..3. Analisis Teknologi Analisis teknologi dihasilkan yaitu : mempergunakan perangkat keras Macbook Air, dan perangkat lunak yaitu Xcode 5.1 dengan SpriteKit terintegrasi didalamnya. Selain itu dipergunakan juga Pixelmator untuk membantu membuat desain grafis dari karakter game yang dibuat. Untuk testing dipergunakan software simulator yang terintegrasi dengan Xcode serta hardware iPhone 4.
3. Penilaian atau scoring a. Dalam game ini harus terdapat sistem penilaian dimana jika berhasil melewati rintangan maka pemain akan mendapatkan nilai. b. Selain nilai tersebut, terdapat juga penilaian nilai tertinggi (high score). Dimana setiap pemain mendapatkan nilai akan dibandingkan dengan nilai tertinggi yang tersimpan di sistem. Jika nilai tersebut lebih besar maka nilai yang didapat akan menggantikan nilai tertinggi yang tersimpan di sistem. c. Sistem penilaian ini harus tampil pada saat game play berjalan dan terus menerus diupdate selama game play masih berjalan.
2.2..4. Analisis Kelayakan Teknis Untuk kelayakan teknis, analisa yang dilakukan menghasilkan bahwa game yang dibuat secara teknis mudah dimainkan bagi semua kalangan. 2.2..5. Analisis Kelayakan Hukum Dari sisi analisis kelayakan hokum, game yang dibuat merupakan game yang dibuat dari ide orisinil yang kemudian dituangkan dalam bentuk grafis dan diprogram menggunakan skrip yang gratis. Karakter dalam game juga merupakan karakter yang didesain secara manual, original berdasarkan ide penulis. Selain itu, tema permainan merupakan modifikasi dari permainan yang ada, dan ide hasil modifikasi permainan sampai saat skripsi ini ditulis belum ada yang menyamai, sehingga tidak melanggar hukum yang berlaku.
Kemudian untuk kebutuhan non fungsional dari game yang dibuat adalah: 1. Dari segi tampilan, maka dibuat semenarik mungkin baik dari tampilan karakter utama, penghalang, maupun background permainan. 2. Dari segi permainan, dibuat model permainan berbasis kemampuan (setelah dirasa bisa, mumpuni pada satu model, bisa beralih ke model lainnya). Tetapi tidak menutup kemungkinan jika bosan pada model permainan yang satu bisa beralih ke model permainan yang lain (lebih susah/menantang). 3. Terdapat history permainan kapan pemain bermain serta nilai yang didapat saat itu. 4. Terdapat tampilan bantuan (how to play) yang bisa dipilih pemain untuk mengetahui bagaimana cara memainkan game ini. 5. Terdapat informasi saat pemain mengalahkan nilai tertinggi yang tersimpan pada sistem. 6. Terdapat tombol atau menu sharing permainan ataupun nilai ke media sosial misalnya Facebook atau Twitter.
2.2..6. Analisis Kebutuhan Fungsional dan Non Fungsional Untuk kebutuhan fungsional dari game yang dibuat adalah : 1. Bisa menampilkan menu permainan a. Menu permainan pada game ini adalah menu utama yang akan ditampilkan saat pertama kali game dijalankan. b. Pada menu utama terdapat menu pilihan mode game yang bisa dipilih oleh pemain. Apakah akan memainkan game single, double atau hard. c. Selain pilihan mode game, terdapat juga informasi nilai tertinggi yang tersimpan di sistem. Nilai ini ditampilkan di menu utama supaya pemain yang akan memainkan game ini mengetahui berapa nilai tertinggi yang sudah pernah didapatkan. 2. Dapat menjalankan game play atau inti dari game itu sendiri a. Dalam menjalankan game play, sistem dapat menampilkan mode permainan sesuai dengan yang dipilih oleh pemain pada menu utama. b. Sistem juga harus bisa menampilkan karakter pemain, rintangan dan background yang sesuai dengan mode permainan yang dipilih. c. Sistem dapat menentukan bentuk rintangan, kapan rintangan muncul, dari arah mana bergerak, dan kapan akan bergerak lebih cepat sehingga akan menyulitkan pemain mendapatkan nilai.
2.3. Konsep Perancangan Game LoliBird’s Jump 2.3.1. Menentukan Genre Game Jenis game yang dibuat adalah game bergenre Arcade. Jenis ini dipilih karena game tidak mempunya alur cerita khusus tetapi fokus mengejar nilai tertinggi. 2.3.2. Menentukan Tools Software utama yang dipergunakan dalam penelitian ini adalah Xcode versi 5.1 dimana sudah terintegrasi game engine Sprite Kit serta iOS simulator. Kemudian untuk membantu mendesain grafis dipergunakan software Pixelmator.
3
2.3.3. Menentukan GamePlay Untuk game play dari game ini cukup sederhana yaitu pemain harus menghindari rintangan (obstacle) dengan cara meloncatinya. Jika objek LoliBird’s menabrak rintangan maka game selesai (Game Over). Jika berhasil meloncati rintangan maka pemain mendapatkan point. Jika point yang didapat dapat melebihi point tertinggi (High Score) yang sudah tersimpan dalam memori game, maka point tertinggi digantikan dengan point dari pemain tersebut. Focus dari permainan adalah mendapatkan nilai setinggi mungkin. 2.3.4. Perancangan Karakter Karakter utama dalam game ini adalah dua
gambar karakter dimana kedua gambar tersebut pada saat permainan ditampilkan bergantian (animasi).
Gambar 3Activity diagram pemilihan model permainan Gambar 1. Desain rancangan karakter utama LoliBird’s yang menghadap ke kanan 2.3.5. Kontrol Permainan Untuk kontrol permainan, pemain game menggunakan sentuhan pada screen (touch). Saat pemain memberikan sentuhan pada screen maka karakter LolyBird’s akan meloncat lebih tinggi. Pada mode single, pemain dibebaskan untuk menyentuh setiap bagian dari screen. Sedangkan pada mode double, maka jika pemain menyentuh separuh bagian bawah screen maka karakter LoliBird’s yang berada dibawah yang akan loncat. Begitu juga jika pemain menyentuh separuh bagian atas screen maka karakter LoliBird’s yang ada di atas yang akan loncat. Untuk mode hard, dikarenakan screen dibagi 3 maka bidang sentuhan jika dibagi 3. Masing-masing bidang jika disentuh akan menyebabkan karakter LoliBird’s pada bidang tersebut meloncat.
Gambar 4. Activity diagram permainan
2.3.6. Perancangan Sistem / Game
Gambar 5 Activity diagram pemberian nilai Gambar 2. Use Case Diagram Game LoliBird’s Jump
4
2.4. Implementasi Dari hasil perancangan yang telah dibuat kemudian diimplementasikan dan berikut adalah hasilnya :
Gambar 6 Class diagram pada game LoliBird’s Jump Gambar 9. Implementasi halaman menu utama
Gambar 7 Sequence diagram pada saat actor menjalankan game
Gambar 10 Implementasi Halaman Gameplay Single
Gambar 8 Sequence diagram saat actor memainkan game play Gambar 11 Implementasi Halaman Gameplay Double
5
2.5. Kesimpulan a. Game 2D LolliBird’s Jump telah berhasil di bangun dengan mempergunakan Game Engine SpriteKit yang telah terintegrasi dalam Xcode versi 5.1. b. Game LolliBird’s Jump dapat dijalankan dengan baik menggunakan software simulator maupun pada perangkat iPhone 4. c. SpriteKit yang dipergunakan dalam pembuatan game LolliBird’s Jump ini dapat dipergunakan dengan mudah dan cepat untuk membangun game 2D berbasis iOS sehingga dapat memberikan nilai ekonomis pada pengembang game (developer). Beberapa saran yang perlu diperhatikan untuk pengembangan lebih lanjut diantaranya : 1. Game ini dapat dikembangkan lebih lanjut baik dari sisi permainan maupun dari sisi desain grafis yang dapat dibuat lebih baik, menarik dan attraktif. 2. Dari game ini dapat dibuat game yang memiliki tipe permainan sejenis (pembagian layar) dengan karakter dan tampilan yang berbeda (modifikasi) sehingga bisa menghasilkan game baru yang tidak kalah menarik. 3. Game yang dibuat ini masih sangat sederhana, diharapkan penggunaan Game Engine SpriteKit dapat dikembangkan lebih lanjut untuk membuat game yang lebih menarik, atraktif, dan menghasilkan secara ekonomi.
Gambar 12 Implementasi Halaman Gameplay Hard
Daftar Pustaka [1] Apple.2014. Sprite Kit Programming Guide. Apple. [2] Ramadan, Widyani. 2013. Game Development Life Cycle Guidelines. http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnum ber=6761558&url=http%3A%2F%2Fieeexplore.iee e.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D67 61558. Diakses September 2014 [3] Salen, Zimmerman. 2004. Rules of Play : Game Design Fundamentals. MIT Press.http://books.google.co.id/books?id=UMxyczrZuQC&printsec=frontcover&dq=salen+and+z immerman,+rules+of+play&hl=en&sa=X&ei=G25 gVJr2Fs_kuQTP2YCICA&ved=0CB0Q6AEwAA# v=onepage&q=salen%20and%20zimmerman%2C %20rules%20of%20play&f=false. Diakses September 2014
Gambar 13 Implementasi Halaman GameOver
Biodata Penulis M. Farid Lutfi, memperoleh gelar Ahli Madya (Amd) Jurusan Matematika, FMIPA UGM Yogyakarta, lulus tahun 2005. Saat ini menjadi PNS di Pemerintah Kota Yogyakarta
Gambar 14 Implementasi Rintangan (contoh tampilan rintangan berwarna hitam)
Emha Taufiq Luthfi, memperoleh gelar D3 Teknik Elektro dari FT UGM, kemudian memperoleh gelar Sarjana Teknik Elektro (ST) dari FT UGM. Memperoleh gelar Master of Komputer (M.Kom) Program Pasca Sarjana dari FMIPA UGM Yogyakarta. Saat ini menjadi Dosen di STMIK AMIKOM Yogyakarta.
6