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

Nghiên cứu một số kỹ thuật tạo cảnh trong game. Ứng dụng xây dựng game Sonic Run

59 1,5K 1

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 2,56 MB

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN _ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: NGHIÊN CỨU MỘT SỐ KỸ THUẬT TẠO CẢNH TRONG GAME ỨNG DỤNG XÂY DỰNG GAME SONIC RUN Sinh viên thực hiện: VŨ HỮU TRUNG KIÊN Lớp KTPM – K6 Giảng viên hướng dẫn: THS NGÔ ĐỨC VĨNH Cán phản biện: Hà Nội, 5/2015 LỜI MỞ ĐẦU Sự phát triển công nghệ mô giải trí, ngày có nhiều ứng dụng đồ họa trò chơi 3D xây dựng nhằm phục vụ mục đích nghiên cứu, mô giải trí… Cùng với đó, công nghệ phần cứng phát triển nhanh, đặc biệt phần cứng xử lý đồ họa lập trình ngôn ngữ lập trình phần cứng Tuy nhiên, để xây dựng ứng dụng đồ họa trò chơi 2D đảm bảo yêu cầu: hỗ trợ dải phần cứng phần mềm (cụ thể hệ điều hành) lớn, có khả lựa chọn API đồ họa mức thấp (OpenGL, OpenGL ES ), dễ dàng quản lý phát triển tài nguyên Từ yêu cầu trên, nhóm em định lựa chọn đề tài “Nghiên cứu số kỹ thuật tạo cảnh game Ứng dụng xây dựng game Sonic Run” Xuất phát từ thực tế đó, đề tài nàytập trung nghiên cứu xây dựng kỹ thuậttạo cảnh game Tập trung nghiên cứu kỹ thuật, đưa phương pháp tối ưu để tạo cảnh, sau áp dụng vào game thực tế Khi phát triển ứng dụng game 2D, người lập trình không cần phải quan tâm đến trình quản lý tài nguyên, xử lý đồ họa mức thấp bên Thay vào đó, họ cần tập trung vào quản lý mức lôgíc thành phần ứng dụng, thêm thành phần dựa thành phần sở hệ thống cung cấp Đến thời điểm tại, nhóm hoàn thành việc nghiên cứu xây dựng cảnh ứng dụng thành công vào game Sonic Run Do chưa có nhiều kinh nghiệm việc xây dựng game nên vài thiếu sót Trong thời gian tới, nhóm tiếp tục để phát triển hoàn thiện MỤC LỤC DANH SÁCH HÌNH VẼ DANH SÁCH BẢNG BIỂU DANH SÁCH TỪ VIẾT TẮT Từ viết tắt VS FS AI HUD MMOG MMORPG MMORTS RAM GPU RGBA Từ đầy đủ Vertex Shader Fragment Shader Artificial Intelligence Head-up Display Massively Multiplayer Online Game Massively Multiplayer Online Role-Playing Game Massively Multiplayer Online Real-Time Game Random Access Memory Graphics Processing Unit Red Green Blue Alpha PHẦN 1: MỞ ĐẦU Tên đề tài Nghiên cứu số kỹ thuật tạo cảnh game Ứng dụng xây dựng game Sonic Run Lý chọn đề tài Sự phát triển nhảy vọt công nghệ thông tin tác động mạnh mẽ đến hoạt động xã hội, làm thay đổi cách sâu sắc đến phong cách làm việc xã hội Công nghệ thông tin trở thành trụ cột kinh tế tri thức ứng dụng công nghệ thông tin vào hoạt động giải trí xã hội nhiều người quan tâm Phạm vi ứng dụng công nghệ thông tin ngày mở rộng nhiều lĩnh vực: quản lý hoạt động người xã hội, tự động hóa, truyền thông, giải trí… Đời sống người ngày nâng cao Bên cạnh nhu cầu vui chơi giải trí người ngày đòi hỏi Các trò chơi thiết kế máy tính đời đà phát triển để đáp ứng nhu cầu đòi hỏi người Game từ lâu dịch vụ giải trí phổ biến người dùng Việt Nam Dịch vụ game phát triển nhiều tảng PC, mobile, browser Cùng với game PC game browser, ngày nay, game dành cho thiết bị di động thực bùng nổ Trong phạm vi đồ án mình, em xin trình bày số kiến thức quy trình thiết kế xây dựng game, cách sử dụng engine game phổ biến cách xây dựng game SonicRun tảng Win32 Game thuộc thể loại Endless Run với nội dung đơn giản áp dụng kỹ thuật xây dựng hình ảnh OpenGL ES 2.0 mô vật lý thư viện Box2D, tạo chữ chạy FreeType2 âm 3D sống động irrKlang để làm cho game thêm hấp dẫn thú vị Mục đích đề tài Đề tài “Nghiên cứu số kỹ thuật tạo cảnh game Ứng dụng xây dựng game Sonic Run” Nhằm tìm hiểu quy trình thiết kế game, kỹ thuật tạo cảnh game để áp dụng vào xây dựng game hoàn chỉnh Mục tiêu đề tài • • • • Tìm hiểu quy trình thiết kế xây dựng game Tìm hiểu engine làm game Tìm hiểu số kỹ thuật tạo cảnh game Áp dụng vào ây dựng game Sonic Run Bốc cục đề tài Nội dung đề tài chia làm chương CHƯƠNG 1: NỘI DUNG NGHIÊN CỨU Trong chương giới thiệu, trình bày hiểu biết quy trình phát triển game, engine làm game, thuật toán sinh map CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ GAME SONICRUN Trình bày quy trình hoàn chỉnh từ phân tích đến thiết kế game SonicRun, chi tiết thiết kế thuật toán có game CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM Từ thiết kế trên, cài đặt, xây dựng game hệ điều hành Win32 sử dụng IDE VisualStudio C++ 2008 CHƯƠNG 4: KẾT LUẬN Tổng kết thành đạt làm đồ án, phương hướng phát triển tiếp game có PHẦN 2: NỘI DUNG CHƯƠNG 1: NỘI DUNG NGHIÊN CỨU 1.1 Giới thiệu chung Phát triển video game ngành giải trí khác, thông thường lĩnh vực liên ngành Các nhà phát triển video game, cách gọi phổ biến ngành công nghiệp, chủ yếu bao gồm lập trình viên nhà thiết kế đồ họa Qua nhiều năm,với mở rộng ngành công nghiệp này, bao gồm hầu hết loại kỹ mà thấy để làm phim chương trình tivi, bao gồm thiết kế âm thanh, âm nhạc, loại kỹ thuật khác; đồng thời có kỹ chuyên ngành cho video game, thiết kế game v.v Tất quản lý điều hành nhà sản xuất Thời kỳ đầu ngành công nghiệp game, thông thường có người thực tất vai trò cần thiết để tạo game Nhưng với hệ máy ngày phức tạp mạnh mẽ hơn, cần đội ngũ phát triển lớn để thiết kế hết phần đồ họa, lập trình, kỹ thuật điện ảnh Điều nghĩa thời kỳ người làm toàn game kết thúc, thấy game người làm thị trường game casual game cho hệ máy cầm tay nơi game nhỏ phổ biến giới hạn phần cứng giới hạn nhớ hay thiếu khả dựng hình 3D chuyên dụng hệ máy đó(ví dụ điện thoại di động hay PDA) Với lớn mạnh quy mô đội ngũ phát triển ngành công nghiệp, vấn đề kinh tế tăng theo Các studio phát triển game cần tiền đủ để trả mức lương cạnh tranh với studio khác cho nhân viên để thu hút giữ lại tài lớn mình, nhà phát hành lại không ngừng tìm kiếm cách giữ mức giá thấp để nhằm trì lợi nhuận với khoản đầu tư họ Thông thường, đội ngũ phát triển game hệ console có số lượng người nằm khoảng từ tới 50, có lúc lên đến 100 Tháng 5/2009, dự án game Assasin's Creed II công bố đội ngũ phát triển lên tới 450 Sự tăng trưởng quy mô đội ngũ phát triển kết hợp với áp lực lớn phải hoàn thành dự án kịp thị trường đồng thời áp lực giảm bớt chi phí sản xuất dẫn đến đời hàng loạt sản phẩm game phải lùi ngày phát hành phát hành thiếu hoàn chỉnh Rất nhiều game sản xuất cho hệ PC thiết kế với tiêu chí cho phép người sử dụng chỉnh sửa game Những chỉnh sửa (mod) tăng thêm khả chơi lại thú vị cho game Các hãng phát triển tiếng id Software, Valve Software, Crytek, Bethesda, Epic Games Blizzard Entertainment đưa game họ với số công cụ dùng để phát triển game đó, kèm theo hướng dẫn để hỗ trợ nhà phát triển mod (phần lớn game thủ yêu thích game) Mạng Internet cung cấp nơi không tốn để quảng cáo phân phối chỉnh sửa, chúng yếu tố đóng góp vào thành công game Có thể thấy rõ việc mod khiến game trở nên phổ biến trường hợp Counter-Strike chỉnh sửa Half-Life Ba khu vực sản xuất lớn thị trường lớn video game là: khu vực Bắc Mỹ (bao gồm Mỹ Canada), Nhật Bản Anh Quốc Các thị trường quan trọng khác bao gồm Úc, Tây Ban Nha, Đức, Hàn Quốc, México, Pháp Ý Cả Ấn Độ Trung Quốc coi thị trường ngành công nghiệp game doanh số kỳ vọng tăng trưởng rõ rệt năm tới Và Ailen có số lượng người sử dụng video game lớn tính theo đầu người Doanh thu theo hệ máy game khác thị trường thói quen người tiêu dùng địa phương Các khách hàng Nhật Bản thường mua game console game máy tính, với ưu tiên mạnh mẽ cho trò chơi phục vụ cho thị hiếu địa phương Ở Hàn Quốc (Nam Triều Tiên), game máy tính lại ưu tiên hơn, đặc biệt game nhập vai trực tuyến nhiều người chơi(MMORPG) game chiến thuật thời gian thực Có 20.000 tiệm cafe internet Hàn Quốc nơi game máy tính chơi trả phí theo Tập đoàn NPD (tập đoàn dẫn đầu Bắc Mỹ nghiên cứu thị trường) nghiên cứu thị trường bán lẻ video game Mỹ nhiều năm Với báo cáo năm 2004 rằng: Phần mềm cho hệ console hệ máy cầm tay: $6.2 tỷ, 8% so với năm 2003 Phần cứng phụ kiện cho hệ console hệ cầm tay: $3.7 tỷ, 35% so với năm 2003 Doanh số game PC: $1.1 tỷ, 15% so với năm 2003 Game PC sản phẩm kỹ thuật số phân phối đường trực tiếp hay qua mạng internet hệ thống Steam không theo dõi NPD, Steam không lên danh sách doanh thu game mà tải qua dịch vụ Và phân phối trái phép tràn lan hệ PC nên doanh số game bán lẻ cho máy tính cá nhân giảm đáng kể điều dễ hiểu Các số tính USD, đơn vị Các đơn vị vận chuyển cho danh mục hàng hóa cao nhiều so với số lượng USD thu trên, nhiều phần mềm phần cứng giảm giá vào năm 2003 Nhưng với đời hệ console (Xbox 360, PS3, Wii), số tăng lên nhanh chóng Ngành công nghiệp game điện ảnh trở nên gắn bó với nhau, với Tập đoàn Sony có thành công đáng kể hai Một số lượng lớn "phim bom tấn" mùa hè sinh game tên kèm, thường phát hành với phim để giảm giá thành quảng cáo Thị trường toàn cầu cho game console trông thấy tăng trưởng trung bình 6,9% năm kỳ vọng thu 34,7 tỉ USD vào năm 2012 Game bán qua mạng dự kiến tăng với tốc độ lớn 16,9%, leo thang từ 6,6 tỷ USD năm 2008 lên 14,4 tỉ USD năm 2012 Dự kiến tăng trưởng lớn nhất, nhiên lại nằm game di động với tăng trưởng đánh giá khoảng 19%; tăng từ 5.6 tỉ USD lên 13,5 tỉ vòng năm Cấu trúc game chia nhỏ sơ đồ đây: 2.6.2 Thuật toán vẽ đối tượng lên hình game Hình 2.10 Sơ đồ thuật toán vẽ đối tượng lên hình - Ví dụ đọc liệu tạo verticesData tương ứng: Hình 2.11 Code đọc liệu đối tượng - Vẽ hình (button GameState): Hình 2.12 Code tham khảo vẽ button - Vẽ button định sẵn cách định button vẽ hình pause: Hình 2.13 Code điều khiển liệu hình vẽ 2.6.3 Thuật toán sử dụng FreeType2 để vẽ chữ game: FreeType2 chất cung cấp cho Vertices data Element từ font chữ ký tự đưa vào, để sử dụng FreeType2 để viết chữ mong muốn, có hai cách để sử dụng Freetype2: Hình 2.14 Các cách sử dụng Freetype2 Ở cách đầu tiên, tốn nhiều ô nhớ việc lưu trữ IBO, VBO ký tự, lại lợi tốc độ truy suất Ở cách thứ 2, tiết kiệm nhiều ô nhớ phải sử dụng IBO VBO nhất, song, viết chữ, lại phải tạo đẩy liệu lên GPU lần, đường từ phần cứng CPU lên GPU thật trống Trong game SONICRUN, Freetype2 sử dụng theo cách thứ 2, để tiết kiệm ô nhớ GPU Do số lượng Text vẽ thời điểm không nhiều Trong C++, Freetype không hỗ trợ kiểu liệu String để vẽ chuỗi ký tự ta cần dùng trỏ kiểu char * sau: Hình 2.15 Cách sử dụng Freetype2 SONIC RUN Chúng ta sử dụng Uniform OpenGLES để truyền màu cho chữ, game yêu cầu độ suốt (alpha) nên ta sử dụng vector3 để lưu trữ giá trị màu chữ Freetype2 hỗ trợ kiểu char, để chuyển đổi Point sang char, ta dùng Sprintf để viết số mảng char sau: Hình 2.16 Vẽ chữ game SONIC RUN 2.6.4 Thuật toán tính điểm, tăng độ khó game Hình 2.17 Thuật toán tính điểm, tăng độ khó game - Tính thời gian game: - Tính TrueTimeSpeed: 2.6.5 Các kỹ thuật tạo cảnh sử dụng game - Kỹ thuật cuộn map áp dụng vào hình ảnh game Chúng ta sử dụng shader riêng cho hình để thay đổi tọa độ ảnh, cuộn map tăng dần, lặp lặp lại với khung cố định - Kỹ thuật sinh map tự động: Các chướng ngại vật, quái vật, vật phẩm game sinh khung cảnh liêp tiếp cuộn map phía bên trái hình, tạo cảm giác nhân vật tiến lên Các đối tượng sau chạy hết khung hình bên trái dịch chuyển sang hình game, vị trí sinh ngẫu nhiên giúp cho khung cảnh không bị chồng chéo, lặp lại Quản lý tối ưu nhớ số đối tượng sinh trình chạy game giữ nguyên mà thay đổi vị trí chúng khung hình CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM 3.1 Môi trường phát triển: 3.1.1 IDE Game xây dựng Visualstudio xử lý source code, publish, kết hợp với phần mềm xử lý hình ảnh GIMP/Paint để xử lý đối tược đồ họa Hình 3.1 Các Source File Project game 3.1.2 Quản lý source code: Để làm việc nhóm cách hợp lý, giảm tối đa chồng chéo, trùng lặp nhóm sử dụng tortoiseSVN để quản lý phiên source code: Hình 3.2 Cửa sổ ShowLogs tortoiseSVN 3.2 Một số giao diện chức 3.2.1 Giao diện Hình 3.3 Giao diện hoàn chỉnh 3.2.2 Giao diện Kết thúc game Hình 3.4 Giao diện kết thúc game hoàn chỉnh 3.2.3 Giao diện tạm dừng Hình 3.5 Giao diện tạm dừng hoàn chỉnh LỜI KẾT Sau thời gian nghiên cứu, tìm hiểu triển khai tìm hiểu thuật toán sinh map ứng dụng vào thực tế thông qua đề tài “Nghiên cứu số kỹ thuật tạo cảnh game Ứng dụng xây dựng game Sonic Run” em áp dụng kiến thức học nhà trường, với hướng dẫn nhiệt tình thầy giáo ThS Ngô Đức Vĩnh thầy cô khoa CNTT, với việc tìm hiểu tài liệu Internet em đạt số kết sau: - Nắm bắt engine làm game phổ biến - Nắm bắt quy trình phát triển game - Nắm bắt số thuật toán sinh map - Phát triển game mang tính chất thử nghiệm Bên cạnh kết đạt Đồ án nhiều khiếm khuyết chưa thể sâu vào nghiên cứu việc tối ưu mã nguồn cho game, thủ thuật để khai thác toàn hiệu năng, Em mong nhận ý kiến đóng góp từ thầy cô bạn để hoàn thiện nội dung đồ án Hướng phát triển Đồ án em nghiên cứu tính Bên cạnh em nghiên cứu thêm việc mở rộng phát triển game hệ điều hành iOS Android ngày phát triển Một lần em xin gửi lời cảm ơn sâu sắc tới ThS Ngô Đức Vĩnh thầy cô, bạn bè giúp đỡ em hoàn thành Đồ án TÀI LIỆU THAM KHẢO BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT

Ngày đăng: 05/10/2016, 19:04

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w