Minggu, 23 Mei 2010

GAME ENGINE

     Game engine adalah sebuah software yang membantu dalam pembuatan sebuah Game. Game engine ini hanya memotori jalannya sebuah game. Jadi programer hanya cukup membuat program utama dengan beberapa resources.
      Program game engine seluruhnya berorientasi objek. Lebih bersifat reaktif dari pada posedural. Sulit untuk menggambarkan engine secara keseluruhan dalam flowchart, karena alur program bisa diatur sesuai dengan keinginan pemakai engine, yaitu programmer game.

Tipe-tipe Game Engine
  • Roll-your-own game engine.
Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine nya sendiri. Ini berarti mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Disisi lain, mereka kadang menggunakan libraries komersil atau malah open source. Terkadang mereka malah membuat semuanya dari nol.
Biasanya, game engine tipe ini lebih disukai karena selain kemungkinan besar tersedia 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. Menara Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine nya, hanya untuk di tulis ulang semuanya dalam beberapa hari penggunaan karena adanya bug kecil yang sangat mengganggu.
  • Mostly-ready game engines.
Engine engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer / programmer. Semuanya termasuk contoh GUI, physiscs, libraries model dan texture, dan segalanya. Banyak dari mereka yang sudah benar benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama.
Biasanya game engine semacam ini memiliki batasan batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar benar terbuka lebar. Hal ini ditujukan agar tidak terjadi terlalu banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis, dan masih memungkinkan game engine nya itu sendiri untuk mengoptimalkan kinerja game nya. Banyak dari game engine seperti ini, Unreal Engine, Source Engine, id Tech Engine dan sebagainya, yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Hal ini dengan serta merta menyingkat sangat banyak waktu dan jelas, biaya dari para Developer game.
  • Point-and-click engines.
Engine untuk point-and-click merupakan engine yang sangat amat dibatasi, tapi dibuat sangat user friendly. Kamu bahkan bisa mulai membuat game mu 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 nggak berguna, bagi developer cerdas dan berdaya kreativitas tinggi, game engine bapuk seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine seperti ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman, dan secepatnya merilis game game mereka.


Macam-macam Game Engine
1. Freeware game engine/open source game engine
  • Blender
  • Golden T Game Engine (GTGE)
  • DXFramework
  • Ogre
  • Aleph On
2.  Commercial engines/game engine berbayar (komersial)
  • Alamo
  • A.L.I.V.E
  • BigWorld
  • DXStudio
  • Dunia Engine
  • Euphoria
  • GameStudio
Penjelasan game Engine :

OGRE
OGRE (Object-Oriented Graphics Rendering Engine) merupakan engine yang mendukung 3D Graphic. Merupakan game engine yang fleksibel dalam melakukan 3D Rendering, ditulis dalam bahasa C++ sehingga memudahkan pengembang untuk membangun game yang mendukung 3D Graphics. Ogre dapat berasosiasi dengan Microsoft Visual Studio. Dan saya pernah membuat animasi interaktif dengan menggunakan Ogre dan M.Visual Studio.

Blender
Blender adalah program 3D dan animasi yang bersifat opensource,
bebas untuk dikembangkan oleh penggunanya dan dapat didistribusikan
kembali dan bersifat Legal.Blender memiliki video compositor dan intergrated game engine
Karya yang dihasilkan tidak ada sifat royalt kepada developer, dan
dapatdipublikasikan baik free maupun untuk dikomersilkan

Apapun Game Engine-nya, yang terpenting adalah kreatifitas kita dalam pembuatan sebuah game. dan Game Engine hanya sebagai alat untuk membantu kita.
Dan selalu usahakan menggunakan aplikasi/software yang legal. Jika tidak mampu membelinya, maka carilah yang gratisan (open source).


Sumber:
http://afaniw.ngeblogs.com/
http://en.wikipedia.org/wiki/Game_engine 

Senin, 17 Mei 2010

Tahapan Pembuatan Game

Tahapan Pembuatan Sebuah Game


  Memanglah tidak mudah dalam pembuatan seguah Game. Ada beberapa hal penting yang harus benar-benar kita siapkan. Diantaranya adalah Jenis Game, Karakter Animasi pada Game, Game Engine. Mudah-mudahan sekilas tentang tahapan pembuatan game di bawah ini dapat membantu temen2 yang lagi ingin membuat game.
  • Menentukan Genre Permainan
Pertama pikirkan jenis game yang ingin Anda bikin, apakah berjenis, RPG(Role Playing Game) , FPS(First Person Shooter) ,SPS(Second Person Shooter) , Arcade , Fighting , Racing , atau RTS(Real Time Strategy) , Penentuan genre ini bertujuan agar sipembuat game bisa menentukan karakter atau cara permainan yang akan dibuat, Disarankan pilihlah jenis game yang sesuai dengan kemampuan yang Anda miliki ,mudah dan cepat dalam pembuatannya.

  • Menentukan Tools yang akan digunakan
Ini bagian yang terpenting, dengan apakah Anda ingin membuat game tersebut, biasanya game dibuat dengan bahasa pemograman, jika Anda adalah seorang programer maka Anda bisa membuat game dengan bahasa pemograman yang Anda kuasai, tetapi jika Anda adalah orang yang belum begitu menguasai atau sama sekali tidak mengetahui tentang dunia pemograman maka jangan berkecil hati dan jangan menganggap bahwa membuat game dizaman sekarang masih susah, banyak sekali software yang khusus dibuat untuk membuat game dengan genre tertentu, ada software yang menggunakan bahasa pemograman dalam pembuatan game atau sama sekali tidak membutuhkan pemograman dalam pembuatannya, sehingga Anda hanya perlu menggunakan mouse untuk mengatur jalannya game, karakter jagoan, musuh dan beberapa komponen game lainnya, software untuk membuat game sangat membantu Anda dalam membuat sebuah game.

  • Menentukan Game Play Permainan
Gameplay adalah sistem jalannya game tersebut, mulai dari menu, area permainan, save, load, game over, story line, misiion sukses, mission failed, cara bermain dan sistem lainnya harus Anda tentukan, misal dalam sistem save Anda hanya akan membuat pemain bisa mensave permainan jika jagoannya sudah menuju kesebuah lokasi, kemudian ketika meload karakter jagoan akan kembali ketempat area save, atau ketika dalam menu pemain hanya akan mendapat pilihan menu play game, load game, credit dan quit, Semua sistem yang digunakan dalam game disebut dengan gameplay. Sebisa mungkin buatlah gameplay game Anda enak untuk dimainkan dan tidak menyulitkan pemain sehingga pemain akan nyaman ketika memainkan game Anda.

  • Menentukan Grafis Game
Jenis grafis secara sederhana dapat dibagi menjadi tiga jenis yaitu jenis kartun, semi realis, atau realis. Pilih jenis grafis yang sesuai dengan kebutuhan game Anda dan sesuai dengan kemampuan Anda, kemudian pilih software apa yang ingin Anda gunakan dalam membuat gambarnya, pilihlah yang Anda anggap paling mudah digunakan.

  • Menentukan Suara Latar dalam Game
Tanpa suara akan membuat game Anda kehilangan nilainya, karena itulah pilih suara yang ingin digunakan dalam permainan. Pilihan suara latar bisa Anda bagi-bagi menjadi beberapa bagian seperti bagian main menu, save menu, load menu, shoot, dead, mission sukses, mission failed, loading dan bagian-bagian lainnya, pemilihan suara yang digunakan harus seirama dengan bagiannya. Kemudian pilih software yang ingin Anda gunakan untuk membuat atau mengedit suara yang akan digunakan dalam game tersebut.

  • Melakukan Perencanaan Waktu
Maksudnya dengan perencanaan wakt,anda akan bebas melakukan hal lainnya karena perasaan Anda tidak lagi terganggu dengan game yang belum selesai dibuat, kemudian ketika waktu pembuatan game sudah tiba Anda akan membuat game sesuai dengan urutan waktu yang sudah Anda tentukan sehingga Anda tidak bingung bagian game mana yang belum selesai dikerjakan dan yang sudah selesai dikerjakan. Perencanaan waktu pembuatan sangat baik untuk dilakukan.

  • Proses Peembuatan Game
Setelah itu lakukan pembuatan game karena semua komponen yang Anda perlukan sudah disiapkan dari awal, lakukan proses pembuatan berdasarkan waktu yang sudah ditentukan, tidak ada salahnya Anda meminta pertolongan orang lain sehingga akan mempercepat proses pembuatan game Anda.

  • Melakukan Publishing Game
Hal ini kita lakukan ketika game sudah selesai dibuat,publish game Anda menjadi setup jika game Anda harus diinstal terlebih dahulu sebelum dimainkan atau publish menjadi .exe jika game Anda bisa langsung dimainkan tanpa harus menginstalnya terlebih dahulu, metode mempublish tergantung dengan tool yang Anda gunakan untuk membuat game tersebut.




Sumber:
cyber-net007.blogspot.com

Sabtu, 15 Mei 2010

Kecerdasan Buatan

Kecerdasan Buatan

     Kecerdasan Buatan atau yang sering disebut dengan Artificial Intelligence (AI) ini sering digunakan dan dikaitkan dengan pembuatan sebuah Game. Karena AI ini dapat melakukan kegiatan yang mungkin dilakukan oleh manusia terhadap suatu aksi di komputer. Untuk  lebih jelasnya berikut adalah pembahaasan secara singkat mengenai AI.


KECERDASAN BUATAN
DEFINISI
Kecerdasan Buatan merupakan bagian dari ilmu komputer yang mempelajari
bagaimana membuat mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik
yang dilakukan manusia bahkan bisa lebih baik daripada yang dilakukan manusia.
Menurut John McCarthy,
* Untuk mengetahui dan memodelkan proses-proses berpikir manusia dan mendesain
mesin agar dapat menirukan perilaku manusia.
1956, AI:

2 bagian utama yang dibutuhkan untuk aplikasi kecerdasan buatan:
* Basis pengetahuan(knowledge base)
* Monitor inferensi(inference engine)
KECERDASAN BUATAN VS KECERDASAN ALAMI
Kelebihan kecerdasan buatan:
* Lebih bersifat permanen
* Lebih mudah
* Lebih murah
* Dapat didokumentasikan
Kelebihan kecerdasan alami:
* Kreatif
* Pengalaman secara langsung
* Pemikiran luas

 
SEJARAH KECERDASAN BUATAN
Tahun 1950-an Alan Turing, seorang pionir AI dan ahli matematika Inggris melakukan
percobaan Turing(turing test) yaitu sebuah komputer melalui terminalnya ditempatkan
pada jarak jauh. Turing beranggapan bahwa mesin bisa cerdas(selayaknya manusia).
BIDANG AI(KECERDASAN BUATAN)
1. Sistem pakar
2. Pengolahan bahasa alami(natural language processing)
3. Pengenalan ucapan
4. Robotika dan sistem sensor
5. Computer vision
6. Intelligent computer-aided instruction
7. Game playing

SOFT COMPUTING
Soft computing merupakan inovasi baru dalam membangun sistem cerdas
Metodologi-metodologi dalam soft computing adalah:
* Logika Fuzzy
* Jaringan syaraf tiruan
* Probabilistic reasoning
* Evolutionary computing


Karena sangking hebatnya pembuat AI ini, terkadang kehebatan Manusia bisa kalah dengan Kemampuan berpikir dari komputer. Maka tidak heran jika AI ini sering digunakan untuk kebutuhan Programing Game.








Sumber:
http://www.scribd.com/doc/16075655/Kecerdasan-Buatan (Enjibae)

Minggu, 09 Mei 2010

Dasar-dasar Teori Permainan (Game)

DASAR-DASAR TEORI PERMAINAN(GAME)


Teori permainan adalah suatu cara belajar yang digunakan dalam
menganalisa interaksi antara sejumlah pemain maupun perorangan yang
menunjukkan strategi-strategi yang rasional.
Teori permainan pertama kali ditemukan oleh sekelompok ahli Matematika
pada tahun 1944. Teori itu dikemukakan oleh John von Neumann and Oskar
Morgenstern yang berisi :




“Permainan terdiri atas sekumpulan peraturan yang membangun situasi
bersaing dari dua sampai beberapa orang atau kelompok dengan memilih
strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun
untuk meminimalkan kemenangan lawan. Peraturan-peraturan menentukan
kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima
setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau
kekalahan dalam berbagai situasi.”
( J. Von Neumann and O. Morgenstern, Theory of Games and Economic
Behavior (3d ed. 1953)).



Pengertian Game


Menurut Agustinus Nilwan dalam bukunya “Pemrograman Animasi dan Game
Profesional” terbitan Elex Media Komputindo, game merupakan permainan
komputer yang dibuat dengan teknik dan metode animasi. Jika ingin
mendalami pengunaan animasi haruslah memahami pembuatan game. Atau
jika ingin membuat game, maka haruslah memahami teknik dan metode
animasi, sebab keduanya saling berkaitan.



Animasi


Animasi dapat dibuat dengan tiga teknik berbeda, yaitu Image, Xoring serta
make. Dan dalam pergerakannya dapat bertipe object sprite atau object
frame. Juga bisa dibedakan atas metode animasi yang digunakan antara
animasi frame, bibliting dan realtime. Walaupun terbagi atas berbagai
definisi berbeda, tapi dalam prakteknya teori-teori tersebut dapat
digabungkan atau saling berhubungan sehingga tidak murni dipakai sendiri.
Macam-macam animasi yang digunakan dalam membuat sebuah game akan
diterangkan sebagai berikut :



1. Animasi Dengan Teknik Image


Animasi dengan teknik ini adalah menyimpan image sebagai sebuah sprite
dalam memori yang kemudian akan ditampilkan di backgroundnya. Dalam
teknik ini animasi yang disimpan harus berlatar belakang sesuai
backgroundnya. Animasi dengan teknik ini biasanya sulit dalam pembuatan
gambarnya, sebab harus banyak dan melakukan penyamaan dan posisi.
Akan tetapi teknik ini mudah dalam hal memainkan animasinya.



2. Animasi Dengan Teknik Xoring


Teknik ini adalah teknik animasi yang mudah dan sederhana, sebab selain
gambarnya satu sprite, cara menampilkannya juga jauh lebih mudah
dibanding dengan teknik sebelumnya. Pembuatan gambarnya sangat mudah,
sebab yang dibuat adalah spritenya saja dan tidak perlu menyamakan
dengan backgroundnya.
Kelemahan dari teknik ini adalah memiliki efek buruk yaitu tembus pandang
dan mengganti warna sprite, maka hal ini tidak baik digunakan dalam
animasi yang backgroundnya bergambar.



3. Animasi Dengan Teknik Make


Animasi dengan teknik ini biasanya digunakan untuk animasi umum, tapi


biasanya digunakan untuk proses pembuatan animasi. Animasi dengan
teknik ini memiliki sprite yang terus menerus digenerate oleh program,
kemudian ditampilkan dengan perhitungan tertentu.
Animasi ini biasanya dilakukan oleh 3D modelling dan shading software
seperti AutoCad, 3D Studio, Presidio 3D Workshop dan lain-lain.
Operasi diatas haruslah digenerate secara langsung dengan perhitungan
sehingga saat pembuatan hampir bersamaan dengan saat menampilkannya



4. Animasi Dengan Tipe Object Sprite


Animasi ini menggunakan sprite sebagai pemeran utama sedangkan object
lainnya hanya background diam. Prosesnya adalah mebuat gambar sprite
dengan latar belakang warna hitam, lalu dibuat juga sprite yang sama tetapi
berwarna hitam dan latar belakangnya adalah warna tertinggi, kemudian
ditempatkan dengan pertama-tama menyimpan background yang akan
ditimpa oelh sprite dan ditempatkan sprite dengan Xor dan Ditimpa dengan
warna tertinggi secara Xor.



5. Animasi Dengan Tipe Object Frame


Animasi ini menitik beratkan animasi yang dimainkan hanya pada sprite objectnya saja, akan tetapi seluruh backgroundnya juga seolah-olah ikut digerakkan.



6. Metode Animasi frame


Metode ini adalah metode animasi yang mendukung tipe object frame.
Karena metode animasi dengan metode full-screen, maka frame yang tampil
haruslah disiapkan terlebih dahulu dalam bebera page sebelumnya. Karena
hal tersebut maka pengambilan gambarnya haruslah sangat cepat, sehingga
tidak menjadikan animasi lamban dan tersendat. Animasi frame ini haruslah
menampilkan gambar fullscreen yang bergerak, agar efek tersendat dari
pergantian frame tidak menyolok.



7. Metode Animasi BitBlt


Metode animasi ini biasanya disebut sprite animation, array animation,
blocked animation, partial screen animation, snapshot animation atau arcade
animation. Prinsip dari metode ini adalah menyimpan image dan memainkan
animasinya dalam bentuk satu atau bebera sprite kecil.



8. Metode Animasi Real-Time


Dalam metode ini biasanya semua animasi yang sedang tampil atau yang
akan dibuat dilakukan bersama sehingga tidak perlu disiapkan terlebih
dahulu. Karena animasi ini lambat dan tersendat maka animasi dengan
metode ini akan bagus jika pergerakan yang akan dilakukan adalah tidak
diketahui sebelumnya dan tiba-tiba muncul.


Metode ini tidak disarankan untuk animasi biasa-biasa saja, akan tetapi
sebaiknya digunakan untuk keperluan khusus seperti rotating dan tweening





Sumber :

http://www.scribd.com/doc/22887860/Konsep-Dasar-Game-Animasi (Karomah Ajah)

Sabtu, 01 Mei 2010

TUGAS OPENGL GRAFKOM2 WINDARKO 51407023 3IA07


TUGAS GRAFKOM OPENGL

Nama  : WINDARKO
Kelas  : 3IA07
NPM  : 51407023


Untuk file .exe dan .cpp ada disini
Berikut adalah Coding dari Programnya:
Catt: pergerakan dilakukan menggunakan tombol: A D W S

#include
#include
#include

void init(void);
void keyboard(unsigned char, int, int);
void display(void);
float MoveX, MoveY = 0.0f;
float curX, curY = 0.0f;

const double Xmin = 0.1f, Xmax = 2.5f;
const double Ymin = 0.1f, Ymax = 2.5f;

int main (int argc, char **argv)
{
    glutInit(&argc, argv);                        /*Untuk menginisialisasi modus display */
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); /*Fungsi tersebut meminta window yang bersifat double buffered
dengan warna RGB. */

    glutInitWindowSize(400, 400);            /* pengaturan besar form*/
    glutInitWindowPosition(500, 100);        /* pengaturan letak form pada windows*/
    glutCreateWindow("Tugas Grafkom2 OpenGL (Windarko 51407023 - 3IA07)");    /*nama form*/

    init();
    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);
    glutMainLoop();
    return 0;
}
void init(void)
{
    glClearColor(2.0, 2.0, 2.0, 0.0);                /*warna background-putih*/
    glColor3f(2.0, 0.0, 0.0);                        /*warna foreground-merah*/
    glMatrixMode(GL_PROJECTION);                    /* inisialisali matriks*/
    glLoadIdentity();/*memanggil matriks identitas dan dijadikan status matriks (proyeksi) saat ini*/
    glOrtho(-40.0, 40.0, -40.0, 40.0, -40.0, 40.0);/*pembuatan kotak untuk menggambar objek*/
}

void display(void)
{

    glClear(GL_COLOR_BUFFER_BIT);/*menghapus window dan memberi warna yang telah kita definisikan sebelumnya
dengan menggunakan glClearColor */

    glRectf(-5.0, 5.0, 5.0, -5.0);/*penggambaran persegi*/
    glutSwapBuffers();/*menukar bagian belakan buffer menjadi buffer layar */
}
void keyboard(unsigned char key, int x, int y)
{
    /* kontrol tombol pada keyboard:
   
      "a": kiri
     
      "d": kanan
      "w": atas
      "s": bawah
   
    */
    switch (key)
    {
    case 'a':
    case 'A':
        glTranslatef(-5.0, 0.0, 0.0);
        break;
    case 'd':
    case 'D':
        glTranslatef(5.0, 0.0, 0.0);
        break;

    case 'w':
    case 'W':
        glTranslatef(0.0, 5.0, 0.0);
        break;
    case 's':
    case 'S':
        glTranslatef(0.0, -5.0, 0.0);
        break;
    }
    display();}
 

Berikut adalah Hasil dari Program ini:  

Gunakan tombol A D W S untuk navigasi