KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN ----------------------- TIỂU LUẬN CHUYÊN NGÀNH KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ VÀ ỨNG DỤNG PHÁT TRIỂN MỘT GAME CỤ THỂ SINH VIÊN THỰC HIỆN: Trần Ngọc Trí – Đỗ Đăng Trường MSSV: 07110143 - 07110147 GIÁO VIÊN HƯỚNG DẪN: Ths. Nguyễn Trần Thi Văn TP. HỒ CHÍ MINH – 2011 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN ----------------------- TIỂU LUẬN CHUYÊN NGÀNH KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ VÀ ỨNG DỤNG PHÁT TRIỂN MỘT GAME CỤ THỂ SINH VIÊN THỰC HIỆN: Trần Ngọc Trí – Đỗ Đăng Trường MSSV: 07110143 - 07110147 GIÁO VIÊN HƯỚNG DẪN: Ths. Nguyễn Trần Thi Văn TP. HỒ CHÍ MINH – 2011 LỜI CẢM ƠN Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Trƣờng Đại Học Sƣ Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã tạo điều kiện cho chúng em thực hiện đề tài nghiên cứu này. Chúng em xin chân thành cảm ơn thầy Nguyễn Trần Thi Văn đã tận tình hƣớng dẫn, chỉ bảo chúng em trong suốt quá trình nghiên cứu. Chúng em xin cảm ơn quý thầy cô trong Khoa đã tận tình giảng dạy, trang bị cho chúng em những kiến thức nền tảng cần thiết trong suốt quá trình học tập tại trƣờng. Chúng em cũng xin bày tỏ lòng biết ơn sâu sắc đến ba, mẹ, ngƣời thân và bạn bè đã động viên, ủng hộ, giúp đỡ chúng em trong suốt thời gian học cũng nhƣ quá trình nghiên cứu nhiều khó khăn, thử thách. Mặc dù đã rất cố gắng để hoàn thành đề tài một cách tốt nhất dựa trên nỗ lực của bản thân, song chắc chắn bài báo cáo này không tránh khỏi những sai sót và hạn chế, chúng em kính mong nhận đƣợc sự thông cảm, góp ý chỉ bảo của thầy cô và các bạn. Nhóm thực hiện Trần Ngọc Trí và Đỗ Đăng Trƣờng Tháng 6 năm 2011 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẤN Ngày tháng năm Giảng viên hướng dẫn (Ký và ghi rõ họ tên) NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Ngày tháng năm Giảng viên phản biện (Ký và ghi rõ họ tên) MỤC LỤC CHƢƠNG I: TỔNG QUAN . 1 1. Game Engine . 1 1.1. Game Engine 1 1.2. Mối quan hệ giữa Game Engine và Game . 1 2. Phân loại Game Engine . 1 1.1. Isometric Engine 1 1.2. 3D FPS (First Person Shooter) Engine . 2 1.3. MMOG (Massively Multiplayer Online Game) Engine 3 3. Tóm tắt 3 CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ 5 1. CryEngine 3: . 5 2. jMonkey Engine: . 8 3. Orge Engine: . 13 4. Panda3D: . 15 5. Source Engine: 18 6. Unreal Engine: 28 7. Bảng so sánh một số Game Engine: . 31 CHƢƠNG III: UNITY 3D ENGINE 37 1. Giới thiệu 37 2. Lý do chọn Unity 3D Engine 38 3. Các tính năng tiêu biểu của Unity 3D Engine 39 4. Tóm tắt: . 44 CHƢƠNG IV: GIỚI THIỆU GAME DEMO . 46 1. Giới thiệu chung 46 2. Nội dung cốt truyện 46 3. Môi trƣờng phát triển ứng dụng 47 4. Quy trình thiết kế 47 5. Kết quả đạt đƣợc . 53 6. Hƣớng dẫn sử dụng . 54 7. Tóm tắt 55 CHƢƠNG V: TỔNG KẾT 57 1. Kết quả đạt đƣợc . 57 2. Ƣu điểm và hạn chế 57 3. Hƣớng phát triển và mở rộng 58 TÀI LIỆU THAM KHẢO . 59 PHẦN MỞ ĐẦU Ngày nay, với sự phát triển nhƣ vũ bão của khoa học công nghệ đã thúc đẩy nhu cầu về thị trƣờng giải trí công nghệ cao tăng nhanh. Các sản phẩm giải trí mà đặc biệt là Video Game đã mang lại một nguồn lợi khổng lồ cho ngành công nghiệp máy tính. Sự cạnh tranh khốc liệt đã đặt ra yêu cầu các sản phẩm Game phải ngày càng có chất lƣợng cao hơn, đa dạng hơn và thời gian hoàn thành ngắn hơn. Do đó, Game Engine ra đời với mục đích rút ngắn thời gian và giảm thiểu chi phí trong việc phát triển Game. Các Game với quy mô vừa và lớn hiện nay dù đa dạng về nội dung và chủng loại nhƣng có một điểm chung là đều đƣợc xây dựng nhờ các Game Engine. Chất lƣợng của Game phụ thuộc vào chất lƣợng của Game Engine mà nó sử dụng. Game Engine là thành phần cốt lõi Game hiện nay, đặc biệt là Game 3D. Việc sử dụng Game Engine để xây dựng Game là bắt buộc nếu muốn tạo ra một Game chất lƣợng cao trong một thời gian ngắn và giảm thiểu chi phí. Mặc dù ngành công nghiệp Game sử dụng Game Engine đã và đang rất thành công với nhiều sản phẩm tuyệt vời, tuy nhiên việc xây dựng Game cũng nhƣ ứng dụng Game Engine ở nƣớc ta còn khá mới mẻ. Chính vì vậy, chúng em thực hiện đề tài “Khảo sát một số Game Engine hiện có và Ứng dụng phát triển một Game cụ thể” với mong muốn góp phần tạo tiền đề tích cực thúc đẩy sự phát triển của nền công nghiệp Game nƣớc nhà trong tƣơng lai. Với mục tiêu là khảo sát một số Game Engine hiện có, chúng em đóng vai trò là những ngƣời thu thập thông tin về những thành tựu của nền công nghiệp Game trên thế giới, giới thiệu và nêu ra những đặc điểm chính về một số Game Engine hiện có. Bên cạnh đó chúng em cũng phát triển một Game demo dựa trên Unity Engine của nhà phát triển Unity Technologies. Sản phẩm mà chúng em đạt đƣợc là một Game 3D đơn giản, chủ yếu dùng để nói lên rằng việc ứng dụng Game Engine để tạo ra một Game 3D cho chính mình là điều hoàn toàn có thể làm đƣợc. Nội dung của bài tiểu luận đƣợc chia thành 4 phần, trong đó phần đầu tập trung giới thiệu về Game Engine nói chung và một số Game Engine đang đƣợc sử dụng trên thế giới; phần 2 dùng để nói về Engine mà chúng em sử dụng cho phát triển Game demo là Unity Engine; phần 3 chúng em sẽ giới thiệu về sản phẩm Game mà chúng em đạt đƣợc; phần 4 là phần tóm tắt kết quả đạt đƣợc và đề ra hƣớng phát triển trong tƣơng lai. MỘT SỐ THUẬT NGỮ CHUYÊN MÔN BSD license: viết tắt của cụm từ Berkeley Software Distribution, là tên gọi của một loại giấy phép sử dụng phần mềm trong nhóm miễn phí với đặc điểm là có ít yêu cầu về việc phân phối lại phần mềm, trái ngƣợc với loại giấy phép copyleft. Bullet: là một engine vật lý nguồn mở chuyên dùng cho việc xử lý các tƣơng tác trong không gian 3 chiều, thƣờng dùng trong game và tạo hiệu ứng cho phim. CEGUI: viết tắt của cụm từ Crazy Eddie's GUI, là một hệ thống thƣ viện giao diện đồ họa ngƣời dùng viết bằng C++. Nó đƣợc thiết kế riếng cho các nhu cầu làm game video nhƣng các thƣ viện vẫn có thể dùng đƣợc cho những mục đích khác. Cg: viết tắt của cụm từ C for Graphics, là một ngôn ngữ đồ họa cấp cao đƣợc phát triển từ sự hợp tác giữa NVIDIA và Microsoft với mục đích hỗ trợ lập trình vertex và pixel shader. Nó cũng tƣơng tự nhƣ công nghệ HLSL của Microsoft. FMOD: là một bộ thƣ viện âm thanh đƣợc tạo ra bởi Firelight Technologies nhằm hỗ trợ phát nhiều định dạng âm thanh khác nhau trên nhiều nền tảng, đƣợc dùng trong việc phát triển game và các ứng dụng có sử dụng các chức năng về âm thanh. GLSL: viết tắt của cụm từ OpenGL Shading Language, là một ngôn ngữ lập trình đổ bóng cấp cao dựa trên C, do OpenGL ARB tạo ra nhằm hỗ trợ lập trình viên điều khiển trực tiếp đến phần cứng mà không cần phải viết mã hợp ngữ hoặc các ngôn ngữ lập trình cấp thấp. Google Summer of Code: một chƣơng trình diễn ra từ tháng 5 đến tháng 8 hàng năm do Google tổ chức (bắt đầu vào năm 2005) nhằm mục đích tạo ra sân chơi cho các lập trình viên thể hiện tài năng của mình trong việc xây dựng các dự án phần mềm nguồn mở hoặc miễn phí với giải thƣởng lên đến 5000 USD vào năm 2010 HDRR: viết tắt của cụm từ high dynamic range rendering, là công nghệ dựng hình đồ họa khung cảnh bằng các thuật toán chiếu sáng thực hiện trên một vùng rộng lớn. HLSL: viết tắt của cụm từ High Level Shader Language, là một ngôn ngữ lập trình đổ bóng do Microsoft phát triển nhằm khai thác các API Direct3D. LOD: viết tắt của cụm từ Level of detail, là một kỹ thuật làm tăng hiệu quả dựng hình. [...]... các Game Engine sẽ giúp chúng ta có những kiến thức cơ bản về từng Game Engine, từ đó chúng ta có thể đánh giá đƣợc đâu là một Game Engine phù hợp với nhu cầu và túi tiền để chúng ta đầu tƣ phát triển một Game cho riêng mình 5 CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ CHƯƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ 1 CryEngine 3: CryEngine 3 là Game Engine đƣợc Crytek phát triển và phát hành vào... công nghệ phát triển vƣợt bậc hiện nay, hầu hết các Game đều đƣợc phát triển dựa trên một Game Engine cụ thể Nhu cầu ngày càng cao từ phía ngƣời dùng đã thúc đẩy các nhà phát triển Game phải cho ra mắt các Game ngày càng hấp dẫn hơn, hình ảnh sống động và thực tế hơn, đồng thời chi phí thấp hơn và thời gian phát triển ngắn hơn Do đó việc ứng dụng Game Engine trở thành tất yếu Chất lƣợng của Game Engine. .. QUAN 1 Game Engine 1.1 Game Engine Game Engine là một phần mềm đƣợc thiết kế đặc biệt để xây dựng và phát triển video game Hiện nay có rất nhiều loại Game Engine dùng để phát triển game cho cả hệ máy console và máy tính cá nhân (PC) Các thành phần cốt lõi của 1 game engine bao gồm: Hệ thống dựng hình (kết xuất) đồ họa 2D và 3D (Render System) Hệ thống tính toán tƣơng tác vật lý và phát hiện va... Microsystems Linux 13 CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ 3 Orge Engine: OGRE (Object-Oriented Graphics Rendering Engine) là một Engine dựng hình 3D linh hoạt và tập trung vào khung cảnh (hơn là một công cụ tạo game) đƣợc viết bằng C++, đƣợc thiết kế để mang lại sự đơn giản và trực quan hơn cho nhà phát triển trong việc tạo ra những ứng dụng có khai thác phần cứng tăng tốc đồ họa 3D Bộ thƣ... 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. .. hƣớng dữ liệu Hệ thống tƣơng tác âm nhạc và tiếng động Hệ thống dựng hình tốc độ cao Sound moods Kỹ thuật Ray-Tracing 7 CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ Một số game đƣợc phát triển bằng CryEngine 3: Tựa Game ASTA Ngày phát hành Nhà phát triển Nhà phát hành Chƣa biết Polygon Nền tảng NHN Windows XL Games Windows Games ArcheAge 2012 XL Games Cabal 2 Chƣa biết ESTsoft Windows Ryse... nhiều vào động cơ mà nó sử dụng Do đó chất lƣợng Game phụ thuộc khá nhiều đến chất lƣợng Game Engine mà nó sử dụng 2 Phân loại Game Engine 1.1 Isometric Engine Đây là Game Engine đƣợc sử dụng nhiều trong các Game 2D Hầu hết các Game Engine thuộc loại này hiện nay đã có 1 số phần hỗ trợ 3D và trong tƣơng lai sẽ chuyển hẳn sang 3D nhằm tạo ra những Game có mức độ chân 2 CHƢƠNG I: TỔNG QUAN thực cao và tận... CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ 5 Source Engine: Source Engine đƣợc phát triển bởi Valve Corporation, đƣợc giới thiệu lần đầu vào năm 2004 cùng với game Counter-Strike: Source và không lâu sau đó là game Half-life 2 Source Engine là một trong những thành công lớn về mặt công nghệ của Valve, và là nền tảng cho những tựa game xuất sắc nhƣ Half-Life 2, Garry's Mod, Team Fortress và Left 4... A Game Nền tảng Windows Windows Windows Windows, Linux, Mac OS X Windows Windows, Linux 15 CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ 4 Panda3D: Panda3D là một Game Engine bao gồm các chức năng về đồ họa, âm thanh, quản lý nhập xuất, hệ thống phát hiện va chạm và những chức năng khác phù hợp với nhiệm vụ phát triển Game 3 chiều Panda3D là Engine mã nguồn mở theo giấy phép sử dụng BSD đƣợc cấp vào... o Định dạng tập tin định nghĩa vật chất jME3: j3md Một số dự án đƣợc phát triển từ jME: 12 CHƢƠNG II: KHẢO SÁT MỘT SỐ GAME ENGINE HIỆN CÓ Tựa Game Nord (game web trên facebook) Open Wonderland (bộ công cụ nguồn mở chuyên dùng để tạo ra thế giới ảo 3 chiều có khả năng tƣơng tác cao) Ngày phát hành Chƣa biết Tháng 5/2010 Nhà phát triển SkyGoblin Nhà phát hành SkyGoblin Nền tảng Windows, Mac OS X, Linux