Jumat, 17 Maret 2017

Tugas 1 - Teknologi Game

Sumber Gambar : http://irvan-bloger-sejati.blogspot.co.id/2016/04/sejarah-dan-perkembangan-teknologi-game.html           Game ... thumbnail 1 summary



Sumber Gambar :
http://irvan-bloger-sejati.blogspot.co.id/2016/04/sejarah-dan-perkembangan-teknologi-game.html


          Game ? kalian tahu apa itu, game sesuatu yang sangat digemari oleh anak-anak maupun orang dewasa. Game bisa dikatakan sebuah "hiburan". Ada beberapa permainan(game) yang merujuk pada "kelincahan intelektual"(intellectual playability). kelincahan intelektual, pada tingkat tertentu merupakan ukuran sejauh mana game itu menarik untuk dimainkan secara maksimal.

          Perkembangan game khususnya di komputer dapat dirasakan sangat pesat. para pengelola industri game berpacu untuk menciptakan game yang lebih nyata dan menarik untuk para pemainnya atau penggemarnya. Para industri game pastinya memilih beberapa platform media.

          Aplikasi game dapat dijalankan pada beberapa platform. Beberapa platform media yang bisa dijadikan pilihan untuk advergames adalah :

1. Personal Computer

     Berupa aplikasi games yang dapat dijalankan pada personal computer. Media personal computer ini memiliki durasi waktu yang tidak terbatas, selama games tersebut bagus dan mampu menghibur pemain, maka selama itulah tingkat kemungkinan untuk dilihat pemain akan semakin tinggi.

2. Web Based Games

     Aplikasi games yang diletakkan pada server di internet dimana pemain hanya perlu menggunakan akses internet dan browser untuk mengakses games tersebut. perusahaan yang memiliki keinginan mengumpulkan komunitas internet dan sekaligus memperkenalkan product/brandnya kepada komunitas internet sangat cocok memilih media games Online internet ini. Pilihan ini banyak digunakan karena dapat meningkatkan traffic pada suatu website bila games yang dibutuhkan simple maka diperlukan waktu pengembangan yang relative singkat dari Personal Computer.

3. Smartphone/ PocketPC

     Aplikasi games yang jalan pada mobile device bersistem operasi Windows Mobile 2003/2004 ataupun Windows Mobile 5.0. product yang meiliki target market status ekonomi A, B, dan karakter pengusaha/ eksekutif muda sangat cocok apabila menggunakan media PocketPC/ Smartphone sebagai bagian aktivitas kegiatan advertising.

4. Cellphone/ Mobile Phone

     Aplikasi games untuk cell-phones atau mobile phone dengan golongan status Ekonomi Responden A, B, dan C. Produk yang memiliki target golonga ABG, remaja, anak kuliah, eksekutif muda sangat tepat menggunakan media ini, mengingat pada golonga inilah mereka suka sekali mencoba dan mengeksplorasi feature aplikasi yang tersedia pada mobile mereka.

Sejarah Perkembangan Games

     Generasi game pertama muncul dari ATARI 2600 merupakan konsole game pertama yang sukses dirilis pada Oktober 1977. Setelah sukses pada generasi pertama ATARI tidak menyerah untuk memajukan dunia game elektronik. Pada generasi kedua muncul ATARI 7800 konsol ini dirilis pada juni 1986, ada sedikit kemajuan dengan menambahkan joystik sehingga user dapat lebih mudah memainkannya.

     Setelah itu ada NES (Nintendo Entertaintment System) permainan konsol yang menggunakan 8 bit salah satu contoh game yang compatible dengan NES yaitu super mario bros. semakin berkembangnya teknologi muncul konsol game SEGA MEGA DRIVE ini merupakan generasi ke-3 dari dunia game yang menggunakan 16 bit dan diliris pada tahun 1988.

     Pada generasi ke-4 dari sejarah game produksi semakin menjamur dan berkembang pesat salah satunya lahirnya playstation merupakan game konsole terlaris dan terbaik di Indonesia bakhan di dunia dengan terobosan baru menggunakan 32 bit.

     Generasi ke-5 playstation menakin gencar melakukan produksi yang lebih mutakhir dengan mengeluarkan konsole game PS2. Pada generasi ini sangat banyak sekali saingan PS2, Xbox, Sega Saturn, Dreamcast.

     Generasi sekarang, pada tahun ini sudah banyak sekali konsole game menjamur di dunia PS terus mengembangkan sistemnya dengan mengeluarkan PS3, Xbox juga mengeluarkan XBOX 360, lalu Nintendo juga mengeluarkan WII. Perkembangan game yang kita rasakan dapat dikatakan sangat cepat, bahkan sekarang banyak game yang menggunakan kacamata khusus sehingga user dapat terhisap masuk kedalamnya.

Konsep Dasar Game

     Ada 2 cara yang dapat digunakan dama membuat game, yaitu :

1. Dengan membuat sendiri program yang akan digunakan untuk membuat game.
2. Dengan menggunakan program yang sudah ada.

     Saat ini sudah banyak aplikasi untuk membuat game. diantaranya ada juga yang Freeware(tinggal download dan install). Beberapa aplikasi untuk membuat game adalah:

1. Game Maker
2. RPG Maker (R.M)
3. ASG (Adventure Game Studio)
4. Macromedia Flash (Adobe Flash)
5. 3D Game Studio
dan masih banyak lagi.

Referensi :
https://witanduty.wordpress.com/6/
---------------------------------------------------------------------------------------------------------------------------
BISNIS GAME KOMPUTER 3D

Dengan perkembangan teknologi khususnya dalam bidang Game yang sangat pesat, sekarang banyak penyedia jasa pembuatan game digital karena dimaklumkan saja bahwa permainan jenis digital ini banyak peminatnya. jadi tak heran bila usaha jasa kreativitas ini makin dilirik. Meskipun dengan omset yang tipis, tapi keuntungan bisa maksimal.

Semakin banyak pemilik perangkat elektronik sepreti smartphone dan komputer yang harganya semakin terjangkau mendorong indsutri pendukungnya. Salah satunya adalah industri pengembangan konten permainan, khususnya konten Permainan Digital. Banyaknya kesempatan yang muncul seperti tersedianya jenis-jenis game serta beberapa sistem operasi yang berbeda membuat industri dalam Bisnis Game komputer 3D gencar mengembangkan produk-produknya.

Salah satu pengembang Game digital sekaligus koordinator internasional Came Development Association (ICDA) Indonesia, Samuel Henry, mengatakan prospek bisnis dalam bidang Game digital sangat menjanjikan.

GAME ENGINE

     Secara singkat game engine adalah suatu alat yang tersedia untuk desainer game dalam mengolah kode dan merancang permainan serta menawarkan alat bantu dalam menciptakan aset berdasarkan jenisnya yaitu 2D maupun 3D.  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

Beberapa contoh Game Engine : Unreal Engine 4, AppGameKit 2.0, Unity, Godot, Skyline, PlayCanvas, Wave, UDK, Cry Engine, Torque3D, HeroEngine, Ogre3D, CopperCube, Away3D, Blender, Genesis 3D engine, dan masih banyak lagi.

SCENE GRAPH

     Scene graph adalah struktur data umum yang digunakan oleh aplikasi editing grafis berbasis vektor dan game komputer modern, yang mengatur representasi grafis secara logis. Contoh program antara lain Acrobat 3D, adobe illustrator, AutoCAD, CorelDraw, OpenSceneGraph, OpenSG, VRML97, X3D, Hoops dan Open Inventor.

     Keuntungan yang didapat dari Scene Graphs :
1. Performance = menyediakan kerangka kerja yang sangat baik untuk memaksimalkan kinerja grafis
2. Productivity = melakukan pengolahan grafis untuk mengembangkan aplikasi grafis sehingga mendapatkan kinerja yang tinggi
3. Portability = merangkum tugas-tugas dengan tingkat yang lebih rendah dari rendering grafis, membaca, dan menulis data, mengurangi codingan tertenru dalam platform yang dibutuhkan oleh aplikasi.
4. Scalability = secara dinamis mampu mengolah kompleksitas scene otomatis untuk memperhitungkan perbedaan dalam kinerja grafis di berbagai engine, scene graph juga membuat lebih mudah untuk mengola konfigurasi Hardware yang kompleks.

OGRE3d

     Object Oriented Graphics Rendering Engine (OGRE) merupakan sebuah software/engine 3D yang berorientasi object, fleksibel dengan mesin render 3D yang ditulis dalam bahasa C++ sehingga dirancang untuk membuatnya lebih mudah dan intuitif bagi beveloper untuk menghasilkan aplikasi dengan menggunakan Hardware - accelerated grafis 3D. OGRE tidak dapat menggunakan bahasa C karena dikhususkan untuk pemrograman yang berorientasi object memerlukan IDE seperti CodeBlocks + MinGw.
Processing

     Sebuah batas yang diterapkan pada perbandingan kecinya waktu pengerjaan proses penghitungan dan pengolahan data dalam jumlah besar dari operasi-operasi masukan/keluaran.

Game Maker

     sebuah game engine yang bisa membantu dalam membuat sebuah game komputer tanpa menggunankan codingan yang banyak dengan bahasa program. Dengan game maker seseorang dapat membuat game 2D, 3D, maupun multiplayer dan juga mempunyai hak penuh terhadap game yang dibuat.


sumber : http://tekno.kompas.com/read/2012/10/02/16084725/Manisnya.Bisnis.Game.Digital.di.Indonesia
https://www.slant.co/topics/1495/~3d-game-engines
http://www.openscenegraph.org/index.php/documentation/knowledge-base/36-what-is-a-scene-graph
https://resariski.wordpress.com/2011/03/10/pengenalan-ogre/
http://imyudha.blogspot.co.id/2013/05/game-maker.html
---------------------------------------------------------------------------------------------------------------------------

DESAIN SKENARIO


     Skenario adalah urutan cerita yang disusun oleh seseorang agar suatu peristiwa terjadi sesuai dengan yang diinginkan. Kalau dasar untuk pembuatan film adalah skenario, maka dasar untuk membuat game adalah design document atau lebih mudahnya disebut skenario game. Skenario game adalah langkah awal dalam membuat sebuah game, dengan skenario game dapat mempermudah kita menyelesaikan game yang akan kita buat. Skenario game adalah sebuah cerita khusus yang melatarbelakangi kejadian – kejadian dalam game. Kalau skenario menentukan interior dan eksterior, dekor, pemain, dan studio, serta pembuatan trik, dalam desain dokumen ada ketentuan program game, grafik, tokoh, animasi, suara, dan musik. Sampai di sini keduanya masih paralel. Berbeda dengan skenario yang merupakan sekuens linier dari adegan, turn around point, dialog, dan seterusnya; design documents adalah gabungan dokumen yang mendiskripsikan secara kompleks semua segi game yang direncanakan. 

     Ditambah lagi, berbeda dengan skenario, tidak bisa secara pasti ditentukan, dokumen apa saja yang akan ditemukan dalam design documents, karena itu tergantung pada gaya game yang akan dibuat. Hampir sama seperti pembuatan film dimana penulis skenario pertama-tama menulis tema, kalau ada produser yang berminat, penulis skenario membuat sinopsis, dan setelah mendapat persetujuan produser, baru skenario dibuat, begitu juga prosesnya dalam merencanakan suatu judul game komputer. Temanya dibuat dulu, kemudian konsep dan akhirnya design documents disusun. Gambaran seperti ini adalah kondisi yang ideal, tidak semua pengembang melalui proses ini, walaupun hal itu patut disayangkan. Cukup rumit bukan? Serupa namun tak sama hehe.

          Konsep seharusnya berguna untuk memberikan gambaran garis besar tentang cerita, prinsip-prinsip mekanisme game, dan titik berat untuk gameplay. Karena itu konsep mencakup prinsip-prinsip dasar, gaya game, kerangka peraturan, sinopsis cerita (kalau ada cerita), karakteristik game, contoh misi, atau situasi-situasi dalam game dan bisa juga diferensiasi perangkat pengguna atau ada eek-efek khusus serta akhirnya unsur-unsur spesifik yang menjadi andalan pencipta. Dalam penutup sinopsis seharusnya dicantumkan daftar unsur yang unik dan orisinil serta faktor-faktor yang bisa dijadikan daya jual tinggi bagi judul tersebut. Konsepnya biasanya ditulis setebal 5-10 halaman. Kalau konsep sudah diterima, artinya sudah disetujui produser, dinilai positif oleh tim dan sebagainya, desainer game mulai menulis dengan documents. 

           Dokumen ini tidak baku, selama pengembangan bisa dimodifikasi atau diperbarui. Itu tidak berarti bahwa design document tidak perlu dibuat lengkap dan serius. Seperti dalam kalimat pembuka, semuanya perlu dipertimbangkan dan direncanakan dengan teliti, kalau tidak, pekerjaan tim bisa mengalami banyak masalah. Apasaja yang tidak direncanakan dengan baik akan menyebabkan kerugian waktu dan biaya dalam pelaksanaan proyek. Tentu saja tidak segalanya bisa direncanakan sebelumnya, tetapi menurut teori 80/20, sekitar 80% pekerjaan bisa berjalan sesuai rencana. 

          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. Setelah membaca design document, anda seharusnya memiliki gambaran lengkap tentang produk akhir. Salah satu dokumen biasanya menjelaskan mekanisme game. Sebagai bagiannya, misalkan untuk RPG dan strategi, adalah peraturan yang menentukan dan mendiskripsi tipe objek dalam game berikut karakteristik serta hubungan interaktifnya. 

           Bagian lain membahas penerapan hukum fisika dalam dunia game dalam arti luas, misalkan kekuatan alam yang dapat diterapkan dan bagaimana reaksi objek-objek dalam game. Ada deskripsi lokasi secara lisan maupun dalam sketsa, skenario cerita, bisa disebutkan diferensiasi perangkat pengguna. Dan sebaiknya ada daftar monster (untuk RPG fantasi) atau daftar pasukan (untuk strategi). 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

     Dalam pemrograman komputer, naskah adalah sebuah program atau urutan instruksi yang ditafsirkan atau dilakukan dengan program lain daripada oleh komputer prossesor. Skrip (script) adalah semacam bahasa pemrograman dalam tingkat kesulitan yang lebih rendah, tanpa aplikasi hasil kompilasi interpreter; skrip biasanya disisipkan ke dalam bahasa pemrograman yang lebih kompleks dan hasil skrip digunakan oleh bahasa pemrograman yang lebih kompleks itu. 

         Contohnya ialah penyisipan skrip assembly ke dalam program Pascal untuk mengakses hardware pada level bahasa tingkat rendah. Skrip merupakan kumpulan sintaks bahasa pemrograman yang siap untuk di-compile. Untuk mengetahui tentang script, disini ada sedikit rangkuman tentang script :
  • Script adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam situs yang pada saat di akses.
  • Jenis script sangat menentukan statis, dinamis, atau interaktifnya sebuah situs
  • Semakin banyak script yang digunakan maka akan terlihat semakin dinamis, dan interaktif serta terlihat lebih bagus.
  • Bahasa dasar yang di pakai setiap situs adalah HTM
  • Macam-macam script, PHP, ASP, JSP, Java Script, Java Applets, VBScript.
STORYBOARD

     Visualisasi ide dari aplikasi yang akan dibangun, sehingga dapat memberikan gambaran dari aplikasi yang akan dihasilkan. Storyboard dapat dikatakan juga visual script yang akan dijadikan outline dari sebuah proyek, ditampilkan shot by shot yang biasa disebut dengan istilah scene. Storyboard sekarang lebih banyak digunakan untuk membuat kerangka pembuatan website dan proyek media interaktif lainnya seperti iklan, film pendek, games, media pembelajaran interaktif ketika dalam tahap perancangan /desain.

     Banyak keuntungan yang dapat diperoleh dengan menggunakan storyboard. Salah satu keuntungan menggunakan Storyboard adalah dapat membuat pengguna untuk mengalami perubahan dalam alur cerita untuk memicu reaksi atau ketertarikan yang lebih dalam. Kilas balik, secara cepat menjadi hasil dari pengaturan Storyboard secara kronologis untuk membangun rasa penasaran dan ketertarikan.


     Storyboard pada Game

         Storyboard pada Game sedikit berbeda dari storyboard animasi, dimana pada storyboard game terdapat goal / mission yang akan dibuat pada game itu sendiri. Kemudian storyboard pada game menjelakaskan tentang alur permaianan itu sendiri seperti apa tergantung dari jenis game.  misalkan game ber-genre arcade tidak memiliki alur cerita namun game terebut menitik beratkan pada perolehan point. Jadi storyboard yang dibuat yaitu bagaimana pemain mendapat nilai / point setinggi mungkin.

      Storyboard pada Aminasi 

         Storyboard pada animasi ialah untuk menjelaskan tentang alur narasi dari sebuah cerita, atau storyboard pada animasi sebagai acuan agar animator  dalam membuat animasi tidak melenceng dari yang dibuat pada storyboard. Sebenarnya fungsi dari storyboard itu sama, namun yang berbeda hanya media yang diperuntukkan dari storyboard itu sendiri, contoh storyboard pada game atau storyboard pada iklan.

Referensi :
http://vanillabluse.blogspot.co.id/2016/03/penjelasan-tentang-desain-skenario.html
http://ragadimas.blogspot.co.id/2016/03/desain-skenario-script-dan-storyboard.html
---------------------------------------------------------------------------------------------------------------------------

Artificial Intelligence pada game


sumber video : https://www.youtube.com/watch?v=UKHSH8i-DIA

     Dalam Video Game, kecerdasan buatan digunakan untuk membuat perilaku cerdas yang biasanya terletak pada non-player characters ( NPCs), dan seringnya mensimulasikan seperti kecerdasan manusia. Teknik yang digunakan biasanya menggambarkan metode keseluruhan dari kecerdasan buatan. Bagaimanapun, penggunaan kecerdasan buatan pada game biasanya merujuk pada sekumpulan algoritma yang didalamnya termasuk teknik dari teori kontrol,robotik, grafis komputer,dan pengetahuan komputer secara umum.

     Karena kecerdasan buatan pada game untuk NPCs dipusatkan pada penunjukkan kecerdasan dan menampilkan game dengan baik dan terdapat batasan lingkungan, pendekatannya sangat berbeda dengan kecerdasan buatan tradisional; cara curang dan usaha ekstra dapat diterima dan, pada beberapa kasus, kemampuan komputer harus diturunkan untuk membuat manusia merasa adil. Contohnya adalah pada game first-person shooter, dimana kemampuan NPC yang telah didesain mampu melebihi kemampuan manusia.

Kegunaan AI Pada Game Modern

     Kecerdasan buatan pada game atau algoritma heuristic digunakan di banyak bentuk dan area pada sebuah game. Contoh yang sangat jelas adalah dalam mengontrol dari NPC pada game, walaupun penggunaan script/kode saat ini merupakan pengontrol yang umum. Pencarian jalur merupakan contoh lain kecerdasan buatan  yang umum digunakan, dan secara luas dapat dilihat pada game real-time strategy. Pencarian jalur merupakan metode untuk menentukan lewat manakah NPC untuk ke tempat tujuan, atau menghindari halangan – halangan, dan bentuk – bentuk daratan. Diatas pencarian jalur terdapat navigasi, yang merupakan sub bagian dari kecerdasan buatan pada game yang berfokus pada memberikan NPC kemampuan untuk menavigasi di lingkungan mereka, menemukan jalur untuk sebuah tujuan dengan menghindari tabrakan dengan entitas lainnya ( NPC lainnya, player, dsb) atau berkolaboriasi dengan mereka ( group navigation).

Penggunaan kecerdasan buatan pada game diluar NPC

     Georgios N. Yannakakis menyarankan bahwa akademi pengembangan kecerdasan buatan dapat memainkan sebuah peran di dalam game dengan kecerdasan buatan melebihi dari paradigma kecerdasan buatan hanyalah pengontrol perilaku NPC. Dia menegaskan empat potensi lainnya untuk diaplikasikan dalam area:
  1. Player-experience modelling: memahami kemampuan dan kondisi emosional pemain, agar menyesuaikan game dengan benar. Hal ini dapat termasuk penyeimbangan tingkat kesulitan game secara dinamis, yang terdiri dari penyesuaian tingkat kesulitan dari game tersebut secara langsung sesuai dengan kemampuan pemain.
  2. Procedural-content generation: membuat elemen dari sebuah lingkungan game seperti kondisi lingkungan, tingkatan, dan bahkan music dengan secara otomatis. Metode kecerdasan buatan dapat menghasilkan konten baru atau cerita yang interaktif.
  3. Data mining on user behavior: hal ini mengizinkan desainer game untuk mengeksplor bagaimana manusia memainkan permainannya, bagian mana yang paling sering dimainkan, dan apa yang menyebabkan mereka untuk berhenti bermain, mengizinkan developer untuk mengembangkan game tersebut.
  4. Alternate approaches to NPCs: hal ini termasuk berubahnya tampilan game untuk menambah kepercayaan NPC dan mengeksplor ke lingkungan social daripada hanya menjadi NPC atau hanya memiliki perilaku NPC.

Referensi :
https://freemanof.wordpress.com/tugas/artificial-intelligence-pada-game/
http://dunotifkejora.blogspot.co.id/2016/04/kecerdasan-buatan-ai-pada-game.html
---------------------------------------------------------------------------------------------------------------------------

ARSITEKTUR GAME ENGINE

    
Arsitektur game engine adalah sistem perangkat lunak yang dirancang untuk menciptakan dan mengembangkan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi dekstop seperti Microsoft Windows, Linux, dan Mac Os.

Tahap-tahap awal pembuatan game :
1
Tuangkan Logika permainan anda ke dalam rendering (view)
Konsep
Hal pertama yang harus dilakukan adalah memisahkan render dari logika. Logika permainan tidak mengenal rendering, sehingga pada logika tidak peduli apakah nantinya akan ditampilkan dalam 2D, 3D seni, ASCII atau apapun. Namun rendering tergantung pada logika, karena itu perlu info tentang cara/dimana untuk menampilkan segala logika kita. Gambar berikut menunjukkan 2 modul dengan dependensi. Rendering yang terjadi di dalam modul "View".



Contoh:
Kita akan membuat kelas RaceCarView pada objek RaceCar. RaceCar menangani logika dan input pengguna tetapi tidak tahu tentang cara menampilkannya, dan RaceCarView menampilkan mobil balap pada layar, dengan menggunakan informasi dari raceCar.

2.  Tuangkan logika permainan anda ke dalam model dan controller

Konsep
Hal kedua yang bisa kita lakukan adalah menuangkan logika menjadi model dan controller. Model ini pada dasarnya adalah dunia permainannya. Ia akan mengetahui apa-apa tentang cara menampilkan, input pengguna, dll. Model hanya mengimplementasikan aturan dunia permainan anda, dan bagaimana entitas berinteraksi satu sama lain. Controller tau tentang model dan dapat memanipulasinya. Misalnya controller memeriksa input pengguna, dan memanipulasi mobil yang sesuai. Controller perlu untuk kode rendering saat menggunakan input mouse untuk memanipulasi objek di layar.




Contoh:
Dalam contoh balapan mobil (RaceCar), ketika ada input dari pengguna pertama yang akan menangani adalah RaceCarController. Ketika pengguna menekan tombol kiri, Controller melihat ini dan akan menangani model RaceCar, steer left(). Model ini kemudian menangani aturan dari dunia mobil untuk melakukan manuver ke kiri.

Jadi, kita membagi ke 3 modul berbeda, yaitu: model, view, dan controller.
1. Model

Semua aturan dunia permainan diimplementasikan dalam model, dan juga berisi data negara atau level dari setiap objek permainan atau entitas. Ini adalah simulasi permainan dari dunia nyata, sehingga model tidak tahu apa-apa tentang input pengguna atau menampilkan ke layar.
2. View

Rendering ke layar ditangani oleh view. View menggunakan model untuk tahu di mana saja si view harus menampilkan sesuatu. View tidak memiliki fungsi lain selain untuk menampilkan saja.
3. Controller

Controller menangani user input dan memanipulasi model. Pertama memeriksa input pengguna, selanjutnya Controller mungkin bisa meminta View untuk menampilkan objek ke layar saat mouse di klik, dan akhirnya memanipulasi data pada model. Beberapa COntroller dapat diterapkan bersamaan, misalnya keyboard controller, controller joypad, dan bahkan controller 'bot' AI.

Disini, model berdiri sendiri dan tidak perlu tahu apa-apa tentang yang lain (Controller dan View). View hanya bergantung pada model untuk membuat segala sesuatu di layar Controller menerima input, dapat memperoleh informasi tambahan dengan memanggil View, dan pada akhirnya memanipulasi Model.

Keuntungan dari arsitektur ini:
-  Desain yang bagus, karena menggunakan modul-modul
-  Dunia permainannya dibundel dalam model
-  Perubahan render tidak mempengaruhi permainan inti
-  mendukung input Controller yang berbeda, user/bot



Game engine juga sering disebut juga “Game Middleware”. Game Middleware adalah software yang didalamnya sudah terdapat elemen-elemen yang dibutuhkan oleh seorang game developer, kebanyakan dari game middleware memberikan fasilitas guna menunjang pengembangan game dengan mudah seperti graphics, sound dan Artificial intelligence.

Beberapa elemen yang ada di dalam game engine adalah :
a.       Tools/Data
Dalam pengembangan game, dibutuhkan data yang tidak semudah menuliskan text files. Dalam pengembangan game, paling tidak dibutuhkan beberapa tools seperti 3d model editor, level editor dan graphics programs. Bahkan jika diperlukan, seringkali kita mengembangkan game engine tersebut dengan menambahkan beberapa code dan fitur yang diperlukan.

b.      System
System sendiri adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. Jika game engine sudah dibuat dengan baik maka system ini adalah satu-satunya bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system yaitu graphics, input, sound, timer, configuration. System sendiri bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.

c.       Console
Dengan menambahkan console, kita dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console sendiri lebih sering digunakan dalam proses debugging. Apabila game engine tersebut mengalami error kita tinggal mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart. Console sendiri dapat dihidupkan dan dimatikan sesuai keinginan.

d.      Support
Support adalah bagian yang paling sering digunakan oleh system di dalam game engine. Support sendiri berisi rumus-rumus matematika yang biasa digunakan, vector, matrix, memory manager, file loader. Merupakan dasar dari game engine dan hampir digunakan semua projek game engine.

e.      Renderer/Engine Core
Pada game engine, engine core / renderer terdiri dari beberapa sub yaitu visibility, Collision Detection dan Response, Camera, Static Geometry, Dynamic Geometry, Particle Systems, Billboarding, Meshes, Skybox, Lighting, Fogging, Vertex Shading, dan Output.

f.        Game Interface
Game interface sendiri merupakan layer diantara game engine dan game itu sendiri. Berfungsi sebagai control yang bertujuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.

g.       The Game
Merupakan inti dari penggunaan game engine sendiri, sehingga terserah kita bagaimana mengembangkan game tersebut

Referensi :

https://raflyjuninton93.wordpress.com/2015/05/06/arsitektur-game-engine/
http://nastasyia.blogspot.co.id/2016/04/arsitektur-game-engine.html










Tidak ada komentar

Posting Komentar