Microsoft Word - 12 - Fredy Purnomo .doc Game E-Learning Code… (Fredy Purnomo; dkk) 335 GAME E-LEARNING CODE MASTER DENGAN KONSEP MMORPG MENGGUNAKAN ADOBE FLEX 3 Fredy Purnomo; Monika Leslivania; Daniel; Lisye Mareta Cahya Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Bina Nusantara University Jln. K. H. Syahdan No 9, Palmerah, Jakarta Barat 11480 fpurnomo@binus.ac.id1; leslivania@yahoo.com2; nilz_suhendra@yahoo.com3; lisye5@yahoo.com4 ABSTRACT The research objective is to design a web-based e-learning game that could be used to be a learning facility of C language programming and as an online game so it could be enjoyed by everybody easily in internet. Flex usage in this game online is to implement RIA (Rich Internet Application) concept in the game so e-learning process is hoped to be more interesting and interactive. E-learning game is also designed in MMORPG (Massively Multiplayer Online Role Playing Game) concept. The research method used is analysis and design method. Analysis method is done through literature study, user analysis, and similar game analysis. Meanwhile, design method is about monitor display, gameplay and system design. The conclution of this research is that this game provides an interesting learning media of C language program accordingly to subject material at class and also easier to use through website. Keywords: game, e-learning, flex, RIA, MMORPG, code master ABSTRAK Tujuan Penelitian ini adalah merancang suatu game e-learning berbasis web yang dapat digunakan untuk sarana pembelajaran pemrograman bahasa C sekaligus sebagai sarana permainan online sehingga dapat dinikmati semua orang dengan mudah dalam jangkauan internet. Penggunaan flex pada game online ini dimaksudkan untuk mengimplementasikan konsep RIA (Rich Internet Application) dalam game sehingga proses e-Learning diharapkan dapat lebih menarik dan interaktif dalam game ini. Game e-learning ini juga dirancang dengan konsep MMORPG (Massively Multiplayer Online Role Playing Game). Metode Penelitian yang digunakan adalah Metode Analisis dan Metode Perancangan. Metode Analisis dilakukan dengan melakukan studi literatur, analisis user dan analisis Game sejenis. Sedangkan Metode Perancangan meliputi perancangan tampilan layar, perancangan gameplay dan perancangan sistem. Simpulan yang diperoleh adalah game e- Learning ini menyediakan penyajian pembelajaran pemrograman berbahasa C yang lebih menarik dan disesuaikan dengan materi kuliah yang ada dan juga memudahkan pengguna dalam memainkannya karena tidak memerlukan instalasi dan dapat diakses melalui web. Kata kunci: game, e-learning, flex, RIA, MMORPG, code master 336 ComTech Vol.1 No.2 Desember 2010: 335-343  PENDAHULUAN Latar Belakang Perkembangan game di Indonesia sekarang ini cukup mendapat sambutan yang positif ditandai dengan banyaknya bermunculan game developer yang menawarkan permainan-permainan yang menarik dan edukatif. Salah satu game yang paling banyak diminati oleh banyak orang sekarang ini adalah game yang berbasis web yang biasa disebut game online. Salah satu jenis game online yang banyak diminati yaitu MMORPG (Massively Multiplayer Online Role Playing Game). MMORPG adalah game yang dimainkan secara bersamaan dengan pemain lainnya dalam dunia maya melalui jaringan internet dan tersedianya quest yang dapat diselesaikan oleh pemain untuk mencapai level selanjutnya. Kurangnya minat mahasiswa khususnya pada jurusan Teknik Informatika dalam belajar pemrograman merupakan hal yang sering ditemui sekarang ini. Beberapa permasalahan yang menyebabkan kurangnya minat mahasiswa dalam belajar pemrograman antara lain karena kurangnya fasilitas-fasilitas yang dapat digunakan untuk belajar dan menguji kemampuan pemrograman mereka. Selain itu fasilitas-fasilitas yang tersedia hanya bersifat edukatif saja sehingga lebih membosankan dan kurang menarik. Oleh karena itu dibuat suatu metode pembelajaran yang lebih menarik dan dapat diakses dengan mudah yang menggabungkan e-learning (sejenis quiz online) dengan konsep RIA (Rich Internet Application) dan MMORPG yang menggunakan Adobe Flex. Untuk membuat game e-learning yang menarik, salah satu faktor yang terpenting adalah adanya interaktifitas antara pengguna dan game sehingga pengguna merasa dirinya dapat memegang kontrol dari atribut-atribut dalam game dan dapat memerankan peran maya dengan keleluasaan yang tinggi untuk bergerak bebas dalam dunia game. Oleh karena itu interaktifitas menjadi salah satu kunci penting untuk membuat para pengguna senang memainkan game e-learning ini dan dapat belajar sekaligus bermain dalam dunia maya sehingga tujuan awal untuk menciptakan perangkat e-learning yang efektif dapat tercapai. Adobe Flex dipilih karena interaktifitas yang ditawarkan oleh Flex. Adobe Flex merupakan framework yang digunakan untuk membuat aplikasi internet yang kompleks, interaktif dan mendukung perancangan multimedia. Berbeda dengan Flash yang diciptakan sebagai authoring tools untuk para disainer grafis, Flex diciptakan untuk memenuhi kebutuhan programmer yang lebih berorientasi pada baris koding daripada desain user interface, namun tidak mengurangi interaktifitas yang disediakan oleh Flash. Perbedaan lainnya adalah Flash awalnya diciptakan untuk membuat tampilan web yang animatif, sedangkan Flex diciptakan sebagai alat untuk menciptakan aplikasi internet yang kaya akan interaktifitas dengan menggabungkan penggunaan Flash pada fase desain user interface. Jadi keberadaan Flash dan Flex bukan sebagai pesaing, melainkan untuk saling mendukung dalam penciptaan Rich Internet Application (RIA). Tujuan dan Manfaat Aplikasi ini kami buat dengan tujuan untuk meningkatkan minat mahasiswa dalam belajar pemrograman. Mahasiswa dapat belajar sambil bermain sehingga dapat membuat mereka terpacu untuk terus-menerus memainkan game ini. Selain itu kami juga ingin meriset kemampuan Flex dalam penggunannya untuk mengembangkan game MMORPG berbasis web yang interaktif. Manfaat pembuatan aplikasi ini yaitu Pemain dapat melatih kemampuan pemrograman mereka dengan mengerjakan soal-soal pemrograman yang telah kami sediakan dalam berbagai bentuk, untuk khalayak awam yang memainkan game ini dapat mengenal pemrograman, aplikasi ini dapat Game E-Learning Code… (Fredy Purnomo; dkk) 337 dimainkan kapan saja dan dimana saja dalam jangkauan internet, sehingga mahasiswa dapat sering melatih kemampuan pemrograman mereka. Landasan Teori RIA Istilah Rich Internet Application (RIA) ini ditulis Macromedia dalam sebuah guide (whitepaper) pada tahun 2002 untuk menggambarkan model baru pengembangan aplikasi yang memisahkan back-end layanan data dari klien front-end yang kaya interaktifitas. RIA menawarkan interaktifitas dan pengalaman user yang menarik sehingga dapat meningkatkan kepuasaan pengguna dalam menggunakan suatu aplikasi yang terhubung dengan internet. RIA dapat digunakan di browser maupun desktop. Salah satu keuntungan dari RIA adalah kemampuannya untuk melakukan load data secara asinkron, yang berarti mereka dapat melakukan load potongan data tanpa memerlukan halaman web untuk dilakukan refresh. Penggunaan teknologi AJAX, Flex, Thin Client, atau Rich Client merupakan bagian dari teknologi untuk membuat RIA. RIA memanfaatkan gabungan kemampuan dari aplikasi berbasis web dan aplikasi desktop. Flex Adobe Flex adalah sebuah Software Development Kit (SDK) yang dikeluarkan oleh Adobe Systems untuk pengembangan dan penyebaran cross-platform Rich Internet Application (RIA) yang didasarkan pada Adobe Flash platform. Flex menawarkan kemudahan untuk membuat RIA dengan menggunakan kombinasi beberapa teknologi yang dimilikinya (McCune, 2008). Flex bukanlah produk perangkat lunak tunggal, namun terdiri dari empat bagian utama, yaitu: (1) bahasa pemrograman, menggunakan scripting language Action Script 3 (digunakan pada Flex untuk membangun alur pergerakan, penanganan kejadian, logika bisnis di sisi client, dan lain-lain) dan markup language MXML (tag deklaratif berbasis XML yang digunakan untuk mendeskripsikan user interface, mendefinisikan servis, dan lain-lain dalam menyusun aplikasi Flex). Saat kompilasi, terjadi dua tahap yaitu penerjemahan MXML menjadi Action Script kemudian Action Script dikompilasi menjadi sebuah file swf; (2) Integrated Development Environment (IDE). IDE yang dikeluarkan oleh Adobe adalah Flex Builder. Flex Builder digunakan untuk merubah koding, melakukan debug maupun dapat digunakan untuk merubah desain user interface; (3) Framework Komponen: Flex SDK (Software Development Kit). Flex SDK (juga sering disebut sebagai Flex Framework) adalah suatu set komponen user interface, yang terdiri dari button, label, list, dan lain-lain yang digunakan untuk membangun aplikasi Flex. Flex SDK bersifat open source (tidak termasuk untuk charting package); (4) cross-browser runtime: Flash Player, Plug-in Flash player diperlukan untuk menjalankan aplikasi Flex di web browser, sedangkan untuk di desktop digunakan Adobe Integrated Runtime (AIR). Flex mengimplementasikan model arsitektur client-server. Antarmuka pengguna dijalankan pada client. Pada sisi client, database yang terdapat pada server dapat diakses melalui HTTP service, web service atau remote object. Permintaan akses tersebut akan diteruskan ke database melalui pemanggilan prosedur jarak jauh. Game Sebuah game adalah aktivitas yang terstruktur, biasanya dilakukan untuk kesenangan dan kadang-kadang digunakan sebagai alat pendidikan. Banyak game membantu mengembangkan keterampilan praktis, berfungsi sebagai bentuk latihan, atau melakukan suatu pendidikan, peran simulational atau psikologis. Sementara itu, menurut Salen & Zimmerman (2004), definisi lain dari 338 ComTech Vol.1 No.2 Desember 2010: 335-343  sebuah game adalah sebuah sistem di mana pemain terlibat dalam konflik buatan, terbatas oleh aturan- aturan dan hasilnya dapat dikuantifikasi. Roger Caillois, seorang sosiolog Perancis, dalam bukunya Les Jeux et Les Hommes (games and men), mendefinisikan permainan sebagai suatu kegiatan yang harus memiliki karakteristik, yaitu (1) menyenangkan, kegiatan ini dipilih karena karakteristiknya yang riang; (2) terpisah, dibatasi dalam waktu dan tempat; (3) tidak pasti, hasil dari kegiatan ini adalah tidak terduga; (4) non-produktif, partisipasi tidak produktif; (5) diatur oleh peraturan, aktivitas memiliki aturan yang berbeda dari kehidupan sehari-hari; (6) fiktif, disertai dengan kesadaran realitas yang berbeda. Game Desain Menurut Flynt & Salem (2005), game dimulai dengan sebuah dokumen game desain yang dibuat oleh disainer game. Dokumen game desain ini memuat deskripsi mengenai dunia yang ditempati karakter game dan tantangan yang akan dihadapinya. Informasi dalam dokumen game desain ini nantinya akan ditransformasikan menjadi software requirement. Kemudian software requirement ini akan ditransformasikan menjadi software design dengan bantuan UML dan use case diagram. Kemudian secara sistematis software akan dibangun berdasarkan desain yang ada. Game desain dan software desain adalah hal yang berbeda. Game desain bukanlah sebuah engineering document. Dokumen Game design menyediakan informasi mengenai game sebagai sebuah entitas yang artistik. Requirement yang terdapat pada game design ini merupakan langkah awal untuk mengubah visi dari game ke dalam spesifikasi teknis. Sedangkan software desain adalah proses pemecahan masalah dan perencanaan untuk mencapai solusi berupa perangkat lunak. Tujuan utama dari membuat game desain dokumen adalah untuk menarik minat pembaca dan untuk menginformasikan kepada pembacanya mengenai gambaran keseluruhan game yang akan dibuat sehingga nantinya gambaran-gambaran ini dapat dikumpulkan menjadi suatu requirement. Format dokumen game desain menurut Tom Sloper adalah: game title (judul permainan), game system (hardware yang dibutuhkan), general information (deskripsi singkat pemainan), deskripsi game lengkap (konsep dasar,cerita latar belakang, tujuan, dan gameplay), dan aspek-aspek lain dari desain produk (karakter, license exploitation, dunia, kontrol, grafik, musik dan suara). Teori Mengenai E-Learning Menurut Richard Caladine (2008) E-learning secara umum merujuk pada suatu program pendidikan terstruktur yang menggunakan teknologi elektronik seperti komputer, internet, CD-ROM, televisi, PDA, dan lain-lain. Pada era online-rich media ini, konten pendidikan yang disampaikan dalam bentuk teks nampaknya sudah kuno (Caladine, 2008, p5). Menurut Richard Caladine (2008), para pelajar yang memasuki universitas pada satu dekade awal milenium kedua secara umum adalah anak-anak yang tumbuh dewasa dengan teknologi. Mereka telah belajar, bermain dan berkomunikasi dengan menggunakan media digital yang ada. Rich Media akan menjadi komponen sentral dari pengalaman belajar di waktu dekat dan rich media juga akan memberikan dampak pada desain pembelajaran. Proses pembelajaran terdiri dari dua hal yaitu penyediaan materi dan interaksi. Kategori- kategori dari penyediaan materi dan interaksi kemudian dikumpulkan untuk membentuk sebuah kerangka kerja teoritis yang disebut LAM (Learning Activity Model). LAM meliputi (1) penyediaan materi, termasuk suara presenter atau fasilitator dalam program pelatihan, kuliah, tutorial, seminar, laboratorium, kelompok studi, dan lain-lain, alat bantu visual untuk item yang sudah disebutkan di atas, bahan-bahan cetak, seperti buku referensi, manual, bahan cetakan lain seperti buku catatan kuliah, handout, media lainnya, misalnya radio, program televisi, audio dan video, halaman web, multimedia, podcast, tanya jawab, dan lain-lain; (2) interaksi dengan material; (3) interaksi dengan Game E-Learning Code… (Fredy Purnomo; dkk) 339 fasilitator; (4) interaksi antar sesama pelajar; (5) intra-action (tindakan di dalam proses belajar) aktivitas yang ada menyangkut: refleksi dari peserta didik tentang apa yang telah mereka dengar atau baca, latihan reflektif yang terstruktur, berpikir kritis, menyempurnakan ide dan pendapat. METODE Metode yang dipakai dalam pembuatan skripsi kami adalah model incremental yang menggabungkan elemen-elemen model waterfall dalam perulangan. Model incremental (Gambar 1) mengaplikasikan urutan linier yang terdiri dari analisis, desain, penulisan kode, dan pengetesan, di mana setiap urutan linier menghasilkan increment dari piranti lunak. Gambar 1 Model incremental Menurut Pressman (2005), ketika model incremental dibuat, increment yang pertama biasanya disebut sebagai produk utama, yaitu ketika kebutuhan dasar sudah dipenuhi namun banyak fitur tambahan (sebagian sudah diketahui dan sebagian lagi masih belum diketahui) yang belum dikerjakan. Produk utama ini digunakan oleh pelanggan atau mengalami evaluasi mendetail. Sebagai hasil dari evaluasi/penggunaan, sebuah rencana dibangun untuk increment berikutnya. Rencana tersebut digunakan untuk memodifikasi produk utama agar dapat dalam memenuhi kebutuhan yang pengguna dan menghasilkan fitur dan fungsionalitas yang lebih baik. Proses ini diulangi terus menerus hingga produk jadi selesai dibangun. Pada tahap analisis dilakukan studi literatur, analisis pengguna dan analisis game sejenis. Adapun studi literatur yang dilakukan yaitu dengan cara membaca dan mempelajari buku – buku literatur yang berhubungan dengan pembuatan user interface, e-learning, web, MySQL, dan Flex. Selain itu mencari informasi-informasi lain baik dari internet, artikel atau sumber-sumber lainnya yang dapat menunjang pembuatan aplikasi dan pengetahuan tentang bahasa pemrograman yang akan digunakan. Analisis pengguna dilakukan dengan cara menyebarkan kuisioner melalui web, sedangkan analisis game sejenis dilakukan dengan cara membandingkan game yang akan dibuat dengan game- game sejenis yang populer. Dari hasil analisis game sejenis yang dilakukan diambil kelebihan dari masing-masing dan kekurangan yang ada dari tiap-tiap game diperbaiki dalam game yang akan dibuat. Pada tahap penulisan kode, teknologi yang digunakan adalah Flex, PHP dan mySQL. Setelah tahap penulisan kode selesai, dilakukan pengujian terhadap produk yang sudah dibuat. Kekurangan dari produk yang dibuat akan diperbaiki dalam increment selanjutnya. 340 ComTech Vol.1 No.2 Desember 2010: 335-343  HASIL DAN PEMBAHASAN Analisis dan Solusi Permasalahan Dengan berdasarkan pada analisis user dan analisis game sejenis, maka dapat diperoleh beberapa analisa permasalah, seperti (1) grafik dan animasi game web based masih minim; (2) gameplay dan quest menjadi hal yang paling penting dalam MMORPG; (3) level menjadi faktor utama dalam keberhasilan pemain dalam memainkan game tersebut; (4) kurang disediakannya fasilitas untuk menghias avatar atau kostumisasi avatar; (5) kebanyakan game tersebut bersifat menghibur (entertainment) dan sedikitnya game yang bersifat edukatif khususnya pada pemrograman; (6) beberapa responden kesulitan dalam mempelajari pemrograman karena kurangnya latihan pemrograman, tetapi cukup banyak yang tertarik untuk memainkan game yang dipadukan dengan soal-soal pemrograman. Dari hasil analisis user dan game sejenis di atas, maka dapat dirumuskan solusi-solusi, yaitu (1) meningkatkan grafik dan animasi dalam game web based agar lebih menarik; (2) membuat gameplay yang menarik dan quest yang bervariasi; (3) level akan menjadi faktor terhadap kemampuan pemrograman pemain; (4) menyediakan kostumisasi avatar yang bisa didapatkan oleh pemain dengan cara membeli atau menyelesaikan quest tertentu; (5) membuat game yang memadukan hiburan dengan unsur edukatif khususnya pada pemrograman; (6) menyediakan soal-soal latihan pemrograman yang menarik dalam bentuk quest. Perancangan Game Code Master adalah suatu web based game yang menggabungkan antara MMORPG (Massively Multiplayer Online Role Playing Game) dengan metode pembelajaran e-learning (berupa kuis online) sehingga selain bermanfaat untuk melatih kemampuan algoritma dan pemrograman menggunakan bahasa C, pemain diharapkan tetap dapat mendapatkan hiburan dari bermain game ini. Game ini mengambil tema yang menggabungkan antara seorang pejuang dan seorang programmer. Sehingga jika pemain ingin menjadi seorang pejuang yang hebat dalam game maka ia harus melatih ilmu pemrogramannya lebih dalam. Dalam game ini, pemain akan berperan sebagai seorang pejuang yang berusaha untuk mendapatkan status tertinggi yaitu ‘Code Master’ dengan menyelesaikan quest yang diberikan. Untuk dapat memainkan permainan ini dibutuhkan web browser dan aplikasi pendukung yaitu flash player 10. Selain itu juga, pemain harus memiliki koneksi internet, dan juga sebuah komputer tentunya. Hal pertama yang dilakukan sebelum memulai permainan adalah melakukan registrasi. Setelah itu, pemain dapat melakukan login untuk masuk ke dalam permainan. Misi utama dari Code Master adalah mengalahkan tokoh penjahat utama dalam game yang dikenal dengan nama Mr. dank, meningkatkan status pemain hingga berhasil mencapai status code master, menyelesaikan quest yang diberikan, mengumpulkan rare item, menghias avatar, bersaing dengan pemain lain dalam hall of fame game, berinteraksi dengan pemain lain melalui fitur chat. Permainan ini menerapkan konsep avatar dimana pemain memiliki gambar versi kartun yang melambangkan karakter mereka dalam dunia game. Pemain juga dapat bebas melakukan kostumisasi terhadap avatar mereka. Barang-barang yang digunakan untuk mengkostumisasi avatar dapat dibeli di distro clothing, yaitu toko dalam game yang menjual berbagai jenis baju, rambut, rok, celana dan sepatu. Semakin bagus penampilan visual dari barang yang dijual, semakin mahal harganya. Pemain dapat membeli barang dengan menggunakan byte, yaitu mata uang dalam game. Byte didapat sebagai hadiah setiap kali pemain berhasil mengalahkan musuh. Pemain juga dapat melihat avatar-avatar milik Game E-Learning Code… (Fredy Purnomo; dkk) 341 pemain lain sehingga derajat kehebatan pemain dalam game dapat terlihat dari seberapa bagus avatar yang dimilikinya selain dari status yang dimiliki pemain. Selain itu, Code Master juga memberikan tutorial untuk belajar algoritma dan pemrograman dengan bahasa C bagi para pemain. Permainan ini akan berakhir apabila pemain sudah menyelesaikan semua quest yang tersedia. Namun, pemain masih dapat memainkan game ini tanpa quest dengan mengklik lokasi di peta. Perancangan Sistem Class Diagram Gambar 2 Class diagram 342 ComTech Vol.1 No.2 Desember 2010: 335-343  Use Case Diagram Gambar 3 Use case diagram Impementasi Spesifikasi Perangkat Keras Spesifikasi perangkat keras yang perlu dipenuhi untuk server dan pengguna adalah (1) spesifikasi perangkat keras untuk server, Processor: 2 x Intel Pentium III 1GHz, Memory : 2x 512MB 133 MHz, Hard disk: 2 x 68GiB (73GB) SCSI; (2) spesifikasi perangkat keras minimum untuk pengguna, Processor: Intel Pentium 500Mhz atau AMD Athlon 600Mhz, Memory: 128 MB, Hard disk space: 80 GB, Perangkat Jaringan : NIC atau Wi-fi untuk terhubung ke internet. Spesifikasi Perangkat Lunak Spesifikasi perangkat lunak minimum dalam mengimplementasikan aplikasi e-learning Code Master adalah (1) server: sistem operasi Linux yang mendukung gcc, Web Server PHP versi 4 atau 5, Database mySQL; (2) pengguna: Sistem operasi Windows/Linux/Macintosh, Software Web browser dengan plug-in flash player 10. PENUTUP Simpulan yang dapat diperoleh dari analisa, perancangan, implementasi dan juga evaluasi yaitu dengan adanya web browser game ini, dapat lebih memudahkan pemain untuk memain game online tanpa harus melakukan instalasi terlebih dahulu. Sehingga pemain dapat memainkan game ini Game E-Learning Code… (Fredy Purnomo; dkk) 343 dimanapun mereka berada dengan menggunakan komputer dan koneksi internet. Selain itu, dengan adanya web browser game yang berbasiskan e-learning memberikan suatu penyajian pembelajaran pemrograman yang lebih menarik dan disesuaikan dengan materi kuliah yang ada. Dengan adanya web browser game yang berbasiskan e-learning, maka game online tidak hanya sebagai hiburan tapi juga berfungsi sebagai metode pembelajaran terhadap pemrograman, membuat pemain menjadi tertarik untuk belajar pemrograman. Code Master memberikan sebuah tampilan interaktif seperti aplikasi desktop tanpa perlu melakukan instalasi pada PC client. Saran-saran yang dapat diberikan untuk dapat mengembangkan web browser game berbasiskan e-learning sebagai pengembangan lebih lanjut, yaitu desain dan animasi yang ada harus lebih dikembangkan agar terlihat lebih menarik untuk dimainkan. Penambahan pada kostumisasi avatar pada event tertentu. Sehingga pemain menjadi lebih tertarik untuk mendapatkan barang-barang tertentu yang hanya bisa didapatkan pada saat event tersebut berlangsung. Penambahan variasi soal- soal agar web browser game berbasiskan e-learning ini tidak hanya berupa soal-soal algoritma, akan tetapi dapat lebih divariasikan untuk soal-soal lainnya sepeti sql, java dan lain-lainnya. Penambahkan fitur pada halaman admin agar dapat menambahkan barang-barang untuk menghias avatar sehingga barang-barang yang ada lebih banyak dan tidak monoton. Pengembangan keamanan jaringan untuk menghindari dan juga mencegah perusakan ataupun penggunaan cheat oleh pemain yang dapat menimbulkan kerusakan pada aplikasi. Penambahan fitur gift agar sesama pemain bisa memberikan barang kepada pemain lainnya agar dapat menambahkan interaksi dengan pemain lainnya. DAFTAR PUSTAKA Caladine, R. (2008). Enhancing E-Learning with Media-Rich Content and Interaction. London: Information Science Publishing. Flynt, J. P., & Salem, O. (2005). Software Engineering for Game Developers. Boston: Thomson Course Technology. Salen, K., & Zimmerman, E. (2004). Rules of Play: Game Design Fundamentals. Massachusetts: MIT Press. McCune, D., & Subramaniam, D. (2008). Adobe Flex 3.0 for Dummies. Hoboken: Wiley Publishing. Pressman, R. S. (2005). Software Engineering: a Practitioner's Approach (6th ed.). New York: McGraw Hill.