2D Game Development Framework for iPhone OS
Ok, berhubung arah pengembangan iPhone yang saya sedang dalami lebih ke arah game development (termasuk skripsi), pertama saya ingin membahas dulu 2 framework open source (dan free !) untuk pengembangan game 2D di iPhone. 2 framework ini saya angkat karena menurut saya relatif cukup mudah untuk dipelajari, dan yang penting gratis !
cocos2d
![]()
merupakan framework berbasis OpenGL ES 1.1 yang ditujukan khusus untuk pengembangan game-game 2D iPhone OS, dan saat ini sedang dikembangkan versi Android nya. Framework inilah yang saya pilih untuk game saya berikutnya, karena saya cenderung suka dengan struktur dan fitur-fiturnya, selain karena komunitasnya yang sudah sangat besar dan kuat. Sudah ada ribuan game di AppStore yang dibuat dengan berbasis pada cocos2d.
Framework ini aslinya merupakan framework game berbasis Phyton, namun oleh Ricardo Quesada diporting untuk development di iPhone OS. Hasilnya, framework ini awalnya tidak sekuat induk nya, namun sampai pada versi saat ini (0.99.5 beta 3), menurut saya framework ini sangat layak untuk diperhitungkan dalam jajaran framework mainstream pengembangan game iPhone OS. Berikut fitur-fitur yang ditawarkan (hingga versi saat ini) :
- Scene Management yang baik (dengan berbagai animasi transisi default yang tersedia)
- Mendukung Sprites dan Sprite Sheets
- Telah tersedia beberapa actions standar, contohnya transformasi (MoveTo, RotateTo, Scale, dsbnya)
- Menu dan Button
- Teintegrasi dengan Box2D dan chipmunk yang merupakan physics engines yang sudah banyak dipakai karena kehandalannya
- Particle System
- Font Support
- Texture Atlas
- Tile Map
- Parallax Scrolling
- Sound Library yang mudah dipakai berbasis OpenAL
- Telah mendukung resolusi yang berbeda-beda (baik retina display maupun iPad)
- dan masih banyak lagi
Dalam cocos2d, suatu game dapat dilihat sebagai suatu hierarki, yang terdiri dari scene-scene, dimana masing-masing scene terbagi lagi menjadi beberapa layer, yang mana layer itu sendiri bisa mengandung layer lain ataupun objek lainnya, misalnya sprite. Akan ada 1 singleton, yaitu Director, yang bertugas mengatur semua scene dalam suatu game, baik mengenai mana scene yang harus ditampilkan, maupun transisi nya. Class-class utama yang sering dipakai dalam cocos2d adalah turunan dari 1 class induk, yaitu CCNode.
Untuk masalah coding, tenang, cocos2d adalah suatu library yang bisa dengan mudah diintegrasi ke dalam project XCode, apalagi saat ini, di dalam frameworknya, sudah ada template installer, sehingga kita tidak susah untuk manual menginclude framework ini. Bahasa yang digunakan tentu saja Objective-C
Untuk info lebih lanjut atau bila ingin mendownload framework ini, silahkan main-main ke website utama nya : http://www.cocos2d-iphone.org
Sparrow

adalah framework yang masih tergolong fresh dibanding cocos2d. Sama seperti cocos2d, framework ini berbasis OpenGL ES, dengan Objective-C sebagai bahasa nya. Framework ini memiliki coding style yang sangat mirip dengan ActionScript pada Flash. Dan memang hal ini diakui sebagai oleh pembuatnya, bahwa dia sengaja membuatnya demikian, sehingga para developer flash/flex tidak perlu beradaptasi terlalu lama. Fitur-fitur yang ditawarkan mirip dengan cocos2d, namun dengan struktur yang berbeda dan belum tersedianya Particle System dan terintegrasinya Physics Engine. 1 poin positif untuk Sparrow, adalah Event Handling System nya yang baik dan relatif mudah dipakai dibanding cocos2d. Untuk info lebih lanjut, silahkan merujuk ke : http://www.sparrow-framework.org/
Sebagai perbandingan style code antara keduanya, saya hadirkan potongan code berikut (membuat dan menampilkan sprite dari image):
cocos2d :
CCSprite *sprite = [CCSprite spriteWithFile:@"contoh.png"];
[sprite setPosition:ccp(100, 100)];
[self addChild:sprite];
Sparrow :
SPImage *image = [SPImage imageWithContentsOfFile:@"contoh.png"];
image.x = 100;
image.y = 100;
[self addChild:image];
Penutup : Sebagai suatu framework yang berkembang cukup pesat beberapa tahun ini, cocos2d bisa dibilang sudah cukup mapan, meskipun hingga saat ini, statusnya belum memasuki fase “full” alias versi 1.0. Sifatnya yang open source dan gratis, komunitas yang besar, ketenarannya dalam komunitas game developer iPhone, dan berbagai fasilitas yang ditawarkan menjadi alasan utama mengapa banyak developer game iPhone OS yang memakai framework ini. Hadirnya Sparrow akan semakin mewarnai kancah persaingan antar framework open source untuk game development iPhone. Dengan gaya coding yang tentunya membuat para developer flash/flex dapat dengan mudah beradaptasi dan berkarya untuk iPhone OS, niscaya Sparrow akan menjadi pilihan utama bagi para flash developer, dan alternatif utama bagi para developer dengan background non-flash…