Minggu, 13 Maret 2016

Teori Pembuatan Game dan Algoritmanya

Pendahuluan:
Teknologi Game,
Bisnis dalam Game Komputer
3D Engine dan Scene Graph (Ogre3D, Processing, GameMaker, Unity3D, dll)

Pengantar teknologi game
Game merupakan “permainan” dimana maksud dari permainan tersebut lebih merujuk sebagai “kelincahan intelektual atatu intellectual playability”. Game sendiri diartikan sebagai arena keputusan untuk player atau pemain beraksi, dimana ada target-target yang harus dicapai. Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana game itu menarik untuk dimainkan secara maksimal.

Jadi Pengantar teknologi game adalah suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional.

Perkembangan game dalam dunia IT
Pada saat ini perkembangan game sangat cepat, ditandainya dengan para pengelola industry game belomba-lomba untuk menciptakan game yang lebih mendekati nyata/ riil dan tentunya menarik bagi para pemainnya. Sehingga game bukan hanya sekedar hobi untuk mengisi waktu luang, melainkan sebuah cara untuk meningkatkan kreativitas dan tikat intelektal penggunannya.

Perkembangan game dalam duni information technology , berkembang dalam beberapa Platform games:

a. PC 
Biasanya aplikasi gamenya menggunakan bahasa C++ atau C. Waktu pengembangannya 3-6 bulan, tergantung kompleksitas gamenya.

b. Web Based Games 
               Aplikasi game dimana diletakkan pada server di Internet, dimana user hanya perlu menggunakan akses internet dan browser untuk mengakses gamenya. Waktu pengembangannya lebih singkat, 1-2 bulan.

c. SmartPhones/Pocket PC(PCC)

               Aplikasi game yang berjalan pada system operasi Windows Mobile 2003, 2004, 5.0 sampai sekarang.
Usernya: karakter pengusaha/ eksekutif muda sangat cocok apabila menggunakan media PocketPC/SmartPhones sebagai bagian aktivitas kegiatan advertising. Waktu pengembangan biasanya memerlukan waktu 3-6 bulan tergantung dengan kompleksitas games tersebut.

d. Mobile Phone
               Aplikasi game menggunakan bahasa:  JAVA(jar), Symbian(sys), dan sekarang menggunakan PHYTON. Usernya dari semua kalangan, biasanya untuk mengisis waktu luang. Waktu pengembangannya relative lebih pendek, sekitar 1-3 bulan.

Konsep game

-        FunGames
Fun games adalah permainan seperti : skate board, bilyard, catur, puzzle, tetris, golf, Windows Entertainment Pack Games dan semua permainan yang animasinya sedikit dan pembuatannya relatif mudah. Permainan semacam ini terlihat mudah dari segi grafiknya tetapi biasanya sulit dalam algoritma.

-        ArcadeGames
Arcade games adalah semua permainan yang mudah dimengerti, menyenangkan dan grafiknya bagus walau biasanya sederhana. Pengertian mudah dimengerti dan menyenangkan dikarenakan permainan ini hanyalah berkisar pada hal-hal yang disenangi umum seperti pukul memukul, tembak menembak, tusuk menusuk, kejar mengejar dan semua yang mudah dan menyenangkan. Yang termasuk kedalam permainan jenis ini adalah Prince of Persia, Street Fighter, Golden Axe, Grand Prix, Robocop.

-        Strategic Games
Strategic games biasanya permainan strategi perang atau bisa juga permainan lain tetapi tetap saja memerlukan strategi untuk memenangkannya seperti startegi bisnis dan strategi politik.

-        Adventure Games
Adventure games terbagi atas tiga macam yaitu petualangan biasa (Multi Layered Adventur), Dungeon-Underworld Adventure (3D Adventure) dan Roll Playing Game Adventure. Biasanya algoritma untuk membuat game ini adalah sedang-sedang saja sampai sulit. Tapi grafik jenis permainan ini benar-benar sulit. Contoh beberapa permainan jenis ini adalah Space Quest IV, Labyrinth of Word, War II dan Diablo.

-        Simulation Games
Dari semua jenis permainan yang ada, masing-masing memiliki tingkat kesulitan dan kemudahannya, jika bukan algoritmanya maka akan mudah dalam hal animasinya, akan tetapi games simulasi bisa disebut sebagai jenis permainan yang paling sulit, baik algoritma pembuatannya maupun animasinya. Permainan jenis ini juga yang paling membuat pusing dibandingkan dengan permainan jenis lainnya. Algoritmanya sangat sulit sebab harus memperhitungkan semua kejadian dalam kondisi sebenarnya. Berbagai efek animasi yang dibuat tidak cukup bermodalkan ahli grafik dan algoritma saja, tetapi sedikitnya harus mengerti persoalan matematika, teknik dan fisika.

-        Serious game
Suatu konsep game dengan tujuan untuk kepentingan trainning, advertising, simulasi, edukasi. Intinya adalah untuk kepentingan yang sifatnya non-entertainment. Implementasinya, serious game ini bisa diterapkan untuk berbagai tingkatan usia serta dengan berbagai genre dan teknologi game.

Inti utama dari tujuan serious game adalah menumbuhkan, mengedukasi, dan memotivasi pemain untuk satu tujuan tertentu.. Tujuan lain bisa juga untuk kepentingan marketing dan advertising. Di Amerika sendiri, serious game ini banyak diterapkan di kalangan pemerintahan serta para profesonal kesehatan.
  

Software pembuat game
Cry Engine adalah salah satu Game Engine yang dikeluarkan oleh German, Crytek. Game engine ini juga sempat menghebohkan dunia game pada tahun 2004. Beberapa contoh game yang dibuat dengan menggunakan software ini adalah Crysis, Crysis War Head, Crysis 2, FarCry.
Keunggulan dari Cry Engine ini sendiri adalah tidak perlu menggunakan spek yang dewa untuk menjalankan game-game yang dibuat dengan software ini, dan pencahayaannya juga sangat bagus.

1. ADVENTURE MAKER FREE EDITION

Aplikasi yang satu ini tak hanya dapat digunakan untuk membuat game untuk PC Windows. Anda pun dapat memanfaatkannya untuk membuat game jenis point-and-click untuk PSP (PlayStation Portable), iPhone, dan juga !Pod Touch. Selain itu, Adventure Maker juga dapat dipakai untuk membuat aplikasi multimedia, virtual tours, aplikasi edukasi, hingga presentasi.

Adventure Maker sangat mudah digunakan. Anda tak perlu melakukan scripting atau pemrograman untuk dapat membuat game. Yang perlu Anda lakukan hanya mengimpor gambar ke aplikasi, menambah sejumlah titik untuk menghubungkan gambar dengan gambar lainnya, dan proses selanjutnya dilakukan oleh aplikasi.
Saat menciptakan software untuk Windows, aplikasi yang mendukung Windows XP dan Vista ini menyediakan fitur “Load/Save Game” functions, inventory items, 360-degree interactive panoramas, dukungan untuk format Flash, karakter untuk pembuatan game third-person, full-screen transitions, efek air dan asap, hingga dukungan untuk 30 lebih format file multimedia.
Dalam bundel aplikasi versi gratisnya, Anda mendapatkan fasilitas icon editor, music composer, aplikasi gambar, dan program untuk mengubah dan mengompresi gambar. Untuk menambah fungsi program, sejumlah plugin gratis juga tersedia dan siap diunduh dari situs Adventuremaker.com. Sejumlah sampel game juga tersedia, berikut tutorial pembuatan, baik itu untuk membuat game Windows atau pun game untuk konsol dan gadget.
Untuk versi penuhnya, sang pembuat game menyediakan versi berbayarnya. Versi berbayar ini menyediakan fasilitas untuk menjadikan game buatan Anda dalam format EXE sehingga dapat diinstal dan dimainkan tanpa aplikasi Adventure Maker.
Ukuran File : 16 MB
Lisensi : Free

2. 3D GAME STUDIO

Aplikasi ini merupakan aplikasi yang sangat baik untuk edukasi, simulasi dan juga tentunya untuk pembuatan game. Aplikasi ini menyediakan kemudahan dalam membangun game baik 2D maupun 3D, khususnya RPG (Role Playing Game). Bahkan dengan aplikasi ini, pengguna dapat membangun game berbasis format multiplayer, meskipun belum mendukung tampilan tiga dimensi.
Arena permainan ini dapat dibuat dengan menggunakan komponen yang tersedia, seperti background air, tanah, atau udara. Penggunaannya pun sangat fleksibel, dan Anda dapat menerapkannya dalam tiga lapisan obyek.

Begitupun untuk pengelolaan karakter Anda boleh membuat sebanyak-banyaknya karakter. Setiap aspek untuk karakter tersebut bisa diset, seperti status, visual, behavoiur, dan perlengkapan karakter saat dimainkan. Karakter di dalam aplikasi ini dibagi dua: karakter yang dapat dimainkan dan yang tidak.

Kalo boleh dibilang 3D Game Studio adalah aplikasi yang terbaik untuk belajar membuat game 2D atau 3D, karena tutorial-nya lengkap, contohnya juga banyak, plugin yang disediakan pun banyak, bagi yang bisa programming lebih bagus lagi karena ada API buat bahasa pemrograman seperti Delphi, .NET C#.
Untuk lebih lengkapnya bisa dilihat di halaman ini :
http://www.conitec.net/english/gstudio/download.php

3. ADVENTURE GAME STUDIO

Bagi Anda yang ingin bisa membuat game petualangan dalam tampilan semi-3D dan sudah menguasai pemrograman, freeware yang satu ini dapat menjadi media berkreasi. Meski begitu, bukan berarti Anda yang pemula tidak dapat menggunakannya.
Selain menyediakannya secara gratis, pembuat game ini juga memberikan tutorial komplet mulai dari awal hingga tingkat lanjut secara step-by-step. Selain itu, tersedia pula resources page di situs web sang pembuat untuk mengakses tip dan trik pengelolan program.
Adventure Game Studio memungkinkan Anda membuat game petualangan jenis point-and-click, seperti aneka game buatan pembuat game Sierra dan Lucasart yang terbit di tahun 1990-an. Fasilitas editor untuk membuat game beserta engine run-time-nya cukup mudah dikelola. Terlebih karena ada panduannya.
Untuk memudahkan pengelolaan aplikasi ini dari awal, sejumlah template game klasik telah disediakan sehingga kita bisa mengedit dan memodifikasinya sesuai keinginan. Sebagai insipirasi, sejumlah game buatan pengguna lain juga dipajang dan dapat diunduh dari situs penyedianya. Dalam paket installer-nya juga disediakan demo game.
Aplikasi ini kompatibel dengan Windows 2000, XP, dan Vista serta membutuhkan penginstalan .NET Framework 2.0. Butuh pemahaman sebelum menggunakannya, tapi feature pengesetan game sangat fleksibel, sehingga Anda dapat menentukan format resolusi tampilan game hingga personalisasi GUI (Graphic User Interface-nysa).
Untuk men-downloadnya bisa diklik di sini :http://www.adventuregamestudio.co.uk/acdload.htm

4. GAME MAKER

Aplikasi ini adalah aplikasi yang dapat Anda gunakan untuk membuat beragam macam game untuk diinstall di PC. Mulai dari game berbentuk maze (labirin dengan konsep permainan bak puzzle), tembak-menembak, hingga permainan bertampilan tiga dimensi, dan first person shooter.

Aplikasi ini menjanjikan trik pembuatan game dengan sistem drag-and-drop, sehingga untuk pembuatan game sederhana kita tidak perlu menggunakan bahasa pemrograman. Namun, ketika ingin membuat permainan yang lebih kompleks, kemampuan pemrograman juga diperlukan di sini.
Tak menguasai bahasa pemrograman? Tenang saja. Anda dapat mengunduh beragam tutorial di situs sumbernya.

Tutorialnya cukup lengkap, komplet dengan panduan step-by-step berformat PDF. Di dokumen ini kode pemrograman instan dapat ditelaah untuk membuat game.
Aplikasi ini juga menyediakan beragam komponen untuk pendukung pembuatan beragam jenis permainan yang dikehendaki. Komponen atau resources ini bahkan ada yang disediakan oleh para pengguna Game Maker lainnya. Anda bisa mengunduh background, musik latar, skrip pemrograman (agar tak repot membuat kode), banner, hingga fasilitas untuk membuat cheat codes di game buatan Anda.
Game buatan Anda ini kemudian dapat diperjual-belikan lho. Jika ingin menambah fungsinya untuk beragam feature baru di aplikasi, software ini dapat di-upgrade dengan meregistrasi atau membeli salinan software versi penuhnya.
Untuk mencobanya Anda bisa men-downloadnya disini : http://www.yoyogames.com/gamemaker/try

5. JUMP CRAFT

Seperti aplikasi game creator yang kami bahas di sini, Jump Craft memungkinkan kita membuat game dengan mengeklik-tarik komponen game ke area pembuatan game. Ya, semudah itu. Selain itu, ada pula fasilitas untuk pemrograman sederhana, sebagai ajang tambahan untuk belajar programming.

Anda bisa mengunduh aplikasi yang kompatibel dengan Windows XP dan Vista ini dari situs resminya, sekaligus berinteraksi dengan pengguna lain untuk mendapatkan panduan dan tips pembuatan. Konsep pembuatannya menerapkan prinsip “What You See Is What You Get”, sehingga komponen dan skenario yang diterapkan di area pembuatan game akan sama dengan output yang dihasilkannya. Pembuatan game tanpa coding (pemrograman) dapat dilakukan dengan konsep sistem “Trigger” dan “Actions” yang mudah diset. Setiap obyek di game ini bisa Anda gerakkan dan interaksikan dengan cara ini.

Tak perlu bingung untuk memulainya, karena ada sampel game untuk mempelajari pengelolaan aplikasi gratis ini. Lagipula, ada forum interaksi sesama pengguna yang dapat diakses secara bebas kapan saja.
Untuk info lebih lengkap dan download bisa diakses disini :http://jumpcraft.com/

Bisnis dalam game komputer 

Berkembang pesat seiring dengan berkembangnya teknologi canggih saat ini. Dahulu kita hanya dapat menikmati game yang tersedia di dalam komputer itu sendiri, seperti pinball dan solitaire. Namun sekarang sudah tersedia game online, dan juga games yang dapat didownload baik free maupun berbayar. Games berbayar juga merupakan bisnis karena sama saja dengan kita mengeluarkan uang untuk membeli sebuah barang. Games berbayar ini biasanya memberikan kepuasan tersendiri bagi pembelinya, karena terdapat fitur yang bagus di dalamnya.

Perkembangan lainnya ialah warung internet atau yang sering kita dengar dengan istilah warnet. Warnet kini identik dengan game online yang mereka sediakan, adapun game berbayar yang disediakan warnet sehingga kita hanya tinggal memainkannya. Baik anak kecil hingga orang dewasa mempunyai hobi bermain game online ini. Dengan menyediakan tempat, perangkat komputer yang lengkap, dan fasilitas pendukung lainnya, membuat gamers betah berlama-lama untuk bermain.

3d Engine merupakan suatu software yang digunakan untuk membuat game dengan fungsi sebagai renderer grafik 3D,  physics engine, pengatur audio, scripting, animasi game, AI (Artificial Intelligence), networking, streaming, pengaturan memori, localization support, dan pengaturan grafik. Salah satu contoh 3d engine adalah Cry engine, Unity3D, Gamemaker dll. Dibawah ini merupakan contoh game menggunakan Cry engine ini adalah Crysis.
Scene Graph adalah struktur data umum yang biasa digunakan oleh aplikasi grafis editing berbasis vektor dan permainan komputer modern, yang mengatur  representasi dari adegan grafis. Contoh programnya seperti Acrobat 3D, Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, OpenSG, VRML97, X3D, Hoops dan Open Inventor.

Disain Skenario, Script , dan Storyboard Game Komputer

Desain memiliki pengertian sebagai suatu pemikiran baru atas fundamental seni dengan tidak hanya menitik-beratkan pada nilai estetik, namun juga aspek fungsi dan latar industri secara massa, yang memang pada realitanya pengertian desain tidak hanya digunakan dalam dunia seni rupa saja, namun juga dalam bidang teknologi, rekayasa, dll. Ada 7 prinsip dalam desain yaitu; Keseimbangan, Kesatuan, Perbandingan, Urutan, Irama, Skala, .Fokus

Desain Skenario Game, Script, dan Storyboard

Dasar untuk pembuatan film adalah skenario, maka dasar untuk membuat game adalah design documents ataudesain skenario game. Dalam desain dokumen ada ketentuan program game, grafik, tokoh, animasi, suara, dan musik. Yang merupakan gabungan dokumen yang mendiskripsikan secara kompleks semua segi game yang direncanakan.

Tidak ada patokan umum apa saja yang harus menjadi bagian design documents, karena ada banyak perbedaan tergantung proyeknya. Tetapi dalam satu hal semua dokumen sama, harus mendeskripsikan game secara kompleks maupun mendetail. Singkatnya, dalam struktur dokumen-dokumen ini seharusnya terdapat seluruh materi yang mencakup seluruh aspek game. Baru berdasarkan design documents yang lengkap bisa ditulis spesifikasi untuk rancangan engine atau modifikasi engine yang sudah ada, dan rencana produksi. Bagian akhir dari design documents adalah catatan-catatan desainer game, di mana dicantumkan misalnya ide-ide susulan atau perubahan yang dilakukan berdasarkan hasil tes, dan seterusnya.

Script adalah suatu uraian interaksi manusia dengan mesin yang membantu proses desain dan berfokus pada keperluan user yang berbeda sehingga dapat digunakan untuk aktivitas desain.

Storyboard adalah sketsa gambar yang disusun berurutan sesuai dengan naskah, dengan storyboard kita dapat menyampaikan ide cerita kita kepada orang lain dengan lebih mudah, karena kita dapat menggiring khayalan seseorang mengikuti gambar-gambar yang tersaji, sehingga menghasilkan persepsi yang sama pada ide cerita kita.

Tujuan Storyboard yaitu sebagai panduan bagi orang-orang yang terlibat di dalamnya, mulai dari sutradara, penulis cerita, lighting dan kameramen memungkinkan seorang pembuat film untuk memprevisualisasikan ide-idenya Sebagai Alat untuk mengkomunikasi ide keseluruhan film menjelaskan tentang alur narasi dari sebuah cerita Berperan dalam pewaktuan (timing) pada squence, percobaan-percobaan dengan sudut pandang kamera, perpindahan dengan kesenambungan (countinuity) antara element-element dalam sebuah frame.

Artificial Intelligent pada Game

Decision Making: Decision Tree, State Machine dan Rule Systems

Artificial Intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan manusia. Game atau permainan dalam media elektronik merupakan salah satu aplikasi yang dapat mengandung kecerdasan buatan. Bermain game merupakan salah satu sarana pembelajaran. Dalam game kecerdasan buatan dapat terlihat dari bagaimana tingkah laku / behaviour yang dilakukan oleh game tersebut. Pada game yang memiliki kecerdasan buatan didalamnya maka game tersbut seolah-olah memiliki kemampuan layakmya manusia seperti dapat melihat, memukul, menghitung dan lain sebagainya.
Decision making yaitu suatu pemecahan masalah dan pengambilan keputusan. Decision making game merupakan suatu pemecahan masalah dalam pembuatan permainan dan menentukan solusi dari suatu masalah tersebut.
Decision Making bisa terjadi apabila mengalam 3 situasi diantaranya :
1.    Decision making under certainty. Misal: Linear Programming
2.    Decision making under risk (uncertainty). Misal: Maximax, maximin, dll.
3.    Decision making in conflict. Dengan Game Theory

Path Finding: Waypoints dan Path Finding , A* Searching, Dijkstra

Pathfinding adalah proses pencarian path tercepat dari titik asal ke titik tujuan dengan menghindari berbagai halangan sepanjang path yang ditempuh. Terdapat berbagai algoritma pencarian jalur yang dapat dipakai, sebut saja djikstra, A*, dsb.

Algoritma Dijkstra, (dinamai menurut penemunya, seorang ilmuwan komputer, Edsger Dijkstra), adalah sebuah algoritma rakus (greedy algorithm) yang dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang bernilai tak-negatif.
A* (dibaca "A bintang"/"A star") adalah algoritma  pencarian graf/pohon yang mencari jalur dari satu titik awal ke sebuah titik akhir yang telah ditentukan. Algoritma A* menggunakan pendekatan heuristik h(x)  yang memberikan peringkat ke tiap-tiap titik x dengan  cara memperkirakan rute terbaik yang dapat dilalui dari titik tersebut. Setelah itu tiap-tiap titk x tersebut dicek  satu-persatu berdasarkan urutan yang dibuat dengan  pendekatan heuristik tersebut. Maka dari itulah algoritma A* adalah contoh dari best-first search.

Sebuah waypoint adalah titik acuan yang digunakan untuk keperluan navigasi dengan karakter dalam game. Paling umum digunakan dalam game strategi dan permainan berbasis skuad.


Tugas kali ini saya akan menjeaskan algoritma pada game matches yang ada pada strawberry prolog.

Game My Boss My Hero ini menggunakan Algoritma Backtracking menggunakan konsep DFS dalam pembentukan pohon solusi.


1. Pohon solusi dibentuk dari awal permainan sampai akhir permainan.


2. Untuk permainan yang di nyatakan cukup kompleks seperti permainan My Boss My Hero, pembentukan pohon solusi   di mulai   dari awal permainan sampai akhir permainan dapat direalisasikan karena pada game ini mempunyai   batasannya, yaitu kotak yang telah di batasin berapa banyak yang dapat di beri tanda, sehingga bila anda   ingin mengurutnya bisa di lakukan dan di ketahui cara untuk memenangkan game ini. Sehingga bila anda cari   dalam pohon solusi bisa di   selesaikan sampai tidak ada kemungkinan lagi untuk di cari solusinya.


3. Semakin akurat fungsi heuristic yang digunakan, semakin baik pula pengambilan keputusan yang dilakukan oleh AI.


4. Dengan menggunakan algoritma Bactracking untuk AI dalam permainan Matches, pengguna (user) tidak akan   begitu  mudah untuk melawan AI tersebut. kelebihan antar lain, game ini menggandung AI . Sehingga untuk memenangkan permainan ini sangat dibutuhkan keahlian dan strategi yang tepat. Karena AI itu sendiri akan meniru pola pikir manusia.



sumber :
http://ferdianrezpector.blogspot.co.id/2014/04/penagantar-teknologi-game.html
http://mustikanitaaa.blogspot.co.id/2016/03/pengantar-teknologi-game.html

Tidak ada komentar:

Posting Komentar