Nama : Ery Rivaldi
1. Game
sequntial dan simultan
3. Game
dengan informasi lengkap dan tidak lengkap
NPM : 53414655
Kelas : 3IA22
1.
Elemen dasar 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 kemampuan mereka,
dengan cara memilih strategi yang tepat berdasarkan informasi yang mereka
miliki. Keadaan di mana setiap pemain telah menentukan strategi yang optimal
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. Setiap
pemain mungkin memiliki lebih dari satu strategi yang dapat digunakan untuk
memenangkan permainan dan akan memilih strategi mana yang paling tepat untuk
jenis permainan yang dimainkannya.
2.
Pengertian rules
of the game
Rules,
Di dalam sebuah game, harus terdapat perjanjian atau peraturan yang tidak dapat
dirubah atau dipengaruhi oleh pemain. Oleh karena itu, dalam memainkan suatu
game, pemain harus patuh dan bermain sesuai aturan yang berlaku.
3.
Strategi pada
payoff disetiap game
Pada rules of
the game Para pemain berusaha
memaksimalkan payoff mereka, dengan cara
memilih strategi yang tepat berdasarkaninformasi yang mereka
miliki. Pay-off adalah hasil akhir yang terjadi pada akhir
permainan berkenaan dengan ganjaran ini, permainan digolongkan menjadi 2 macam
kategori, yaitu permainan jumlah-nol (zero-sum games) dan permainan
jumlah-bukan-nol (non-zero-sum games). permainan jumlah-nol terjadi jika
jumlah ganjaran dari seluruh pemain adalah nol, yaitu dengan memperhitungkan
setiap keuntungan sebagai bilangan positif dan setiap kerugian sebagai bilangan
negatif. Selain dari itu adalah permainan jumlah – bukan-nol. Dalam permainan
jumlah-nol setiap kemenangan bagi suatu pihak pemain merupakan kekalahan bagi
pihak pemain lain. letak arti penting dari perbedaan kedua kategori permainan
berdasarkan ganjaran ini adalah bahwa permainan jumlah-nol adalah suatu sistem yang
tertutup. Sedangkan permainan jumlah-bukan-nol tidak demikian halnya. Hampir
semua permainan pada dasarnya merupakan permainan jumlah-nol. Berbagai situasi
dapat dianalisis sebagai permainan jumlah-nol.
4.
Unsur-unsur Game
Theory
Ada beberapa unsur atau konsep dasar yang sangat penting
dalam penyelesaian setiap kasus dengan teori permainan. Berikut penjelassan
selengkapnya :
- Jumlah Pemain
- Ganjaran/Pay-off
- Strategi Permainan
- Matriks Permainan
- Titik Pelana (Saddle Poin)
5.
Strategi
murni(pure strategy) dengan prinsip maximin dan minimax
Prinsip maximin dan minimax
- Jika maximin = minimax, maka game memiliki sebuah saddle point ; dan game dikatakan setimbang (memiliki kesetimbangan / equilibrium).
- Dalam hal ini, saddle point = (1,y), dan value of game = 4.
- Jika A dan B mengikuti prinsip maximin dan minimax, maka game akan mencapai kesetimbangan, di mana A memilih strategi 1, dan B memilih strategi y.
6.
Binding commitmen
pada game
Game
kooperatif adalah suatu game yang pemainnya dapat mengadakan komitmen yang saling
mengikat (binding commitment) para pemain membuat komitmen yang mengikat
(binding commitment) untuk meningkatkan outcome mereka.. Hal demikian tidak
terjadi pada game nonkooperatif. Jika komitmennya tidak mengikat, game tidak
dapat bersifat kooperatif, karena para pemain mungkin akan melanggar komitmen
tersebut untuk kepentingan dirinya.
7.
Pengambil
keputusan pada teori game catur dan sepakbola
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. justru lebih memerlukan keahlian berpikir dan
memutuskan setiap gerakan secara hati-hati dan terencana. Video game strategi
biasanya memberikan pemain atas kendali tidak hanya satu orang tapi minimal
sekelompok orang dengan berbagai jenis tipe kemampuan, sampai kendaraan, bahkan
hingga pembangunan berbagai bangunan, pabrik dan pusal pelatihan tempur,
tergantung dari tema ceritanya. Pemain game strategi melihat dari sudut pandang
lebih meluas dan lebih kedepan dengan waktu permainan yang biasanya lebih lama
dan santai dibandingkan game action.
8.
elaskan pengertian
game dibawah ini :
·
Game sekuensial: pemain melakukan tindakan
secara bergantian. Pemain berikutnya mengetahui (mungkin secara tidak utuh)
tindakan yang diambil oleh pemain sebelumnya.
·
Game simultan: pemain melakukan tindakan
secara bersamaan. Pada saat mengambil tindakan, pemain yang terlibat tidak
mengetahui tindakan yang dipilih oleh pemain lainnya. Dalam hal ini, jeda waktu
pengambilan tindakan antara sesama pemain tidak berpengaruh terhadap pilihan yang
diambil oleh pemain ybs.
2. Game
dengan informasi sempurna dan tidak sempurna
·
Game dengan informasi sempurna: pemain
mengetahui dengan pasti tindakan yang diambil oleh lawannya, sebelum ia memilih
tindakan -> asumsi ini hanya dapat dipenuhi oleh game sekuensial.
·
Game dengan informasi tidak sempurna:
pemain tidak mengetahui tindakan yang dipilih lawannya sebelum permainan
berakhir.
·
Game dengan informasi lengkap (bedakan
dengan sempurna): pemain mengetahui payoff lawannya
·
Game dengan informasi tidak lengkap:
pemain tidak memiliki informasi lengkap tentang payoff lawannya.
4. Game
kooperatif dan non kooperatif
·
Game kooperatif: para pemain membuat
komitmen yang mengikat (binding commitment) untuk meningkatkan outcome mereka.
·
Game nonkooperatif: para pemain tidak
membuat komitmen yang mengikat.
5. Zero-sum
game dan nonzero-sum game
·
Zero-sum game: jumlah payoff dari setiap
pemain sama dengan nol. Untuk game dengan 2 pemain, besar keuntungan di satu
pihak sama dengan besar kerugian di pihak lain.
·
Non-zero-sum game: tidak demikian
Sumber
:
Nama :
Ery Rivaldi
NPM :
53414655
Kelas :
3IA22
Tugas ke- :
2
1. Maksud
dari game berjaringan
Game Online atau
sering disebut Online Games adalah sebuah permainan (games) yang dimainkan di
dalam suatu jaringan (baik LAN maupun Internet). Sebuah game online adalah
permainan video yang dimainkan selama beberapa bentuk jaringan komputer ,
menggunakan komputer pribadi atau konsol video game. Jaringan ini biasanya
internet atau teknologi setara, tetapi game selalu digunakan apa pun teknologi
yang saat ini:modem sebelum Internet, dan keras kabel terminal sebelum
modem.Perluasan game online telah mencerminkan keseluruhan perluasan jaringan
komputer dari jaringan lokal kecil ke internet dan pertumbuhan akses internet
itu sendiri. Game online dapat berkisar dari yang sederhana lingkungan berbasis
teks grafis game menggabungkan kompleks dan dunia maya dihuni oleh banyak
pemain secara bersamaan. Banyak permainan online terkait komunitas online,
membuat game online suatu bentuk kegiatan sosial di luar permainan pemain
tunggal.
Perkembangan game
online sendiri tidak lepas juga dari perkembangan teknologi komputer dan
jaringan computer itu sendiri. Meledaknya game online sendiri merupakan
cerminan dari pesatnya jaringan computer yang dahulunya berskala kecil (small
local network) sampai menjadi internet dan terus berkembang sampai sekarang.
Games Online saat ini tidaklah sama seperti ketika games online diperkenalkan
untuk pertama kalinya. Pada saat muncul pertama kalinya tahun 1960, computer
hanya bisa dipakai untuk 2 orang saja untuk bermain game. Lalu muncullah
computer dengan kemampuan time-sharing sehingga pemain yang bisa memainkan game
tersebut bisa lebih banyak dan tidak harus berada di suatu ruangan yang sama
(Multiplayer Games).
Lalu pada tahun
1970 ketika muncul jaringan computer berbasis paket (packet based computer
networking), jaringan computer tidak hanya sebatas LAN saja tetapi sudah
mencakup WAN dan menjadi Internet. Game online pertama kali muncul kebanyakan
adalah game-game simulasi perang ataupun pesawat yang dipakai untuk kepentingan
militer yang akhirnya dilepas lalu dikomersialkan, game-game ini kemudian
menginspirasi game-game yang lain muncul dan berkembang. Pada tahun 2001 adalah
puncak dari demam dotcom, sehingga penyebaran informasi mengenai game online
semakin cepat.
Tipe - tipe game online:
• First Person Shooter(FPS),
sesuai judulnya game ini mengambil pandangan orang pertama pada gamenya
sehingga seolah-olah kita sendiri yang berada dalam game tersebut, kebanyakan
game ini mengambil setting peperangan dengan senjata-senjata militer (di
indonesia game jenis ini sering disebut game tembak-tembakan).
• Real-Time Strategy,
merupakan game yang permainannya menekankan kepada kehebatan strategi
pemainnya, biasanya pemain memainkan tidak hanya 1 karakter saja akan tetapi
banyak karakter.
• Cross-Platform Online, merupakan game yang dapat dimainkan secara online dengan hardware yang berbeda misalnya saja need for speed undercover dapat dimainkan secara online dari PC maupun Xbox 360(Xbox 360 merupakan hardware/console game yang memiliki konektivitas ke internet sehingga dapat bermain secara online).
• Cross-Platform Online, merupakan game yang dapat dimainkan secara online dengan hardware yang berbeda misalnya saja need for speed undercover dapat dimainkan secara online dari PC maupun Xbox 360(Xbox 360 merupakan hardware/console game yang memiliki konektivitas ke internet sehingga dapat bermain secara online).
• Browser Games, merupakan
game yang dimainkan pada browser seperti Firefox, Opera, IE. Syarat dimana
sebuah browser dapat memainkan game ini adalah browser sudah mendukung
javascript, php, maupun flash.
• Massive Multiplayer Online
Games, adalah game dimana pemain bermain dalam dunia yang skalanya besar
(>100 pemain), setiap pemain dapat berinteraksi langsung seperti halnya
dunia nyata
sumber :
Nama : Ery Rivaldi
NPM : 53414655
Kelas : 3IA22
Tugas ke- : 2
1.
User
Interface pada Game Komputer
Sebuah antarmuka
pengguna adalah sistem di mana pengguna berinteraksi
dengan mesin. Antarmuka pengguna mencakup perangkat keras dan perangkat
lunak. Antarmuka pengguna hadir untuk berbagai sistem, dan menyediakan cara
untuk:
·
Input,
memungkinkan pengguna untuk memanipulasi sebuah sistem
·
Output,
memungkinkan sistem untuk menunjukan efek dari manipulasi pengguna
Secara umum, tujuan
dari teknik interaksi manusia-mesin adalah untuk menghasilkan sebuah antarmuka
pengguna yang membuatnya mudah, efisien, dan menyenangkan untuk mengoperasikan
sebuah mesin dengan cara yang menghasilkan hasil yang diinginkan. Ini biasanya
berarti bahwa operator harus menyediakan input minimal untuk mencapai output
yang diharapkan, dan juga bahwa mesin harus meminimalkan output yang tidak
diinginkan.
Antarmuka adalah
komponen sistem operasi yang bersentuhan langsung dengan pengguna. Terdapat dua
jenis antarmuka, yaitu Command Line Interface(CLI) danGraphical User
Interface(GUI).
Command
Line Interface(CLI).
CLI adalah tipe
antarmuka dimana pengguna berinteraksi dengan sistem operasi
melalui text-terminal. Pengguna menjalankan perintah dan program di sistem
operasi tersebut dengan cara mengetikkan baris-baris tertentu. Meskipun
konsepnya sama, tiap-tiap sistem operasi memiliki nama atau istilah yang
berbeda untuk CLI-nya. UNIX memberi nama CLI-nya sebagai bash, ash, ksh, dan
lain sebagainya. Microsoft Disk Operating System (MS-DOS) memberi nama
command.com atau Command Prompt. Sedangkan pada Windows Vista, Microsoft
menamakannya PowerShell. Pengguna Linux mengenal CLI pada Linux
sebagai terminal, sedangkan pada Apple namanya adalah commandshell.
Graphical User Interface(GUI)
GUI adalah tipe
antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan sistem operasi
melalui gambar-gambar grafik, ikon, menu, dan menggunakan perangkat penunjuk
( pointing device) seperti mouse atau track ball.
Elemen-elemen utama dari GUI bisa diringkas dalam konsep WIMP ( window,
icon, menu, pointing device).
Terdapat beberapa
macam fitur yang terdapat pada antarmuka pengguna telematika. Fitur-fitur itu
antara lain:
1. Head Up Display System
Head Up Display (HUD) merupakan sebuah
tampilan transparan yang menampilkan data tanpa mengharuskan penggunanya untuk
melihat ke arah yang lain dari sudut pandang biasanya. Asal nama dari alat ini
yaitu pengguna dapat melihat informasi dengan kepala yang terangkat (head up) dan
melihat ke arah depan daripada melihat ke arah bawah bagian instrumen. Walaupun
HUD dibuat untuk kepentingan penerbangan militer, sekarang HUD telah digunakan
pada penerbangan sipil, kendaraang bermotor dan aplikasi lainnya.
2. Tangible User Interface
Tangible User
Interface, yang disingkat TUI, adalah antarmuka dimana seseorang dapat
berinteraksi dengan informasi digital lewat lingkungan fisik. Nama inisial
Graspable User Interface, sudah tidak lagi digunakan. Salah satu perintis TUI
ialah Hiroshi Ishii, seorang profesor di Laboratorium Media MIT yang memimpin
Tangible Media Group. Pandangan istimewanya untuk tangible UI disebut tangible
bits, yaitu memberikan bentuk fisik kepada informasi digital sehingga membuat
bit dapat dimanipulasi dan diamati secara langsung.
3. Computer Vision
Computer Vision
(komputer visi) merupakan ilmu pengetahuan dan teknologi dari mesin yang
melihat. Dalam aturan pengetahuan, komputer visi berhubungan dengan teori yang
digunakan untuk membangun sistem kecerdasan buatan yang membutuhkan informasi
dari citra (gambar). Data citranya dapat dalam berbagai bentuk, misalnya urutan
video, pandangan deri beberapa kamera, data multi dimensi yang di dapat dari
hasil pemindaian medis.
Sumber :
http://caralengkap.com/2012/10/definisi-interfaceantar-muka-dan-contohnya.html
https://id.wikipedia.org/wiki/Antarmuka_pengguna
Penulisan 1 - Interaksi fisik manusia pada lingkungan game & efek fisik manusia ketika bermain game
- Senin, April 10, 2017
- By eryrv
- 0 Comments
Nama : Ery Rivaldi
NPM : 53414655
Kelas : 3IA22
Tugas ke- : 2
1.
Interaksi
fisik manusia pada lingkungan game
Dimulai dengan Efek Fisik dalam Teknologi
Game ,game adalah suatu hiburan bagi banyak orang dan berbagai kalangan
beragam umur. Game di ciptakan untuk anak berusia 3 tahun hingga lansia berumur
70 tahun walaupun pada kenyataannya banyak anak kecil di bawah tiga tahun sudah
dapat bermain game atau terdapat lansia berusia di atas70 tahun yang memainkan
game yang tidak di peruntukan untuk dirinya contohnya adalah game-game yang
menguji adrenalin dan memacu denyut jantung.
Terkadang kita
sangat sulit untuk meninggalkan aktivitas tersebut karena kita sudah menjadi
candi terhadap aktivitas tersebut, tentunya efek candu tersebut berdampak pada
interaksi fisik yang akan kita rasakan, mulai dari efek fisik positif dan
negatif.
·
Efek
Positif
Setiap game memiliki tingkat
kesulitan/Level yang berbeda. Umumya permainan ini dilengkapi peta,
persenjataan, karakter yang berbeda-beda. Untuk menyelesaikan level atau
mengalahkan musuh secara efisien diperlukan strategi. Permainan game Online
akan melatih pemainnya untuk dapat memenangkan permainan dengan cepat, efisien
dan menghasilkan lebih banyak poin.
a.
Meningkatkan konsentrasi. kemampuan konsentrasi
pemain game Online akan meningkat karena mereka harus menyelesaikan beberapa
tugas, mencari celah yang mungkin bisa dilewati dan memonitor jalannya
permainan. Semakin sulit, sebuah permainan maka semakin diperlukan tingkat
kosentrasi yang tinggi.
b.
Meningkatkan koordinasi tangan dan mata (Motorik). Penelitian yang
dilakukan di Manchester University dan Central Lanchashire University
menyatakan bahwa orang yang bermain game 18 jam seminggu atau sekitar 2,5
jam/hari dapat meningkatkan koordinasi antara mata dan tangan meningkatkan
kemampuan membaca. Psikolog dari Finland Univesity menyatakan bahwa game
meningkatkan kemampuan membaca pada anak-anak. Jadi pendapat yang menyatakan
bahwa jenis permainan ini menurunkan tingkat minat baca anak sangat tidak beralasan.
c.
Meningkatkan kemampuan berbahasa inggris. Sebuah studi
menemukan bahwa gamers mempunyai skil berbahasa inggris yang lebih baik
meskipun tidak mengambil kursus pada masa sekolah maupun kuliah. Ini karena
banyak alur cerita yang diceritakan dalam bahasa inggris dan kadang kala mereka
chat dengan pemain lain dari berbagai negara.
d.
Meningkatkan pengetahuan tentang komputer. Â untuk dapat
menikmati permainan dengan nyaman dan kualitas gambar yang prima seorang peman
game online akan berusaha mencari informasi tentang spesifikasi komputer dan
koneksi internet yang dapat digunakan untuk memainkan game tersebut. Karena
pengguna komputer aktif biasanya mereka juga akan belajar troubleshooting
komputer dan overclocking.
e.
Meningkatkan kemampuan skill mengetik. Kemampuan
mengetik sudah pasti meningkat karena mereka menggunakan keyboard dan mouse
untuk mengendalikan permainan.
Efek
Negatif
Kecanduan.
Seperti yang disebutkan pada awal tulisan ini, kebahagiaan dan kesenangan yang
dirasakan para gamer pada saat memainkan game, akan membuat orang tersebut
‘merindukan’ suasana hati yang mereka rasakan selama bermain game, sehingga
mereka akan cenderung kembali bermain dan bermain lagi untuk mencari sensasi
yang mereka rasakan tersebut. Untuk mencegah hal ini, adalah dengan membatasi
waktu bermain game. Misalnya, 2 atau 3x dalam satu minggu dengan jangka waktu
1-2 jam.
a.
Membatasi Hubungan Sosial. Pada dampak
positif bermain game telah dijelaskan bahwa bermain game dapat meningkatkan
hubungan sosial secara online dengan para gamer diseluruh dunia. Sebaliknya
dalam hal ini justru akan membatasi hubungan sosial di kehidupan nyata mereka.
Banyak sekali para pecandu game memiliki sedikit waktu untuk membina hubungan
sosial di kehidupan nyata mereka sehingga kemampuan berkomunikasi dan interaksi
secara fisik dan oral menjadi tidak terasah.
b. Mengganggu Kesehatan. Memang benar aktivitas dan gerakan fisik dapat menyehatkan
tubuh. Akan tetapi dengan bermain game yang terlalu intensif dapat mengganggu
kesehatan mata, karena bagaimana pun juga permainan video game memerlukan
kontak langsung antara mata dan layar monitor / TV yang dapat menyebabkan
kerusakan pada mata atau menurunnya daya lihat untuk efek kedepannya.
2.
Efek
fisik manusia ketika main game
Diantara
banyaknya sisi positif yang di dapatkan dari game banyak pula hal-hal negatif
yang di timbulkan jika kita "kecanduan" terhadap game yang berefek
pada kesehatan fisik. Inilah hal-hal negatif jika kecanduan bermain game:
a.
Kurang
Tidur
b.
Mengisolasi
diri
c.
Depresi
d.
Stress
e.
Agresif
f.
Bahaya
Radiasi dan
g.
Kelelahan
Tidak bisa di
pungkiri bahwa sesuatu yang berlebihan itu tidaklah baik. Game sangat di
anjurkan untuk di mainkan jika di gunakan dalam batas yang wajar karna jika
tidak akan memunculkan efek-efek negatif bagi para pemakainnya.
Sumber :
http://aim-ug.blogspot.co.id/2016/05/petgame-efek-fisik-dalam-game.html
https://laskyargiovane.wordpress.com/2016/06/27/interaksi-fisik-dalam-teknologi-game/
Nama :
Ery Rivaldi
NPM :
53414655
Kelas :
3IA22
Tugas ke- : 1
1.
Arsitektur
Game Engine
Sebelum (Game
Engine) mesin permainan, permainan yang biasanya ditulis sebagai entitas
tunggal: game untuk Atari 2600, misalnya, harus dirancang dari bawah ke atas
untuk memanfaatkan optimal hardware layar tampilan ini rutin‐core
hari ini disebut kernel oleh retro pengembang. Platform lain telah kelonggaran
lebih, tetapi bahkan ketika layar itu bukan masalah, kendala memori biasanya
menyabotase upaya untuk menciptakan desain data‐beratyang mesin
kebutuhan. Bahkan pada platform menampung lebih, sangat kecil dapat digunakan
kembali antara permainan. Kemajuan pesat hardware arcade ujung tombak dari
pasar‐berartibahwa sebagian besar kode harus
dibuang setelah itu pula, sebagai generasi kemudian akan menggunakan desain
permainan game yang sama sekali berbeda yang mengambil keuntungan dari sumber
daya tambahan. Jadi desain paling permainan melalui 1980 dirancang melalui
ruleset‐keras dikodekan dengan sejumlah kecil data
tingkat dan grafis.
Game engine adalah
sebuah sistem perangkat lunak yang dirancang untuk pembuatan dan pengembangan
suatu video game. Game engine memberikan kemudahan dalam menciptakan konsep
sebuah game yang akan dibuat. Mulai dari sistem rendering, physics, arsitektur
suara scripting, AI, dan bahkan networking. Game engine dapat dikatakan sebagai
jiwa dari aspek sebuah game.
Tujuan game engine
adalah untuk mempermudah pembuatan bagian-bagian tertentu dalam game,
membagi-bagi pengembangan game menjadi modul-modul tertentu dan memudahkan
kolaborasi antar pihak.
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.
Beberapa contoh Game Engine Open
Source :
3Dgame Studio
Delta 3D
UnrealEngine
Panda3D
Torque
Quake Engine
Sumber:
http://andrianime.blogspot.co.id/2015/04/arsitektur-game-engine.html diakses pada tanggal 04 April 2017 pukul 07.14
WIB.
http://tysyudha.blogspot.co.id/2016/04/arsitektur-game-engine.html
diakses pada tanggal 04 April 2017 pukul 07.17 WIB.
Nama :
Ery Rivaldi
NPM :
53414655
Kelas :
3IA22
Tugas ke- : 1
1. Design
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.
Design
Skenario untuk game Tic Tac Toe bisa dilihat pada tampilan dibawah ini yang
terdiri dari tampilan pemain ketika menang, tampilan ketika pemain kalah,
tampilan ketika permainan seri, tampilan rule permainan dan tampilan ketika
ingin keluar dari program.
·
Tampilan pemain menang
Tampilan pemain menang
·
Tampilan
pemain kalah
· Tampilan pemain seri
· Tampilan aturan game
· Tampilan keluar game
2. Skrip
game Tic Tac Toe
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.
Skrip
untuk game Tic Tac Toe sendiri menggunakan Bahasa pemrograman Java, berikut
adalah skrip dari game Tic Tac Toe:
package mytictac;
import java.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MT1 extends javax.swing.JFrame {
MenuBar
mb1;
Menu m1;
MenuItem
rules, gamebaru, about, backmenu;
static String
Status[] =new String[10];
static String
thewinner="";
boolean
available=false;
String
sign="X";
static
JButton button[];
ImageIcon ic;
public
MT1() {
//
initComponents();
super("Tic Tac Toe Sulit");
JPanel pan=new JPanel();
pan.setLayout(new BorderLayout());
JPanel p1=new JPanel();
p1.setLayout(new GridLayout(3,3));
p1.setCursor(new
java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
//*************************** Untuk menu bar***********************************
mb1=new
MenuBar();
m1=new
Menu();
gamebaru = new MenuItem("NEW GAME");
rules=new
MenuItem("ATURAN GAME");
about = new MenuItem("ABOUT");
backmenu = new MenuItem("BACK TO MENU");
m1.setLabel("GAME");
gamebaru.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
newgame();
}});
backmenu.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
awal a =
new awal();
a.setVisible(true);
dispose();
}});
rules.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
JOptionPane.showMessageDialog( MT1.this,
".:: Aturan game Tic Tac Toe ::.\n"
+
" 1. Pemain dalam permainan ini
dibatasi untuk satu lawan satu,\n"
+
" dilakukan bergiliran antara
pemain pertama (manusia) dan pemain kedua (komputer).\n"
+
" 2. Pemain manusia (player) akan
dihalangi oleh komputer\n"
+
" untuk mencapai tujuan
(goal) karena komputer telah diberi kecerdasan buatan\n"
+ " sehingga komputer juga berusaha untuk
menjadi pemenang.\n"
+
" 3. Untuk memberikan langkah,
setiap pemain harus mengisi bidak\n"
+
" dengan simbol pemain
masing-masing, dengan X atau O.\n"
+
" 4. Setiap pemain hanya
mempunyai satu kali kesempatan \n"
+
" pada setiap
giliran.\n"
+
" 5. Bidak yang sudah terisi
tidak bisa ditimpa oleh langkah berikutnya.\n"
+
" 6. Langkah yang sudah diambil
tidak dapat dibatalkan atau diganti dengan \n"
+
" langkah yang lain",
"ATURAN GAME!!",
JOptionPane.INFORMATION_MESSAGE );
}});
about.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
JOptionPane.showMessageDialog( MT1.this,
".:: Project
PKB tentang game Tic Tac Toe ::.\n"
+
" Team Developer :\n"
+
" 1. Adinda Febriyanto (50414264)\n"
+
" 2. Chyntia Dwinovita (52414396)\n"
+
" 3. Dimas Herianto (53414099)\n"
+ " 4. Ery Rivaldi (53414655)",
"About Project",
JOptionPane.INFORMATION_MESSAGE );
}});
m1.add(gamebaru);
m1.add(rules);
m1.add(about);
m1.add(backmenu);
mb1.add(m1);
setMenuBar(mb1);
//*********************************************windowListener*************************************************************
addWindowListener(new WindowAdapter(){
public void
windowCloseing(WindowEvent evt){
exitt();
}
});
//****************************************Defining
the buttons**************************************************************
button=new JButton[10];
for(int i=1;i<10;i++){
button[i]=new
JButton();
button[i].setFocusPainted(false);
button[i].setActionCommand(Integer.toString(i));
button[i].setFont(new
Font("Arial",Font.BOLD,50));
button[i].setToolTipText("click
the button");
button[ i
].addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent e ) {
buttonAction( e.getActionCommand() ); }
}
);
p1.add(button[i]);
}
//****************************************************additional
button**************************************************************
JPanel pi=new
JPanel();
pi.setLayout(new
GridLayout(1,3));
add(p1,"Center");
add(pi,"South");
setSize(500,400);
setLocation(450,150);
setVisible(true);
setResizable(false);
newgame();
}
//*****************************************
Definining the button action listener***************************************************************
public void buttonAction(String btn){
int index=Integer.parseInt(btn);
if(button[index].getText()==""){
button[index].setText(sign);
button[index].setForeground(Color.red);
//button[index].setBackground(Color.gray);
Status[index]=sign;
GameStatusCheck();
nextMove();
}
else
JOptionPane.showMessageDialog(MT1.this,"Ooww
bidak sudah terisi,\n"
+ " pilih bidak yang belum
terisi.","SORRY!!!!!",JOptionPane.ERROR_MESSAGE);
}
public void nextMove() {
int win=0;
//************************************First try to
attack*************************************************************************************
if ((( Status[ 1 ]=="O") &&
(Status [ 2 ] =="O"))&&(Status[3]==""))
win=3;
else
if(((Status[ 2] =="O") &&( Status[ 3 ]
=="O"))&&(Status[1]=="") )
win=1;
else
if(( ( Status[ 1 ] =="O") &&(Status [ 3 ]=="O"
))&&(Status[2]==""))
win=2;
else if( ((
Status[ 4] =="O")&&( Status [ 5 ]=="O"
))&&(Status[6]==""))
win=6;
else
if (( ( Status[ 5 ] =="O")&&( Status [ 6 ]=="O"))
&&(Status[4]==""))
win=4;
else
if( (( Status[ 4] =="O")&& (Status [ 6 ]=="O"
))&&(Status[5]==""))
win=5;
else if(
(( Status[ 7] =="O")&&(Status [ 8]=="O"
))&&(Status[9]==""))
win=9;
else
if( (( Status[ 7] =="O")&& (Status [ 9]=="O"
))&&(Status[8]==""))
win=8;
else
if( (( Status[ 8] =="O")&&( Status [ 9 ]=="O"
))&&(Status[7]==""))
win=7;
else
if(( ( Status[ 1] =="O")&&( Status [ 4]
=="O"))&&(Status[7]==""))
win=7;
else
if(( ( Status[ 1] =="O")&&( Status [ 7 ]=="O"
))&&(Status[4]==""))
win=4;
else
if(( ( Status[ 4] =="O")&&( Status [ 7 ]=="O"
))&&(Status[1]==""))
win=1;
else if(
(( Status[ 2] =="O")&&( Status [ 5]=="O")
)&&(Status[8]==""))
win=8;
else
if( (( Status[ 2] =="O")&&( Status [ 8 ]=="O"
))&&(Status[5]==""))
win=5;
else
if( (( Status[ 5] =="O")&&( Status [ 8 ]=="O"
))&&(Status[2]==""))
win=2;
else if(
(( Status[ 3] =="O")&&( Status [ 6]=="O"
))&&(Status[9]==""))
win=9;
else
if( (( Status[ 3] =="O")&&( Status [ 9 ]=="O")
)&&(Status[6]==""))
win=6;
else
if( (( Status[ 6] =="O")&&( Status [ 9]=="O")
)&&(Status[3]==""))
win=3;
else if(
(( Status[ 1] =="O")&&( Status [ 5]=="O"
))&&(Status[9]==""))
win=9;
else
if( (( Status[ 1] =="O")&& ( Status [ 9 ]=="O"
))&&(Status[5]==""))
win=5;
else
if(( ( Status[ 5] =="O")&&( Status [ 9 ]=="O")
)&&(Status[1]==""))
win=1;
else if(
(( Status[ 3] =="O")&& (Status [ 5]=="O" ))&&(Status[7]==""))
win=7;
else
if( (( Status[ 3] =="O")&&( Status [ 7 ]=="O")
)&&(Status[5]==""))
win=5;
else
if(( ( Status[ 5] =="O")&&( Status [ 7 ]=="O"
))&&(Status[3]==""))
win=3;
/**********Defencinve
Move********************
else
if (( Status[
1 ]=="X") && (Status [ 2 ]
=="X")&&(Status[3]==""))
win=3;
else
if((Status[ 2] =="X") &&( Status[ 3 ]
=="X")&&(Status[1]=="") )
win=1;
else
if(( ( Status[ 1 ] =="X") &&(Status [ 3 ]=="X"
))&&(Status[2]==""))
win=2;
else if( (
Status[ 4] =="X")&&( Status [ 5 ]=="X"
)&&(Status[6]==""))
win=6;
else
if ( ( Status[ 5 ] =="X")&&( Status [ 6 ]=="X")
&&(Status[4]==""))
win=4;
else
if( ( Status[ 4] =="X")&& (Status [ 6 ]=="X"
)&&(Status[5]==""))
win=5;
else if(
( Status[ 7] =="X")&&(Status [ 8]=="X"
)&&(Status[9]==""))
win=9;
else
if( ( Status[ 7] =="X")&& (Status [ 9]=="X"
)&&(Status[8]==""))
win=8;
else
if( ( Status[ 8] =="X")&&( Status [ 9 ]=="X"
)&&(Status[7]==""))
win=7;
else if(
( Status[ 1] =="X")&&( Status [ 4]
=="X")&&(Status[7]==""))
win=7;
else
if( ( Status[ 1] =="X")&&( Status [ 7 ]=="X"
)&&(Status[4]==""))
win=4;
else
if( ( Status[ 4] =="X")&&( Status [ 7 ]=="X"
)&&(Status[1]==""))
win=1;
else if(
( Status[ 2] =="X")&&( Status [ 5]=="X"
)&&(Status[8]==""))
win=8;
else
if( ( Status[ 2] =="X")&&( Status [ 8 ]=="X"
)&&(Status[5]==""))
win=5;
else
if( ( Status[ 5] =="X")&&( Status [ 8]=="X"
)&&(Status[2]==""))
win=2;
else if(
( Status[ 3] =="X")&&( Status [ 6]=="X"
)&&(Status[9]==""))
win=9;
else
if( ( Status[ 3] =="X")&&( Status [ 9 ]=="X"
)&&(Status[6]==""))
win=6;
else
if( ( Status[ 6] =="X")&&( Status [ 9]=="X"
)&&(Status[3]==""))
win=3;
else if(
(( Status[ 1] =="X")&&( Status [ 5]=="X"
))&&(Status[9]==""))
win=9;
else
if( (( Status[ 1] =="X")&& ( Status [ 9 ]=="X"
))&&(Status[5]==""))
win=5;
else
if( (( Status[ 5] =="X")&&( Status [ 9 ]=="X"
))&&(Status[1]==""))
win=1;
else if(
(( Status[ 5] =="X")&& (Status [ 9]=="X"
))&&(Status[1]==""))
win=1;
else
if(( ( Status[ 1] =="X")&&( Status [ 9 ]=="X"
))&&(Status[5]==""))
win=5;
else
if( (( Status[ 1] =="X")&&( Status [ 5 ]=="X"
))&&(Status[9]==""))
win=9;
//
************************RANDOM MOVE AT
LAST*******************************************
else
if((Status[1]=="")&&(Status[2]=="")&&(Status[3]=="")&&(Status[4]=="")&&(Status[5]=="")&&(Status[6]=="")&&(Status[7]=="")
&&(Status[8]=="")&&(Status[9]==""))
win=7;
else
if(Status[ 5] =="")
win=5;
else
if(Status[5]=="X")
win=3;
else
if((Status[1]=="X")&&(Status[9]=="X")||(Status[3]=="X")&&(Status[7]=="X"))
win=2;
else
win=randomMove()
//System.out.println(win);
if (
button[ win].getText() != "" )
nextMove();
if (
button[win].getText() == "" ){
button[win].setText(
"O" );
button[win].setForeground(
Color.blue);
//button[win].setBackground(Color.yellow);
Status[win] = "O";
GameStatusCheck();
}
}
//*********************************************************Random
move*****************************************************
public int randomMove() {
int randomValue
= 0;
if (
available ) {
randomValue = ( 1+ ( int ) ( Math.random() * 9 ) );
}
return
randomValue;
}
//***************************************NEW
GAME**************************
public static void newgame(){
for(int j=1;j<10;j++){
button[j].setText("");
//Color c=new Color(0,100,50);
button[j].setForeground(Color.cyan);
//button[j].setBackground(Color.cyan);
Status[j]="";
thewinner="";
}
}
//***********************************************************check
the game status**********************************************************
private void GameStatusCheck(){
//fo the top horizontal line
if ( ( Status[ 1 ] != "" ) && (
Status[ 1 ] == Status [ 2 ] && Status[ 2 ] == Status[ 3 ] ) )
{
thewinner = Status[ 1 ];
gameStop( thewinner );
}
//for the
middle horozontal line
if((Status[4] != "") &&
(Status[4]==Status[5] && Status[5]==Status[6]))
{
thewinner=Status[4];
gameStop(thewinner);
}
//for the
botton horizontal line
if((Status[7]!="") &&
(Status[7]==Status[8] && Status[8]==Status[9]))
{
thewinner=Status[7];
gameStop(thewinner);
}
//for the
vertial first line
if((Status[1]!="") &&
(Status[1]==Status[4] && Status[4]==Status[7]))
{
thewinner=Status[1];
gameStop(thewinner);
}
//middle
if((Status[2]!="") &&
(Status[2]==Status[5] && Status[5]==Status[8]))
{
thewinner=Status[2];
gameStop(thewinner);
}
//last
vertical
if((Status[3]!="") &&
(Status[3]==Status[6] && Status[6]==Status[9]))
{
thewinner=Status[3];
gameStop(thewinner);
}
//diagonal 1
if((Status[1]!="") &&
(Status[1]==Status[5] && Status[5]==Status[9]))
{
thewinner=Status[1];
gameStop(thewinner);
}
// the second diagonal
if((Status[3]!="") &&
(Status[3]==Status[5] && Status[5]==Status[7]))
{
thewinner=Status[3];
gameStop(thewinner);
}
//*********************************************Check for the treminating
condition***********************************************
for(int
a=1;a<10;a++){
if(Status[a]==""){
available=true;
break;
}
else
available=false;
}
if(!available)
gameStop("tie");
}
//***********************************************display of the
result*******************************************************
public void gameStop( String winner ) {
if (
winner == "tie" ){
JOptionPane.showMessageDialog( MT1.this, "Pasti MENANG di game
selanjutnya!!",
".... SERI ....", JOptionPane.INFORMATION_MESSAGE );
newgame();
}
else {
String
output;
int
choice;
if(winner=="X"){
output = "\tSELAMAT, ANDA MENANG !!!!! \nMau main Lagi?";
choice
= JOptionPane.showConfirmDialog( MT1.this, output,
".... MENANG ....", JOptionPane.YES_NO_OPTION,
JOptionPane.INFORMATION_MESSAGE );
}
else{
output="\tPayah, kau kalah !!!!!! \n Mau
main Lagi?";
choice =
JOptionPane.showConfirmDialog( MT1.this, output,
"....
KALAH ....", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE );
}
if
( choice == 0 )
newgame();
else
exitt();
}
}
public
void exitt(){
JOptionPane.showMessageDialog(
MT1.this,
"Terimakasih telah mencoba :)",
"Terimakasih", JOptionPane.INFORMATION_MESSAGE );
dispose();
}
public
static void main(String args[]) {
MT1
tic=new MT1();
}
}
Sumber :
http://vanillabluse.blogspot.co.id/2016/03/penjelasan-tentang-desain-skenario.html
diakses pada tanggal 04 April 2017 pukul 06.48 WIB.
Diberdayakan oleh Blogger.