Minggu, 09 Juli 2017

ANALISA GAME ENGINE

Game engine (bahasa Indonesia: mesin permainan) adalah sebuah sistem software yang dirancang untuk pembuatan dan pengembangan suatu video game. Ada banyak sekali game engine yang dirancang untuk bekerja pada beberapa konsol video game dan sistem operasi desktop seperti Microsoft Windows, Linux dan Mac OS X. Fungsi utama yang secara khusus disediakan oleh game engine meliputi mesin render (renderer) untuk grafik 2D atau 3D, mesin fisika, deteksi tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen momori, threading, dukungan lokalisasi dan layar grafik. Proses pembuatan game seringkali dihemat oleh sebagian besar dengan menggunakan kembali game engine yang sama untuk membuat game yang berbeda.



3 Tipe Game Engine ?


Ada 3 tipe game engine yang ada saat ini, diantaranya :
1. Roll-your-own game engine
Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Di sisi lain, mereka kadang menggunakan library komersil atau yang open source. Terkadang mereka juga membuat semuanya mulai dari nol. Biasanya game engine tipe ini lebih disukai karena selain kemungkinan besar diberikan secara gratis, juga memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya. Tower Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya dalam beberapa hari  sebelum penggunaannya karena adanya bug kecil yang sangat mengganggu.
2. Mostly-ready game engines
Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini dapat menyingkat menghemat waktu dan biaya dari para developer game.
3. Point-and-click engines
Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget.  Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.

Perbandingan Game engine dalam pembuatan game Tetris


-          VISUAL BASIC
Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM), Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputergrafik dengan cepat, Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan. Visual Basic 6 merupakan salah satu tool untuk pengembangan aplikasi yang banyak diminati oleh orang. Di sini Visual Basic 6 menawarkan kemudahan dalam pembuatan aplikasi dan dapat menggunakan komponen-komponen yang telah disediakan. Untuk memulai Visual Basic 6 anda perlu menginstall Visual Basic 6.0. Program ini biasanya dalam satu paket dengan Visual Studio 6.0. Dengan menggunakan Visual Basic 6 kita bisa menghasilkan berbagai macam jenis program. Dari aplikasi yang mengintegrasikan database, jaringan, office automation, dan web application.
Kelebihan :
1. Bahasa yang sederhana. Banyak hal yang mungkin sulit dilakukan jika kita menggunakan bahasa pemrograman lainnya, akan dapat dilakukan dengan mudah dengan menggunakan Visual basic.
2. Karena Visual basic sangat populer, maka sangat banyak sumber-sumber yang dapat kita gunakan untuk belajar dan mengembangkan kemampuan kau baik berupa buku, web site dll.
3. Kita bisa memperoleh banyak tools baik gratis maupun tidak di Internet yang akan sangat membantu menghemat waktu kita dalam pemrograman.
Kelemahan :
1. Visual Basic adalah bahasa pemrograman yang powerful, tetapi sebenarnya tidak terlalu bagus untuk membuat game-game yang benar-benar memuaskan.
2. Lebih lambat dibandingkan bahasa pemrograman lain.


-          BLENDER

Blender merupakan open source 3D modelling, rendering, game 3D animasi, simulasi pengembangan sistem.
Blender terus ditingkatkan dengan fitur baru dan didukung oleh komunitas yang aktif.
Blender adalah grafis 3D aplikasi yang dapat digunakan untuk pemodelan, texturing rendering, edting dan membuat aplikasi 3D interaktif, termasuk permainan video, film animasi atau efek visual.
Blender tersedia untuk sejumlah sistem operasi termasuk Linux, Mac OS X, dan Microsoft Windows.
Kelebihan yang dimiliki Blender adalah dapat membuat game tanpa menggunakan program

tambahan lainnya, Karena Blender sudah memiliki “Engine Game” sendiri dan menggunakan “Python”
sebagai bahasa pemograman yang lebih mudah ketimbang menggunakan C++,C, dll.
Blender menggunakan “OpenGL” sebagai render grafiknya yang dapat digunakan pada
berbagai macam “OS” seperti Windows, Linux dan Mac OS X. Gambar berikut merupakan sebuah
“screenshot” dari salah satu project game yang dibuat menggunakan Blender
Sekarang ini Blender merencanakan sudah mengeluarkan versi yang terbarunya, yaitu Versi 2.49
yang lebih ditujukan untuk pembuat game. Karena Versi ini memiliki fitur-fitur baru yang dirancang
untuk membuat tampilan game yang lebih realistis dari pada versi sebelumnya.
Blender 2.49 memiliki fitur baru seperti :
•           Video Texture
•           Real-time GLSL Material
•           Game Logic
•           Bullet SoftBody
•           Python Editor
•           Multilayer Textures
•           Physics
•           Render Baking dan Normal Mapping dan masih banyak yang lainnya.
•           Composite Adalah tempat menambahkan efek visual seperti pada gamabar berikut.

Untuk membuat game di Blender anda tidak perlu jago pemograman, jika anda hanya ingin
membuat game sederhana anda cukup mempelajari tool-tool yang disediakan oleh blender tanpa harus menggunakan “script” sedikitpun.

Perbandingan dengan Software 3D lainnya :
Blender memiliki kedalaman dan keluasan fitur dibandingkan dengan komersial, eksklusif. Sebuah perbandingan cukup komprehensip antara software 3D yang tersedia dapat dilihat pada perbandingan grafik. Blender cenderung kurang up to date.
Installer blender lebih kecil dibandingkan dengan penuh fungsi perangkat lunak grafis 3D. Misalnya Blender installer dari 2,49 membangun untuk Windows 32 bit adalah 10,5 MB , 36 MB membutuhkan setelah instalasi, dan membangun lite membutuhkan 2,2 MB, sedangkan perangkat lunak seperti AutoCAD membutuhkan sekitar 2 GB . Dengan demikian, Blender dapat dengan mudah download (meskipun beberapa buku panduan masih termasuk Blender CD).



DAFTAR PUSTAKA:
http://novitazzblog.blogspot.co.id/2010/06/perbedaan-game-engine.html
http://afrizalsyahputra94.blogspot.co.id/2013/04/kelemahan-dan-kelebihan-visual-basic.html


Minggu, 19 Maret 2017

SEJARAH DAN ANALISIS TETRIS


1. Sejarah dan Penjelasan Singkat


Tetris, siapa yang tak kenal dengan permainan seru ini. Semua kalangan darii muda sampai tua pasti pernah memainkan permainan ini. Tetris adalah teka-teki yang didesain dan diprogram oleh Alexey Pajitnov pada bulan Juni 1985, pada saat ia bekerja di Pusat Komputer Dorodnicyn di Akademi Sains Uni Soviet di Moskow. Namanya berasal dari awalan numerik Yunani tetrayang bermakna bangun dengan empat bagian.

Permainan ini (atau variasi lainnya) terdapat pada hampir setiap konsol permainan video dan komputer pribadi, begitu juga pada peralatan lainnya seperti kalkulator, ponsel, pemutar media portabel, PDA dan bahkan sebagai rahasia pada produk non-media seperti osiloskop.

Walaupun Tetris muncul kebanyakan pada komputer rumahan, permainan ini lebih sukses pada versi Gameboy yang dirilis pada 1989 yang membuatnya sebagai permainan paling populer sepanjang masa. Pada berita Electronic Gaming Monthly ke-100, Tetris berada pada urutan pertama pada "Permainan Terbaik Sepanjang Masa". Pada tahun 2007, Tetris berada di urutan kedua pada "100 Permainan Terbaik Sepanjang Masa" menurut IGN.


2. Spesifikasi Alat

Permainan Tetris, sekarang ini hampir dapat dimainkan dimana saja. Awalnya permainan ini lebih sering dimainkan pada komputer rumahan. Namun seiring perkembangan zamannya, dapat dimainkan di semua gadget. Gameboy adalah salahsatu yang membuat permainan ini lebih sukses tepatnya pada tahun 1989. Bahkan sudah banyak yang dapat menciptakan permainan yang hampir menyerupai tetris dengan konsep yang berbeda. Tetris dapat dimainkan di:

a. Gameboy
b. Nintendo
c. Android
d. I-Phone
e. Komputer Rumahan
f. Sega, dll.

3. Cara Bermain

Pada permainan, berbagai macam tetromino yang terdiri dari empat balok akan jatuh. Tujuan dari permainan ini adalah dengan memanipulasi tetromino yang jatuh, dengan mengerakannya ke samping atau memutarnya, sehingga akan terbentuk garis horizontal tanpa celah, ketika sudah terbentuk, tetromino tersebut akan menghilang, sehingga tetromino diatasnya akan terjatuh. Ketika permainan berlanjut, tetromino tersebut akan jatuh lebih cepat. Permainan akan berakhir apabila tetromino berikutnya terhalang sehingga tidak bisa masuk.

Pada dasarnya, ada 7 jenis formasi balok yang ada di dalam game tetris, yaitu balok I, J, L, O, S, I, dan Z. balok-balok tersebut diberi nama demikian karena memang bentuknya mirip dengan hurup tersebut, untuk lebih jelasnya, silahkan lihat gambar di bawah ini.



4. Kelebihan dan Kekurangan Game

Kelebihan dari game tetris ini adalah grafik interface yang sangat baik dan game ini juga dapat mengasah kecerdasan kita dan ketepatan dalam menempatkan balok. Selain itu game ini juga bisa menyebabkan ketagihan jika kita dalam keadaan jenuh memikirkan tugas sehari-hari. Game ini juga bisa memacu semangat untuk terus mencapai skor tertinggi.

Kekuranganya dari game tetris ini mungkin di setiap game biasanya ada kata menang tapi di game tetris ini kita tidak akan menemui yang namanya menang hanya ada kalah dan menentukan point saja. Selain itu tampilan nya yang sangat biasa saja dan sangat membosankan bila dilakukan pada zaman modern seperti ini.

5. Pendekatan Algoritma yang digunakkan

Dalam pembuatan tetris ini, ada 2 jenis Algoritma yang dipakai. Yaitu:

a. Algoritma Greedy 

Algoritma ini bertugas ubtuk memecahkan masalah langkah per langkah, pada setiap langkah:

1. Mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan (prinsip “take what you can get now!”)

2. Berharap bahwa dengan memilih optimum local pada setiap langkah akan berakhir dengan optimum global Brute force adalah sebuah pendekatan yang sesuai (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan.

b. Algoritma Brute Force

Algoritma ini bertugas untuk memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas (obvious way). Algoritma yang digunakan untuk mendapatkan susunan tumpukan balok yang paling baik dengan menempatkan balok ke tempat yang tepat.Algoritma ini menggunakan prinsip Greedy dalam mencari langkah sollusi yang paling menguntungkan. Prioritas keuntungan yang tersusun terdiri dari:

1. Membentuk satu atau lebih baris paling penuh
2. Membentuk satu atau lebih baris paling mendekati penuh
3. Tidak membentuk ruang kosong pada susunan tumpukan balok
4. Balok dapat masuk ke dalam susunan tumpukan balok paling dalam Algoritma yang kamikemukakan akan mencari penempatan balok yang jatuh ke ruang yang paling tepat sesuaiprioritas keuntungan di atas diantara susunan tumpukan  balok. Pencarian ini akan dilakukan secaraBrute Force. Balok yang jatuh akan dicoba untuk ditempatkan ke ruang di antara susunan tumpukan balok dibawah.

c. Selain menggunakan Algoritma diatas, Game ini juga menggunakan matriks dalam pembuatannya. 


TAMPILAN GAME TETRIS









SUMBER:

http://id.wikipedia.org/wiki/Tetris
http://sekedar-tahu.blogspot.com/2010/06/sejarah-dan-asal-usul-game-tetris.html
http://fahmi-aufa.blogspot.com/2014/03/pengantar-teknologi-game-tetris.html