Senin, 19 Maret 2018

Review Proses Pembuatan Game


Mata Kuliah    : Pengantar Teknologi Game
Nama              : M Prasetyo Nugroho
NPM                : 53415941
Kelas               : 3IA21
Nama Dosen  : Syefani Rahma Deski

Proses Pembuatan pada Game

1.    Scripting

·         Pemilihan Bahasa Pemrograman
Pemrograman suatu game bisa menggunakan berbagai macam jenis bahasa pemrograman. Diantaranya yang terkenal adalah C++, C dan Java.

Proses pembuatan game modern bisa memakan waktu 1-3 tahun untuk menyelesaikannya. Lamanya suatu pengembangan bergantung pada sejumlah faktor, seperti genre, skala, platform pengembangan dan jumlah aset.

Sebagai contoh, sebuah game puzzle yang sederhana dengan menggunakan grafik 2D akan jauh lebih sedikit memakan waktu untuk dikembangkan daripada game role-playing komputer 3D.

Walaupun terdapat banyak sekali pilihan bahasa pemrograman untuk membuat game, namun pada intinya bahasa tersebut harus memenuhi syarat sebagai berikut :

a) Speed

Bahasa scripting untuk game harus mampu berjalan secepat mungkin. Jika kita berniat untuk menggunakan banyak script untuk perilaku karakter dan kejadian di level game, maka script akan perlu untuk mengeksekusi sebagai bagian dari loop game utama. Ini berarti bahwa script yang lambat akan memakan waktu yang kita butuhkan untuk membuat suatu adegan, menjalankan mesin fisika, atau menyiapkan audio.


b) Kompilasi dan Interpretasi (penyusunan dan penafsiran)

Bahasa scripting secara luas diinterpretasikan,melalui susunan serangkaian byte. Penafsiran bahasa diambil melalui format teks. Interpreter melihat setiap baris, penyusunan bekerja sesuai yang maksud dari script, dan melakukan tindakan yang spesifik.

Bahasa byte-terkompilasi dikonversi dari teks ke format internal, yang disebut byte code. Kode byte biasanya jauh lebih padat daripada format teks. Karena kode byte dalam suatu format dioptimalkan ketika dieksekusi, agar dapat berjalan lebih cepat.

c) Ekstensibilitas dan Integrasi

Bahasa scripting perlu memiliki akses ke fungsi yang signifikan ke dalam game. Sebuah script yang mengendalikan karakter, misalnya, harus mampu untuk menanyai game untuk mencari tahu apa yang bisa dilihat dan kemudian membiarkan game tahu apa yang akan dilakukan sebagai aksinya.

Serangkaian fungsi yang dibutuhkan untuk mengakses ini jarang diketahui ketika bahasa scripting telah diimplementasikan atau dipilih. Hal ini penting untuk memiliki sebuah bahasa yang dapat dengan mudah memanggil fungsi-fungsi atau menggunakan kelas main code dalam game. Biasanya, itu adalah penting bagi programmer untuk dapat mengekspos fungsi baru atau kelas yang dengan mudah ketika pembuat script memintanya.

d) Re-Entrancy (ikut serta ulang)

Fungsi ini sering berguna untuk memanggil script menjadi diikutsertakan ulang. Mereka dapat berjalan untuk sementara waktu, dan ketika anggaran waktu telah habis script akan dapat ditunda. Ketika script selanjutnya mendapatkan beberapa waktu kembali, maka akan dapat menjalankan kembali script yang ditunda sebelumnya.

Hal ini sering membantu untuk membiarkan kontrol hasil script saat mencapai jeda normal. Kemudian sebuah algoritma penjadwalan dapat memberikan lebih banyak waktu untuk meminimalisasi penggunaan sumber daya.

Sebuah script untuk mengendalikan sebuah karakter, misalnya, mungkin memiliki lima tahapan yang berbeda (memeriksa situasi, memeriksa kesehatan, menentukan gerakan, rencana rute, dan melaksanakan gerakan). Ini semua dapat dimasukkan dalam satu script yang menghasilkan penyekat antara setiap bagian. Kemudian masing-masing akan berjalan dengan setiap lima frame, dan beban dari eksekusi AI akan didistribusikan.

Re-entrancy yang lebih canggih harus memungkinkan penulis script untuk menandai bagian yang tidak boleh terputus.

·         Embedding (penanaman)
Embedding berhubungan dengan ekstensibilitas. Sebuah bahasa yang tertanam dirancang untuk dimasukkan ke dalam program lain. Ketika kita menjalankan bahasa scripting dari workstation, biasanya akan menjalankan program khusus untuk menafsirkan file source code. Dalam game, sistem scripting perlu dikontrol dari dalam program utama. Game yang menentukan jalannya script harus dijalankan dan harus dapat memberitahu mesin terkait bahasa scripting yang cocok untuk memproses script tersebut.

·         Bahasa Open Source

Banyak bahasa scripting game populer yang dirilis di bawah lisensi open source. Software open-source dirilis di bawah lisensi yang memberikan hak user untuk memasukkannya ke dalam perangkat lunak mereka sendiri tanpa membayar biaya tambahan.

     2.    GRAFIS

bentuk sederhana dari grafik komputer ada 2 yaitu ;


1.            Grafik komputer 2 dimensi biasa disebut dengan 2D atau bidang adalah bentuk dari benda yang memiliki panjang dan lebar. Grafik 2 Dimensi merupakan teknik penggambaran yang berpatokan pada titik koordinat sumbu x (datar) dan sumbu y (tegak). Agar dapat tampil dengan sempurna, gambar yang akan ditampilkan dengan teknik ini harus memiliki nilai koordinat x dan y minimum 0 dan maksimum sebesar resolusi yang digunakan.

2.            Grafik komputer 3 dimensi biasa disebut 3D atau adalah bentuk dari benda yang memiliki panjang, lebar, dan tinggi. Grafik 3 Dimensi merupakan teknik penggambaran yg berpatokan pada titik koordinat sumbu x(datar), sumbu y(tegak), dan sumbu z(miring).Representasi dari data geometrik 3 dimensi sebagai hasil dari pemrosesan dan pemberian efek cahaya terhadap grafika komputer 2D. Tiga Dimensi, biasanya digunakan dalam penanganan grafis. 3D secara umum merujuk pada kemampuan dari sebuah video card (link). Saat ini video card menggunakan variasi dari instruksi-instruksi yang ditanamkan dalam video card itu sendiri (bukan berasal dari software) untuk mencapai hasil grafik yang lebih realistis dalam memainkan game komputer.

2D dan 3D dalam Komputer Grafik



a.       Grafik komputer 2D


Grafik komputer 2D adalah sebuah generasi gambar digital berbasis komputer, yang kebanyakan mengambil objek-objek dua dimensi (2D). Model Grafik 2D merupakan kombinasi dari model geometri (juga disebut sebagai grafik vektor), gambar digital (raster graphics), fungsi matematika, dan sebagainya. Komponen-komponen ini dapat dimodifikasi dan dimanipulasi oleh transformasi geometri dua dimensi, seperti translasi, rotasi, dan dilatasi.

Cara yang paling mudah untuk membuat sebuah gambar 2D kompleks yaitu dimulai dengan sebuah "canvas" kosong yang diisi dengan warna latar tertentu, yang kemudian kita "draw", "paint", atau "paste" suatu warna kedalamnya, dengan urutan-urutan tertentu. Intinya, kanvas tersebut merupakan "frame buffer" atau bayangan dari layar komputer.

Model-model yang digunakan pada disain grafis 2D biasanya tidak mendukung bentuk-bentuk tiga-dimensi, atau fenomena yang bersifat tiga dimensi, seperti pencahayaan, bayangan, pantulan, refraksi, dan sebagainya. Namun demikian, mereka dapat membuat model berlapis-lapis (layer); nyata, translusen, dan transparan, yang dapat ditumpuk dalam urutan tertentu. Urutan tersebut biasanya didefinisikan dengan angka (kedalaman lapisan, atau jarak dari si penglihat).

Banyak antarmuka grafis atau yang kita kenal dengan GUI (Grapical User Interface) yang berbasiskan model grafis 2D. Software-software yang mendukung GUI dapat menciptakan "keadaan visual" dalam berinteraksi dengan komputer, sehingga para pengguna tidak selalu harus melihat tulisan. Grafik 2D juga penting bagi kendali peralatan-peralatan semacam printer, plotter, shredder, dan sebagainya. Mereka juga digunakan pada beberapa video dan games sederhana seperti solitaire, chess, atau mahjong.

b.      Grafik Komputer 3D


Grafik 3D merupakan perkembangan dari grafik 2D. Didalam grafika komputer, 3D merupakan bentuk grafik yang menggunakan representasi data geometri tiga dimensi.
Suatu objek rangka 3D apabila disinari dari arah tertentu akan membentuk bayangan pada permukaan gambar.
Proses pembuatan grafik komputer 3D dapat dibagi ke dalam tiga fase, yaitu 3D modeling yang mendeskripsikan bentuk dari sebuah objek, layout dan animation yang mendeskripsikan gerakan dan tata letak sebuah objek, dan 3D rendering yang memproduksi image dari objek tersebut.

Istilah atau Pengertian Grafik 3D adalah sebuah gambar,garis,lengkungan,dan sebagainya yang memiliki titik-titik yang menghubungkan menjadi sebuah bentuk 3D
Di dalam dunia game, 3D secara umum merujuk pada kemampuan dari sebuah video card (link). Saat ini video card menggunakan variasi dari instruksi-instruksi yang ditanamkan dalam video card itu sendiri (bukan berasal dari software) untuk mencapai hasil grafik yang lebih realistis dalam memainkan game komputer.

Sumber :
http://rikaayuputrik.blogspot.co.id/2016/01/pemodelan-grafis-untuk-game-2d3d.html



Pengantar Teori Game

Mata Kuliah    :   Pengantar Teknologi Game
Nama              :  M Prasetyo Nugroho
NPM                : 53415941
Kelas               : 3IA21
Nama Dosen  : Syefani Rahma Deski

Teori Game

• Teori game adalah studi tentang model matematika yang berkaitan dengan konflik maupun kerja sama antara para pembuat keputusan yang cerdas dan rasional.
• Teori game terkait dengan tindakan yang dilakukan oleh para pengambil keputusan, dan mereka menyadari bahwa pilihan tindakan yang diambil akan mempengaruhi satu sama lain.
Memodelkan Game

• Agar game dapat dimodelkan secara matematis, diperlukan 4 elemen dasar dari sebuah game:
1. Pemain
2. Tindakan
3. Payoff
4. Informasi

        Keempat elemen itu disebut juga Rules of The Game
        Para pemain berusaha memaksimalkan payoff mereka, dengan cara memilih strategi yang tepat berdasarkan informasi yang
mereka miliki
        Keadaan di mana setiap pemain telah menentukan strategi yangoptimal disebut kesetimbangan (equilibrium)
        Dengan mengetahui kesetimbangan dari suatu game, pemodel dapat mengetahui tindakan/strategi apa yang dipilih oleh para pemain yang terlibat, dan juga outcome dari game tersebut.

Manfaat Teori Game

·         Mengembangkan suatu kerangka utnuk pengambilan keputusan dalam situasi persaingan (kerjasama).
·         Menguraikan metode kuantitatif yang sistematik bagi pemain yang terlibat dalam persaingan untuk memilih strategi yang tradisional dalam pencapaian tujuan.
·         Memberi gambaran dan penjelasan phenomena situasi persaingan/konflik seperti tawar menawar danpe rumusan kualisi
Game Engine Processing
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.

Tipe – tipe Game Engine

Game engine biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrogramman. Tapi dalam pembahasan sekarang ini, ketimbang harus me-list semua jenis game engine yang ada di wikipedia, mendingan kita bahas garis besar nya saja.
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.

Beberapa contoh jenis game engine :

1. Freeware game engine/open source game engine.
        Golden T Game Engine (GTGE)
        Axiom Engine
        Allegro Library

2. Commercial engines/game engine berbayar (komersial).
        Alamo
        A.L.I.V.E
        BigWorld
        DXStudio

3. Engine Berbayar Untuk membuat game 3D:
        3D Game Maker
        3D Game Studio
        DarkBASIC

4. Engine Berbayar Untuk membuat game 2D:
        RPG MAKER VX
        RPG MAKER XP
        Game Maker Pro

5. Engine Gratis Untuk membuat game 3D:
        Panda 3D *)
        OGRE *)
        Esenthel for non­commercial

6. Engine Gratis Untuk membuat game 2D:
        RPG MAKER 2000
        RPG MAKER 2003


Sumber :
http://alfanfadhila18.blogspot.co.id/2016/01/apa-itu-game-theory-teori-permainan.html
Pengantar Teori Game, Ahmad Sabri, MSi. Universitas Gunadarma
http://robeanhandy.blogspot.co.id/2013/05/pengertian-game-engine.html