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ể

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.

pdf70 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4315 | Lượt tải: 1download
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:

  • pdfMột số game engine hiện có và ứng dụng phát triển một game cụ thể.pdf
Luận văn liên quan