Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
4,52 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG KHOA ĐIỆN TỬ - TIN HỌC … … BÁO CÁO ĐỒ ÁN TỐT NGHIỆP Đề Tài: Phát Triển Game 2D Unity GVHD: Tôn Long Phước SVTH: Vũ Đức Duy LỚP: CĐTH12C TP.HỒ CHÍ MINH, tháng 07 năm 2016 LỜI MỞ ĐẦU Trong thời đại công nghệ thông tin nay, sản phẩm công nghệ ngày chịu đánh giá khắt khe từ phía người dùng, đặc biệt sản phẩm Game nhận nhiều đánh giá từ phía Game thủ, người chơi bình thường Ngành công nghiệp Game nói bùng nổ, với tốc độ phát triển đến chóng mặt, nhiều Game hay hấp dẫn đời thời gian qua Phía sau Game phát triển tiếng có Game Engine Game Engine công cụ hỗ trợ, Middleware giúp người phát triển viết Game cách nhanh chóng đơn giản, đồng thời cung cấp khả tái sử dụng tài nguyên mã nguồn cao phát triển nhiều Game từ Game Engine Từ xu hướng phát triển bất cập trên, đồ án khảo sát nghiên cứu Engine Unity – Game Engine phổ biến không mạnh mẽ nhằm thực nghiệm việc phát triển trò chơi (Demo) bắn máy bay 2D Chuẩn bị kiến thức kỹ cho định hướng nghề nghiệp (phát triển Game) sau chúng em, góp phần vào phát triển ngành công nghiệp Game nước nhà Các chương đầu tài liệu trình bày khái niệm chung Game Engine giới 2D Các chương giới thiệu Engine Unity bao gồm đặc điểm, tính năng, công cụ thành phần Engine Sau nội dung thiết kế, tài liệu trình bày việc lập trình Unity giới thiệu ngôn ngữ lập trình lớp, hàm thư viện dựng sẵn Unity thông qua ví dụ thực tế phát triển game bắn máy bay 2D Cuối giới thiệu bối cảnh, cốt truyện, tài liệu hướng dẫn sử dụng trò chơi Demo chương tổng kết khó khăn thành suốt trình phát triển trò chơi Demo Unity 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 Cao Đẳng Kỹ Thuật Cao Thắng tạo điều kiện tốt cho chúng em thực đề tài Em xin chân thành cảm ơn Thầy Tôn Long Phước, người tận tình hướng dẫn em, bảo em suốt thời gian thực đề tài Em xin cảm ơn Thầy Lê Quang Song có trao đổi, dẫn giúp chúng em giải vấn đề hoàn thiện đề tài Em xin gửi lời cảm ơn sâu sắc đến quý Thầy Cô Khoa tận tình giảng dạy, trang bị cho chúng em kiến thức quí báu năm học vừa qua Chúng em xin gửi lòng biết ơn sâu sắc đến Ba, Mẹ, anh chị bạn bè ủng hộ, giúp đỡ động viên chúng em lúc khó khăn suốt thời gian học tập nghiên cứu Mặc dù chúng em cố gắng hoàn thành luận văn phạm vi khả cho phép, chắn không tránh khỏi thiếu sót, kính mong cảm thông tận tình bảo quý Thầy Cô bạn SV Thực Hiện : Vũ Đức Duy NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Mục đích nội dung đồ án: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Kết đạt được: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Ý thức làm việc sinh viên: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Tp Hồ Chí Minh, ngày…….tháng…….năm…… Giáo viên hướng dẫn (Ký ghi rõ họ tên) NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Mục đích nội dung đồ án: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Kết đạt được: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Ý thức làm việc sinh viên: ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Tp Hồ Chí Minh, ngày…….tháng…….năm…… Giáo viên phản biện (Ký ghi rõ họ tên) Mục Lục ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY CHƯƠNG 1: TỔNG QUAN VỀ ENGINE UNITY VÀ KHÔNG GIAN 2D, 3D I TỔNG QUAN VỀ ENGINE UNITY 1.1.1 Unity Là Gì ? Đã qua thời kỳ làm game Flash buồn chán với chuyển động thật cứng nhắc Unity mang lại sức mạnh kỳ diệu cho nhân vật mà muốn thể sống động không gian chiều đầy huyền ảo Công nghệ cao tạo bước đột phá khác biệt công nghệ làm game nay, mang đến cho người chơi cảm giác khác lạ hào hứng chuyển động, tương lai công nghệ áp dụng vào game Việt Nam mở trang giới game 2D, 3D huyền ảo Unity dùng để làm video game, nội dung có tính tương tác thể kiến trúc, hoạt hình 2D, 3D thời gian thực Unity hao hao với Director, Blender game engine, Virtools hay Torque Game Builder khía cạnh dùng môi trường đồ họa tích hợp trình phát triển game Unity engine giới làm game không chuyên ưa chuộng khả tuyệt vời phát triển trò chơi đa Trình biên tập chạy Windows Mac OS, xuất game cho Windows, Mac, Wii, iOS, Android Game chơi trình duyệt web thông qua plugin Unity Web Player Unity bổ sung khả xuất game widget cho Mac, Xbox 360, PlayStation Vũ Đức Duy _306111271 Trang ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 1.1.1 Hình minh họa đa Chỉ với khoản tiền bỏ khiêm tốn (1.500 USD) phiên pro nằm tay chúng ta, dĩ nhiên Việt Nam số tiền lớn thật may có phiên Unity Free Tuy nhiên, nhiều tính quan trọng (Network) bị cắt giảm vấn đề lớn muốn phát triển tựa game tầm trung Vào năm 2009, Unity nằm top game engine tốt cho việc sản xuất game với sau năm phát triển Unity đứng thứ 4, xếp sau Unreal Engine 3, Gamebryo Engine (được VTC Studio mua phát triển SQUAD) Cry Engine Lượng tài liệu hướng dẫn Unity phong phú Hơn có sẵn cộng đồng cực lớn với diễn đàn riêng Bất điều không hiểu thoải mái hỏi nhận câu trả lời nhanh chóng, tận tâm Quá trình tạo địa truy xuất từ phần mềm 3DSMax, Maya, Cinema4D nhanh chóng Sức mạnh tiện lợi Unity vô lớn Sức mạnh: Unity tạo nhiều loại game 2D, 3D đa dạng, dễ sử dụng với người làm game chưa chuyên nghiệp, chất lượng cao, Vũ Đức Duy _306111271 Trang ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY chạy hầu hết hệ điều hành Sự tiện lợi: người chuyên dùng 3Dmax, hay Maya phần mềm mã nguồn mở Blender thật tuyệt, có lợi lớn viết game Unity này, công việc tạo mô hình 2D, 3D trở lên dễ dàng nhiều, việc kết hợp người lập trình người thiết kế mô hình nhanh hiệu Trong Unity import trực tiếp file mô hình thiết kế thiết kế hoàn thiện tiếp chưa xong công việc import diễn lần Không việc phải dùng công cụ khác để thực viết game phải xuất chúng dạng lần sửa lại phần mô hình lại phải import lại, thời gian việc tạo chỉnh sửa mô hình theo ý muốn Ngoài Unity cho trực tiếp tạo mô hình muốn Việc đặt thuộc tính vật lý Unity dễ dàng hỗ trợ sẵn nhiều chức 1.1.2 Sơ Lược Lịch Sử Hình Thành Và Phát Triển Của Unity a Hình Thành Phần lõi Unity ban đầu viết Joachim Ante vào năm 2001 Sau công ty hình thành vào năm 2005 bắt đầu với phiên 1.0 Đến năm 2007, Unity nâng lên phiên 2.0 Unity bắt đầu hỗ trợ iPhone vào năm 2008 Vào tháng 6/2010, Unity thức hỗ trợ Android cho đời phiên 3.0 có hỗ trợ Android vào tháng 9/2010 phiên Unity Có thể thấy tốc độ phát triển Unity nhanh b Giải Thưởng Unity đoạt nhiều giải lớn với giải sau: Vũ Đức Duy _306111271 Trang ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY − Năm 2006, Unity đạt "Best Use of Mac OS X Graphics" Apple's WWDC Đây lần công cụ phát triển game đạt chất lượng giải thưởng uy tín đưa − Năm 2009, Unity Technologies có tên "Top công ty game năm" Gamasutra tổ chức − Năm 2010, Unity đoạt giải Best Engine Finalist Develop Magazine bình chọn, giải Technology Innovation Award Wall Street Journal thể loại phần mềm c Khách Hàng Unity 250.000 người đăng ký sử dụng gồm Bigpoint, Cartoon Network, Coca-Cola, Disney, Electronic Arts, LEGO, Microsoft, NASA, Ubisoft, Warner Bros, hãng phim lớn nhỏ, chuyên gia độc lập, sinh viên người đam mê 1.1.3 Tính Năng Của Engine Unity Môi trường phát triển tích hợp với tính kế thừa, khả chỉnh sửa đồ họa, chức kiểm tra chi tiết, đặc biệt tính xem trước game lúc xây dựng (live game preview) Triển khai nhiều tảng: − Chương trình độc lập Windows Mac OS − Trên web, thông qua Unity Web Player plugin cho Internet Explorer, Firefox, Safari, Opera, Chrome, cho Windows Mac OS − Trên Mac OS Dashboard widget − Cho Nintendo Wii (cần mua license thêm.) − Cho iPhone, iPad application (cần mua license thêm.) − Cho Google Android (cần mua license thêm.) − Cho Microsoft Xbox 360 (cần mua license thêm.) Vũ Đức Duy _306111271 Trang 10 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 4.1.1 hình để bắt đầu chơi II CÁC QUY LUẬT CHƠI CHÍNH 4.2.1 Di chuyển Người chơi di chuyển nút bàn phím, di chuyển qua trái, qua phải, lên, xuống để né đạn tiêu diệt kẻ thù, chơi lâu nhiều điểm, người chơi di chuyển phạm vi hình camara Vũ Đức Duy _306111271 Trang 57 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 4.2.2 Màn hình để chơi game 4.2.2 Tấn Công Người chơi bắn đạn để tiêu diệt kẻ thù, kẻ thù có lượng máu định, có máy bay máu có máy bay nhiều máu nên người chơi cần phải bắn liên tục để tiêu diệt kẻ thù, máy bay màu xanh có lượng máu từ đến máu bắn đạn, màu đen có lượng máu lớn đến máu, bắn viên đạn máy bay đỏ có từ đén máu, bắn bốn viên đạn sát thương mạnh Vũ Đức Duy _306111271 Trang 58 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 4.2.3 đạn máy bay xanh Hình 4.2.4 đạn máy bay đen Vũ Đức Duy _306111271 Trang 59 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 4.2.5 đạn máy bay đỏ 4.2.3 Màn Chơi Màn chơi có chơi, người chơi chọn để chơi game, đâu tiên dễ sau chơi khó quân địch xuất hiên nhiều đạn bắn sát thương mạng hơn, chơi có địa hình khác người chơi bay lượn bên sao, bắn hạ kẻ thù xâm chiếm để bảo vệ trái đất người chơi di chuyển xa mạc, người chơi trải nghiệm cảm giác bay bên thành phố tuyệt đẹp, đồi núi Vũ Đức Duy _306111271 Trang 60 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 4.2.6 có để người chơi lựa chọn 4.2.4 Điểm Người chơi cộng điểm ăn vàng, lần ăn vàng người chơi cộng 100 điểm, người chơi va chạm với máy bay địch điểm bị trừ nửa đồng tiền vàng có nghĩa trừ 50 điểm Hình 4.2.7 Vàng điểm cho người chơi Vũ Đức Duy _306111271 Trang 61 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY 4.2.5 Máu Mỗi người chơi cho lượng máu khác nhau, khó lượng máu cho nhiều Máu bị giảm người chơi bị trúng đạn, hết số máu người chơi chết GameOver Hình 4.2.8 Màn Hình GameOver 4.2.6 Tạm Dừng Game Khi chơi game người người muốn tạm dừng cần ấn nút p game tạm dừng lên hình paused Vũ Đức Duy _306111271 Trang 62 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 4.2.9 Hình paused III DỮ LIỆU GAME BẮN MÁY BAY 4.3.1 Màn Hình Bắt Đầu Lập Trình Game hình thành 10 Sence hình nhiều hoạt họa mà em tạo Em giới thiệu hoạt họa bên Vũ Đức Duy _306111271 Trang 63 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 4.3.1 Tổng thể Sence để lập trình game 4.3.2 Code Trong Game Ngôn ngữ em chọn để lập trình game Bắn Máy Bay ngôn ngữ C# MonoDeveloper Unity hỗ trợ Hình 4.3.2 Code C# có game IV MỘT SỐ CLASS QUAN TRỌNG TRONG GAME Vũ Đức Duy _306111271 Trang 64 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY 4.4.1 Player Game Hình 4.4.1 Class để người chơi di chuyển nhân vật 4.4.2 Di chuyển Đối Tượng Trong Game Hình 4.4.2 Di Chuyển đối tượng có game Vũ Đức Duy _306111271 Trang 65 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY 4.4.3 Điểm Hình 4.4.3 Cộng điểm ăn coin 4.4.4 Đạn Hình 4.4.4 Nạp đạn cho đối tượng game V PHÂN TICH SƠ ĐỒ Vũ Đức Duy _306111271 Trang 66 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY 4.5.1 Sơ Đồ Use Case Hình 4.5.1 Sơ đồ use case game 4.5.2 Sơ Đồ Sequence Hình 4.5.2 Sơ đồ Sequence Load chơi Vũ Đức Duy _306111271 Trang 67 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Hình 4.5.3 Sơ đồ Sequence xem high scores CHƯƠNG 5: KẾT LUẬN Vũ Đức Duy _306111271 Trang 68 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY Sau nhiều ngày suy nghĩ kĩ để chọn đề tài tốt nghiệp, cuối em chọn đề tài làm game 2d Unity Game Bắn Máy Bay Bước đầu tìm hiểu Unity Game Engine em gặp nhiều khó khăn việc tìm tài liệu xây dựng ý tưởng game tài liệu unity đa phân tiếng anh, sau khoảng tháng cố gắng tìm tòi, học hỏi bạn trước em làm cho game gần hoàn chỉnh để phục vụ cho đề tài tốt nghiệp Trong thời gian làm đề tài em có số vấn đề đạt chưa đạt Đạt Được - Hiểu cấu trúc, cách thức hoạt động, cách thức phát triển ứng dụng Unity - Nâng cao kiến thức lập trình tiếng anh chuyên ngành thông qua tài liệu Unty tiếng anh - Xây dựng nhân vật game phần mêm hỗ trợ photoshop - Tổ chức load tương ứng thông qua button - Xây dựng chức điểm, máu, chơi thông qua ngôn ngữ lập trình C# MonoDevelop - Tạo âm cho cho trò chơi số chức khác Ngoài thứ đặt em nhiều vấn đề chưa đạt Chưa Đạt Được - Do kiến thức em Unity hạn hẹp nên chức game nghèo nàn - Chưa xây dựng hoàn chỉnh game mong muốn Vũ Đức Duy _306111271 Trang 69 ĐỒ ÁN TỐT NGHIỆP GAME BẮN MÁY BAY - Các Script Unity tổ chức chưa thực rõ ràng - Xắp xếp nhân vật chơi chưa logic Thuận Lợi - Vận dụng kiến thức mà em học tường để làm đồ án - Được dạy tận tình thầy bạn - Tài liệu nhiều Internet Khó Khăn - Unit môi trường lập trình em nên bắt tay vào làm em làm từ đâu cảm thấy bỡ ngỡ Kinh Nghiệm Rút Ra - Phải biết xếp thời gian cách hợp lý không gặp nhiều khó khăn - Để hoàn thành tốt game làm mà phải biết chia sẻ phân công công việc cho người - Làm việc phải tập trung hoàn thành tốt Hướng Phát Triển - Tối ưu hóa để game chạy nhanh - Tăng thêm chơi để người chơi có nhiều lựa chọn - Thêm vũ khí, dạn dược, nâng cấp máy bay vũ khí - Cung cấp thêm công cụ để người chơi chọn chỉnh sửa tạo riêng cho nhân vật, hiệu ứng âm thanh… Vũ Đức Duy _306111271 Trang 70 ĐỒ ÁN TỐT NGHIỆP - GAME BẮN MÁY BAY Cải thiện trí thông minh máy Danh mục tài liệu tham khảo [1] Ryan Henson Creighton, Unity 3D Game Development by Example, Packt Publishing, 2010 [2] Will Goldstone, Publishing, 2009 [3] Unity Game Development Essential, Packt Efraim Meulenberg, Game Development with Unity, VTC, 2010 [4] Efraim Meulenberg, Game Development for iPhone/iPad Using Unity iPhone, VTC, 2010 [5] TornadoTwins, Wormgame Cartoony Series http://www.unityprefabs.com/wormgame-cartoony-series-tutorial.html [6] Zak Parrish, Unity Fundamentals http://www.3dbuzz.com/vbforum/content.php?176 [7] Chad and Eric, Unity Training http://walkerboystudio.com/html/unity_training Vũ Đức Duy _306111271 Trang 71 free htm