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

KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ VÀ ỨNG DỤNG PHÁT TRIỂN MỘT GAME CỤ THỂ

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.3 MB, 70 trang )



BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
-----------------------
TIỂU LUẬN CHUYÊN NGÀNH

KHẢO SÁT
MỘT SỐ GAME ENGINE HIỆN CÓ
VÀ ỨNG DỤNG
PHÁT TRIỂN MỘT GAME CỤ THỂ



SINH VIÊN THỰC HIỆN:
Trần Ngọc Trí – Đỗ Đăng Trường
MSSV:
07110143 - 07110147
GIÁO VIÊN HƯỚNG DẪN:
Ths. Nguyễn Trần Thi Văn

TP. HỒ CHÍ MINH – 2011


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
-----------------------
TIỂU LUẬN CHUYÊN NGÀNH


KHẢO SÁT
MỘT SỐ GAME ENGINE HIỆN CÓ
VÀ ỨNG DỤNG
PHÁT TRIỂN MỘT GAME CỤ THỂ



SINH VIÊN THỰC HIỆN:
Trần Ngọc Trí – Đỗ Đăng Trường
MSSV:
07110143 - 07110147
GIÁO VIÊN HƯỚNG DẪN:
Ths. Nguyễn Trần Thi Văn

TP. HỒ CHÍ MINH – 2011


LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Trƣờng Đại
Học Sƣ Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã tạo điều kiện cho chúng em
thực hiện đề tài nghiên cứu này.
Chúng em xin chân thành cảm ơn thầy Nguyễn Trần Thi Văn đã tận tình
hƣớng dẫn, chỉ bảo chúng em trong suốt quá trình nghiên cứu.
Chúng em xin cảm ơn quý thầy cô trong Khoa đã tận tình giảng dạy, trang
bị cho chúng em những kiến thức nền tảng cần thiết trong suốt quá trình học tập tại
trƣờng. Chúng em cũng xin bày tỏ lòng biết ơn sâu sắc đến ba, mẹ, ngƣời thân và
bạn bè đã động viên, ủng hộ, giúp đỡ chúng em trong suốt thời gian học cũng nhƣ
quá trình nghiên cứu nhiều khó khăn, thử thách.
Mặc dù đã rất cố gắng để hoàn thành đề tài một cách tốt nhất dựa trên nỗ
lực của bản thân, song chắc chắn bài báo cáo này không tránh khỏi những sai sót và

hạn chế, chúng em kính mong nhận đƣợc sự thông cảm, góp ý chỉ bảo của thầy cô
và các bạn.
Nhóm thực hiện
Trần Ngọc Trí và Đỗ Đăng Trƣờng
Tháng 6 năm 2011


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẤN

......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................

Ngày ........ tháng........ năm ............
Giảng viên hướng dẫn



(Ký và ghi rõ họ tên)


NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................

Ngày ........ tháng........ năm ............
Giảng viên phản biện


(Ký và ghi rõ họ tên)




MỤC LỤC
CHƢƠNG I: TỔNG QUAN ....................................................................................... 1
1. Game Engine ..................................................................................................... 1
1.1. Game Engine .............................................................................................. 1
1.2. Mối quan hệ giữa Game Engine và Game ................................................. 1
2. Phân loại Game Engine ..................................................................................... 1
1.1. Isometric Engine ........................................................................................ 1
1.2. 3D FPS (First Person Shooter) Engine....................................................... 2
1.3. MMOG (Massively Multiplayer Online Game) Engine ............................ 3
3. Tóm tắt .............................................................................................................. 3
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ ............................ 5
1. CryEngine 3: ..................................................................................................... 5
2. jMonkey Engine: ............................................................................................... 8
3. Orge Engine: ................................................................................................... 13
4. Panda3D: ......................................................................................................... 15
5. Source Engine: ................................................................................................ 18
6. Unreal Engine: ................................................................................................ 28
7. Bảng so sánh một số Game Engine: ............................................................... 31
CHƢƠNG III: UNITY 3D ENGINE ........................................................................ 37
1. Giới thiệu ........................................................................................................ 37
2. Lý do chọn Unity 3D Engine .......................................................................... 38
3. Các tính năng tiêu biểu của Unity 3D Engine ................................................ 39
4. Tóm tắt: ........................................................................................................... 44
CHƢƠNG IV: GIỚI THIỆU GAME DEMO ........................................................... 46
1. Giới thiệu chung .............................................................................................. 46
2. Nội dung cốt truyện ........................................................................................ 46
3. Môi trƣờng phát triển ứng dụng ...................................................................... 47
4. Quy trình thiết kế ............................................................................................ 47
5. Kết quả đạt đƣợc ............................................................................................. 53



6. Hƣớng dẫn sử dụng ......................................................................................... 54
7. Tóm tắt ............................................................................................................ 55
CHƢƠNG V: TỔNG KẾT........................................................................................ 57
1. Kết quả đạt đƣợc ............................................................................................. 57
2. Ƣu điểm và hạn chế ........................................................................................ 57
3. Hƣớng phát triển và mở rộng .......................................................................... 58
TÀI LIỆU THAM KHẢO ......................................................................................... 59


PHẦN MỞ ĐẦU
Ngày nay, với sự phát triển nhƣ vũ bão của khoa học công nghệ đã thúc đẩy
nhu cầu về thị trƣờng giải trí công nghệ cao tăng nhanh. Các sản phẩm giải trí mà
đặc biệt là Video Game đã mang lại một nguồn lợi khổng lồ cho ngành công nghiệp
máy tính. Sự cạnh tranh khốc liệt đã đặt ra yêu cầu các sản phẩm Game phải ngày
càng có chất lƣợng cao hơn, đa dạng hơn và thời gian hoàn thành ngắn hơn. Do đó,
Game Engine ra đời với mục đích rút ngắn thời gian và giảm thiểu chi phí trong
việc phát triển Game. Các Game với quy mô vừa và lớn hiện nay dù đa dạng về nội
dung và chủng loại nhƣng có một điểm chung là đều đƣợc xây dựng nhờ các Game
Engine. Chất lƣợng của Game phụ thuộc vào chất lƣợng của Game Engine mà nó sử
dụng.
Game Engine là thành phần cốt lõi Game hiện nay, đặc biệt là Game 3D.
Việc sử dụng Game Engine để xây dựng Game là bắt buộc nếu muốn tạo ra một
Game chất lƣợng cao trong một thời gian ngắn và giảm thiểu chi phí. Mặc dù ngành
công nghiệp Game sử dụng Game Engine đã và đang rất thành công với nhiều sản
phẩm tuyệt vời, tuy nhiên việc xây dựng Game cũng nhƣ ứng dụng Game Engine ở
nƣớc ta còn khá mới mẻ. Chính vì vậy, chúng em thực hiện đề tài “Khảo sát một số
Game Engine hiện có và Ứng dụng phát triển một Game cụ thể” với mong muốn
góp phần tạo tiền đề tích cực thúc đẩy sự phát triển của nền công nghiệp Game
nƣớc nhà trong tƣơng lai.

Với mục tiêu là khảo sát một số Game Engine hiện có, chúng em đóng vai
trò là những ngƣời thu thập thông tin về những thành tựu của nền công nghiệp
Game trên thế giới, giới thiệu và nêu ra những đặc điểm chính về một số Game
Engine hiện có. Bên cạnh đó chúng em cũng phát triển một Game demo dựa trên
Unity Engine của nhà phát triển Unity Technologies. Sản phẩm mà chúng em đạt
đƣợc là một Game 3D đơn giản, chủ yếu dùng để nói lên rằng việc ứng dụng Game
Engine để tạo ra một Game 3D cho chính mình là điều hoàn toàn có thể làm đƣợc.


Nội dung của bài tiểu luận đƣợc chia thành 4 phần, trong đó phần đầu tập
trung giới thiệu về Game Engine nói chung và một số Game Engine đang đƣợc sử
dụng trên thế giới; phần 2 dùng để nói về Engine mà chúng em sử dụng cho phát
triển Game demo là Unity Engine; phần 3 chúng em sẽ giới thiệu về sản phẩm
Game mà chúng em đạt đƣợc; phần 4 là phần tóm tắt kết quả đạt đƣợc và đề ra
hƣớng phát triển trong tƣơng lai.



MỘT SỐ THUẬT NGỮ CHUYÊN MÔN
 BSD license: viết tắt của cụm từ Berkeley Software Distribution, là tên gọi của
một loại giấy phép sử dụng phần mềm trong nhóm miễn phí với đặc điểm là có
ít yêu cầu về việc phân phối lại phần mềm, trái ngƣợc với loại giấy phép
copyleft.
 Bullet: là một engine vật lý nguồn mở chuyên dùng cho việc xử lý các tƣơng
tác trong không gian 3 chiều, thƣờng dùng trong game và tạo hiệu ứng cho
phim.
 CEGUI: viết tắt của cụm từ Crazy Eddie's GUI, là một hệ thống thƣ viện giao
diện đồ họa ngƣời dùng viết bằng C++. Nó đƣợc thiết kế riếng cho các nhu cầu
làm game video nhƣng các thƣ viện vẫn có thể dùng đƣợc cho những mục đích
khác.

 Cg: viết tắt của cụm từ C for Graphics, là một ngôn ngữ đồ họa cấp cao đƣợc
phát triển từ sự hợp tác giữa NVIDIA và Microsoft với mục đích hỗ trợ lập
trình vertex và pixel shader. Nó cũng tƣơng tự nhƣ công nghệ HLSL của
Microsoft.
 FMOD: là một bộ thƣ viện âm thanh đƣợc tạo ra bởi Firelight Technologies
nhằm hỗ trợ phát nhiều định dạng âm thanh khác nhau trên nhiều nền tảng,
đƣợc dùng trong việc phát triển game và các ứng dụng có sử dụng các chức
năng về âm thanh.
 GLSL: viết tắt của cụm từ OpenGL Shading Language, là một ngôn ngữ lập
trình đổ bóng cấp cao dựa trên C, do OpenGL ARB tạo ra nhằm hỗ trợ lập trình
viên điều khiển trực tiếp đến phần cứng mà không cần phải viết mã hợp ngữ
hoặc các ngôn ngữ lập trình cấp thấp.
 Google Summer of Code: một chƣơng trình diễn ra từ tháng 5 đến tháng 8
hàng năm do Google tổ chức (bắt đầu vào năm 2005) nhằm mục đích tạo ra sân
chơi cho các lập trình viên thể hiện tài năng của mình trong việc xây dựng các
dự án phần mềm nguồn mở hoặc miễn phí với giải thƣởng lên đến 5000 USD
vào năm 2010
 HDRR: viết tắt của cụm từ high dynamic range rendering, là công nghệ dựng
hình đồ họa khung cảnh bằng các thuật toán chiếu sáng thực hiện trên một vùng
rộng lớn.
 HLSL: viết tắt của cụm từ High Level Shader Language, là một ngôn ngữ lập
trình đổ bóng do Microsoft phát triển nhằm khai thác các API Direct3D.
 LOD: viết tắt của cụm từ Level of detail, là một kỹ thuật làm tăng hiệu quả
dựng hình.


 Navigation mesh: là một cấu trúc dữ liệu trừu tƣợng dùng cho các ứng dụng trí
tuệ nhân tạo nhằm hỗ trợ việc tìm đƣờng đi trong một không gian rộng lớn.
 Octree: là một cấu trúc dữ liệu mà mỗi nút sẽ có đúng 8 nút con, dùng để chia
không gian 3 chiều thành 8 phần nhỏ.

 Particle system: là một kỹ thuật đồ họa máy tính dùng để mô phỏng chính xác
các hiện tƣợng mờ ảo mà nếu dùng các kỹ thuật dựng hình thông thƣờng sẽ khó
thực hiện đƣợc, ví dụ nhƣ mô phỏng đốm lửa, các vụ nổ, khói, nƣớc chảy, lá
rơi, tuyết, sƣơng mù, bụi, đuôi sao chổi,…
 Per-pixel lighting: ám chỉ một tập hợp các phƣơng thức tính toán sự chiếu sáng
tại từng điểm ảnh khi dựng hình.
 Phong Lighting: là một mô hình chiếu sáng cục bộ tại những điểm trên bề mặt
đối tƣợng.
 Ragdoll physics: là một loại phƣơng thức chuyển động mô phỏng thực tế có
kết hợp với các khớp nối mang lại độ trung thực cao.
 Ray-Tracing: là một kỹ thuật tạo ảnh bằng cách theo dấu đƣờng đi của tia sáng
qua các điểm trong mặt phẳng của ảnh và mô phỏng hiệu ứng phản chiếu.
 Screen Space Ambient Occlusion: là một kỹ thuật dựng hình khai thác hiệu
quả của kỹ thuật sinh hiệu ứng Ambient Occlusion theo thời gian thực.
 Shader: là một tập hợp các câu lệnh dùng để tính toán các hiệu ứng dựng hình
trên phần cứng đồ họa ở mức độ linh hoạt cao.
 Subsurface scattering: là kỹ thuật chiếu sáng xuyên qua bề mặt của những đối
tƣợng trong suốt, bị tán xạ khi tƣơng tác với vật chất và thoát ra khỏi bề mặt tại
những điểm khác nhau.
 VMPI: viết tắt của cụm từ Valve Message Passing Interface, là một công cụ
đƣợc Valve phát triển và tích hợp vào Source Engine.
 WYSIWYG: viết tắt của cụm từ “What You See Is What You Get”, là một
cụm từ mô tả những hệ thống có khả năng hiển thị nội dung khi soạn thảo giống
nhƣ những gì sẽ đƣợc xuất ra màn hình khi hoàn tất
1
CHƢƠNG I: TỔNG QUAN


CHƯƠNG I: TỔNG QUAN
1. Game Engine

1.1. Game Engine
Game Engine là một phần mềm đƣợc thiết kế đặc biệt để xây dựng và
phát triển video game. Hiện nay có rất nhiều loại Game Engine dùng để phát
triển game cho cả hệ máy console và máy tính cá nhân (PC). Các thành phần
cốt lõi của 1 game engine bao gồm:
 Hệ thống dựng hình (kết xuất) đồ họa 2D và 3D (Render
System).
 Hệ thống tính toán tƣơng tác vật lý và phát hiện va chạm
(Physics System).
 Hệ thống trí tuệ nhân tạo (Artificial Intelligence System).
 Hệ thống phân luồng, quản lý bộ nhớ và tạo dòng xử lý dữ liệu.
 Hệ thống diễn hoạt (Animation System).
 Hệ thống hỗ trợ mạng (Network System).
 Hệ thống tạo hiệu ứng âm thanh, hình ảnh,…
1.2.Mối quan hệ giữa Game Engine và Game
Game Engine là thành phần cốt lõi tạo nên nền móng để phát triển
Game. Cũng giống nhƣ động cơ và xe: chúng ta có thể sản xuất ra nhiều mẫu
mã xe khác nhau dùng cùng một loại động cơ, sức mạnh của chiếc xe phụ
thuộc khá nhiều vào động cơ mà nó sử dụng. Do đó chất lƣợng Game phụ
thuộc khá nhiều đến chất lƣợng Game Engine mà nó sử dụng.
2. Phân loại Game Engine
1.1. Isometric Engine
Đây là Game Engine đƣợc sử dụng nhiều trong các Game 2D. Hầu hết
các Game Engine thuộc loại này hiện nay đã có 1 số phần hỗ trợ 3D và trong
tƣơng lai sẽ chuyển hẳn sang 3D nhằm tạo ra những Game có mức độ chân
2
CHƢƠNG I: TỔNG QUAN


thực cao và tận dụng đƣợc những tính năng về chiếu sáng cũng nhƣ đổ bóng

lên các đối tƣợng trong Game.
Các Isometric Engine đƣợc dùng để phát triển Game thể loại chiến
lƣợc (strategy) và thể loại nhập vai (RPG – Role Game Play Genre). Một số
tựa Game đƣợc phát triển dựa trên các Isometric Engine có thể kể đến nhƣ:
Age of Empires, Diablo, Hellfire, Baldur’s Gate, Warlords Battle Cry,…

1.2. 3D FPS (First Person Shooter) Engine
3D FPS Engine là một loại Game Engine đặc biệt chuyên dùng để mô
phỏng môi trƣờng 3D trong các Game thể loại bắn súng góc nhìn thứ nhất
(FPS video game). First-Person có nghĩa là góc nhìn trong game sẽ thay đổi
theo chuyển động của mắt nhân vật trung tâm, còn Shooter đại diện cho các
tựa game có cách chơi chủ yếu xoay quanh việc điều khiển nhân vật chính
giết các nhân vật khác trong game. Một đặc trƣng cơ bản của các FPS Engine
là khả năng hỗ trợ rất nhiều các chức năng trong không gian 3 chiều nhƣ
dựng hình 3 chiều, tô bóng (shader), diễn hoạt (animation), mô phỏng tƣơng
tác vật lý và phát hiện va chạm, mô phỏng chuyển động vật thể, mô phỏng
chất lỏng, áo quần, bề mặt địa hình và nhiều hiệu ứng phức tạp khác.
Cùng với sự phát triển mang tính đột phá của công nghệ trong những
năm gần đây, đồ họa trong các FPS Engine đã có những bƣớc tiến vƣợt bậc,
mang lại cho ngƣời dùng những tựa Game không chỉ có nội dung lôi cuốn
mà hình ảnh ngày càng sống động nhƣ đời thật. Các tựa Game đƣợc xây
dựng dựa trên các 3D FPS Engine có thể kể đến nhƣ: Doom, Half-life,
Counter Strike, Unreal Tournament, Call of Duty, Halo, Hitman, Far Cry,
Crysis,…
Hầu hết các FPS Engine đều có kèm theo công cụ hỗ trợ dựng hình và
xử lý tƣơng tác vật lý. Bên cạnh đó chúng ta cũng có thể nạp các đối tƣợng
3
CHƢƠNG I: TỔNG QUAN



mô hình 3D đƣợc đóng gói từ các phần mềm chuyên dụng khác nhƣ 3DS
Max, Maya, Blender,…
1.3. MMOG (Massively Multiplayer Online Game) Engine
MMOG Engine là loại Game Engine đƣợc thiết kế chuyên dùng phát
triển các game nhiều ngƣời chơi. Do đặc điểm này mà việc xử lý và truyền
tải dữ liệu qua mạng cực kỳ quan trọng đối với MMOG Engine. Các Game
đa ngƣời chơi thƣờng chứa một lƣợng dữ liệu khá lớn và phân tán trên thiết
bị của mỗi ngƣời chơi, đồng thời các dữ liệu này phải đƣợc xử lý và truyền
tải đến tất cả ngƣời chơi cùng 1 lúc. Chính vì vậy mà khả năng sử dụng hợp
lý băng thông mạng cực kỳ quan trọng và là yếu tố sống còn của MMOG
Engine. Một MMOG Engine tốt là phải có khả năng tối ƣu lƣợng dữ liệu
truyền đi một cách triệt để.
Đa số các MMOG Engine hiện nay đều tƣơng thích và đƣợc tích hợp
với một FPS Engine. Nhờ vậy mà ngoài khả năng cho phép nhiều ngƣời chơi
tham gia cùng lúc thì các MMOG Engine cũng xây dựng đƣợc những Game
có khả năng thỏa mãn ngƣời chơi nhờ mô phỏng thế giới thực khá tốt và tính
nghệ thuật cũng đƣợc đảm bảo.
Một số Game nổi tiếng đƣợc phát triển từ các MMOG Engine hiện
nay là: World of Warcraft, Final Fantasy XI, Star Wars Galaxies, The Matrix
Online, World War II Online, Need for Speed: World,…
3. Tóm tắt
Trong bối cảnh công nghệ phát triển vƣợt bậc hiện nay, hầu hết các
Game đều đƣợc phát triển dựa trên một Game Engine cụ thể. Nhu cầu ngày
càng cao từ phía ngƣời dùng đã thúc đẩy các nhà phát triển Game phải cho ra
mắt các Game ngày càng hấp dẫn hơn, hình ảnh sống động và thực tế hơn,
đồng thời chi phí thấp hơn và thời gian phát triển ngắn hơn. Do đó việc ứng
dụng Game Engine trở thành tất yếu. Chất lƣợng của Game Engine ảnh
hƣởng rất lớn đến chất lƣợng của Game đƣợc tạo ra từ nó.
4
CHƢƠNG I: TỔNG QUAN



Các Game Engine đƣợc chia thành 3 loại dựa vào thể loại game mà nó
tạo ra, đó là Isometric Engine, FPS Engine và MMOG Engine. Tuy nhiên
việc phân chia này chỉ mang tính tƣơng đối do càng ngày các Game Engine
càng hoàn thiện và đƣợc tích hợp những chức năng từ các loại khác nhằm tạo
ra những sản phẩm thỏa mãn đƣợc yêu cầu ngƣời dùng và có tính cạnh tranh.
Việc tìm hiểu về các Game Engine sẽ giúp chúng ta có những kiến
thức cơ bản về từng Game Engine, từ đó chúng ta có thể đánh giá đƣợc đâu
là một Game Engine phù hợp với nhu cầu và túi tiền để chúng ta đầu tƣ phát
triển một Game cho riêng mình.

5
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


CHƯƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN

1. CryEngine 3:
CryEngine 3 là Game Engine đƣợc Crytek phát triển và phát hành vào
4 tháng 10 năm 2009, là một bƣớc phát triển tiếp nối theo phiên bản
CryEngine 2 khá thành công của hãng. Theo Crytek, CryEngine 3 đƣợc tạo
ra với tham vọng trở thành công cụ phát triển game tất cả trong một, ứng
dụng trên cả Microsoft Windows, PlayStation 3 và Xbox 360. Riêng đối với
nền PC, CryEngine 3 sẽ hỗ trợ tốt cả DirctX 9, 10, 11.
Điểm nổi trội so với các engine đƣơng thời là tập trung vào mặt xử lý
hình ảnh, ngoài ra hiệu ứng âm thanh và chuyển động cũng đƣợc mô phỏng
xuất sắc. Những tựa game nhƣ Far Cry, Crysis, Crysis Warhead, Crysis 2 và
Aion: Tower of Eternity là những cái tên tiêu biểu sử dụng Cry Engine.
Các đặc điểm chính của CryEngine 3:

 Nâng cấp chế độ WYSIWYG (What You See Is What You
Get) cho mọi nền tảng trong bộ soạn thảo Sandbox.
 Bổ sung các bản cập nhật cho mọi nền tảng trong bộ soạn thảo
Sandbox.
 Đồ thị luồng.
 Hệ thống phát sinh địa hình và cây cỏ tính hợp.
 Bộ soạn thảo FX tích hợp và particle system thời gian thực.
 Bộ công cụ hỗ trợ Road & River.
 Bộ tạo hình xe cơ giới.
 Hỗ trợ CPU đa nhân.
 Hệ thống chiếu sáng toàn bộ linh hoạt theo thời gian thực.
 Deferred lighting
 Hệ thống chiếu sáng và đổ bóng động.
6
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


 Cải thiện khả năng hiển thị vật thể ở xa
 Hệ thống bản đồ game.
 Hệ thống hỗ trợ tạo không gian chơi
 Công nghệ "Uber Shader".
 Hệ thống mô phỏng mắt nhìn và chiếu sáng HDR.
 Hệ thống nhòe ảnh khi chuyển động và hiệu ứng lấy nét vật
thể.
 Hệ thống diễn hoạt nhân vật.
 Hệ thống cá tính hóa nhân vật.
 Hệ thống diễn hoạt dựa trên khung xƣơng
 Kỹ thuật chuyển động cong và chuyển động ngƣợc.
 Bộ chỉnh sửa diễn hoạt bề mặt.
 Subsurface scattering

 Hệ thống trí tuệ nhân tạo.
 Hệ thống tìm đƣờng đi linh hoạt.
 Bộ phát sinh navigation mesh tự động.
 Hệ thống hiệu ứng tự nhiên.
 Hệ thống nâng cao chất lƣợng hình ảnh theo thời gian thực.
 Hệ thống dựng hình nƣớc chất lƣợng cao.
 Hệ thống hiệu ứng ánh sáng động.
 Hệ thống vật lý tích hợp hỗ trợ đa luồng.
 Bộ công cụ phân tích hiển thị.
 Hệ thống dựng hình chất lƣợng cao Offline Rendering
 Bộ biên dịch mã nguồn
 Hệ thống âm thanh hƣớng dữ liệu.
 Hệ thống tƣơng tác âm nhạc và tiếng động.
 Hệ thống dựng hình tốc độ cao.
 Sound moods
 Kỹ thuật Ray-Tracing.
7
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


Một số game đƣợc phát triển bằng CryEngine 3:
Tựa Game Ngày phát hành Nhà phát triển Nhà phát hành Nền tảng
ASTA Chƣa biết Polygon
Games
NHN Windows
ArcheAge 2012 XL Games XL Games Windows
Cabal 2 Chƣa biết ESTsoft Windows
Ryse Chƣa biết Crytek GmbH Microsoft
Game Studios
Xbox 360

Crysis 2 Tháng 3 năm
2011
Crytek GmbH Electronics
Arts
Windows,
PS 3, Xbox
360
Forge by
Chaos
Chƣa biết Panzar Studio Windows
Lichdom Chƣa biết Xaviant Windows,
PS 3, Xbox
360
Nexuiz Hè năm 2011 IIIFonic Windows,
PS 3, Xbox
360
Sniper:Ghost
Warrior 2
Chƣa biết City
Interactive
Windows,
Xbox 360
Tour Golf
Online
Chƣa biết OnNet,
OnNet USA
OnNet Windows
Warface Chƣa biết Crytek Seoul Tencent
Holdings
Windows



8
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


2. jMonkey Engine:
.jMonkey Engine (jME) là đƣợc tạo ra nhằm dành riêng cho việc
phát triển đồ họa 3 chiều theo hƣớng hiện đại. Toàn bộ dự án jMonkey
Engine đƣợc dựa trên ngôn ngữ Java cho khả năng tiếp cận cao. Hệ thống đồ
họa tiên tiến hỗ trợ OpenGL 2 thông qua Lightweight Java Game Library
(LWJGL) – một bộ thƣ viện Java nguồn mở chuyên dùng phát triển game.
jME đƣợc xem nhƣ là một công cụ phát triển game cấp thấp. Vì là một
tập hợp các thƣ viện, jME hầu nhƣ không đặt ra một giới hạn nào cho lập
trình viên. Nền tảng jMonkey cho phép tùy chọn các bộ thƣ viện nền.
jME là một dự án nguồn mở mang tính cộng đồng cao, đƣợc phát
hành theo giấy phép BSD và đƣợc sử dụng trong một số xƣởng làm game
thƣơng mại hoặc các cơ quan giáo dục.
Những đặc điểm đáng chú ý trong jMonkey Engine:
 Shaders: jME3 mang lại sự dễ dàng khi sử dụng các shader,
chúng ta có thể vừa học công nghệ GLSL trong lúc áp dụng nó
lên các mô hình của chúng ta. Kiến trúc dựa trên shader cho
phép jME tƣơng thích hoàn toàn với các chuẩn đồ họa hiện tại
và tƣơng lai. Các công nghệ shader mà jME có gồm:
o GLSL.
o Các thƣ viện Shader.
o Các bộ hoán vị Shader.
 Lighting: hệ thống mô phỏng ánh sáng của jME sử dụng nhiều
công nghệ tiên tiến:
o Per-pixel lighting

o Multi-pass lighting
o Phong Lighting
 Diffuse Map
9
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


 Alpha Map
 GlowMap
 Bump Map
 Specular Map
 Parallax Map
o Tangent shading
o Reflection
 Physics: hệ thống vật lý trong jME sử dụng bộ thƣ viện jBullet
– một phiên bản Java của thƣ viện Bullet Physics đƣợc nhiều
nhà phát triển game sử dụng. Việc đóng gói Bullet vào các đối
tƣợng jME đảm bảo sự tƣơng tác dễ dàng và những bản cập
nhật sau này có thể hỗ trợ tốt thƣ viện Bullet đã có cũng nhƣ
phần cứng tăng tốc xử lý đồ họa. Những đặc tính khác của hệ
thống vật lý:
o JBullet binding
 Physical characters
 Physical joints and hinges
 Ray-cast vehicle
o Ragdoll physics
o Multi-threaded physics
o Mesh-accurate collision shapes
 Special Effects: hệ thống tạo hiệu ứng đặc biệt bao gồm:
o Particles: Smoke, fire, explosions, etc

o Post processing / 2D Filter Effects
 Reflective Water
 Shadow mapping
 High Dynamic Range rendering
 Screen Space Ambient Occlusion
 Light Scattering
10
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


 Cartoon Effect
 Fog
 Bloom
 Depth of Field Blur
 Asset System: hệ thống quản lý tài sản sử dụng các tập tin mô
tả cho các vật chất, mô hình, giao diện ngƣời dùng,… hỗ trợ
ngƣời thiết kế và lập trình viên có thể làm việc độc lập với
nhau. Các tính năng mà Asset System cung cấp:
o Asset importing
 Animation
 Meshes
 Textures
 Scenes
 Materials
 Shaders
o Multi-threaded asset loading via HTTP
o Loading scenes from .ZIP files
o Sharable AssetPacks
 Texturing: hệ thống họa tiết sử dụng các công nghệ:
o Texturing

o Multi-texturing through shaders
o Splat textures
 Terrain: hệ thống đối tƣợng địa hình:
o Geomipmapped hightmap terrain
o Import Ogre3D dotScene format
o SkyBox and SkyDome
o Terrain lighting
 Graphical User Interface: giao diện đồ họa ngƣời dùng chứa
các điều khiển:
11
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


o Orthogonal (Billboard) node
o Nifty GUI integration
 Text fields
 List boxes
 Drop-downs
 Sliders & scrollbars
 Scrollpanel
 Networking: hệ thống mạng cho phép tạo chế độ đa ngƣời chơi
thông qua công cụ SpiderMonkey hỗ trợ các đặc điểm:
o UDP
o TCP
o Compression
o Thread safe
 Các định dạng đƣợc jME hỗ trợ gồm:
o Đối tƣợng mô hình đƣợc xây dựng từ Ogre Mesh XML,
Ogre DotScene, Wavefront OBJ, MTL
o Đối tƣợng họa tiết: DDS, HDR, PFM, TGA, JPG, PNG,

GIF
o Font: Bitmap fonts
o Âm thanh: WAV and OGG (OpenAL, Ogg Vorbis)
o Video: OGV (Ogg Vorbis)
o Định dạng tập tin nhị phân jME3 (đối tƣợng và khung
cảnh): j3o
o Định dạng tập tin đối tƣợng vật chất jME3: j3m
o Định dạng tập tin định nghĩa vật chất jME3: j3md
Một số dự án đƣợc phát triển từ jME:


12
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


Tựa Game Ngày phát
hành
Nhà phát triển Nhà phát hành Nền tảng
Nord (game web
trên facebook)
Chƣa biết
SkyGoblin SkyGoblin
Windows,
Mac OS X,
Linux
Open
Wonderland (bộ
công cụ nguồn
mở chuyên dùng
để tạo ra thế giới

ảo 3 chiều có
khả năng tƣơng
tác cao)
Tháng
5/2010
Open Wonderland
Foundation, Sun
Microsystems
Open Wonderland
Foundation, Sun
Microsystems
Windows,
Mac OS X,
Linux


13
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


3. Orge Engine:
OGRE (Object-Oriented Graphics Rendering Engine) là một Engine
dựng hình 3D linh hoạt và tập trung vào khung cảnh (hơn là một công cụ tạo
game) đƣợc viết bằng C++, đƣợc thiết kế để mang lại sự đơn giản và trực
quan hơn cho nhà phát triển trong việc tạo ra những ứng dụng có khai thác
phần cứng tăng tốc đồ họa 3D. Bộ thƣ viện của OGRE trừu tƣợng hóa các
các thƣ viện mức hệ thống nhƣ Direct3D và OpenGL để cung cấp một giao
diện lập trình dựa trên các đối tƣợng thể giới thực và các lớp cấp cao.
Nhƣ đã nói ở trên, cái tên OGRE cũng đã nói lên đƣợc chức năng
chính của Engine này đó là dựng hình, do mục đích ban đầu của nhà phát

triển là cung cấp một giải pháp chung hỗ trợ cho công việc kết xuất hình ảnh.
Mặc dù OGRE cũng đƣợc trang bị nhiều tính năng khác (nhƣ các lớp chuyên
về ma trận và vector, công cụ quản lý bộ nhớ,…) nhƣng đó chỉ là những tính
năng phụ thêm. Vì thế, OGRE không phải là một lựa chọn hoàn hảo cho
công việc phát triển game do nó không cung cấp các hỗ trợ về âm thanh, hệ
thống vật lý,…Mặc dù có vẻ nhƣ đây là một hạn chế lớn của OGRE, song đó
cũng là một đặc điểm khá hay. Việc lựa chọn OGRE nhƣ là một Engine
chuyên về đồ họa cho phép những nhà phát triển Game tự do sử dụng bất cứ
hệ thống vật lý, nhập xuất, âm thanh hay bộ thƣ viện nào mà họ muốn, đồng
thời cũng giúp cho nhóm phát triển OGRE tập trung vào mảng đồ họa thay vì
phải phân tán công sức cho những công việc khác. OGRE hoàn toàn hỗ trợ
các bộ thƣ viện OIS, SDL và CEGUI và cả bộ công cụ Cg.
Một số đặc điểm đáng chú ý của OGRE:
 Thiết kế hƣớng đối tƣợng, có khả năng nâng cấp bằng plugin,
do đó tăng tính mô-đun.
 Là một Engine thiên về đồ họa, hỗ trợ nhiều công cụ quản lý
hình ảnh nhƣ octree, BSP và Paging Landscape.
 Là một Engine đa nền tảng, hỗ trợ tốt OpenGL và Direct3D.
OGRE có khả năng kết xuất những nội dung giống nhau trên
những nền tảng khác nhau mà không cần bận tâm nhiều đến
đặc điểm của nền tảng đó, do đó làm giảm tính phức tạp trong
việc phát triển Game đa nền tảng. OGRE hiện tại hỗ trợ cho cả
Linux, Mac OS X và tất cả các phiên bản Windows.
14
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ


 Hỗ trợ lập trình Vertex và Fragment cũng nhƣ bộ tạo bóng đổ
truyền thống đƣợc viết bằng GLSL, HLSL, Cg và assembler.
 Bộ quản lý khung cảnh hỗ trợ kỹ thuật tiên tiến LOD

(Progressive Level of Details).
 Hệ thống diễn hoạt (animation) cung cấp đầy đủ các tính năng
cho việc xử lý chuyển động khung xƣơng dựa trên trọng lƣợng,
cho phép thể hiện đƣợc nhiều tƣ thế khác nhau.
 OGRE còn có công cụ quản lý ảnh đa lớp có hỗ trợ ngôn ngữ
kịch bản và công nghệ tạo tăng hiệu ứng hình ảnh (Video post-
processing) nhƣ HDR (High Dynamic Range rendering),
blooming, saturation, brightness, blurring và noise.
 Hỗ trợ gỡ lỗi bộ nhớ và nạp tài nguyên.
 Hỗ trợ nhiều công cụ kết xuất nội dung cho hầu hết các phần
mềm tạo mô hình 3 chiều nhƣ 3ds Max, Maya, Blender,
LightWave, Milkshape, Sketchup,…
Trong vài năm trở lại đây, rất nhiều dự án tham gia chƣơng trình
Google Summer of Code đƣợc thực hiện dành cho OGRE Engine.
Một số Game điển hình đƣợc phát triển bằng OGRE Engine:
Tựa Game Ngày phát
hành
Nhà phát
triển
Nhà phát hành Nền tảng
Pacific Storm 28/12/2006 Lesta Studio Buka
Entertainment,
CDV
Windows
Zombie Driver 04/12/2009 Exor Studios Exor Studios Windows
Zero Gear 12/01/2010 NimbleBit NimbleBit Windows
Ankh: Heart of
Osiris
Năm 2006 Deck13
Interactive

BHV Software Windows,
Linux, Mac
OS X
Earth Eternal Chƣa biết Turnout
Ventures
Limited
Turnout Ventures
Limited,
Sankando
Corporation
Windows
Garshasp: The
Monster Slayer
Tháng 5, 2011 Dead Mage
Inc.
Just A Game Windows,
Linux

×