Anda di halaman 1dari 40

MK.

Teknologi Game

GAME ENGINE Karmilasari

DAN SCENE GRAPH lanikarmilasari@gmail.com

1
Review Genre Game

2
Analogi : Mesin Mobil vs. Game Engine
Mesin Mobil Game Engine
Tujuan : membuat mobil dapat berjalan Tujuan : membuat permainan dapat
dilangsungkan
Di dalam tubuh mesin ada : system Aset game : audio file, texture, grafik
navigasi, system perapian, system model, animasi, algoritma AI
mekanik, system penggerak, dengan
masing-masing komponennya

Game Engine says “Focus on the content of the game,


I do the core things”
3
4
Komponen Disain Game

5
6
Game Engine
• Game engine adalah system software yang dirancang untuk membuat
dan membangun game
• Keberadaan game engine untuk menggabarkan abstrak hal-hal dari
apa saja yang dikerjakan (cara kerja) game sehingga pengembang
dapat focus pada pembuatan game yang unik.
• Engine memanfaatkan penggunaan kembali komponen yang dapat
dimanipulasi dan dapat membuat game tersebut hidup.
• Abstraksi platform : membolehkan game yang sama untuk dapat
dijalankan pada platform berbeda

7
Sejarah
• Pada pertengahan tahun 90an, setiap single game harus dibuat dari bawah ke
atas agar penggunaannya optimal, hal ini berarti semakin banyak program yang
dibuat dan harus di buang percuma
• Id Software mengembangkan Doom, suatu game FPS yang arstitekturnya dibuat
sedemikian rupa dengan memisahkan antara komponen core software (software
inti) degan kerja game. Hal ini menjadi inovasi pemrograman video game
• Perhatian pun tertuju bahwa sebagian besar kode game benar-benar dapat
digunakan Kembali (reusable).
• John Carmack menyebutnya dengan istilah "mesin game / game engine", dimana
dilakukan pemisahan aspek-aspek yang dapat digunakan kembali (reusable) dari
program game dari bagian-bagian yang sebaiknya diserahkan kepada spesialis
lainnya seperti : desainer artis, dan spesialis suara, dapat menambahkan
kontribusi mereka ke dalam game tanpa menulis kode program yang sebenarnya
8
9
Keuntungan menggunakan Software ReUse
• memberikan akses yang disederhanakan ke teknologi yang
mendasarinya
• Mengorganisir dan mempercepat proses pengembangan
• Menggunakan game engine (software) yang sama untuk
mengembangkan banyak game yang berbeda
• Mengurangi pengujian dan debugging
• Akan lebih baik difokuskan pada aspek perancangan game
• Membuat game dapat dijalankan pada banyak platform (console, OS)

10
Kekurangannya :
Potensial Biaya dan Kompleksitas
• Kita akan sangat dibatasi dari berbagai aspek
• Bermasalah dengan lisensi dan library pihak ketiga

11
API (Application Programming Interface) dan
SDK (Software Development Kit).
Apa perbedaanya ?
• API
• API adalah antarmuka perangkat lunak yang menyediakan system operasi,
library, dan layanan/service sehingga kita dapat memanfaatkan fitur khusus
mereka
• Contoh : OpenGL, Havok, FMOD
• SDK
• SDK adalah koleksi perpustakaan API dan tools yang disediakan untuk
memprogram sistem operasi dan service yang sama.
• Sebagian besar game engine menyediakan API di SDK mereka
• Contoh : Unreal Development Kit

12
Roll-your-own Game Engine (Lowest level)
• Menggunakan antarmuka aplikasi publik seperti API seperti XNA,
DirectX OpenGL, Windows dan Linux API dan SDI untuk membuat
engine sendiri
• Memberi fleksibilitas kepada programmer dan membiarkannya
memilih komponen yang dibutuhkan dan mengintegrasikan persis
seperti yang diinginkan
• Mmbutuhkan waktu lama untuk membuatnya, membuatnya kurang
menarik bahkan untuk profesional

13
Most Ready Game Engine (Mid Level)
• Engine ini memiliki waktu yang tepat/prime time dan out of box
dengan rendering, input, GUI, hal-hal fisik pada engine. Dalam
kategori ini :
• OGREE dan Genesis3D yang keduanya open source,
• Engine dengan harga rendah seperti Torsi
• Engine dengan harga sangat tinggi seperti Unreal id Tech dan Gamebryo
• Engine ini membutuhkan pemrograman dan beberapa skrip atau
kadang-kadang bahkan pengkodean level rendah untuk membuat
game yang sebenarnya berfungsi

14
Point and Click Game Engine (High Level)
• Menyertakan rantai alat lengkap yang memungkinkan kita cukup
mengarahkan dan mengklik (point and click) pemandu untuk membuat
game
• Contoh : GameMaker, Torque Game Builder, dan Unity3D
• Dibuat seramah mungkin dan dibuat dengan pengkodean sesedikit
mungkin. Hal ini tidak berarti mengetahui sedikit pengkodean tidak
membantu, tetapi itu tidak benar-benar suatu keharusan seperti most ready
game engine dan roll your own game engine
• Masalah dari point and click game engine adalah bahwa engine ini sangat
membatasi. Beberapa dapat melakukan satu atau dua jenis atau genre game
dengan baik atau sekitar satu atau dua jenis menggunakan mode grafis
15
Ekstensibilitas : Bagaimana mencapai
Ekuilibrium ?
• Game engine harus dirancang agar dapat dikembangkan dan
digunakan sebagai dasar untuk banyak game berbeda tanpa modifikasi
besar
• Game yang berisi logika hard-coded menjadi sulit atau tidak mungkin
digunakan Kembali (reusable) untuk membuat game yang berbeda
• Semakin banyak tujuan komponen game, semakin kurang optimal
tujuan sebuah komponen game, semakin kurang optimal untuk game
tertentu pada platform tertentu

16
Komponen Game Engine
• Rendering engine
• Scene graph
• Physics engine
• Collison detection (deteksi tumbukan)
• Audio engine
• Artificial Intelligence
• Scripting
• Animation
• Networking

17
Struktur Game Engine

18
Game Loop

19
Rendering Engine
• Rendering : proses mengubah model wireframe 2D atau
scene 3D menjadi sekumpulan gambar.
• Rendering engine menggenerate grafik animasi
• Rendering membutuhkan Graphical Processing Unit (GPU)
• Seringnya rendering engine dibangun atas satu atau
beberapa API engine, seperti Direct3D, OpenGL
• Berinteraksi langsung dengan GPU
• Contoh : Ogre

20
Fitur Rendering Engine

21
Scene Graph (Graf Adegan)
• Scene graph (graf adegan) terdiri atas semua geometri dari adegan
tertentu
• Setiap node pada scene graph merupakan representasi data dari
posisi dan orientasi dalam kaitannya dengan node parents-nya

22
Physics Engine
• Physic engine bertanggung jawab untuk meniru hukum fisika
serealistis mungkin dalam aplikasi
• Perhitungan fisik dilakukan melalui CPU. Nilai dari perhitungan ini
dikirim ke mesin rendering yang kemudian merender sistem
berdasarkan nilai ini
• Contoh : PhysX, Hanoc

23
Fitur Physics Engine

24
Collision Detection (Deteksi Tumbukan)
• Collision detection (deteksi tumbukan) adalah permasalahan
komputasional pendeteksian interseksi dari dua atau lebih objek

25
Audio Engine
• Audio engine adalah komponen yang terdiri dari algoritma yang
terkait dengan output suara melalui system speaker klien
• Biasanya dimainkan pada setiap event
• Game dengan audio imersif memiliki lebih banyak nilai gameplay
daripada game tanpa suara
• Dibangun dengan eksternal library (OpenGL dll)

26
Komponen Game Sound

27
Artificial Intelligence (AI)
• AI mengacu pada teknik yang digunakan computer dan video game
untuk menghasilkan ilusi dari perilaku buatan dan karakter
• AI umumnya digunakan untuk menemukan jalur masalah dari aplikasi
suatu game

28
Scripting
• Scripting ditulis dengan menggunakan Bahasa tingkat tinggi
• Biasanya menggunakan Bahasa interpreter (Phyton, lua, dll)
• Scripting penting dalam aspek disain game
• Biasanya penggunaan bahasa skrip ditafsirkan menghindari kebutuhan
untuk membangun kembali basis kode mengingat perubahan gameplay

29
Animasi
• Animasi menangani obyek pada scene graph
• Melakukan rendering cara menampilkan aset
• Kerangka/penulangan animasi adalah yang
paling populer

30
Networking
• Networking/jaringan game ada di mana banyak orang dapat
memainkan game yang sama dan berinteraksi satu sama lain di sistem
mereka sendiri
• Peer to peer atau client/server
• Contoh : RakNet

31
Fokus Teknologi pada Genre Game :
First-person shooters
• Game : Unreal, Half-life, Call of Duty
• Fokus :
• Rendering 3d world yang besar yang efisien
• Kontrol kamera responsive
• Animasi fidelitas tinggi
• Senjata keren
• Pemodelan fisika
• Teknologi rendering berfokus pada
pengoptimalan untuk lingkungan

32
Fokus Teknologi pada Genre Game :
Third Person Shoot
• Game : Ratchet and Clank, Gear of War
• Fokus :
• Teka-teki sebagai elemen
• Memindahkan objek lingkungan
• Orang ketiga mengikuti kamera
• Sistem tabrakan kamera yang kompleks

33
Fokus Teknologi pada Genre Game :
Fighting Games
• Game : Tekken, Fight Night, Soul Calibur
• Fokus :
• Animasi pertarungan
• Deteksi pukulan
• Sistem masukan pengguna
• Kerumunan
• Animasi dan shader karakter cukup mengagumkan
• Kain dan rambut berbasis fisika

34
Fokus Teknologi pada Genre Game :
Racing Games
• Game : Game Turismo, Mario Kart,
Hydro Thunder
• Fokus :
• Menggunakan kartu sederhana untuk
objek latar belakang
• Track dipecah menjadi beberapa sector
• Kamera orang ketiga dan orang pertama
• Tabrakan kamera

35
Fokus Teknologi pada Genre Game :
Real Time Strategy
• Game : Warcraft, Starcraft, Age of Empire
• Fokus :
• Karakter beresolusi rendah
• Medan berbasis peta ketinggian
• Pohon tujuan yang kompleks
• Interaksi pengguna dapat mengambil banyak
bentuk, tetapi reaktivitas sangat penting

36
Fokus Teknologi pada Genre Game :
MMOG
• Game : Warcraft, Star Wars Galaxies, EverQuest
• Fokus (Teknologi ekstra termasuk orang ke-3/TPS) :
• Di sisi server :
• Sign in/out
• State management
• Billing
• Rendering di sisi klien dan state management
• Network layer untuk konsistensi status dan deteksi
cheat

37
Fokus Teknologi pada Genre Game :
Player-Authored Content
• Game : Little Big Planet series, Minecraft
• Fokus :
• Mengizinkan pemain membuat konten sebagai
bagian dari game
• Akan lebih menyenangkan apabila bila berbagi
dengan pemain lain
• Kesederhanaan adalah kuncinya

38
Referensi yang bisa dibaca …………

39
Terima Kasih

40

Anda mungkin juga menyukai