1. Trang chủ
  2. » Luận Văn - Báo Cáo

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Ể

70 894 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 1,3 MB

Nội dung

KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ

Trang 1

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Ó

Ths Nguyễn Trần Thi Văn

TP HỒ CHÍ MINH – 2011

Trang 2

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Ó

Ths Nguyễn Trần Thi Văn

TP HỒ CHÍ MINH – 2011

Trang 3

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

Trang 4

Ngày tháng năm

Giảng viên hướng dẫn

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

Trang 5

Ngày tháng năm

Giảng viên phản biện

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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ó

Trang 15

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

Trang 16

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

Trang 17

 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 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

 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

Trang 18

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

Games

Chaos

Warrior 2

Chƣa biết City

Interactive

Windows, Xbox 360 Tour Golf

Trang 19

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:

Trang 20

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

Trang 21

 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 Multi-threaded asset loading via HTTP

o Loading scenes from ZIP files

 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:

Trang 22

o Orthogonal (Billboard) node

o Nifty GUI integration

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:

Trang 23

Tựa Game Ngày phát

Open Wonderland Foundation, Sun Microsystems

Open Wonderland Foundation, Sun Microsystems

Windows, Mac OS X, Linux

Trang 24

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,

Trang 25

 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

Ventures Limited

Turnout Ventures Limited,

Sankando Corporation

Trang 26

4 Panda3D:

Panda3D là một Game Engine bao gồm các chức năng về đồ họa, âm

thanh, quản lý nhập xuất, hệ thống phát hiện va chạm và những chức năng khác phù hợp với nhiệm vụ phát triển Game 3 chiều

Panda3D là Engine mã nguồn mở theo giấy phép sử dụng BSD được cấp vào ngày 28 tháng 5 năm 2008 Thực tế thì những phiên bản được phát hành trước ngày 28 tháng 5 năm 2008 không được xem là miễn phí vì một số sai sót trong giấy phép cũ của Panda3D Mặc dù vậy thì những phiên bản Panda3D phát hành sau này đều có thể được sử dụng để phát triển game miễn phí hoặc mang tính thương mại mà không phải trả phí

Ngôn ngữ kịch bản dùng trong Panda3D là Python Bản thân Engine được viết bằng C++ và sử dụng một bộ sinh mã tự động để tạo thành các chức năng hoàn chỉnh cho Engine thông qua giao diện của Python Cách tiếp cận này giúp người phát triển game tận dụng được những ưu điểm của việc lập trình Python, như là hỗ trợ lập trình nhanh và quản lý bộ nhớ tốt hơn, nhưng vẫn giữ lại được ưu điểm về khả năng biên dịch của C++ bên trong nhân của Engine Cụ thể, Engine này tích hợp bộ dọn rác tự động của Python

và công cụ quản lý cấu trúc tự động

Người phát triển game dùng Panda3D thông thường phải viết mã bằng ngôn ngữ Python, nhưng Engine cũng cho phép lập trình trực tiếp bằng C++ Panda3D thường được dùng cho những game thương mại cỡ lớn, một số dự

án mã nguồn mở và vài khóa học ở trường đại học Mặc dù cộng đồng sử dụng Panda3D khá nhỏ nhưng lại rất năng động, những vấn đề gặp phải trên các diễn đàn hầu như đều được trả lời nhanh chóng

Về mặt thiết kế, Panda3D là một Engine chuyên về đồ họa không gian, nghĩa là nó sẽ tạo ra một thế giới ảo theo thuyết Đề-các để các nhà phát triển game thêm các mô hình 3 chiều vào Panda3D không phân biệt rõ ràng giữa những mô hình 3 chiều lớn như một hòn đảo với những mô hình 3 chiều

Trang 27

nhỏ như cái bàn hay thanh kiếm Cả 2 loại mô hình 3 chiều trên đều được tạo

ra nhờ những phần mềm mô hình chuẩn như Blender, 3ds Max hoặc Maya sau đó được nạp vào Panda3D và thêm vào trong không gian Đề-các

Panda3D sử dụng những chức năng của OpenGL và DirectX để dựng hình Ví dụ, cả OpenGL và DirectX đều có khả năng tạo đối tượng sương

mù, để tạo sương mù trong Panda3D ta chỉ cần lưu tham số sương mù tương ứng với các API sẽ được gọi bên dưới vào một nút trong đồ thị không gian Theo đó, chúng ta không cần phải thao tác với các API cấp thấp nữa Ngoài

ra Panda3D cũng cung cấp những phương thức cấp cao hơn như nạp mô hình, thực thi chuyển động, phát hiện va chạm,…

Panda3D được tạo ra trước khi có sự xuất hiện của các khái niệm vertex shader và pixel shader Vì thế nó chỉ được hỗ trợ viết mã tạo bóng đổ bằng tay trong năm 2005 Điều đó cản trở lập trình viên dùng Panda3D tiếp cận đến những kỹ thuật chiếu sáng từng điểm ảnh hiện đại trong các game

mà họ tạo ra, bởi vì việc lập trình đổ bóng bằng tay khá khó khăn và phức tạp nên những người phát triển game mong muốn Panda3D Engine có thể thực hiện việc đó một cách tự động

Để khắc phục hạn chế này, những người phát triển Panda3D Engine

đã thêm vào khả năng tổng hợp các hiệu ứng đổ bóng một cách tự động Bộ tổng hợp này sẽ được thực thi khi lập trình viên đánh dấu một mô hình với khả năng chiếu sáng từng điểm ảnh, hoặc khi lập trình viên áp dụng vào một bản đồ thường, bản đồ chú thích, bản đồ tự chiếu sáng hoặc những chức năng dùng đến các ống dẫn lệnh chức năng sẵn có Mục đích của bộ tổng hợp này nhằm dựng lên các mô hình có chất lượng cao mà người lập trình không cần phải tác động gì thêm

Panda3D còn cung cấp những chức năng khác ngoài những chức năng

hỗ trợ dựng hình 3D, đặc biệt là:

Trang 28

 Bộ công cụ phân tích khả năng trình diễn

 Bộ công cụ khảo sát đồ thị không gian

 Bộ công cụ phát hiện và sửa lỗi

 Ống lệnh hỗ trợ nhập/xuất đối tƣợng nghệ thuật

 Hệ thống âm thanh 3 chiều sử dụng FMOD, OpenAL và Miles Sound System

 Hệ thống trí tuệ nhân tạo

Một số game nổi tiếng đƣợc phát triển từ Panda3D:

Tựa Game Ngày phát

The Walt Disney Company

Windows, Mac OS X

Pirates of the

Caribbean Online

31/10/2007 Disney

Interactive Media Group

Disney Interactive Studios

Windows, Mac OS X

Trang 29

5 Source Engine:

Source Engine được phát triển bởi Valve Corporation, được giới

thiệu lần đầu vào năm 2004 cùng với game Counter-Strike: Source và không lâu sau đó là game Half-life 2 Source Engine là một trong những thành công lớn về mặt công nghệ của Valve, và là nền tảng cho những tựa game xuất sắc như Half-Life 2, Garry's Mod, Team Fortress và Left 4 Dead Cho đến nay, cộng đồng làm game tự do vẫn biết đến Source như một trong những engine chắc chắn và hiệu quả nhất cho các nhóm nhỏ và vừa

Về Hệ thống dựng hình: Source cung cấp những công nghệ tiên tiến

hỗ trợ xây dựng môi trường game nhanh chóng, linh hoạt và có tính chân thực cao Bộ dựng hình hiệu năng cao hỗ trợ nhà phát triển game tạo ra những cảnh game phức tạp một cách nhanh chóng và hiệu quả Bên cạnh đó, Source cũng sử dụng những công nghệ xử lý mới nhất trên CPU như hỗ trợ

đa nhân và SIMD (Single Instruction stream Multiple Data stream) cũng như trên GPU thông qua DirectX, mang lại cho chúng ta một cái nhìn chân thực trong thế giới ảo Cụ thể:

 Công nghệ tạo bóng đổ tiên tiến:

o Hỗ trợ các bộ tạo bóng HLSL

o Sử dụng thư viện hỗ trợ tạo bóng cao cấp

o Sử dụng công nghệ LOD (Level of Detail) cho các mô hình và thế giới ảo

o Công nghệ Alpha-to-Coverage cho phép khử răng cưa trên các đối tượng như cây cỏ, hàng rào,…

o Công nghệ Infinite Resolution Masking

 Hệ thống chiếu sáng và tạo bóng động:

o Radiosity Lightning cho hiệu ứng chiếu sáng chân thực trên các đối tượng hình học khi kết hợp với bản đồ ánh sáng

Trang 30

o Công nghệ HDR lightning tính toán dữ liệu từ bản đồ ánh sáng, bản đồ môi trường và các nguồn sáng động để cho ra hiệu ứng chiếu sáng tự nhiên, hỗ trợ cho cả DirectX 9

o Công nghệ Radian Transfer/Indirect Lightning tính toán ánh sáng phản xạ, tạo hiệu ứng ánh sáng trung thực trên các nhân vật và đối tượng động trong game

o Công nghệ High Performance Dynamic Shadows phát sinh bóng tối cho các đối tượng trong thế giới game

o Công nghệ Shadow Depth Mapping tạo hiệu ứng đổ bóng có chiều sâu và sắc nét

o Công nghệ Rim Lighting được dùng để tạo điểm nhấn cho những nhân vật chính trong game

o Công nghệ Advanced Material Rendering dùng để tạo ra các hiệu ứng ánh sáng như khuếch tán, phản chiếu, phát sáng, lấp lánh,…

 Hệ thống tạo hiệu ứng:

o Full Range of Special Effects: tạo ra các hiệu ứng môi trường như sương mù, mưa, và các hiệu ứng như máu, tia lửa, khói, tia sáng,…

o Particle Effects: hệ thống hạt của Source có khả năng tạo ra hiệu ứng lửa, vụ nổ, tuyết rơi,… Đồng thời khả năng tối ưu phần cứng đồ họa đa nhân làm tăng hiệu năng trình diễn

o Particle Editor: bộ chỉnh sửa và tạo mới hệ thống hạt có thể xem trước và khả năng chỉnh sửa hệ thống trực tiếp trong game

o Soft Particle: hỗ trợ khử giao điểm thô cho hệ thống dựng hình

Trang 31

o Motion Blur: tạo hiệu ứng chuyển động toàn màn hình theo thời gian thực

o Water: tạo ra bề mặt nước phản chiếu ánh sánh như thật bằng hiệu ứng khúc xạ và hiệu ứng Fresnel

đồ họa mà không làm giảm độ sắc nét của các họa tiết

o Versatile Multi-Texture Blending: định nghĩa các mặt nạ pha trộn với các cạnh sắc biến thiên, tổ hợp các họa tiết theo nhiều kiểu khác nhau và áp dụng bộ cân chỉnh màu sắc bề mặt

o Dynamic Color Correction: bộ cân chỉnh màu sắc động cho phép chỉnh sửa sắc thái màu và độ tương phản theo đúng phong cách nghệ thuật

Hệ thống mô hình và diễn hoạt: tương thích với hầu hết các phần mềm tạo mô hình đồ họa 3 chiều hiện có, cho phép chúng ta mô hình hóa các nhân vật, vũ khí, xe cộ và khung cảnh một cách trung thực bên trong môi trường phát triển của Source Bộ công cụ mạnh mẽ cho phép chúng ta dàn dựng và định nghĩa những tương tác vật lý sống động cho mọi đối tượng và nhân vật trong game

Trang 32

 Hệ thống mô hình lưới nhân vật cao cấp: tạo ra những nhân vật theo đúng những đặc điểm ngoài đời thực

o Hệ thống mô phỏng cơ bắp diễn tả cảm xúc, cách nói chuyện và ngôn ngữ cơ thể của các nhân vật

o Mô hình mắt dạng cầu phản chiếu ánh sáng một cách trung thực và tập trung vào người chơi/đối tượng, khác với cách nhìn song song

o Tính năng Language independent speech cho phép mô phỏng chuyển động môi nhân vật khi nói chuyện bằng bất kỳ ngôn ngữ nào

o Nâng cấp sắc thái da nhân vật theo những thuật toán chuyên dụng

o Hỗ trợ nhập các mô hình từ các phần mềm tạo mô hình

đồ họa chuyên nghiệp như Autodesk® Maya®, 3ds Max®, and Gmax®; SOFTIMAGE® | XSI®, Blender, LightWave 3D®, Maxon CINEMA 4D, Milkshape 3D, FragMOTION

o Bộ biên dịch mô hình và vật chất với các công cụ Vtex

và Studiomdl

o Cho phép xem trước mô hình với chế độ xem wireframe, shaded hay textured

 Bộ công cụ diễn hoạt cao cấp:

o Hệ thống Skeleton Animation: nối khớp các mô hình vơi nhau cho các chuyển động phức tạp

o Hệ thống Facial Animation: mô phỏng các trạng thái cảm xúc trên khuôn mặt với sự phối hợp của hơn 40 cơ riêng biệt

o Bộ công cụ Procedural Animation cao cấp: điều khiển chuyển động theo mô hình khung xương

Trang 33

o Animation Blending: phối hợp động tác một cách liền mạch nhằm tạo ra những chuyển động nối tiếp hoặc thêm chiều sâu vào các vị trí của nhân vật

o Layered Animation Blending: tổng hợp chuyển động từ nhiều phần lại với nhau:

o Faceposer: công cụ hỗ trợ tạo xúc cảm trên khuôn mặt

Hệ thống môi trường game: công cụ tạo bản đồ Valve Hammer Editor

là một môi trường thiết kế trực quan cho việc tạo dựng các kiến trúc (hình học, họa tiết, ánh sáng); xây dựng và viết mã cho các mô hình, thực thể và các nhân vật tự động, biên dịch và thực thi các cấp độ game Ngoài ra còn có công cụ VMPI giúp giảm đáng kể thời gian tạo bản đồ bằng cách phân phối tài nguyên cho nhiều nền tảng khác nhau Một số đặc điểm khác:

 Displacement Surfaces: tự do tạo và “điêu khắc” các ngọn đồi

tự nhiên, các thung lũng, rãnh sâu, các con dốc và những đường hầm; đồng thời có thể biến đổi và cắt xén những đối tượng trên bằng các công cụ sẵn có

 Brush Entities: định nghĩa cách mà các đối tượng tương tác với môi trường xung quanh

 Skyboxes: bản đồ môi trường khối lập phương (skyboxing) mở rộng ra chiều ngang và thêm thị sai vào các đối tượng ở xa

 Lighting Preview: dễ dàng xem trước các hiệu ứng của các nguồn sáng

 Model Browser: tích hợp bên trong Valve Hammer Editor, giúp chúng ta tìm kiếm, xem trước và sắp đặt các mô hình

Hệ thống vật lý (Physics): Hệ thống vật lý hỗ trợ mạng và có khả năng tương thích cao của Source làm việc tốt với cả vi xử lý và băng thông mạng Việc tạo dựng thế giới game linh hoạt và nhạy cảm, nơi mà các nhân vật có trí tuệ nhân tạo tương tác với các đối tượng mô phỏng khác, tương tác âm

Trang 34

thanh và đồ họa đều do hệ thống vật lý đảm nhận Các đặc tính của hệ thống vật lý có thể được kiểm soát ở mức thiết kế

 Machinery: tạo dựng các chi tiết máy móc với những chức năng cơ học, bộ bánh răng, dây curoa và ròng rọc

 Vehicles: hệ thống mô phỏng trung thực chuyển động của xe với các lò xo trên mỗi bánh xe, các bánh xe lăn và trượt phụ thuộc vào chất liệu mặt đường Những tham số biến thiên riêng biệt như công suất (mã lực), Individually tunable parameters include horsepower, hệ thống sang số, tốc độ tối đa, chất liệu

và độ ma sát lốp, độ co giãn lò xo,… Độ nghiêng trong quá trình tăng tốc, giảm tốc và đổi hướng sẽ mang lại những trải nghiệm chân thực khi lái xe

 Deformable Objects: hệ thống diễn hoạt dựa trên các luật vật lý

mô phỏng các chuyển động phức tạp của tóc, quần áo và phối hợp các cử động cơ thể

 Các đối tượng dây thừng và cáp có thể rung lắc hoặc đứt gãy một cách linh động

 Hệ thống quản lý các ràng buộc hệ thống: định nghĩa chuyển động khung xương bên trong hệ thống vật lý bằng một loạt các ràng buộc cung cấp những chuyển động phức tạp không giới hạn

 Inverse Kinematics: đảm bảo chân tay của nhân vật phản ứng chính xác vơi môi trường xung quanh, như chuyển động xung quanh vật cản và địa hình gập ghềnh

Hệ thống trí tuệ nhân tạo: sức mạnh của những game được xây dựng

từ Source Engine được đóng góp từ khả năng tương tác sống động giữa người chơi và các nhân vật thông minh (NPC – non-player character) khác

Hệ thống trí tuệ nhân tạo điều khiển các NPC đi theo người chơi, tham gia

Trang 35

vào trận đánh hoặc đánh nhau với người chơi trong các trận chiến ngẫu nhiên Các nhân vật thông minh có thể chạy, bay, né đòn, leo cầu thang và đào hầm

 Hệ thống Pathfinding and Navigation tinh vi cho phép các NPC vượt qua được những vật cản, tìm đường đi tốt nhất Hệ thống còn nhận biết được kích thước của các vật thể, biết được nơi nào chúng có thể đi qua và nơi nào không, và tính toán cho các cách thức chuyển động đã biết

 Hệ thống AI Sensory mô phỏng các giác quan của người như thị giác, thính giác và thậm chí là cả khứu giác để xác định và lần theo dấu vết đối tượng

 AI Relationships: thiết lập mối quan hệ giữa những người chơi

và các NPC để tạo ra tác động đến những hành vi như ghét, thích hay sợ hãi

 Battle AI: các nhóm những nhân vật thông minh có thể hợp tác

và chia sẻ kiến thức về kẻ thù Các thành viên trong nhóm thường xuyên theo dõi trạng thái của nhau, trong lúc một thành viên bắn yểm trợ thì các thành viên khác có thể tìm cách duy chuyển hoặc nạp lại băng đạn

 I/O System: Hệ thống nhập xuất linh hoạt cho phép nhà thiết kế cấp độ chơi điều khiển AI mà không cần phải viết mã

Hệ thống hỗ trợ lập trình: do được thiết kế toàn bộ bằng C++ nên Source Engine có cấu trúc linh động có thể mở rộng Những người sở hữu công nghệ Source có quyền truy cập đến tất cả mã nguồn mà Valve sử dụng

để phát triển Source Engine cũng như các game mà hãng này phát triển Điều này cho phép đội ngũ phát triển tiết kiệm thời gian rất nhiều so với việc làm lại từ đầu Các đặc điểm hỗ trợ lập trình:

Ngày đăng: 27/04/2013, 08:10

HÌNH ẢNH LIÊN QUAN

 Terrain: hệ thống đối tƣợng địa hì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Ể
errain hệ thống đối tƣợng địa hình: (Trang 21)
Một số Game điển hình đƣợc phát triển bằng OGRE Engine: - 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Ể
t số Game điển hình đƣợc phát triển bằng OGRE Engine: (Trang 25)
hình xây dựng, mô phỏng hành động lái xe, hỗ trợ việc mua sắm trong thế giới thực ảo,…  - 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Ể
hình x ây dựng, mô phỏng hành động lái xe, hỗ trợ việc mua sắm trong thế giới thực ảo,… (Trang 41)
Hình  xây  dựng,  mô  phỏng  hành  động  lái  xe,  hỗ  trợ  việc  mua  sắm  trong  thế  giới thực ảo,… - 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Ể
nh xây dựng, mô phỏng hành động lái xe, hỗ trợ việc mua sắm trong thế giới thực ảo,… (Trang 41)
7. Bảng so sánh một số Game Engine: - 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Ể
7. Bảng so sánh một số Game Engine: (Trang 42)
đƣợc xây dựng bằng hình khối hộp, phần thân bằng  khối cầu và phần ống  súng bằng hình khối trụ - 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Ể
c xây dựng bằng hình khối hộp, phần thân bằng khối cầu và phần ống súng bằng hình khối trụ (Trang 59)
STT NHÂN VẬT CẤU TẠO - 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Ể
STT NHÂN VẬT CẤU TẠO (Trang 59)
6.5. Thiết kế màn hình giao diện - 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Ể
6.5. Thiết kế màn hình giao diện (Trang 61)
 Màn hình thua: - 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Ể
n hình thua: (Trang 62)
 Màn hình thắng: - 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Ể
n hình thắng: (Trang 63)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w