Jumat, 31 Maret 2017

Tugas Pertama Pengantar Teknologi Game IV

IV. Arsitektur Perangkat Lunak Game (Game Enggine)


Game engine adalah perangkat lunak yang dirancang untuk membuat dan mengembangkan video game. Fungsi utama yang diberikan oleh game engine meliputi rendering untuk 2D atau 3D graphic, collision detection, sound, scripting, animasi, artificial intelligence, networking, memory management, threading dan scene graph.
Game engines memberikan perangkat untuk visual development dengan tambahan komponen perangkat lunak yang dapat dipakai berulang kali. Perangkat ini pada umumnya memberikan integrated development environment yang dapat mempermudah, serta mempercepat pengembangan game.

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.

Beberapa Contoh Game Engine Open Source :
  1. 3Dgame Studio
  2. Delta 3D
  3. UnrealEngine
  4. Panda3D
  5. Torque
  6. Quake 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.

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

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, kita sudah bisa merilis game point-and-click. Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara.




Sumber :

http://dinandwinanto.blogspot.co.id/2016/03/tugas-1-pengantar-teknologi-game.html
https://rejekidr.wordpress.com/tag/pengertian-ogre/
http://catatan-mashuri.blogspot.co.id/2012/03/pengertian-game-maker.html
http://komputer123456.blogspot.co.id/2015/04/arsitektur-game-engine.html


http://www.ogre3d.org.

Tugas Pertama Pengantar Teknologi Game III

III. Artificial Intelligent pada Game


“Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang -dalam pandangan manusia adalah- cerdas” (H. A. Simon [1987] ).
Perkembangan game saat ini tidak lepas dari kecerdasan buatan (artificiall intelligence). Kecerdasan buatan merupakan salah satu bagian dari ilmu komputer yang membuat mesin (komputer) dapat melakukan pekerjaan seperti manusia dan komputer dimungkinkan untuk dapat berfikir.

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-metodenya meliputi:
  1. 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: 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: 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.
Tujuan Kecerdasan Buatan :
  1. Membuat komputer lebih cerdas
  2. Membuat mesin lebih berguna

Decision Making


Decision Making adalah serangkaian algoritma yang dirancang dengan memasukan beberapa kemungkinan langkah yang bisa diambil oleh suatu aplikasi, Pada game ini decision making memberikan kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil. Decision making dilakukan dengan cara menentukan satu pilihan dari list yang sudah dibuat pada algoritma yang dirancang. Algoritma decision making kerap digunakan dalam aplikasi game, akan tetapi algoritma decision making dapat diimplementasikan pada banyak aplikasi lain.

Decision Making terbagi menjadi 3 :

1.  Decision Tree
     Pohon Keputusan (Decision Tree) merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan aturan.
2.  State Machine
     Finite State Machines (FSM) adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi).
3.  Rule System
     Rule Based System merupakan metode pengambilan keputusan berdasarkan pada aturan-aturan tertentu yang telah ditetapkan.

Algoritma PathFinding


Algoritma yang digunakan untuk pencarian jalur. Algoritma ini dapat digunakan untuk mencapai tempat tujuan dari tempat awal. Salah satu algoritma path finding adalah algoritma A*.
Waypoint adalah titik acuan / kumpulan koordinat yang digunakan untuk keperluan navigasi untuk mengidentifikasi sebuah titik di peta. (Wikipedia).
Pencarian jalur merupakan salah satu implementasi kecerdasan buatan dalam permainan. Pencarian jalur terpendek merupakan hal yang mempengaruhi pergerakan dan pengambilan keputusan pada non-player character. Namun, jalur terpendek belum tentu dan tidak selalu menjadi jalur paling aman. Dalam permainan berbasis militer, karakter dituntut untuk bergerak secara taktis dalam menghadapi ancaman. Agen yang bergerak secara taktis dalam pencarian jalur tidak hanya mencari jalur terpendek, namun harus mempertimbangkan ancaman karena pertimbangan hit points, demi meningkatkan kesan nyata pada permainan.
Tactical Pathfinding merupakan salah satu algoritma pencarian jalur yang dapat melakukan pencarian jalur terpendek dengan perhitungan bobot ancaman. Implementasi algoritma tactical pathfinding dapat memberikan gerakan taktis pada non-player character. Algoritma tactical pathfinding dilakukan berdasarkan algoritma pencarian jalur berdasarkan A* ditambah perhitungan bobot.
Implementasi algoritma dilakukan dengan melakukan simulasi pada peta permainan 3D berbasis navigation mesh. Representasi peta permainan 3D menggunakan navigation mesh karena dalam beberapa tahun terakhir, navigation mesh menjadi pilihan utama.


Sumber :

http://dinandwinanto.blogspot.co.id/2016/03/tugas-1-pengantar-teknologi-game.html
http://www.processing.org.
http://www.yoyogame.com

http://moekyuun.blogspot.co.id/2015/04/story-board-game-komputer.html

Tugas Pertama Pengantar Teknologi Game II

II. Disain Skenario, Script , dan Storyboard Game Komputer

Desain Skenario


Terdiri dari dua kata yaitu Desain dan Skenario dimana arti kata Desain bisa diartikan sebagai sebuah rancangan dari apa yang akan dibuat dan Skenario yang dapat diartikan sebagai penyampaian cerita atau gagasan. Sehingga dapat kita artikan Disain Skenario adalah sebuah rancangan yang mewakili sebuah cerita/gagasan/alur dalam suatu game.
Skrip

merupakan bahasa pemrograman yang menyediakan fasilitas penerjemahan serta kompilasi kode dalam satu rangkaian proses secara integratif sehingga memungkinkan kode dibuat dapat langsung dijalankan sebagai program secara dinamis. Skrip atau kode program yang akan dijalankan umumnya akan diterjemahkan terlebih dulu dari kode sumber ke dalam P-Code, sebagai tambahan, beberapa bahasa skrip bahkan telah menyediakan kompiler JIT terintegrasi yang akan mengevaluasi serta menerjemahkan bagian-bagian kritis atas P-Code tersebut menjadi kode mesin sehingga menghasilkan eksekusi proses yang lebih cepat hingga secara relatif bisa menandingi program yang ditulis dengan menggunakan bahasa pemrograman kompilatif seperti C.

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.


Sumber :

http://dinandwinanto.blogspot.co.id/2016/03/tugas-1-pengantar-teknologi-game.html
https://aswendy.wordpress.com/2015/04/23/artificial-intelligent-pada-game-decision-making/
https://docs.google.com/viewer?url=http%3A%2F%2Feprints.binus.ac.id%2F7978%2F1%2FLBM04-120-abstrak.pdf

https://aswendy.wordpress.com/2015/04/23/artificial-intelligent-pada-game-decision-making/

Tugas Pertama Pengantar Teknologi Game I

I. Teknologi Game, Bisnis dalam Game Komputer, 3D Engine dan Scene Graph

Teknologi Game

Pada umumnya, game merupakan permainan yang menggunakan interaksi antara manusia dan komputer  dengan perantara interface melalui gambar yang dihasilkan oleh piranti video.
Teknologi Game adalah sebuah sarana (teknologi) yang dibutuhkan dan diperlukan dalam memainkan sebuah permaian bahkan dalam pembuatan sebuah permainan yang menggunakan komputer.

Bisnis dalam Game Komputer

Di era teknologi canggih saat ini, perkembangan game sekarang sangat pesat sehingga tidak salah game dapat masuk kedalam dunia bisnis, bahkan bisa menjadi bisnis yang menjanjikan. Para development game berlomba-lomba membuat game yang menarik untuk para pecinta game sehingga membuat game mereka terkenal.
Beberapa game yang dibuat oleh development game membuat game mereka secara berbayar, diantaranya gamer dapat membeli sebuah item dalam game tersebut menggunakan voucher berbayar (payment) contohnya adalah Dota 2 adalah sebuah permainan multiplayer online battle arena yang dikembangkan oleh Valve Corporation.
Cara lain, gamer membutuhkan key/license untuk memainkan game tersebut. Contoh gamenya adalah CSGO (Counter Strike: Global Offensive) yang dikembangkan oleh Valve Corporation dan Hidden Path Entertainment. Untuk memainkan game CSGO kita harus membeli license game tersebut sebesar Rp.115.999,- yang dapat dibeli di Steam Store.

Bisnis game yang sangat berkembang saat ini yaitu :
  1. Game Computer, yaitu permainan yang dimainkan di Personal Computer (PC) atau Laptop.
  2. Game Handphone/Smartphone, yaitu permainan yang dimainkan di Handphone / Smartphone (Mobile).
  3. Game Portable, yang dimainkan melalui suatu alat tertentu seperti misalnya Playstation, Nintendo, dan lain sebagainya.
3D Engine dan Scene Graph

3D Engine menurut saya merupakan suatu mesin / alat yang menyediakan fasilitas real time 3D rendering dalam sebuah game. Sedangkan Scene Graph merupakan sebuah adegan grafik yang biasa digunakan oleh aplikasi grafis editing berbasis vektor dan permainan komputer modern.
Beberapa contoh mesin untuk membuat suatu desain grafik dalam sebuah game antara lain : Ogre3D, Processing, GameMaker, Unity3D, Acrobat 3D, Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, OpenSG, VRML 97, X3D, Hoops, Open Inventor dan masih banyak lagi

Beberapa contoh aplikasi untuk membuat game 3D :
  1. Ogre (Object-Oriented Graphics Rendering Engine)

adalah sebuah adegan yang berorientasi, fleksibel mesin render 3D (sebagai lawan dari mesin permainan) ditulis dalam C + + dirancang untuk membuatnya lebih mudah dan intuitif bagi developer untuk menghasilkan aplikasi dengan menggunakan hardware-accelerated grafis 3D.

  1.  Processing

Merupakan bahasa pemrograman dan lingkungan pemrograman (development environment) open source untuk memprogram gambar, animasi dan interaksi. Digunakan oleh pelajar, seniman, desainer, peneliti, dan hobbyist untuk belajar, membuat prototipe, dan produksi. Processing digunakan untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks rupa dan berfungsi sebagai buku sketsa perangkat lunak (software) dan tool produksi profesional. Processing adalah suatu projek terbuka yang diinisiasi oleh Ben Fray dan Casey Reas. Berkembang dari ide-ide yang dieksplorasi di Aesthetics and Computation Group (ACG) di MIT Media Lab.

  1. Game Maker

Merupakan  software yang bisa membantu anda menjadi pengembang game komputer tanpa menggunakan coding sedikitpun. Bahkan anda bisa membuat game 3 Dimensi dan MultiPlayer jika anda mau. Anda mempunyai hak penuh dari software (game) yang anda buat termasuk menjual game tersebut !!!. Jika masih kurang anda bahkan bisa mendownload musik, efek suara, gambar, script, background dsb.

  1. Unity 3D

Merupakan  sebuah game engine yang berbasis cross-platform. Unity dapat digunakan untuk membuat sebuah game yang bisa digunakan pada perangkat komputer, ponsel pintar android, iPhone, PS3, dan bahkan X-BOX.
Unity adalah sebuah sebuah tool yang terintegrasi untuk membuat game, arsitektur bangunan dan simulasi. Unity bisa untuk games PC dan games Online. Untuk games Online diperlukan sebuah plugin, yaitu Unity Web Player, sama halnya dengan Flash Player pada Browser.



Sumber :
http://dinandwinanto.blogspot.co.id/2016/03/tugas-1-pengantar-teknologi-game.html
https://images.google.com/
https://id.wikipedia.org
http://store.steampowered.com/