Tải bản đầy đủ (.pdf) (4 trang)

Phát triển game framework dựa trên game engine panda3d

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.32 MB, 4 trang )

Gicii thu-ang SV.NCKH-Eureka lin tha 15 nam 2013

Ky yeu khoa hoc

PHAT TRIEN GAME FRAMEWORK MIA TREN GAME ENGINE PANDA3D
Trim Thanh Thien, Triin Hoong Thinh, Trim Minh Trill
Khoa Cong nghe Thong tin, Trutfmg Doi hoc Khoa hoc Tu nhien-DM hoc Quac gia Thanh pha Ho Chi Minh
De tai dm gicii Ludn van xuat sac Giiti Chuang Sinh vien nghien cdu khoa hoc — Eureka liin XV nam 2013
TOM TAT
Tren nen game engine ma nguiln ma Panda3D, nhom da phat Ulan he th6ng framework giiip lap trinh vien giii
quyet cac van de ca ban nhu resource loading, he thong scripting, nhiem vu, phan ph6i sirkien ding nhu cac hieu
ling do hoa throng gap trong game... CAng voi phong trao ma nguon me( dang phat trien manh a Viet Nam, nhom
by vong c6 the them mOt sir bra chon "ma" cho tat ca lap trinh vien game dm Viet Nam.

Tir khod : Game Framework, Ma nguon ma, Panda3D, game engine, Scripting.

MO DAu
Cimg voi str phat trien dia ding nghe th6ng tin, nen ding nghiep giai tri tren PC ding co nhimg bulk tien vuot
bac. Nen ding nghiep game non tre cua ntrac nha dang thing truot nhieu ap luc tir nhung di may phat hien game
den tir Trung Qu6c, Han Quoc, Cung v6i t6c dq phat trien nhanh thong cfta tht truong game online, nhu mOt xu
htrong khong the,thay 0i, M'O'i nam dat nuac that thoat hang tram den hang nghin ti dong tien mua cac san phim
den tir Trung Quoc. Kh8ng chi vies dimg lai 6. van de that thoat ngoai to ma ben canh do con là van de du nhapvan
hoa Trung Quek. Nhieu ban tre hien nay can am hieu van hoa Trung QuOc, Han QuOc nhieu hon nen van hoa g6c
cua dat nuac. He luy ctia van de nay IA khong the can do dong dem duct.
Game framework do nhom phat trien tren nen game engine ma nguon mo Panda3D nham giftp.lap trinh vien a
Viet Nam c6 the da dang hon trong viec xay dung game 3D. Viet Nam va teen the glen c6 eat nhieu game engine
mien phi Ian co phi. Tuy nhien, mOt game engine ma nguon mo thuong eat hiem va chat luting hau het rat thap.
Game Engine Panda3D hien tai kh6ng the so sanh &roc voi cac game Engine not tieng hien tai (Unreal Engine,
CryEngine, Frosbite ...) va cang c6 qua nhieu mat yeu kem khi so sanh voi nhitng game engine tam trung nhu
Unity3D. Tuy nhien voi mOt kien true nen tit, qua trinh phat trien lau doi, giay phep ma nguon ma rat to do dua
tren giay phep BSD, va dac biet IA Bac biet IA su dimg sau ctia 2 ong Ion Walt Disney va Carnegie Mellon


Entertainment Center— Carnegie Mellon University Panda3D c6 mOt s6 lcri the khong the chical. B6 qua yeu kern
ve mat giao dien nguai dung (gan nhu khong c6), Kin true game (On nhu khong c6), He thong do hoa Wang cao
(gen nhu khong co), Panda3D mang den cho lap trinh vien sixtuong tac sau vao qua trinh lam game (sir dung Cg,
GLSL de toting tae v6 i GPU), nein ngit lap trinh scripting manh me (python), he thong pipeline don gian, hieu qua,
Rd rang viec xay dung mOt ding cu lam game dua tren Panda3D se tiet kiem theri gian, ding sue va tang 0 tin
clay len eat nhieu lan so yeti viec xay dtmg lai 1 game engine tir dau.
VAT LIEU VA

PHVONG PHAP NGHIEN CirU

v4t lieu
De sir dung game engine Panda3D can phai co bci phat trien Panda3D SDK. BO phan mem nay dugs viet bang
C++ va Python nen c6 the chay doge tren rat nhieu moi mrong. Trong qua trinh xay dung, nhom thuc hien xay
dung Framework tren 2 moi truang he dieu hanh chinh là Windows (Windows 7) Nit Linux (Ubuntu 11.04) kit hop
voi moi truang phat trien tich hop (IDE) Eclipse doge bo sung goi module pydev. Viec phat trien framework ding
dua tren 2 phan cling 6 hoa khk nhau (AMD Radeon 5470 va Nvidia Geforce 210).
Phirong phip.

Xdy dtmg ccic module ddc Idp, rieng le
Nhom da xay dung rat nhieu module rieng 10 co kha rang chay do

kiem nghiem kha nang cua
Panda3D ding nhu lam quen
kien trite diagame engine nay. Trong qua trinh xay dung cac module nay, nh6m
co gang tim diem tuong dong va tong hop lai , xay dung framework ve sau

Xciy dung kien frac
Tir qua trinh nghien cuu va xay dkmg cac game tnrac do (XNA — Microsoft, Windows Phone, Android,
Symbian). Nhom da to xay dtmg lai cac kien true de phi, hop vai moi the loai game. Rut trich nhimg dac diem dm
204



Giai thuimg SV.NCKH-Eureka ldn tha. 15 nam 2013

Ky ydu khoa hoc

game engine de tang kha Wang tuong thich. Ket qua sau khi xay dung, nh6m kha bAt nger vi kien tr6c da xay nen rat
giong voi game engine Unity3D.
Qua trinh xdy dung game thus nghiem va bo sung framework
Sau khi phat trien ca ban hoan tat game framework, nhom chon phuang phap xay dung nhieu game thuOc cac
the loai khac nhau de kiem chimg ve kha nang hoat diing dm framework cling nhu su xung d6t giva cac thinh,ph'an.
6 giai clop nay, ngoai viec sira cac 161 xung thanh phan, nham con b6. sung them mot cac thinh phan can
thiet cho game (nhiem vu, giao dien 2D, ...)

HET QUA VA THAO LU/01
Xfiy thing cac module da
, p lip, rieng le

NhOm da xay dung &roc mot luting kha cac hieu img do hoa, kiem nghiem he th6ng physic engine (Bullet
Engine) ding cac hieu Ong ve theri gian khac.
Hieu ring do hoa:

Terrain: Xay dung he thOng dia hinh dua tren he theing dia hinh c6 sin cua Panda3D (heightmap vbi
Level Of Detail) va tich hop them Multi-Texture (Alpha-map va Detail-map).

Hinh 1. Xay di,rng dia hinh vai Level Of Detail (trai) va Multi Texture (Phai).
Mat ntroc: Nhom phat trien thanh cong he th6ng mat nuac dua tren phuong phap Bump-mapping NM
Perlin Noise. Hai phuang phap nay sir dung mo ph6ng cho 2 loai be mat nu& khac nhau la nuoth6 (Bumpmapping) va nuac bien (Perlin Noise).

Hinh 2. Phvang phap m6 phong mat ruck yeti Bump-mapping (trM) va Perlin Noise (Phai).


Da bong: 2 N thong d6 bong duqc nhOm tich h9p tit* ben ngoai vao IA Percentage-Closer Filtering (PCF)
va Parallel Split Shadow Maps (PSSM).

205


Githi timing SV.NCKH-Eureka Idn thic 15 nam 2013

1())ye'u khoa hoc

Hinh 3. DO bong trong framework (PCF.)
He thOn.e huu trai : Gam Skybox, Skydome, SkyoCombine. Trong do phucmg phap SkyCombine la

plurcmg phap tong hop ou diem cua Skybox va Skydome.

111116111m
Hinh 4. SkyBox (trai) va Skycombine (phai).

He thong thoi gian: He thong th6i gian trong game la so thay d6i ve mat anh sang, chieu sang, do bong
bao gam thay d6i mau sac dm anh sang va bau , goc chieu sang va d6 bong, ...

Hinh 5. HO thong th6i gian trong framework.
Cac he th6'ng do hoo nay giCip lap trinh vien bet kiem doge rat nhieu th6i gian. Ngoai ra vai n11E-mg game don
gian, cac lap trinh vien se kh6ng can phai thao tac vai cac thanh phan phac tap ben dueri (GLSL, Cg, ...).

206


Ky yeiu khoa hoc


Giai throng SV.NCKH-Eureka kin dui 15 nam 2013
My dung Men frac

Co. the scripting: Tir viec kilo khan khi to chirc kien the tro chcri va nhtrqc diem khi sfr dung ke thira.
Nh6m da tim hieu va chh y tai phut:mg phap pluggin. Tuy nhien, do viec lap trinh tren Panda3D dtra ten nen
ngil scripting Python nen nhom da quy6t dinh tich hap phtrong phap scripting. Trong framework, mot doi Wang
c6 the dirk dieu khien beri met hay nhieu file script va cac file script co the dung chung gift nhieu doi Wang.
Message Dispatch: Ngoai kh6 khan ye van de dieu khien, viec truyen th6ng tin giiia cac d6ittrong ding
gap nhieu kh6 khan. Dac biet khi so Itrang cac object bit dau ter nen km han, cac lung thong tin bat dau mat kiem
soat va cuc ki,khO debug. Dua tren to twang ve middleware, nh6m da` xay dung met phuang thirc chuyen thong
tin gift cac doi tueng th6ng qua doi tucmg trung gian la message dispatcher. Phoi hop veri cache phan tag, mot
message di the dupe giri cho 1 doi tuqng, 1 hay nhieu nhOm doi tuqng hay toan b6 cac clei twang co mat trong

a

game.

He thong tai tai nguyen (Resource loading): Lay Y twang tit web, nhOm xay dung he thOng tai
resource có kha nang tai Ong (dynamic loading), Caching (gitt lai nhihig resource da tai a ten cache), swapping
(chuyen d6i hoan toan 1 he thong d6i tucrng nay sang he thong d6i twig khk)...
Factory va cac he thong lien quan: De giap tien Icri trong qua trinh xay dung game ding nhu de clang
han trong viec xay dung Map Editor, Game Editor, nhom xay dung he thong Game Factory giiip xay dtmg hau het
cac doi Wang trong game va ket not vai Game Framework, he thong scripting cfing nhu Message Dispatcher. Lap
trinh vial chi can khai bao doi Wong bang XML hok Json, toan be cac btrerc con lai se duet framework load to
deng.
clang xay dung game ma kh8ng can danh qua nhieu
Val kien true trong framework, lap trinh vien co the
thai gian de thiet ke kien true game. Kb' nang ma reng, bao tri, sira china ding dirk nang cao so you cac phtrong


a

phap thong thuong.
Qua trinh xay dung game thirc nghi@n va NI sung framework

He thong nhiem vu: Day la he thOng b6 sung giop lap trinh vien co the too ra cac nhiem Iry da dang va rat
dan gian (Iva tren viec thu thap ,cac gOi tin can thiet &rot gui den met dOi wow cu the nao do. He thong nhiem vu
nay c6 the dap thig dtrqc hau ha cac the loci nhiem vu hien tai dirk nhom biet den (ban sung goc nhin thu nhat,
chien thuat theri gian that, game di canh, ...).
Nhom dive hien xay dung demo 3 game bao gem:
Car Racing: thir nghiem he theing va cham vat ly, Minimap, 2D GUI, ...
Bens Dream: Demo game FPS, Map Model, Post rendering, He thong nhiem vu, chuyen man chaff.
DeDust: thu nghiem he thong RPG, he thong nhiem vu, he thong Al, Particle, Scripting, Terrain, Scene Editor,
Ky thuat ghep model va dia hinh.
Vii cac game duqc )(ay dung va thu nghiem, nh6m da c6 the kiem nghiem ducrc kha nang cha framework.
Deng thai veil viec xay dung 3 game chi trong 1 thing ding chimg to chive lqi ich ctia framework.

KET LUAN

veil ket qua da dot dirk, Game Framework da c6 the duct cliing de xay dung met s6 game veri quy m6 vira va
nho. Nh6m dang va se co gang cai thien hieu suit dm framework ding nhu viec xay dung mot game editor true
dang hon. Nhom hr tin co the,tiep hic phat trial game
quan hon gihp lap trinh vien c6 the xay dung game
the
ap
dung
ket
qua
trong cac du an game thus te.
han

nira
va
co
framework nay hoan chinh

a

LOT CAM ON
Nhom thisc hien xin girl 16i cam an vo cling sau sac den IS. Tran Minh Trik ngueri luon theo sat va Ong vien
va din cluang de nh6m co the hoan thanh duct luan van nay. Nh6m ding gal hal cam an den nhang thay ce
twang Doi Hoc Khoa Hoc Tu Nhien Thanh Ph6 HO Chi Minh da truyen day nhimg kien thirc de` nhom co dirk ket
qua nhu ngay hem nay.

TAI LIEU THAM KHAO
Panda3D Community
Rendering Antialiased Shadows with Depth Maps, San Rafael, CA: Pixar, 1987
Nvidia Gems
207



×