TEKS BERJALAN

SELAMAT DATANG DI BLOG TUBAGUS AJI PERMANA

Sunday, April 2, 2017

Arsitektur Game Engine

NAMA                          : Tubagus Aji Permana
NPM                             : 5A414901
KELAS                         : 3IA22
MATA KULIAH            : Pengantar Teknologi Game
NAMA DOSEN             : Rifki Amalia
PENULISAN                 : 4 (empat)


Pengertian Game Engine (Mesin Game)

          Game Engine adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. 

Fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render ( “renderer”) untuk 2D atau 3D grafis, mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dukungan lokalisasi, dan adegan grafik. Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.

          Engine bukanlah executable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri. Diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program. Pada C++, entry point-nya adalah fungsi ‘main().’ Biasanya program utama ini relatif pendek. 

Game engine adalah program yang ‘memotori’ jalannya suatu program game. Kalau game diilustrasikan sebagai ‘musik’ yang keluar dari mp3 player, maka engine adalah ‘mp3 player’ dan program utama adalah ‘data mp3’ yang dimasukkan ke dalam mp3 player tersebut. Dengan adanya engine, waktu, tenaga dan biaya yang dibutuhkan untuk membuat game software menjadi berkurang secara signifikan.


Tujuan Penggunaan Game Engine

         Game engine menyediakan seperangkat alat pengembangan visual di samping komponen software digunakan kembali. Alat-alat ini umumnya diberikan dalam suatu lingkungan pengembangan terpadu untuk mengaktifkan disederhanakan, perkembangan pesat dari permainan dengan cara data-driven. 

Mesin pengembang Game upaya untuk “pra-menciptakan roda” dengan mengembangkan suite perangkat lunak kuat yang mencakup banyak unsur pengembang game mungkin perlu untuk membangun sebuah permainan. Kebanyakan mesin permainan suite menyediakan fasilitas yang memudahkan pengembangan, seperti grafik, suara, fisika dan fungsi AI. 

           Mesin permainan ini kadang-kadang disebut “middleware” karena, seperti dengan istilah naluri bisnis, mereka menyediakan sebuah platform perangkat lunak yang fleksibel dan dapat digunakan kembali yang menyediakan semua fungsionalitas inti yang dibutuhkan, langsung dari kotak, untuk mengembangkan sebuah aplikasi permainan sambil mengurangi biaya , kompleksitas, dan waktu-ke-pasar-semua faktor penting dalam industri video game yang sangat kompetitif. Gamebryo dan RenderWare adalah seperti program middleware banyak digunakan.

        Beberapa mesin permainan hanya menyediakan 3D real-time rendering kemampuan bukan berbagai fungsi yang dibutuhkan oleh game. Mesin ini mengandalkan pengembang game untuk melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya. 

Jenis mesin umumnya disebut sebagai “mesin grafis,” “mesin render,” atau “mesin 3D” bukan meliputi lebih istilah “mesin permainan.” Terminologi ini tidak konsisten banyak digunakan sebagai fitur lengkap mesin permainan 3D disebut hanya sebagai “mesin 3D.” Beberapa contoh mesin grafis adalah: Crystal Space, Genesis3D, Irrlicht, JMonkey Engine, OGRE, RealmForge, Truevision3D, dan Visi Engine. 

Modern permainan atau mesin grafis umumnya memberikan grafik adegan, yang merupakan representasi berorientasi objek dari dunia permainan 3D yang sering menyederhanakan desain game dan dapat digunakan untuk rendering yang lebih efisien dari dunia maya yang luas.


Arsitektur Game Engine

          Arsitek adalah pelajaran untuk membuat rancangan dari bangunan. Sedangkan arsitektur mesin game adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Dapat dikatakan bahwa arsitektur mesin game itu adalah rancangan dari sistem perangkat lunak dari game itu sendiri.

Tahap awal dari merancang suatu game adalah memilih jenis game yang akan dibuat agar dapat lebih terfokus dalam mengerjakannya. Selanjutnya adalah mendesaian game yang akan dibuat. Setelah kita memiliki desain game, langkah berikutnya adalah mengimplementasikan desain tersebut menjadi source code. Apabila source telah selesai dirancang, maka game tersebut dapat dimainkan dan digunakan sesuai yang diinginkan oleh sang pembuat game. Apakah game tersebut dibuat untuk dikomersilkan atau dikembangkan oleh orang lain.


Beberapa elemen yang terdapat dalam game engine, yaitu:
a) Tools/Data
Pada 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 adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. System adalah bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system seperti graphics, input, sound, timer, configuration. System bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.

c) Console
Console dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console biasa digunakan dalam proses debugging, seperti misalnya apabila game engine tersebut mengalami error maka kita hanya mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart.

d) Support
Support merupakan bagian yang sering digunakan pada system di galam game engine. Support berisikan rumus-rumus matematika yang biasa digunakan, vector, matrix, memory, file loader. Merupakan dasar dari game engine dan hampir digunakan dalam semua project game engine.

e) Renderer/Engine Core
Renderer/engine core 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 merupakan layer antara game engine dan game itu sendiri. Berfungsi sebagai control yang bertuuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.

g) The Game
Game merupakan inti dari penggunaan game engine sendiri, sehingga ini tergantung bagaimana pengguna dalam mengembangkannya.

Sumber :
http://vanillabluse.blogspot.co.id/2016/04/arsitektur-game-engine.html

Design Skenario dan Skrip

NAMA                          : Tubagus Aji Permana
NPM                             : 5A414901
KELAS                         : 3IA22
MATA KULIAH            : Pengantar Teknologi Game
NAMA DOSEN             : Rifki Amalia
PENULISAN                : 3 (tiga)


           Desain atau Design merupakan perencanaan dalam pembuatan sebuah objek, sistem, komponen atau struktur. Desain merupakan sebuah konsep tentang sesuatu. Seorang perancang atau orang yang mendesain sesuatu disebut desainer, namun desainer lebih lekat kaitannya dengan profesional yang bekerja dilingkup desain yang bekerja untuk merancang sesuatu yang menggabungkan atau bereksplorasi dalam hal estetika dan teknologi. 

Penggunaan istilah design atau desain bermula dari gambar teknik arsitektur (gambar potong untuk bangunan) serta di awal perkembangan, istilah desain awalnya masih berbaur dengan seni dan kriya.

          Pada dasarnya seni adalah suatu pola pikir untuk membentuk ekspresi murni yang cenderung fokus pada nilai estetis dan pemaknaan secara privasi. Sedangkan 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 dan lain-lain.

Dalam membuat sebuah desain semua berawal dari minat sang desainer(perancang) untuk memilih menciptakan ilustrasi berupa foto, gambar, tulisan atau biasa di sebut dengan sketsa.

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. 
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, karakteristik game, contoh misi, atau situasi-situasi dalam game dan bisa juga diferensiasi perangkat pengguna atau ada efek-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.

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. 
  1. Script adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam situs yang pada saat di akses.
  2. Jenis script sangat menentukan statis, dinamis, atau interaktifnya sebuah situs
  3. Semakin banyak script yang digunakan maka akan terlihat semakin dinamis, dan interaktif serta terlihat lebih bagus.
  4. Bahasa dasar yang di pakai setiap situs adalah HTM
  5. Macam-macam script, PHP, ASP, JSP, Java Script, Java Applets, VBScript.


Sumber :
1. http://vanillabluse.blogspot.co.id/2016/03/penjelasan-tentang-desain-skenario.htm

Artificial Intelligence, Decision Making, dan Rule Sistem

NAMA                          : Tubagus Aji Permana
NPM                             : 5A414901
KELAS                         : 3IA22
MATA KULIAH            : Pengantar Teknologi Game
NAMA DOSEN             : Rifki Amalia
PENULISAN                : 2 (dua)


Artifical Intelegent (Kecedasan Buatan)


· H. A. Simon [1987] :
“ Kecerdasan buatan (artificial intelligence) merupakan kawasan
penelitian, aplikasi dan instruksi yang terkait dengan pemrograman
komputer untuk melakukan sesuatu hal yang -dalam pandangan manusia adlah cerdas”
· Rich and Knight [1991]:
“Kecerdasan Buatan (AI) merupakan sebuah studi tentang bagaimana
membuat komputer melakukan hal-hal yang pada saat ini dapat
dilakukan lebih baik oleh manusia.”
· Encyclopedia Britannica:
“Kecerdasan Buatan (AI) merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan”
· John McCarthy[1956] :
“AI adalah Untuk mengetahui dan memodelkan proses – proses berpikir manusia dan mendesain mesin agar dapat menirukan perilaku manusia.”

Tujuan dari kecerdasan buatan menurut Winston dan Prendergast[1984]:
  • Membuat mesin menjadi lebih pintar (tujuan utama)
  • Memahami apa itu kecerdasan (tujuan ilmiah)
  • Membuat mesin lebih bermanfaat (tujuan entrepreneurial)
  • Faham Pemikiran
          Secara garis besar, AI terbagi ke dalam dua faham pemikiran yaitu AI Konvensional dan Kecerdasan Komputasional (CI, Computational Intelligence). AI konvensional kebanyakan melibatkan metoda-metoda yang sekarang diklasifiksikan sebagai pembelajaran mesin, yang ditandai dengan formalisme dan analisis statistik. Dikenal juga sebagai AI simbolis, AI logis, AI murni dan AI cara lama (GOFAI, Good Old Fashioned Artificial Intelligence). 

Metode - metode :
  1. Dalam Sistem pakar menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. Sebuah sistem pakar dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut.
  2. Petimbangan berdasar kasus
  3. Jaringan Bayesian
  4. AI berdasar tingkah laku yaitu metoda modular pada pembentukan sistem AI secara manual.
          Kecerdasan komputasional melibatkan pengembangan atau pembelajaran iteratif (misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan AI non-simbolis, AI yang tak teratur dan perhitungan lunak.


Metode-metode pokoknya meliputi :
  1. Jaringan Syaraf yaitu sistem dengan kemampuan pengenalan pola yang sangat kuat.
  2. Sistem Fuzzy: teknik-teknik untuk pertimbangan di bawah ketidakpastian, telah digunakan secara meluas dalam industri modern dan sistem kendali produk konsumen.
  3. Komputasi Evolusioner: menerapkan konsep-konsep yang terinspirasi secara biologis seperti populasi, mutasi dan “survival of the fittest” untuk menghasilkan pemecahan masalah yang lebih baik.
Kecerdasan Buatan dikelompokkan menjadi 4 macam, yaitu :
1. Systems that think like humans.
2. Systems that act like humans.
3. Systems that think rationally.
4. Systems that act rationally.


Decision Making (Pengambilan Keputusan)




          Dalam Kehidupan sehari-hari, kita selalu dihadapi dengan berbagai masalah ataupun pilihan sehingga kita perlu mengambil keputusan yang terbaik untuk menghadapi masalah tersebut. Demikian juga halnya dalam suatu organisasi. 

          Pengambilan Keputusan atau Decision Making merupakan suatu hal yang hampir tidak bisa dihindari. Kegagalan ataupun Keberhasilan suatu Organisasi pada dasarnya sangat tergantung pada Keputusan yang diambil oleh pihak manajemennya.
Tanpa pengambilan keputusan, Fungsi-fungsi dasar Manajemen seperti Perencanaan, Pengorganisasian, Pemimpinan dan Pengendalian tidak akan dapat dilaksanakan.
Menurut Irham Fahmi (2014:233)
Keputusan adalah proses penelusuran masalah yang berawal dari latar belakang masalah, identifikasi masalah hingga kepada terbentuknya kesimpulan atau rekomendasi. Rekomendasi itulah yang selanjutnya dipakai dan digunakan sebagai pedoman basis dalam pengambilan keputusan.
Menurut Sondang P. Siagian
Suatu pendekatan yang sistematis terhadap hakikat alternatif yang dihadapi dan mengambil tindakan yang menurut perhitungan merupakan tindakan yang paling cepat.
Jenis-jenis Pengambilan Keputusan
          Pengambilan keputusan (Decision Making) dan Pemecahan masalah (Problem Solving) merupakan suatu proses yang berkesinambungan (continuous process) untuk menganalisis dan mempertimbangkan berbagai alternatif dalam berbagai kondisi, memilih tindakan-tindakan yang paling tepat dan mengikuti perkembangan penerapan tindakan tersebut hingga masalah yang dihadapinya diselesaikan.

Rule Based System (Sistem Berbasis Aturan)
          Sistem berbasis aturan (Rule Based System) adalah suatu program komputer yang memproses informasi yang terdapat di dalam working memory dengan sekumpulan aturan yang terdapat di dalam basis pengetahuan menggunakan mesin inferensi untuk menghasilkan informasi baru.

Sebuah Rule-Based System dapat dibentuk dengan menggunakan sebuah assertions set, yang secara kolektif membentuk working memory, dan sebuah rule set yang menentukan aksi pada assertions set. RBS secara relatif adalah model sederhana yang bisa diadaptasi ke banyak masalah. Namun, jika ada terlalu banyak peraturan, pemeliharaan sistem akan rumit dan terdapat banyak failure dalam kerjanya.

          Teori sistem berbasis aturan ini menggunakan tekhnik yang sederhana, yang dimulai dengan dasar aturan yang berisi semua pengetahuan dari permasalahan yang dihadapi yang kemudian dikodekan ke dalam aturan IF-THEN dan sebuah tempat penyimpanan (basis data) yang mengandung data, pernyataan dan informasi awal. 

Sistem akan memeriksa semua aturan kondisi (IF) yang menentukan subset, set konflik yang ada. Jika ditemukan, maka sistem akan melakukan kondisi THEN. Perulangan atau looping ini akan terus berlanjut hingga salah satu atau dua kondisi bertemu, jika aturan tidak diketemukan maka sistem tersebut harus keluar dari perulangan (terminate).

Untuk membuat sistem berbasis aturan, anda harus memiliki :
1. Sekumpulan fakta yang mewakili working memory. Ini dapat berupa suatu keadaan yang relevan dengan keadaan awal sistem bekerja.
2. Sekumpulan aturan. Aturan ini mencakup setiap tindakan yang harus diambil dalam ruang lingkup permasalahan yang dibutuhkan.
3. Kondisi yang menentukan bahwa solusi telah ditemukan atau tidak (none exist). Hal ini berguna untuk menghindari looping yang tidak akan pernah berakhir.

          Teori sistem berbasis aturan ini menggunakan tekhnik yang sederhana, yang dimulai dengan dasar aturan yang berisi semua pengetahuan dari permasalahan yang dihadapi yang kemudian dikodekan ke dalam aturan IF-THEN dan sebuah tempat penyimpanan (basis data) yang mengandung data, pernyataan dan informasi awal.

Sistem akan memeriksa semua aturan kondisi (IF) yang menentukan subset, set konflik yang ada. Jika ditemukan, maka sistem akan melakukan kondisi THEN. Perulangan atau looping ini akan terus berlanjut hingga salah satu atau dua kondisi bertemu, jika aturan tidak diketemukan maka sistem tersebut harus keluar dari perulangan (terminate).

Untuk mengelola rules , terdapat 2 pendekatan yaitu :
1. Forward Chaining : dimana rules diproses berdasarkan sejumlah fakta yang ada, dan didapatkan konklusi sesuai dengan fakta-fakta tersebut. Pendekatan forward chaining disebut juga data driven.
2. Backward Chaining : dimana diberikan target (goal), kemudian rulesyang aksinya mengandung goal di-trigger. Backward chaining ini cocok untuk menelusuri fakta yang masih belum lengkap, disebut juga goal driven.


Sumber:
https://aiukswgkelompok11.wordpress.com/definisi-artificial-intelligence/
http://ilmumanajemenindustri.com/pengertian-pengambilan-keputusan-decision-making-jenis-keputusan/
http://technologies-it.blogspot.co.id/2014/06/rule-based-system.html