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

Tóm tắt Đồ án tốt nghiệp Công nghệ thông tin: Xây dựng game 2D trên Unity

21 33 0

Đ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 21
Dung lượng 894,64 KB

Nội dung

Mục tiêu nghiên cứu của đề tài là xây dựng được game hoàn chỉnh; tạo hiệu ứng và âm thanh; tìm hiểu về ngôn ngữ lập trình C#, đối tượng hỗ trợ C# và Unity. Mời các bạn cùng tham khảo!

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA …………………… TÊN ĐỀ TÀI XÂY DỰNG GAME 2D TRÊN UNITY TÓM TẮT ĐỒ ÁN TỐT NGHIỆP NGÀNH: ỨNG DỤNG PHẦN MỀM Sinh viên thực hiện: Nguyễn Văn Quỳnh Mã sinh viên: CCCT17A017 Giảng viên hướng dẫn: Nguyễn Thanh Cẩm Khóa đào tạo: 2017- 2020 Đà Nẵng - 12/2020 MỞ ĐẦU Lý chọn đề tài Thị trường game di động Việt Nam phát triển có tiềm lớn 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 Vì em chọn đề tài để xây dựng game đưa đến cho người dùng trải nghiệm tìm hiểu kỹ xây dựng game Mục tiêu nghiên cứu 2.1 Mục tiêu - Xây dựng game hoàn chỉnh - Tạo hiệu ứng âm - Tìm hiểu ngơn ngữ lập trình C#, đối tượng hỗ trợ C# Unity 2.2 Nhiệm vụ nghiên cứu - Tìm hiểu xây dựng kịch game Unity Đối tƣợng phạm vi nghiên cứu 3.1 Đối tƣợng nghiên cứu - Lập trình game Unity 3.2 Phạm vi nghiên cứu - Xây dựng game hoàn thành mức độ Phƣơng pháp nghiên cứu - Nghiên cứu lý thuyết - Tham khảo internet - Xây dựng game theo mục tiêu đề Ý nghĩa khoa học thực tiễn đề tài 5.1 Ý nghĩa khoa học - Tìm hiểu thị trường game - Nghiên cứu cách làm game 2D 5.2 Ý nghĩa thực tiễn - Học hỏi tích lũy kinh nghiệm làm game - Biết cách tạo game Bố cục đề tài Chương I: Cơ sở lý thuyết Chương II: Phân tích thiết kế hệ thống Chương III: Cài đặt chương trình đánh giá CHƢƠNG I: CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu Game Đặc trưng dòng game mà em xây dựng thời điểm có người chơi, trị chơi có hình chơi, người chơi điều khiển di chuyển máy bay lên, xuống, qua trái, qua phải để tránh đạn bắn hạ gục máy bay địch Nếu người chơi để máy bay trúng đạn máu hết máu Quy luật chơi: Người chơi phải điều khiển máy bay tránh đạn địch, đồng thời bắn hạ gục máy bay địch Nếu trúng đạn bị máu, hạ gục máy bay địch cộng điểm Khi hết máu trò chơi kết thúc 1.2 Tổng quan Android Android có mã nguồn mở Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở với giấy phép khơng có nhiều ràng buộc cho phép nhà phát triển thiết bị, mạng di động lập trình viên nhiệt huyết điều chỉnh phân phối Android cách tự Ngồi ra, Android cịn có cộng đồng lập trình viên đơng đảo chun viết ứng dụng để mở rộng chức thiết bị, loại ngơn ngữ lập trình Java có sửa đổi Tháng 10 năm 2012, có khoảng 700.000 ứng dụng Android, số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng Android, ước tính khoảng 25 tỷ lượt Những yếu tố giúp Android trở thành tảng điện thoại thông minh phổ biến giới, vượt qua Symbian OS vào quý năm 2010, công ty công nghệ lựa chọn họ cần hệ điều hành khơng nặng nề, có khả tinh chỉnh, giá rẻ chạy thiết bị cơng nghệ cao thay tạo dựng từ đầu Kết thiết kế để chạy điện thoại máy tính bảng, Android xuất TV, máy chơi game thiết bị điện tử khác Bản chất mở Android khích lệ đội ngũ đơng đảo lập trình viên người đam mê sử dụng mã nguồn mở để tạo dự án cộng đồng quản lý Những dự án bổ sung tính cao cấp cho người dùng thích tìm tịi đưa Android vào thiết bị ban đầu chạy hệ điều hành khác 1.3 Tổng quan Unity 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 khơng phải 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ị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 Q 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, 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 Ngồ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.3.1 Các thành phần Unity Assets: Assets tài nguyên xây dựng nên dự án Unity Những tài nguyên hình ảnh, âm thanh, mơ hình 2D, 3D, chất liệu (material), texture, … project hoàn chỉnh Các asset nhà phát triển game tạo download miễn phí trả phí Unity Asset Store Đây tính hay Unity Các asset giúp giảm thiểu nhiều thời gian cho việc thiết kế lập trình game Scenes: cảnh chơi (hoặc phân đoạn) chơi riêng biệt, khu vực game thành phần có nội dung trò chơi (các menu) Các thành phần gọi Scene Bằng cách tạo nhiều Scenes, phân phối thời gian tối ưu tài nguyên, kiểm tra phân đoạn game cách độc lập Game Objects: Khi Asset sử dụng Scene, Unity định nghĩa Game Object Đây thuật ngữ thông dụng, đặc biệt mảng lập trình Tất Game Object chứa thành phần Transform, lưu trữ thơng tin vị trí, góc xoay tỉ lệ Game Object Thành phần Transform tuỳ biến chỉnh sửa trình lập trình Components: Components thành phần game, bổ sung tính cho Game Object Mỗi Component có chức riêng biệt Đa phần Component phụ thuộc vào Transform, lưu trữ thơng số Game Object Bản chất Game Object khơng có cả, đặc tính khả Game Object nằm hoàn toàn Component Do xây dựng nên Game Object game mà tưởng tượng Scripts: Scripts Unity xem Component Đây thành phần thiết yếu trình phát triển game Bất kỳ game nào, dù đơn giản cần đến Scripts để tương tác với thao tác người chơi, quản lý kiện để thay đổi chiều hướng game tương ứng với kịch game Unity cung cấp cho lập trình viên khả viết Script ngơn ngữ: JavaScript, C# Unity khơng địi hỏi lập trình viên phải học cách lập trình Unity, nhiều tình huống, cần sử dụng Script phần kịch game Để viết Script, làm việc với trình biên tập Script độc lập Unity, làm việc Mono Developer tích hợp vào Unity phiên gần Mono Developer IDE tốt, cung cấp nhiều chức tương tự Visual Studio Mã nguồn viết Mono Developer đươc cập nhật lưu trữ dự án Unity Prefabs: Prefabs thực chất Game Object lưu trữ lại để tái sử dụng Các Game Object nhân từ prefab giống hoàn toàn, ngoại trừ thành phần Transform để phân biệt quản lý tốt Để tạo prefab, ta đơn giản cần kéo Game Object vào cửa sổ Project 1.3.2 Sơ lƣợc giao diện Unity Giao diện Unity, giống nhiều mơi trường làm việc khác, layout tùy chỉnh Layout Unity bao gồm nhiều tab khác bật tắt 1.4 Tìm hiểu cơng cụ hỗ trợ Visual Studio 1.4.1 Giới thiệu Visual Studio (IDE – Integrated Development Environment) công cụ phát triển phần mềm Microsoft phát triển Visual Studio phần mềm sử dụng lập trình viên để xây dựng nên sản phẩm phần mềm 1.4.2 Lý nên dùng Visual Studio - Hỗ trợ lập trình nhiều ngơn ngữ C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript Phiên bảnVisual Studio 2015 có hổ trợ ngơn ngữ Python - Visual Studio công cụ hỗ trợ việc Debug cách mạnh mẽ, dễ dàng (Break Point, xem giá trị biến trình chạy, hỗ trợ debug câu lệnh) - Giao diện Visual Studio dễ sử dụng người bắt đầu - Visual Studio hỗ trợ phát triển ứng dụng desktop MFC, Windows Form, Universal App, ứng dụng mobileWindows Phone 8/8.1, Windows 10, Android (Xamarin), iOS phát triển website Web Form, ASP.NET MVC phát triển Microsoft Office - Visual Studio hỗ trợ kéo thả để xây dựng ứng dụng cách chuyên nghiệp, giúp bạn bắt đầu tiếp cận nhanh - Visual Studio cho phép tích hợp extension từ bên Resharper (hổ trợ quản lý viết mã nhanh cho ngôn ngữ thuộc Net), hay việc cài đặt thư viện nhanh chóng thông qua Nuget - Visual Studio sử dụng đông đảo lập trình viên tồn giới 1.5 Tổng quan C# C# ngôn ngữ lập trình theo phương pháp lập trình hướng đối tượng lập trình trực quan phát triển Microsoft C# đời năm 2000, thiết kế chủ yếu Anders Hejlsberg – kiến trúc sư phần mềm tiếng với sản phẩm Turbo Pascal, Delphi… Được xây dựng tảng hai ngơn ngữ lập trình mạnh C++ Java Do C# miêu tả ngơn ngữ có cân C++, Pascal, Delphi Java C# với hỗ trợ mạnh mẽ NET Framework giúp cho việc tạo ứng dụng Windows Forms hay WPF (Windows Presentation Foundation ) … trở nên dễ dàng 1.5.1 Các đặc điểm C# - Là ngôn ngữ hướng đối tượng, trực quan - Tám mươi từ khóa mười kiểu liệu dựng sẵn - Cung cấp đặc tính hướng thành phần (component - oriented) Property, Event - C# khơng khuyến khích sử dụng trỏ C++ - C# có Garbage Collector (thu gom rác) tự động thu gom vùng nhớ khơng cịn sử dụng - C# loại bỏ đa kế thừa C++ mà thay vào C# hỗ trợ thực thi giao diện interface Nguyên nhân lựa chọn C# vì:  C# ngôn ngữ đơn giản  C# ngôn ngữ đại  C# ngôn ngữ mạnh mẽ mềm dẻo  C# ngơn ngữ từ khóa  C# ngơn ngữ phổ biến  C# mang sức mạnh nhiều ngôn ngữ (C++, Java…) 1.5.2 Ƣu điểm nhƣợc điểm C# Ƣu điểm: - Dễ học c ++ - Dễ đọc mã C ++ - Phát triển nhanh có khả lỗi so với c ++ java (bạn có loại khơng dấu, bạn có ref / out, bạn tạo loại giá trị riêng mình, bạn có thứ hữu ích khác mà java bỏ qua có nghĩa bạn nhảy qua vịng có nghĩa độ phức tạp mã cần thiết hơn) - Tất thứ truyền tham chiếu ngoại trừ loại giá trị, theo mặc định - Công cụ thu gom rác dọn dẹp đồ vật chúng khơng cịn sử dụng, bạn khơng phải tự theo dõi thứ - Chương trình biên dịch thành nhị phân riêng tối ưu hóa cho tảng chạy (và chạy chậm chút so với mã c ++) - Dễ dàng tạo nhiều chủ đề Có nhiều phương tiện tạm dừng luồng để chờ tín hiệu - lock (someObject) {code), giống java đồng hóa sử dụng đâu yêu cầu đối tượng - P/ Gọi dễ sử dụng JNI nhiều - có lẽ chúng tơi khơng sử dụng chúng tơi muốn trở thành đa tảng - Có IDE miễn phí tuyệt vời (visual c # express) - windows (xem khuyết điểm) - Bạn tạo loại giá trị, theo mặc định truyền theo giá trị thay truyền tham chiếu, cách tạo cấu trúc thay lớp - Bạn có từ khóa 'ref 'out' cho phép bạn chuyển tham chiếu đến tham số cho hàm, với ý nghĩa tham số phải gán hàm trước trả Về bản, ref / out cho phép hàm sửa đổi biến truyền dạng tham số, giống chuyển tham chiếu c ++ - Đa tảng với mono / mono cải thiện - Có số ngun khơng dấu (c ++, java khơng) - Nếu chương trình gặp cố, bật lên hộp thoại cho người dùng biết mã đâu (trên windows) ghi dấu vết ngăn xếp vào bàn điều khiển (với mono chạy với debug) - Các chương trình biên dịch thành tệp exe không cần phải biên dịch lại cho HĐH khác - mono chạy trực tiếp exes NET Nhƣợc điểm: - Sử dụng nhiều nhớ c ++ - Trình thu gom rác sử dụng chu kỳ nhớ CPU - (nhưng khơng có, thời gian CPU) - Một số thứ không hoạt động chức gọi đơn số cửa số không tồn linux, việc triển khai biểu mẫu đơn windows cần có cách giải mã (nhưng có lẽ khơng sử dụng chúng) - Mono chưa hồn hảo - Phải sử dụng net 2.0 cho thuốc generic (trong số thứ khác), 1.1 khơng có chúng Khơng thể sử dụng thứ 2.0 hỗ trợ thả 3.0 trở lên cho windows 98, ME 2000 - Khơng thể khai báo chức đồng hóa - Khơng có IDE tốt cửa số khơng Eclipse có plugin ac # khơng hỗ trợ hầu hết tính Eclipse - Khơng có trỏ, chúng thay tham số ref out, chúng khơng cần nhiều - Phương thức gọi thông qua đại biểu chậm đáng kể so với cách gọi phương thức bình thường (hoặc trỏ hàm c ++, có lẽ) - Yêu cầu (phiên xác của) NET framework phải cài đặt để chạy chương trình, tải xuống vài quay số 10 CHƢƠNG II: PHÂN TÍCH THIẾT KẾ HÊ THỐNG 2.1 Tạo cấu hình game 2D 2.1.1 Tạo dự án Bật Unity lên, vào menu File/New Project Chọn loại project 2D sau gõ tên project xong nhấn Create Project Kết sau: 11 2.1.2 Cấu hình dự án 2D: Sau tạo dự án xong, Hierarchy có đối tượng Main Camera Chúng ta cần điều chỉnh kiểu hiển thị Scene 2D Ở cửa sổ Hierarchy chọn Main Camera Ở cửa sổ Inspector hiển thị thông số camera, ta chọn lại giá trị Projection hay phép chiếu phép chiếu vuông gócthay cho phép chiếu phối cảnh 12 Tiếp theo, cửa sổ Project, ta tạo sẵn thư mục để chứa tất tài nguyên có sử dụng game sau là: Animations, Prefabs, Scripts, Sprites, Sounds, Scenes.R-Click vào thư mục Assets cửa sổ Project, ta chọn Create, chọn Folder Kết hình sau: 2.2 Load Backgroud Game 2D xây dựng từ nhiều mơ hình 2D đặt lên khơng gian chiều cho hài hòa với để tạo thành cảnh vật game Do việc nạp hiển thị mơ hình 2D game vơ quan trọng Engine Unity hỗ trợ nhiều định dạng mơ hình 2D, 3D khác như: PNG, JPG mơ hình load vào project ta chuyển mơ hình sang mục Prefab để tái sử dụng nhiều lần Unity có hỗ trợ load mơ hình cách kéo thả Prefab vào vị trí Scene Tuy nhiên, để linh hoạt xử lý code Trước tiên, ta 13 tạo file script gắn vào đối tượng Back ground để đoạn script thức thi Trong file script này, ta khai báo để khởi tạo Back ground để đổ màu tự động nên back ground 2.3 Sự kiện thực phép toán Một số xử lý bản: Public float speed player di chuyển tới cách đơn vị trục tọa độ Public fireRate tốc độ bắn Public float timer tạo đếm thời gian Public float deathTimer đếm thời gian kết thúc Khởi tạo, cập nhật gọi lần khung hình thu thập đạn rác phá hủy chúng sau thời gian định Một số code game: 14 Đường đạn máy bay địch 15 Kiểm soát người chơi 16 Đường đạn Tăng cường sức mạng chắn 17 Điều khiển nhạc Siêu đạn 18 Tăng sức mạnh cho siêu đạn Màn hình menu 19 CHƢƠNG III: CHƢƠNG TRÌNH DEMO 3.1 Kết đạt đƣợc 3.1.1 Cài đặt - Ứng dụng Build dạng file.apk - Copy file.apk vào điện thoại chạy hệ điều hành Android - Mở file.apk copy vào để fiel tự cài đặt diện thoại 3.1.2 Kết - Game có giao diện thân thiện, đẹp mắt, dễ sử dụng - Game đạt yêu cầu trò chơi 3.1.3 Ƣu điểm - 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 chun ngành thơng qua tài liệu Unty tiếng anh - Tổ chức load tương ứng thông qua button - Xây dựng chức điểm, 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 3.1.4 Nhƣợc điểm - 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 3.2 Hƣớng phát triển - Tối ưu hóa xử lý giúp game chạy nhanh -Tăng thêm số lượng chơi để người chơi thêm nhiều lựa chọn -Cung cấp thêm cơng cụ để người chơi trợ giúp câu khó tạo nhiều mức độ chơi khác nhau, hiệu ứng âm thanh, … 20 KẾT LUẬN Qua trò chơi demo em bước tiếp cận với công nghệ làm game, cách thức phương pháp, tảng tối ưu, biết cách kết hợp phần mềm để tạo mơ hình vật thể, sản phẩm Trong trình xây dựng game em nhận cịn nhiều vấn đề phát sinh, nhiều khó khăn suy nghĩ, nhiều bug code C# cần fix, lỗi nhỏ làm hỏng hệ thống, thiết kế game nên chia nhỏ công việc module riêng để dễ xây dựng gắn kết thành phần chạy ổn định Viết game tốn thời gian cho công việc design nhân vật, đồ, đội ngũ xây dựng phải đông đảo hơn, cần kiên trì sáng tạo 21 ... kỹ xây dựng game Mục tiêu nghiên cứu 2.1 Mục tiêu - Xây dựng game hoàn chỉnh - Tạo hiệu ứng âm - Tìm hiểu ngơn ngữ lập trình C#, đối tượng hỗ trợ C# Unity 2.2 Nhiệm vụ nghiên cứu - Tìm hiểu xây. .. vụ nghiên cứu - Tìm hiểu xây dựng kịch game Unity Đối tƣợng phạm vi nghiên cứu 3.1 Đối tƣợng nghiên cứu - Lập trình game Unity 3.2 Phạm vi nghiên cứu - Xây dựng game hoàn thành mức độ Phƣơng... cấu hình game 2D 2.1.1 Tạo dự án Bật Unity lên, vào menu File/New Project Chọn loại project 2D sau gõ tên project xong nhấn Create Project Kết sau: 11 2.1.2 Cấu hình dự án 2D: Sau tạo dự án xong,

Ngày đăng: 16/12/2021, 09:16

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w