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: . .1 3
4. Panda3D: . .1 5
5. Source Engine: . .1 8
6. Unreal Engine: . .2 8
7. Bảng so sánh một số Game Engine: . .3 1
CHƯƠNG III: UNITY 3D ENGINE . .3 7
1. Giới thiệu . 3 7
2. Lý do chọn Unity 3D Engine . 3 8
3. Các tính năng tiêu biểu của Unity 3D Engine . .3 9
4. Tóm tắt: . 4 4
CHƯƠNG IV: GIỚI THIỆU GAME DEMO . 4 6
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ế . 4 7
5. Kết quả đạt được . .5 3
6. Hướng dẫn sử dụng . 5 4
7. Tóm tắt . .5 5
CHƯƠNG V: TỔNG KẾT . .57
1. Kết quả đạt được . .5 7
2. Ưu điểm và hạn chế . .57
3. Hướng phát triển và mở rộng . 5 8
TÀI LIỆU THAM KHẢO . 5 9
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.
70 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 4315 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Tiểu luận Một số game engine hiện có và ứng dụng phát triển một game cụ thể, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ú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.
19
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
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.
20
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
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ệ thống vật chất:
o Source định nghĩa một tập các vật chất và họa tiết cho
từng đối tƣợng riêng lẻ.
o Self-shadowed Bump Maps: hệ thống tạo bóng khuếch
tán hỗ trợ cho cả phần cứng cũ.
o Wrinkle Maps: chuyên dùng cho bề mặt và nếp gấp của
vải.
o Detail Textures: tổ hợp các họa tiết tần số cao và thấp
với nhau nhằm bảo đảm duy trì mức độ sử dụng bộ nhớ
đồ 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.
21
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
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.
22
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
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
23
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
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
24
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
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:
25
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
Multi-platform: có thể sử dụng Microsoft Visual Studio 2005
để viết mã cho cả PC và Xbox 360.
Multi-core: những game đƣợc phát triển từ Source Engine có
khả năng tận dụng các vi xử lý đa nhân của cả PC và Xbox 360
để mang lại những trải nghiệm game hiệu năng cao.
Code Reuse: hỗ trợ tạo mới luật chơi, các hành vi của AI, các
đối tƣợng trong game,… dễ dàng và nhanh chóng nhờ khả năng
tái sử dụng các đoạn mã đã đƣợc Valve cung cấp.
Complete Control: cho phép tạo ra các bản cải tiến theo ý muốn
cho game của chúng ta.
Efficiency: tận dụng đƣợc ƣu điểm của các kỹ thuật tối ƣu hiệu
năng và bộ nhớ mà Valve đã phát triển cho các game của họ.
Profiling : sử dụng các công cụ sẵn có của Valve để theo dõi
video, kết nối mạng và hiệu năng game..
Presentation: bộ thƣ viện giao diện đồ họa ngƣời dùng hỗ trợ
đa nền tảng của Valve giống nhƣ hầu hết các control của
Windows nhƣng đƣợc tối ƣu hóa cho game và giao diện ngƣời
dùng.
Hệ thống âm thanh (Audio): Source Engine chứa một bộ các công
nghệ âm thanh số chất lƣợng cao phục vụ cho hiệu ứng âm thanh trong thế
giới game. Những hiệu ứng pha trộn âm nối tiếp, những cuộc hội thoại và âm
nhạc sống động mang lại một trải nghiệm chơi game trung thực.
Threaded Sound Engine. Luồng xử lý trộn âm đƣợc chạy trên 1
nhân riêng biệt trong những hệ thống đa nhân.
Memory Management: âm thanh có thể đƣợc nạp một cách bất
đồng bộ, đƣợc tạo luồng và lƣu giữ trong bộ đệm có kích thƣớc
cố định.
26
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
Surround Sound: hỗ trợ âm thanh nổi, tai nghe, các bộ hợp âm
4 kênh và dàn loa 5.1.
DSP: cung cấp các bộ lọc DSP (digital signal processing) bao
gồm bộ hòa âm, phối khí, bộ cân chỉnh biên độ, bộ dao động
tần số thấp (ADSR) và các bộ lọc low-pass, high-pass và band-
pass. Các hiệu ứng từ những bộ lọc DSP này có thể đƣợc sinh
ra dựa trên hình dạng của môi trƣờng game.
Compressed Audio Formats: hỗ trợ các định dạng ADPCM,
MP3*, and XMA.
Advanced Pre-processing Effects: ngƣời thiết kế âm thanh có
thể tạo ra những hiệu ứng đa kênh bằng công cụ tạo hiệu ứng
tiền xử lý.
Hỗ trợ chuẩn âm thanh nổi 16-bit 44KHz.
Real-time Wave File Stitching: cho phép ngƣời thiết kế âm
thanh phối hợp nhiều hiệu ứng với nhau thay vì tƣng hiệu ứng
tuần tự.
Overall Mix Control: hỗ trợ sử dụng mã kịch bản để hòa âm.
Scripting System for Environmental Sounds: cho phép tạo hiệu
ứng âm dựa vào vị trí của ngƣời chơi trong không gian.
Material-based Effects: cho phép sử dụng mã kịch bản để thiết
đặt các hiệu ứng âm thanh khi va chạm, cọ xát hay tiếng bƣớc
chân,…
Yêu cầu phải có giấy phép bản quyền của Miles Sound System.
Hệ thống mạng (Networking): cung cấp bộ phân tích dự báo và bù trễ
phía máy chủ nhằm làm giảm độ trễ trong kết nối mạng. Ngoài ra hệ thống
mạng còn có chức năng lập danh sách máy chủ hiện có cho ngƣời chơi lựa
chọn. Một chức năng nổi bật khác là hệ thống gửi thông điệp tức thời cho
phép ngƣời chơi trao đổi thông tin với nhau.
27
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
Một số game nổi tiếng đƣợc xây dựng từ Source Engine:
Tựa Game Ngày phát
hành
Nhà phát triển Nhà phát hành Nền tảng
Counter-Strike:
Source
01/11/2004
(Windows)
23/6/2010
(Mac)
Valve
Corporation,
Hidden Path
Entertainment
Valve
Corporation
Windows,
Mac OS X
Half-Life 2 Từ
16/11/2004
đến
26/5/2010 tùy
vào nền tảng
Valve
Corporation
Valve
Corporation,
Sierra
Entertainment
Windows,
Xbox, Xbox
360, PS 3,
Mac OS X
Day of Defeat:
Source
26/9/2005 Valve
Corporation
Valve
Corporation
Windows,
Mac OS X
Left 4 Dead 17/11/2008 Valve
Corporation
Valve
Corporation
Windows,
Mac OS X,
Xbox 360
Team Fortress 2 09/10/2007 Valve
Corporation
Valve
Corporation
Windows,
Mac OS X,
Xbox 360, PS
3
28
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
6. Unreal Engine:
Unreal Engine là Game Engine đƣợc phát triển bởi Epic Games. Từ
lần ra mắt đầu tiên vào năm 1998 với game Unreal, nó đã đặt nền móng cho
những game sau này nhƣ Unreal Tournament, Deus Ex, Turok, Tom
Clancy’s Rainbow Six 3: Raven Shield, Tom Clancy’s Rainbow Six: Vegas,
America’s Army, Red Steel, Gears of War, BioShock, BioShock 2, Star
Wars Republic Commando, Tactical Ops: Assault on Terror, Borderlands,
Destroy All Humans! Path of the Furon, Batman: Arkham Asylum, Section
8, Stranded,… Mặc dù Engine này đƣợc nhắm đến thể loại FPS nhƣng nó
cũng tỏ ra khá thành công khi dùng cho nhiều thể loại game khác nhƣ stealth
(trong game Tom Clancy’s Splinter Cell), MMORPG (trong game Vanguard:
Saga of Heroes) cũng nhƣ RPG với các game Mass Effect, The Last
Remmant, Killing Floor và Harry Porter and the Philosopher’s Stone.
Công nghệ của Epic Games đƣợc coi là đối thủ cạnh tranh trực tiếp
của Cry Engine và cũng đƣợc áp dụng phổ biến nhất trong các trò chơi hiện
nay. Khởi đầu không thuận lợi do gặp một số vấn đề về tƣơng thích với nền
máy PS3, Unreal Engine đã chứng kiến sự chuyển mình mạnh mẽ, đặc biệt là
hình ảnh đầu ra, để mang đến cho game thủ hàng loạt trải nghiệm thú vị.
Nhiều ý kiến chuyên môn dự báo Unreal Engine 4, ra đời vào 2012, có khả
năng sẽ thống trị trên thị trƣờng
Do đƣợc viết bằng C++ nên Unreal Engine có tính cơ động cao và
đồng thời là một công cụ đƣợc rất nhiều nhà phát triển game ngày nay sử
dụng trên hầu hết các nền tảng hiện có nhƣ Microsoft Windows, Linux,
Android, iOS, Mac OS và Mac OS X trên máy tính cá nhân cũng nhƣ trên rất
nhiều các thiết bị chơi game chuyên dụng nhƣ Dreamcast, Xbox, Xbox 360,
PlayStation 2 và PlayStation 3. Một điều tuyệt vời nữa là mã gameplay có
thể đƣợc viết bằng UnrealScript – một ngôn ngữ kịch bản có phí – và do đó
nhiều phần trong gameplay có thể đƣợc chỉnh sửa mà không phải can thiệp
29
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
sâu và bên trong Engine. Thêm vào đó, với gói phần mềm trung gian, Unreal
Engine cũng cung cấp rất nhiều công cụ trợ giúp cho việc thiết kế nội dung
game.
Phiên bản mới nhất đƣợc phát hành là Unreal Engine 3 đƣợc thiết kế
dựa trên: công nghệ Microsoft DirectX 9 tƣơng thích với các nền tảng
Windows XP/Windows Vista/Windows 7 32/64bit và Xbox 360; sử dụng
công nghệ DirectX 10 và DirectX 11 dành cho Windows XP/Windows
Vista/Windows 7, và OpenGL for các hệ thống Linux, Mac OS X 32/64bit
và PlayStation 3.
Unreal Engine 3 (UE3) đƣợc thiết kế dành cho DirectX 9/10/11 trên
PC, Xbox 360, PlayStation 3 và các hệ điều hành dựa trên OpenGL (nhƣ
Mac OS X, iOS). Bộ dựng hình của UE3 hỗ trợ rất nhiều công nghệ tiên tiến
bao gồm HDRR, per-pixel lightning, đổ bóng động, đồng thời kèm theo các
công cụ đã có ở các phiên bản trƣớc.
Epic đã dùng UE3 để tạo ra những đứa con cƣng của mình mang tên
Unreal Tournament 3, Gears of War, và sau này sẽ là Gears of War 2. Một số
tính năng nổi bật đƣợc Epic cập nhật trong UE3 là:
Hệ thống chiếu sáng tĩnh cao cấp với những hiệu ứng tiên tiến
nhƣ đổ bóng động chính xác vùng nửa tối, khuếch tán ánh
sáng,…
Tăng khả năng tạo hiệu ứng gãy đổ đối với các đối tƣợng tĩnh
để mô phỏng thực tế hơn các vụ phá hủy.
Hệ thống tạo cơ thể mềm mại.
Khả năng mô phỏng những đám đông lớn.
Bên cạnh việc sử dụng cho ngành công nghiệp game, UE3 còn đƣợc
dùng cho nhiều dự án thuộc các lĩnh vực khác nhƣ thiết kế và mô phỏng mô
30
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
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,…
Tựa Game Ngày phát
hành
Nhà phát triển Nhà phát hành Nền tảng
Unreal Tournament
3 (UT3)
Trong khoảng
2007 – 2008
tùy nền tảng
Epic Games Midway
Games
Windows, PS
3, Xbox 360,
Mac OS X
31
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
7. Bảng so sánh một số Game Engine:
Engine
Đặc điểm
CryEngine 3 Source Engine Unreal Engine 3 jMonkey Engine OGRE Panda3D
Author Crytek Valve
Corporation
Epic Games Inc jME core Team Steve Streeting The Panda
Development
Group
Graphics
APIs
OpenGL,
DirectX
OpenGL,
DirectX
OpenGL,
DirectX
OpenGL OpenGL,
DirectX
OpenGL,
DirectX
Programming
Language
C++ C++ C++ Java C++ C/C++, Python
OS Windows,
Xbox,
PlayStation,
GameCube
Windows, Mac
OS, Xbox,
Xbox 360, PS 3
Windows, Xbox
360, PS 3
Windows, Mac
OS, Linux
Windows, Mac
OS, Linux
Windows, Mac
OS, Linux, Sun
OS
General
Features
Thiết kế
hƣớng đối
tƣợng.
Có khả năng
mở rộng thông
qua plugin
Hệ thống
Save/Load
Thiết kế
hƣớng đối
tƣợng.
Có khả năng
mở rộng thông
qua plugin
Hệ thống
Save/Load
Thiết kế hƣớng
đối tƣợng.
Có khả năng
mở rộng thông
qua plugin
Hỗ trợ đa nền
tảng
Thiết kế hƣớng
đối tƣợng.
Có khả năng mở
rộng thông qua
plugin
Hỗ trợ đa luồng,
đa nền tảng
Thiết kế
hƣớng đối
tƣợng.
Có khả năng
mở rộng thông
qua plugin
Hệ thống
Save/Load
Thiết kế
hƣớng đối
tƣợng
Hỗ trợ
Artoolkit
Hỗ trợ web
Scripting UnrealScript.
Visual AI
Script Tool.
Scripted
material
language
Scriptable
Python
Scripting
Interface
32
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
multipass
rendering
Built-in
Editors
CryEngine
Sandbox
Graphics
performance
measurement
tools
Faceposer tool
Valve
Hammer
Editor
Half-life
model viewer
Studiomdl
Vbsp, Vrad,
Vvis
VMPI
Visual physics
modeling tool.
AI paths.
UnrealMatinee.
Visual Sound
Tool.
MonkeyWorld3D Direct tools
for GUI-based
scene
Particle
effects API
and GUI-
based particle
panel
Physics Basic Physics
Collision
Detection
Rigid Body
Vehicle
Physics
Basic Physics
Collision
Detection
Rigid Body
Basic Physics
Collision
Detection
Rigid Body
Vehicle
Physics
Basic Physics
Collision
Detection
JBullet binding
Ragdoll physics
Multi-threaded
physics
Mesh-accurate
collision shapes
Basic Physics
Collision
Detection
Rigid Body
Basic Physics
Collision
Detection
Rigid Body
Vehicle
Physics
Lightning Per-vertex
Per-pixel
Per-vertex
Per-pixel
Per-vertex
Per-pixel
Per-vertex
Lightmapping
Per-vertex
Per-pixel
Per-vertex
Per-pixel
33
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
Lightmapping
Gloss maps
Anisotropic
Lightmapping
Radiosity
Gloss maps
HDR Lighting
Rim Lighting
Volumetric
Lightmapping
Gloss maps
Anisotropic
Per-pixel
Multi-pass
lighting
Phong Lighting
Tangent shading
Reflection
Lightmapping
Volumetric
Shadows Shadow
Volume
Shadow
mapping
Shadow
mapping
Projected
planar
Shadow
Volume
Shadow mapping
Shadow
mapping
Shadow
Volume
Texturing Basic
texturing
Multi-
texturing
Bumpmapping
Mipmapping
Basic
texturing
Multi-
texturing
Bumpmapping
Mipmapping
Basic texturing
Multi-texturing
Bumpmapping
Mipmapping
Volumetric
Projected
Procedural
Basic texturing
Multi-texturing
Mipmapping
Procedural
Splat textures
Basic
texturing
Multi-
texturing
Bumpmapping
Mipmapping
Volumetric
Projected
Basic:
Animated
textures
Video
textures
Pointer
textures
3D textures
Shaders Vertex Shader
Pixel Shader
High Level
Shader
Vertex Shader
Pixel Shader
High Level
Shader
Alpha-to-
Coverage
Vertex Shader
Pixel Shader
High Level
Shader
Vertex Shader
Pixel Shader
High Level
Shader
Hỗ trợ GLSL
Vertex Shader
Pixel Shader
High Level
Shader
High Level:
Hỗ trợ Cg
Hỗ trợ GLSL
Shader
generator
34
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
Scene
Management
General
LOD
Occlusion
Culling
Portals
LOD
BSP
Occlusion
Culling
General
BSP
Portals
LOD
General
Octrees
LOD
General
Octrees
LOD
BSP
Occlusion
Culling
Animation Inverse
Kinematics
Skeletal
Animation
Animation
Blending
Skeletal
Animation
Morphing
Facial
Animation
Animation
Blending
Inverse
Kinematics
Inverse
Kinematics
Keyframe
Animation
Skeletal
Animation
Facial
Animation
Animation
Blending
Keyframe
Animation
Skeletal
Animation
Keyframe
Animation
Skeletal
Animation
Animation
Blending
Skeletal
Animation
Meshes Mesh Loading
Skinning
Progressive
Mesh Loading
Skinning
Progressive
Deformation
Mesh Loading
Skinning
Progressive
Tessellation
Deformation
Mesh Loading
Skinning
Mesh Loading
Skinning
Progressive
Mesh Loading
Skinning
Surfaces and
Curves
Patches Spinnes
Patches
Spinnes
Spinnes
Special
Effects
Enviroment
Mapping
Lens Flares
Billboarding
Environment
Mapping
Billboarding
Particle
Enviroment
Mapping
Lens Flares
Billboarding
Enviroment
Mapping
Lens Flares
Billboarding
Enviroment
Mapping
Lens Flares
Billboarding
Particle
System
Motion Blur
Fog
35
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
Particle
System
Sky
Water
Decals
Fog
Mirror
System Particle System
Depth of Field
Motion Blur
Sky
Water
Fire
Explosion
Decals
Fog
Weather
Mirror
Particle System
Sky
Water
Fire
Explosion
Fog
Particle
System
Motion Blur
Sky
Water
Fog
Terrain Rendering
CLOD
Rendering
CLOD
Rendering
CLOD
Splatting
Rendering
CLOD
Rendering
Networking
System
Client-Server
Client-Server
Client-Server
Peer-to-Peer
Splat textures Client-Server
Sound and
Video
2D Sound
3D Sound
2D Sound
3D Sound
2D Sound
3D Sound
Streaming
Sound
3D Sound
2D Sound
3D Sound
Streaming
Sound
AI Pathfinding
Decision
Making
Scripted
Pathfinding
Decision
Making
Finite State
Machines
Scripted
Pathfinding
Decision
Making
Finite State
Machines
Scripted
Finite State
Machines
Rendering Fixed-function Fixed-function Fixed-function Fixed-function Fixed-function Fixed-
36
CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
Render-to-
Texture
Render-to-
Texture
Render-to-
Texture
Render-to-
Texture
Fonts
GUI
Render-to-
Texture
Fonts
GUI
function
Stereo
Rendering
GUI
37
CHƢƠNG III: UNITY 3D ENGINE
CHƯƠNG III: UNITY 3D ENGINE
1. Giới thiệu
Unity Engine – đƣợc phát triển bởi Unity Technologies – là một gói công cụ
tích hợp dùng để xây dựng Game 3D hoặc các nội dung có tính tƣơng tác khác nhƣ
mô hình kiến trúc hay hoạt hình 3D thời gian thực. Unity Engine có thể chạy đƣợc
trên hệ điều hành Windows và Mac OS X. Sản phẩm tạo ra từ Unity Engine có thể
chạy đƣợc trên các nền Windows, Mac, Linux (đang trong gian đoạn thử nghiệm),
Wii, iPad, iPhone cũng nhƣ Android. Bên cạnh đó, Unity Engine còn có khả năng
phát triển Game nền Web hỗ trợ cả Mac và Windows. Trong tƣơng lai, Unity sẽ hỗ
trợ cho các hệ máy Xbox 360 và Play Staytion 3.
Một số game đƣợc phát triển từ Unity Engine:
Tựa Game Ngày phát
hành
Nhà phát triển Nhà phát hành Nền tảng
Cartoon Network
Universe:
FusionFall
14/1/2009 Cartoon
Network,
Grigon
Entertainment
Cartoon
Network
Windows,
Mac
Dead Frontier 21/4/2008 Neil Yates Creaky
Corpse Ltd
Web
Dudebro: My Shit
is Fucked Up So I
Got To Shoot/Slice
You II
2011 Grimoire
Assembly
Forge
Grimoire
Assembly
Forge
Windows,
Mac
Global Conflicts:
Palestine
05/7/2007 Serious Games
Interactive
Gamers Gate,
Manifesto
Games &
Macgamestore
Windows,
Mac
GooBall 3/2005 Over The Edge
Entertainment
Ambrosia
Software
Mac
The Graveyard 2009 Tale of Tales Valve
Corporation,
Apple
Windows,
Mac, iOS
Off-Road
Velociraptor Safari
Chƣa biết Dozycow Windows,
Mac, iOS
38
CHƢƠNG III: UNITY 3D ENGINE
Targa Tasmania Chƣa biết Dozycow Windows,
Mac, iOS
WolfQuest 21/12/2007 Minnesota
Zoo,
Eduweb
Eduweb Windows,
Mac
2. Lý do chọn Unity 3D Engine
Hiện nay chúng ta có các engine nhƣ: Cry Engine, Unreal Engine, Source
Engine, Id Tech Engine, Unity engine và những cái tên khác nhƣ RenderWare
Engine, Game Bryo engine. Các Engine mã nguồn mở bao gồm: Orge Engine,
Panda3D Engine, jMonkey Engine… Trong đó Id Tech engine và Source Engine là
các lão làng trong ngành công nghiệp Game, Cry Engine và Unreal Engine là hai
tân binh đáng chú ý nhất do những thành công đáng kể của họ trong những năm gần
đây. Về mặt đồ họa Cry Engine đƣợc đánh giá cao và hầu nhƣ không có đối thủ,
hình ảnh 3D của Cry Engine cho chất lƣợng chân thực minh chứng qua các tựa
game nhƣ Far Cry hay Crysis… Tuy nhiên Cry Engine rất kén chọn vì chỉ những
máy cấu hình thật cao mới có thể đáp ứng đƣợc. Bên cạnh đó, Unreal Engine cũng
cho chất lƣợng đồ hoạ không kém, mà không đòi hỏi cấu hình quá cao. Các hệ máy
laptop mua cách đây 2-3 năm trở lại đa số là xài đƣợc. Các engine khác đƣợc kể tên
ở trên thay nhau vị trí top 10 sau Cry Engine và Unreal Engine.
Nếu bạn có tiền, có nhiều kinh nghiệm, có một nhóm làm việc chuyên
nghiệp, lúc đó bạn mới nên nghĩ đến Unreal Engine hay Cry Engine… Nếu bạn
muốn xài mã nguồn mở cho tiết kiệm thì bạn phải bù lại nhiều thời gian và sức lực
hơn để tìm hiểu Orge Engine, hay Panda Engine,… Lựa chọn sáng giá nhất cho các
tân binh trong lĩnh vực 3D, có ít kinh nghiệm, ít tiền, nhƣng không muốn phải bỏ
quá nhiều công sức tìm hiểu lại những gì ngƣời ta đã làm là Unity engine.
Về khoản đồ họa, Unity không so sánh đƣợc với Cry Engine nhƣng đủ làm
hài lòng những ngƣời dùng phổ thông. Unity không đòi hỏi máy cấu hình cao, thêm
39
CHƢƠNG III: UNITY 3D ENGINE
nữa Unity đặc biệt chú ý đến sự tiện dụng. Việc làm game, làm phim 3D sử dụng
Unity Engine so với các Engine còn lại dễ dàng hơn rất nhiều vì đối tƣợng mà Unity
Engine hƣớng tới chủ yếu là những ngƣời dùng không chuyên. Chúng ta có thể kéo
thả, kế thừa, viết scripts, tổ chức các thành phần, import – export các tài nguyên
(model, texture, mesh, …) đóng gói các đối tƣợng hoàn chỉnh và chia sẻ nó một
cách dễ dàng với Unity Engine. Ví dụ, bạn có thể đóng gói chiếc xe hơi theo nhƣ
phần hỗ trợ trên trang chủ của Unity và dùng nó cho các game, hoặc phim 3D của
riêng mình.
Cuối cùng là về vấn đề thƣơng mại. Unity cung cấp bản miễn phí cho các
ngƣời dùng cá nhân và các công ty có thu nhập dƣới 100.000 USD. Chúng ta có thể
tạo các ứng dụng, các mô hình, các game 3D cho riêng mình hoặc bán nó trên Unity
Store mà không lo về vấn đề vi phạm bản quyền. Nếu muốn bán sản phẩm mình
trên Unity Store thì chúng ta phải trả 30% hoa hồng. Nếu có nhu cầu cao hơn, sử
dụng bản Pro, chúng ta sẽ phải trả 1.500 USD, tƣơng đƣơng khoảng 32 triệu VNĐ
với rất nhiều tính năng cao cấp và tiện dụng. Các bạn có thể tham khảo bảng so
sánh chức năng giữa Unity free với Unity Pro tại liên kết sau:
Về cơ bản dựa trên những tiện ích mà Unity
mang lại cũng nhƣ so sánh với các Engine khác thì 32 triệu VNĐ cho Unity Pro là
hợp lí và vừa túi tiền.
3. Các tính năng tiêu biểu của Unity 3D Engine
Đƣợc viết dựa trên ngôn ngữ C# và JavaScript; thiết kế theo hƣớng đối
tƣợng, cấu trúc có khả năng mở rộng cao, hỗ trợ các API đồ họa là OpenGL và
DirectX
Là một môi trƣờng phát triển tích hợp mạnh mẽ, có khả năng xem trƣớc kết
quả, sản phẩm có thể triển khai trên nhiều nền tảng:
a. Ứng dụng trên Windows và Mac OS X.
40
CHƢƠNG III: UNITY 3D ENGINE
b. Ứng dụng chạy trên nền web (thông qua plugin Unity Web Player)
trên Windows and Mac OS X.
c. Chức năng Dashboard widget trên Mac OS X
d. Ứng dụng chạy trên Nintendo Wii, iPhone/iPad, Android, Xbox 360
và PlayStation 3 (đối với phiên bản có phí).
Unity cho phép nạp các thiết kế từ 3ds Max, Maya, Blender, Modo, Zbrush,
Cinema 4D và Cheetah3D.
Engine đồ họa sử dụng Direct3D (Windows), OpenGL (Mac, Windows),
OpenGL ES (iOS) và proprietary APIs (Wii).
Về mặt dựng hình, Unity Engine có những đặc điểm nổi bật sau:
a. Deferred Lightning: cho khả năng thể hiện ánh sáng vào bóng đổ cực
kỳ trung thực, mọi đối tƣợng đều thể hiện đƣợc hiệu ứng ánh sáng
cũng nhƣ bóng tối, mức tác động ở cấp từng điểm ảnh.
b. 100 kiểu tạo bóng tích hợp: từ đơn giản (Diffuse, Glossy,…) đến phức
tạp (Self Illuminated Bumped Specular,…).
c. Surface Shaders: bộ phát sinh mã tự động nhằm đem lại sự đơn giản
trong việc lập trình Vertex Shader và Pixel Shader. Chúng ta đơn giản
chỉ cần viết mã Cg và Unity sẽ biên dịch nó thành mã dựng hình,
thậm chí cũng có thể biên dịch sang GLSL để chạy trên các thiết bị di
động.
d. Scalability: mở rộng khả năng tƣơng thích với phần cứng. Unity sẽ
phân tích phần cứng hiện có để bảo đảm ngƣời dùng có thể trải
nghiệm đƣợc những hiệu ứng đồ họa tốt nhất.
e. Full Screen Post-Processing Effects: Unity tích hợp rất nhiều hiệu ứng
hậu xử lý hình ảnh toàn màn hình nhƣ: Sun shaft, high quality depth-
of-field, lens effects, chromatic abberation, curve-driven color
correction,…
41
CHƢƠNG III: UNITY 3D ENGINE
Nhằm tăng hiệu năng, Unity áp dụng một số kỹ thuật nhƣ sau:
a. Batching: nhằm hạn chế số lệnh gọi hàm vẽ, Unity tự động kết hợp
các đối tƣợng hình học lại thành các tổ hợp, cách làm này sẽ giúp
giảm đáng kể chi phí nhƣng đồng thời vẫn giữ lại đƣợc toàn bộ hiệu
ứng hình ảnh.
b. Rewritten Rendering Engine: tăng sức mạnh và tinh linh động của bộ
kết xuất hình ảnh lên đến 50% so với các phiên bản trƣớc.
c. Occlusion Culling: giải pháp giúp giải chi phí cho các sản phẩm chạy
trên nền console, di động và Web bằng cách giảm số lƣợng đối tƣợng
cần kết xuất xuống mức tối thiểu.
d. GLSL Optimizer: mặc dù OpenGL ES cho phép sử dụng hiệu ứng đổ
bóng trên nền di động song nó vẫn tỏ ra quá nặng so với khả năng của
thiết bị. Vì vậy, Unity đƣợc trang bị bộ tối ƣu GLSL Shader với khả
năng tăng hiệu năng lên 2-3 lần.
Về khía cạnh chiếu sáng, Unity 3 có những đặc điểm khá ƣu việt:
a. Deferred Renderer: kỹ thuật chiếu sáng hiện đại cho khả năng bao phủ
toàn bản đồ, mọi nguồn sáng đều tạo ra hiệu ứng chiếu sáng, thậm chí
là tia sáng phát ra từ một vụ nổ.
b. Realtime Shadows: Hệ thống tạo bóng đổ tiên tiến có khả năng tạo
bóng từ mọi nguồn sáng, đồng thời sử dụng ít tài nguyên phần cứng.
c. Screen Space Ambient Occlusion (SSAO): Unity Pro sử dụng công
nghệ SSAO nhƣ là một công cụ tạo hiệu ứng ảnh chuẩn. Đơn giản chỉ
cần thêm thành phần này vào bất kỳ góc nhìn nào và chúng ta sẽ đạt
đƣợc hiệu quả tuyệt vời.
d. Sun Shafts & Lens Effects: Unity 3 Pro cũng hỗ trợ thêm hiệu ứng tia
sáng mặt trời, đồng thời mô phỏng hiệu ứng phản chiếu thấu kính nội
42
CHƢƠNG III: UNITY 3D ENGINE
và hiệu ứng lóe sáng nhằm mang lại một trải nghiệm mang tính nghệ
thuật cao.
e. Lightmapping: là công nghệ duy nhất cho phép chúng ta điều khiển
không gian toàn bộ game một cách chính xác. Unity 3 tích hợp công
cụ lightmapper tốt nhất hiện nay là Beast, giúp tạo ra không gian
game hoàn hảo nhất.
Hệ thống đối tƣợng địa hình gồm:
a. Sculpt Like a Master: Unity cung cấp các công cụ tinh vi hỗ trợ việc
tạo, nâng cao, hạ thấp độ cong của các mô hình đồi núi.
b. Trees, Bushes, Rocks, Grass: hỗ trợ việc vẽ phong cảnh nền cho
game.
c. Detail Texture Painting: cho khả năng tạo ra những đối tƣợng đa dạng
và hấp dẫn cho địa hình.
d. Lightmaps Integrated: Unity tích hợp đầy đủ công nghệ Beast
lightmapper, cho phép kết hợp nhiều thành phần đồ họa bên trong địa
hình game.
e. Blazing Speeds: Unity có khả năng tạo ra hàng ngàn đối tƣợng cây,
hàng triệu mảnh vỡ và hàng tỉ lá cỏ mà vẫn giữ đƣợc hiệu năng đáng
kinh ngạc, không ngốn quá nhiều tài nguyên phần cứng.
Hệ thống Physics gồm những đặc điểm:
a. NVIDIA® PhysX®: Hỗ trợ công nghệ tƣơng tác vật lý mạnh mẽ từ
NVIDIA.
b. Cloth: Unity hỗ trợ 2 loại chất liệu vải là Interactive Cloth (chuyên
dùng mô phỏng tƣơng tác với môi trƣờng nhƣ màn che, khăn trải
bàn,…) và Skinned Cloth (đƣợc tối ƣu hóa để dùng làm trang phục
cho nhân vật, đòi khả năng chuyển động phức tạp và chính xác).
43
CHƢƠNG III: UNITY 3D ENGINE
c. Soft Bodies: những đối tƣợng “mềm” với khả năng tƣơng tác một
cách chân thực với môi trƣờng (ví dụ nhƣ quả bóng).
d. Rigidbodies: là những đối tƣợng trong game tƣơng tác dƣới sự điều
khiển của các thuật toán vật lý, tạo ra những chuyển động chân thực
mà không cần phải viết thêm mã.
e. Ragdolls: hỗ trợ tạo ragdoll từ những nhân vật động trong game nhanh
chóng, đồng thời cho phép lập trình viên có thể tùy chỉnh để phù hợp
với nhu cầu.
f. Joints: hỗ trợ nhiều loại khớp nối cho phép tạo ra những đối tƣợng “có
khả năng phá vỡ”, mang lại cho game tính chân thực cao hơn.
g. Cars: cho khả năng tạo ra game đua xe nhanh chóng và dễ dàng hơn
bao giờ hết. Bên cạnh đó, công nghệ Wheel Collider mô phỏng một
cách chính xác những lốp xe thực.
Sử dụng ngôn ngữ ShaderLab cho các xử lý tạo bóng, hỗ trợ cả các ống lệnh
chức năng sẵn có và lập trình tạo bóng viết bằng ngôn ngữ Cg hay GLSL. Một bộ
tạo bóng gồm nhiều tham số và khả năng nhận biết cho phép Unity chọn đƣợc tham
số phù hợp nhất với phần cứng đồ họa hiện có, hoặc giảm bớt chức năng để tăng độ
tƣơng thích.
Hệ thống luận lý trong Unity dựa trên nền tảng dotNET nguồn mở có tên là
Mono để viết mã game. Đây đƣợc xem là một môi trƣờng phát triển game hàng đầu
thế giới, mang lại cho nhà phát triển game đầy đủ sức mạnh, tốc độ và sự linh hoạt.
Lập trình viên cũng có thể sử dụng JavaScript, C# hoặc Boo (có cấu trúc tƣơng tự
Python) để viết mã kịch bản cho game. Cả 3 ngôn ngữ này đều có thể sử dụng các
thƣ viện dotNET để thao tác với cơ sở dữ liệu, thao tác với tập tin XML, lập trình
mạng,…
Cung cấp Unity Asset Server nhƣ là một công cụ để quản lý phiên bản sản
phẩm toàn diện.
44
CHƢƠNG III: UNITY 3D ENGINE
Hệ thống âm thanh dựa trên thƣ viện FMOD, cho khả năng phát đƣợc định
dạng âm thanh nén Ogg Vorbis. Bên cạnh đó bộ lọc âm DSP còn cho khả năng tạo
ra đƣợc những trải nghiệm thật sự thú vị.
Bộ phát video sử dụng bộ giải mã Theora.
Hỗ trợ phát triển game nhiều ngƣời chơi thông qua kết nối mạng một cách tối
đa, lập trình viên không cần quá nhiều sức lực cũng nhƣ kiến thức để chuyển đổi từ
chế độ chơi đơn sang chế độ đa ngƣời chơi qua mạng.
4. Tóm tắt:
Ngành công nghiệp game hiện nay đã và đang có những bƣớc phát triển đột
phá về mặt công nghệ, các Game Engine với nhiều mục đích khác nhau lần lƣợt
xuất hiện, hỗ trợ việc phát triển game và mang lại cho ngƣời dùng những trải
nghiệm ngày càng chân thực và sống động hơn về thế giới game. Ngoài việc tận
hƣởng sức mạnh công nghệ qua những tựa game đƣợc phát hành trên thị trƣờng,
ngƣời dùng cũng có thể tự tạo cho mình một game theo ý muốn bằng cách sử dụng
một Game Engine phù hợp. Các Game Engine hiện có hết sức đa dạng về mục đích
sử dụng, tính năng cung cấp, mức độ yêu cầu phần cứng, giấy phép bản quyền,…
Trong số đó có thể kể đến các ông lớn trong làng game thế giới nhƣ Source Engine
của Valve Corporation, CryEngine của Crytek, Unreal Engine của Epic Games,…
hay các Engine nguồn mở nhƣng cũng khá ấn tƣợng nhƣ jMonkey Engine của The
jME core Team, OGRE của The OGRE Team, Panda3D Engine của The Panda3D
Development Team,… Mỗi Engine đều có thế mạnh riêng của nó, ví dụ nhƣ Source
là một Engine nổi tiếng từ lâu với việc tạo ra hiệu ứng đồ họa khá ấn tƣợng nhƣng
đòi hỏi cấu hình trung bình, CryEngine thì dẫn đầu trong khía cạnh tạo ra hiệu ứng
đồ họa sống động đến kinh ngạc đồng thời đòi hỏi cấu hình phần cứng khá cao, hay
đối với OGRE và Panda3D nổi bật vì dù là dự án nguồn mở nhƣng vẫn có khả năng
dựng hình 3 chiều tƣơng đối mạnh và cộng đồng phát triển khá năng động phù hợp
với những ngƣời đam mê tìm hiểu công nghệ. Tuy nhiên, nếu nhƣ bạn là một ngƣời
45
CHƢƠNG III: UNITY 3D ENGINE
không chuyên, không có một nhóm phát triển game đúng nghĩa, không có đủ điều
kiện trang bị một hệ thống phần cứng mạnh mẽ, chỉ muốn làm game để thỏa mãn
tính tò mò và yêu công nghệ thì Unity 3D Engine có lẽ là một lựa chọn phù hợp.
Unity 3D là một công cụ phát triển game đồ họa 3 chiều mạnh mẽ mà không đòi hỏi
cấu hình cao, hỗ trợ tối đa công việc xây dựng không gian game bằng thao tác kéo
thả, viết mã kịch bản, cho phép đóng gói các đối tƣợng mô hình,… Với Unity 3D
Engine, chúng ta hoàn toàn có thể tạo ra đƣợc những game theo ý muốn với hiệu
ứng hấp dẫn, cốt truyện lôi cuốn mà không phải tốn quá nhiều thời gian, công sức
và chi phí.
46
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
CHƯƠNG IV: GIỚI THIỆU GAME DEMO
1. Giới thiệu chung
Game demo Giấc mơ của chú sâu con (The Worm’s Dream) đƣợc viết bằng
Unity3D với mục đích minh họa cho một vài tính năng cũng nhƣ cách tạo ra một trò
chơi bằng Unity3D.
2. Nội dung cốt truyện
Chuyện kể rằng ngày xửa ngày xƣa ở một ngôi làng côn trùng nọ, ở rất sâu
trong rừng xanh, có một chú sâu con bị bỏ rơi. Cậu bé sâu hằng ngày phải vất vả
tìm thức ăn để tự nuôi sống bản thân mình. Cậu chỉ có một ƣớc mơ, là một ngày nào
đó cậu sẽ trở thành bƣớm, với đôi cánh đẹp và to, để cậu có thể bay lên bầu trời cao
kia. Và đêm nay, cũng nhƣ bao đêm khác, cậu lại mơ về điều đó cho đến lúc ngủ
thiếp đi.
Thời gian trôi qua, các bạn đồng trang lứa của cậu giờ ai cũng có đôi cánh
xinh đẹp trên lƣng, tung tăng bay nhảy, chỉ còn mỗi mình cậu sao mãi vẫn chỉ là
một chú sâu xanh nhỏ bé. Cậu buồn lắm. Mọi ngƣời trong làng ai cũng lấy làm tiếc
cho cậu... Và rồi, chuyện của cậu đến tai thần rừng.
Trò chuyện với cậu, thần rừng thấy rất thƣơng cho hoàn cảnh đáng thƣơng
của cậu, nhƣng sao lật mãi cuốn sách phép thuật của mình, thần rừng vẫn không tìm
ra phép thuật nào để giúp cậu hóa thành bƣớm. Thần rừng khuyên: "Ta rất thƣơng
cho nỗi bất hạnh của con, nhƣng hiện tại sức ta không đủ để thực hiện ƣớc mơ đó
của con. Giờ chỉ còn một cách thôi, có thể rất khó khăn, đó là chính bản thân con
hãy ra đi thực hiện ƣớc mơ của mình, ở phía trời đông xa xôi kia...".
Và thần rừng bắt đầu kể cho cậu nghe câu chuyện về đảo mặt trời, nơi có
trồng rất nhiều loài cây cỏ kỳ diệu, ở phía xa xôi ngoài biển đông. Nhƣng để đến
đƣợc đó và lấy đƣợc loại lá cây kỳ diệu có thể giúp cậu hóa bƣớm, quả thật không
47
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
dễ chút nào, thậm chí còn có thể bỏ mạng, vì có vô số mối nguy hiểm rình rập cũng
nhƣ ngăn cản cậu trên đƣờng...
Nhƣng chƣa kịp khuyên cậu từ bỏ, cậu bé sâu đã đứng phắt dậy xin quyết
tâm ra đi, khiến thần rừng rất cảm động. Thần rừng bèn chỉ cho cậu hình dáng loại
lá cây kỳ diệu mà cậu cần phải lấy ăn, cũng nhƣ về những mối nguy hiểm và những
điều cậu cần phải học trong chuyến hành trình của mình về phía trời đông...
Và hôm nay, một buổi sáng đẹp trời, dân làng đã tụ họp trƣớc nhà cậu để
chúc cậu thƣợng lộ bình an. Cậu tạm biệt mọi ngƣời, và thế là, chuyến hành trình
của cậu bắt đầu.
Con đƣờng mà cậu phải đi khó khăn thế nào? Cậu phải đối mặt với những
nguy hiểm đang chờ đón cậu ra sao? Liệu cậu có thể thực hiện đƣợc ƣớc mơ của
mình hay không? Chỉ có bạn mới có thể trả lời đƣợc!!!
3. Môi trường phát triển ứng dụng
Engine: Unity 3 phiên bản miễn phí, cập nhật tháng 4 năm 2011 (mã
phiên bản: 3.3.0.63135) của Unity Technologies.
Hệ điều hành: Windows
Các công cụ hỗ trợ khác: Adobe Photoshop CS4
4. Quy trình thiết kế
6.1. Ý tƣởng:
Lấy ý tƣởng từ một câu chuyện về một cuộc hành trình đi tìm chiếc lá kỳ
diệu giúp mình nhanh chóng trở thành bƣớm, thực hiện giấc mơ, nhóm thực hiện
tiến hành xây dựng một trò chơi dành cho tuổi thiếu nhi với nhân vật chính là chú
sâu con và hành trình đầy khó khăn của cậu, vƣợt qua các hiểm nguy trên đƣờng để
đến đƣợc đảo Mặt trời, nơi trồng loại cây kỳ diệu, giúp cậu hóa bƣớm.
6.2. Thiết kế hình dáng nhân vật
48
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
STT NHÂN VẬT CẤU TẠO
1
Cơ thể gồm đầu, mình,
đuôi đƣợc xây dựng từ
các hình khối cầu.
Trên đầu có 2 mắt cũng
đƣợc xây dựng từ hình
khối cầu.
2
Gồm 3 phần: phần đế
đƣợ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ụ.
6.3. Thiết kế hành động nhân vật
STT NHÂN VẬT HÀNH ĐỘNG
1 Sâu con 1, Di chuyển:
Di chuyển sang trái, sang phải, tiến về trƣớc, lùi về sau.
2, Nhảy:
Nhảy lên thuẩn túy hoặc nhảy về các hƣớng.
3, Tấn công:
Bắn ra đạn tiêu diệt kẻ thù.
49
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
2 Pháo bảo vệ 1, Phát hiện ra mục tiêu trong phạm vi tìm kiếm.
2, Xoay nòng súng về phía mục tiêu (khi tìm kiếm thành
công).
3, Bắn đạn về phía mục tiêu trong phạm vi tấn công
6.4. Thiết kế bản đồ
Ải 4: Thực hiện giấc mơ
50
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
6.5. Thiết kế màn hình giao diện
Màn hình bắt đầu:
STT TÊN CHỨC NĂNG Ý NGHĨA
1 Bắt Đầu Vào màn hình trò chơi
2 Giới Thiệu Vào màn hình giới thiệu trò chơi, hƣớng
dẫn chơi, tác giả, vv
3 Thoát Tắt trò chơi
Màn hình chơi chính:
51
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
Màn hình thua:
52
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
SST TÊN CHỨC NĂNG Ý NGHĨA
1 Chơi Lại Bắt đầu lại trò chơi
2 Thoát Thoát khỏi trò chơi
Màn hình thắng:
53
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
SST TÊN CHỨC NĂNG Ý NGHĨA
1 Chơi Lại Bắt đầu lại trò chơi
2 Thoát Thoát khỏi trò chơi
5. Kết quả đạt được
Trò chơi gồm 5 ải chơi khác nhau tƣơng ứng với 5 bối cảnh khác nhau theo
thứ tự của cuộc hành trình:
5.1. Ải 1: Mối nguy hiểm của rừng rậm
5.2. Ải 2: Biển Đông lạ lẫm
5.3. Ải 3: Tìm kiếm đảo Mặt trời
5.4. Ải 4: Thực hiện giấc mơ
5.5. Ải 5: Trở về quê hƣơng
54
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
Do thời gian có hạn nên nhóm thực hiện chỉ hiện thực ải thứ 4 (thực hiện
giấc mơ) của trò chơi.
6. Hướng dẫn sử dụng
6.1. Hƣớng dẫn chung:
Để chiến thắng, ngƣời chơi sẽ phải điều khiển nhân vật sâu của
mình vƣợt qua các khó khăn của lần lƣợt 5 ải chơi.
Ở mỗi ải, ngƣời chơi sẽ bắt đầu từ điểm xuất phát, nhiệm vụ là
phải vƣợt qua các trở ngại trên bản đồ để đến đƣợc điểm kết thúc
của ải đó.
Tùy vào cốt truyện của mỗi ải mà nhiệm vụ của nhân vật sẽ khác
nhau, chẳng hạn nhƣ: tìm đƣờng đi, né tránh kẻ thù, tiêu diệt kẻ
thù, lấy vật phẩm, vv.
Nhân vật sâu có cơ thể gồm 3 phần: phần đầu, phần thân và phần
đuôi. Mỗi lần bị trúng thƣơng của kẻ thù, tùy mức độ nặng nhẹ mà
nhân vật sẽ không bị mất hoặc mất 1 hoặc nhiều phần của thân thể.
Khi mất hết 3 phần của thân thể, coi nhƣ nhân vật đã mất 1 mạng,
và nhân vật phải bắt đầu chơi lại từ điểm xuất phát với một mạng
mới. Lƣu ý khi nhân vật rớt xuống vực, rơi vào bẫy thì sẽ phải mất
luôn một mạng sống.
Ngƣời chơi xuất phát với 3 mạng sống, số lƣợng mạng sống sẽ
đƣợc lƣu giữ qua tất cả các ải chơi. Và qua mỗi ải, ngƣời chơi sẽ
đƣợc tặng thêm 1 mạng sống.
6.2. Hƣớng dẫn riêng cho màn thứ 4 (thực hiện giấc mơ):
Ngƣời chơi xuất phát từ 1 tấm đá lơ lửng trên mặt biển, nhiệm vụ
là phải bò qua một con đƣờng đá rất hẹp để lên đƣợc khu đền
trồng loại lá cây kỳ diệu mà chú sâu cần phải ăn.
Ngƣời chơi cần cẩn thận vì nếu rớt xuống biển sẽ mất 1 mạng
sống.
55
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
Khi gần đến khu đảo nổi của khu đền, nhân vật sẽ bị tấn công bởi
các khẩu pháo liên tục bắn ra những giọt nƣớc độc về phía mình.
Mỗi lần bị dính những giọt nƣớc độc ấy, nhân vật sâu sẽ choáng
váng quay cuồng, đồng thời mất đi 1 phần thân thể.
Càng đến gần cây kỳ diệu, càng có nhiều các khẩu pháo canh.
Ngƣời chơi phải mƣu trí né tránh các giọt nƣớc độc, hoặc có thể
dùng phép thuật đã học đƣợc ở các màn trƣớc để bắn phá các khẩu
pháo ấy, mục đích là đến đƣợc chỗ cây kỳ diệu trong đền thờ.
6.3. Hƣớng dẫn bấm phím:
Di chuyển: sử dụng các phím mũi tên tƣơng ứng với 4 chức năng:
đi tới trƣớc, đi lùi về sau, quẹo trái và quẹo phải. Ngƣời chơi có
thể kết hợp các phím để có thể di chuyển nhân vật theo ý mình.
Ngoài ra ngƣời chơi cũng có thể sử dụng 4 phím chữ: A, D, W, S
thay thế có 4 phím mũi tên với chức năng tƣơng tự.
Nhảy: ngƣời chơi sử dụng phím Space để điều khiển cho nhân vật
của mình nhảy lên cao để có thể leo lên những vật cản cao hoặc
nén tránh sự tấn công của kẻ thù.
Tấn công: sau khi nhân vật vƣợt qua đƣợc màn thứ nhất và học
đƣợc phép thuật “bắn đạn lửa” do cụ Kiến dạy, thì ngƣời chơi có
thể sử dụng phím Ctrl để thực hiện phép thuật này, để tấn công lại
kẻ thù của mình.
7. Tóm tắt
Game demo Giấc mơ của chú sâu con (The Worm’s Dream) chỉ là một game
3D đơn giản dành cho trẻ em, đƣợc viết với mục đích minh họa cho việc sử dụng
game engine Unity 3 để xây dựng, viết mã và đóng gói một trò chơi 3D dạng ứng
dụng chạy độc lập trên máy tính hoặc trên một trang web, do đó sản phẩm chƣa thể
thể hiện hết khả năng mà engine Unity 3 đem lại đƣợc. Nhƣng nó cũng đã thể hiện
56
CHƢƠNG IV: GIỚI THIỆU GAME DEMO
rất nhiều điểm ƣu việt của Unity 3, cũng nhƣ cho thấy quy trình tạo ra một trò chơi
là rất trực quan, ít phức tạp.
57
CHƢƠNG V: TỔNG KẾT
CHƯƠNG V: TỔNG KẾT
1. Kết quả đạt được
Trên cơ sở những gì đã tìm hiểu vể đặc điểm của Game Engine cũng nhƣ
tính năng của một số Game Engine tiêu biểu hiện nay, chúng em đã có một cái nhìn
tổng quan về một số công nghệ phát triển Game nổi bật trên thế giới. Từ đó chúng
em đã đi sâu nghiên cứu về một số công nghệ Game Engine tiêu biểu hiện nay, rút
trích những đặc điểm chính và những thông tin có tính so sánh giữa chúng để làm
cơ sở cho việc chọn lựa một Engine phù hợp dùng để phát triển game demo cho đề
tài. Dựa vào những gì thu thập đƣợc, chúng em quyết định chọn Unity3D Engine là
công cụ để phát triển game demo.
Game demo “Giấc mơ của chú sâu con” (The Worm’s Dream) đƣợc phát
triển từ Unity3D Engine phiên bản miễn phí trên hệ điều hành Windows. The
Worm’s Dream đƣợc xây dựng nhờ các công cụ hỗ trợ mà Unity3D Engine cung
cấp. Game có chất lƣợng đồ họa ở mức khá, chúng em đã cố gắng tận dụng tối đa
những gì mà Engine hỗ trợ nhƣ tạo hình, chuyển động, AI, hiệu ứng ánh sáng, hiệu
ứng lửa cháy, hiệu ứng âm thanh,…
2. Ưu điểm và hạn chế
2.1. Ƣu điểm:
Nắm đƣợc những đặc điểm cơ bản của một số Game Engine hiện có.
Tận dụng đƣợc những chức năng dựng hình, hiệu ứng ánh sáng, khói lửa, âm
thanh trí tuệ nhân tạo có trong Unity 3D Engine khi xây dựng game demo.
Xây dựng đƣợc game demo có tính thực tế và trực quan.
2.2. Hạn chế:
58
CHƢƠNG V: TỔNG KẾT
Hiệu ứng đồ họa trong game chỉ ở mức trung bình, các mô hình chƣa thật sự
sống động, màn chơi bố trí đơn giản.
Hệ thống nhân vật còn hạn chế, cốt truyện ngắn.
Chƣa tận dụng đƣợc hết sức những sức mạnh của Unity 3D Engine khi làm
game.
Chƣa khai thác tốt phần cứng đồ họa nên chất lƣợng game không cao.
3. Hướng phát triển và mở rộng
Game “Giấc mơ của chú sâu con” hiện tại chỉ mang mục đích chính là demo
cho khả năng ứng dụng Game Engine để phát triển game do đó còn thiếu rất nhiều
chi tiết để có thể trở thành một game hoàn chỉnh có cốt truyện và hiệu ứng thu hút
ngƣời chơi.
Trong tƣơng lai, chúng em sẽ tập trung nghiên cứu sâu hơn về Unity3D
Engine nhằm tạo ra một sản phẩm thực sự có khả năng thuyết phục ngƣời chơi.
Đồng thời với những gì đã đạt đƣợc sau quá trình thực hiện đề tài này, chúng em tin
tƣởng rằng không chỉ áp dụng Game Engine để phát triển game mà chúng ta hoàn
toàn có thể nghiên cứu các công nghệ phổ biến đƣợc sử dụng trong các Game
Engine để tự tạo ra một Game Engine cho chính chúng ta, góp phần vào việc phát
triển nền công nghiệp game của nƣớc nhà.
59
TÀI LIỆU THAM KHẢO
TÀI LIỆU THAM KHẢO
[1]. Ngô Thái An, Nguyễn Đình Toàn – “Nghiên cứu và xây dựng thử nghiệm 3D
Engine”
[2].
[3].
[4].
[5].
[6].
[7].
[8].
[9].
[10].
Các file đính kèm theo tài liệu này:
- Một số game engine hiện có và ứng dụng phát triển một game cụ thể.pdf