1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu công nghệ unity và xây dựng game

91 285 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 91
Dung lượng 2,57 MB

Nội dung

LỜI NÓI ĐẦUVới sự phát triển một cách nhanh chóng như vũ bão của công nghệ và internet của thế giới nói chung và Việt Nam nói riêng thì game gần như không còn là một khái niệm xa lạ đối

Trang 1

LỜI CẢM ƠN

Đồ án tốt nghiệp là bước cuối cùng để đánh dấu sự trưởng của một sinh viên ở giảng đường Đại học Đồ án hoàn thiện hơn với sự giúp đỡ của các thầy cô, bạn bè, Do đó, em muốn gửi lời cảm ơn tới những người đã giúp em hoàn thiện đồ

án này

Trước hết, em xin gửi lời cảm ơn chân thành nhất tới cô Hoàng Thị Cành

Thạc Sĩ Công Nghệ Thông Tin Cô đã hướng dẫn và theo sát ý tưởng về đồ án cho tới lúc hoàn thiện Sự chỉ bảo của cô không chỉ có giá trị đối bản thân đồ án nói riêng mà còn giúp em thêm nhiều kinh nghiệm quý báu Đề tài sẽ không thể hoàn thành nếu không có sự giúp đỡ của cô

Em cũng xin chân thành cảm ơn quý thầy, cô trong khoa Công Nghệ Thông Tin, Trường Đại Học Công Nghệ Thông Tin và Truyền Thông đã tận tình truyền đạt kiến thức trong 5 năm học tập Với vốn kiến thức được tiếp thu trong quá trình học không chỉ làm nền tảng quá quá trình nghiên cứu mà còn là hành trang để em bước vào đời một cách vững chắc

Trong quá trình thực hiện đề tài đồ án cũng như trong quá trình làm báo cáo với giáo viên hướng dẫn, khó tránh khỏi sai sót, rất mong các Thầy, Cô bỏ qua Đồng thời do trình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế nên bài báo cáo không thể tránh khỏi những thiếu sót, em rất mong nhận được ý kiến đóng góp Thầy, Cô để em thêm được nhiều kinh nghiệm giúp em hoàn thiện bản thân hơn

Cuối cùng em xin kính chúc các Thầy, Cô luôn có một sức khỏe dồi dào, đạt được nhiều thành công trong công việc, sự nghiệp cũng như trong cuộc sống

Em xin chân thành cám ơn!

Thái Nguyên, tháng 6 năm 2016

Sinh viên

Trang 2

Nguyễn Thái Ninh

Trang 3

LỜI CAM ĐOAN

Đồ án tốt nghiệp là thành quả từ sự nghiên cứu hoàn toàn thực tế trên cơ sở các số liệu thực tế và được thực hiện theo hướng dẫn của giáo viên hướng dẫn, được thực hiện hoàn toàn mới, là thành quả của riêng em

Mọi sự tham khảo sử dụng trong đồ án đều được trích dẫn các nguồn tài liệu trong báo cáo và danh mục tài liệu tham khảo

Mọi tài nguyên của chương trình để miễn phí trên internet, dưới đây là các trang web cung cấp tài nguyên

 Music

"Sax, Rock, and Roll" Kevin MacLeod (incompetech.com) - Game Scene

"Welcome to the Show" Kevin MacLeod (incompetech.com) - Menu Scene

 Sounds

Player Explosion - freesound.org

Laser Beam - freesound.org

Power Up - freesound.org

Menu Beeps - freesound.org

 Ships & Other Sprites

Enemy Ships - MillionthVector

Player Ship - Egemen Ilbeyli

Power Ups - opengameart.org

 GUI

Font: Aldo the Apache

Health Bar - opengameart.org

Trang 5

MỤC LỤC

1.1 Tổng quan về ngôn ngữ C# 7

1.1.1 Biến, hằng, toán tử 8

1.1.2 Quy tắc lập trình, ứng dụng Console Application 10

1.1.3 Kiểu dữ lệu - Cấu trúc điều khiển - Cấu trúc lặp 11

1.1.4 Cấu trúc điều khiển 12

1.1.5 Cấu trúc lặp 14

1.2 Tổng quan về Unity 16

1.2.1 Giới thiệu về Unity 16

1.2.2 Các khái niệm cơ bản 17

1.2.3 Làm quen với môi trường Unity 20

CHƯƠNG 2 KHẢO SÁT, PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 252.1 Khảo sát, kịch bản, xác định yêu cầu 25

2.1.1 Khảo sát 25

2.1.2 Kịch bản game 30

2.1.3 Xác định yêu cầu của đề tài 38

2.1.4 Thuật toán được sử dụng 38

2.2 Phân tích thiết kế chương trình 40

2.2.1 Các chức năng của chương trình 40

2.2.2 Biểu đồ Use Case (Use Case Diagram) 41

2.2.3 Biểu đồ trình tự (Sequence Diagram) 42

2.2.4 Biểu đồ lớp (Class Diagram) 45

2.2.5 Biểu đồ hoạt động (Activity Diagram) 47

CHƯƠNG 3 XÂY DỰNG GAME SPACE SHOOTER - Z 50

3.1 Giới thiệu chương trình 50

3.2 Giao diện trò chơi 50

KẾT LUẬN 57

TÀI LIỆU THAM KHẢO 58

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 59

DANH MỤC HÌNH ẢNH

Hình 1.1 Download Unity 17

Trang 6

Hình 2.5 Tiêu chí lựa chọn game 27

Hình 2.6 Nguồn thông tin game 28

Hình 2.7 Khó khăn khi chơi game 28

Hình 2.8 Những khó khăn khi chơi game 29

Hình 2.9 Khách hàng tiềm năng của game 29

Hình 2.10 Những khó khăn, bất cập khi sử dụng game mobile 30Hình 2.11 Màn chơi 30

Trang 7

Hình 2.29 Biểu đồ Use Case tổng quát 41

Hình 2.30 Biểu đô Use Case chức năng 42

Hình 2.31 Biểu đồ trình tự giao diện chính 42

Hình 2.32 Biểu đồ trình tự chơi game 43

Hình 2.33 Biểu đồ trình tự giao diện tạm dừng 44Hình 2.34 Biểu đồ trình tự thu nhặt vật phẩm 45Hình 2.35 Biểu đồ lớp 47

Hình 2.36 Biểu đồ hoạt động Menu 48

Hình 2.37 Biểu đồ hoạt động xử lý va chạm 48

Hình 2.38 Biểu đồ hoạt thu thập vật phẩm 49

Hình 3.1 Giao diện chính 50

Hình 3.2 Giao diện khi chơi 51

Hình 3.3 Hiệu ứng khi tàu địch bị tiêu diệt 51

Hình 3.4 Vật phẩm khi tiêu diệt địch rơi ra 52

Trang 8

Hình 3.11 Giao diện Home 56Hình 3.12 Giao diện Pause 56

Trang 9

LỜI NÓI ĐẦU

Với sự phát triển một cách nhanh chóng như vũ bão của công nghệ và internet của thế giới nói chung và Việt Nam nói riêng thì game gần như không còn

là một khái niệm xa lạ đối với mỗi cá nhân, ngược lại còn cảm thấy rất gần gũi trong cuộc sống chúng ta Chúng ta có thể bắt gặp những trò chơi trên những thiết

bị công nghệ nhỏ nhất cho đến những thiết bị công nghệ cao hơn

Nói đến game thì chắc hẳn phần lớn mọi người đều đồng ý đó là một loại hình giải trí có sức thu hút rất lớn,nhất là với giới trẻ hiện nay Đặc biệt sau sự ra đời của Internet, game online xuất hiện và nhanh chóng gây được sức hấp dẫn to lớn Chúng ta có thể chơi game online trên mạng, các game offline trên PC, các game trên các dòng máy chuyên như Play Station của hãng Sony với những phiên bản PS2, PS3, P4… hiện nay game cũng đang được phát triển mạnh trên các thiết

bị di động như điện thoại di động, các máy Xbox…Hàng năm lợi nhuận từ game đem về doanh thu lên đến hàng tỉ đô la cho những công ty chuyên phát triển và sản xuất game như ở các nước phát triển như Nhật Bản, Mỹ có rất nhiều các công ty chuyên về sản xuất game như Nintendo, Sony, Sega và mỗi năm các công ty này đạt doanh thu hàng tỷ USD Hay với các nước đi sau như Hàn Quốc,Trung Quốc cũng có được một ngành công nghê game rất mạnh nhờ có sự đầu tư đúng đắn và chiến lược phát triển tốt Một trò chơi được mua về với giá hàng ngàn hay thậm chí hàng triệu, hàng tỷ đô la Không phải là những game cấu hình cao, đồ họa khủng mới có thể đêm về nguồn lợi nhuận khủng khiếp như vậy mà có những game rất đơn giản cấu hình thấp, đồ họa của những năm đầu tiên của thế giới công nghệ nhưng vẫn rất hấp dẫn và thu hút người chơi chỉ với những lối chơi cực kì đơn giản, nó không phải là một vẫn đề khó hiểu trong thời đại công nghệ hiện nay

Mặc dù VINASA xếp game là một trong 3 định hướng công nghệ chiến lược của hiệp hội này trong giai đoạn 2006-2010, bên cạnh định hướng phần mềm nhúng và ERP nhưng hiện tại thị trường game ở Việt Nam còn rất yếu

Trang 10

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

 Tổng quan về ngôn ngữ C#

Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 80 từ khóa và hơn mười mấy kiểu dữ liệu được dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa to lớn khi nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại Hơn nữa ngôn ngữ C# được xây dựng trên nền tảng hai ngôn ngữ mạnh nhất là C++ và Java Tóm lại, C# có các đặc trưng sau đây:

 C# là ngôn ngữ đơn giản

 C# là ngôn ngữ hiện đại

 C# là ngôn ngữ hướng đối tượng

 C# là ngôn ngữ mạnh mẽ và mềm dẻo

 C# là ngôn ngữ hướng module

 C# sẽ trở nên phổ biến

 C# là ngôn ngữ đơn giản

 C# loại bỏ được một vài sự phức tạp và rối rắm của các ngôn ngữ C++

và Java

 C# khá giống C / C++ về diện mạo, cú pháp, biểu thức, toán tử

 Các chức năng của C# được lấy trực tiếp từ ngôn ngữ C / C++ nhưng được cải tiến để làm cho ngôn ngữ đơn giản hơn

 C# là ngôn ngữ hiện đại

C# có được những đặc tính của ngôn ngữ hiện đại như:

 Xử lý ngoại lệ

 Thu gom bộ nhớ tự động

 Có những kiểu dữ liệu mở rộng

Trang 11

 Bảo mật mã nguồn

 C# là ngôn ngữ hướng đối tượng

C# hỗ trợ tất cả những đặc tính của ngôn ngữ hướng đối tượng là:

 C# được sử dụng cho nhiều dự án khác nhau như: tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, xử lý bảng tính; thậm chí tạo ra những trình biên dịch cho các ngôn ngữ khác

 C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa

dùng để mô tả thông tin, nhưng không vì thế mà C# kém phần mạnh mẽ Chúng ta

có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào

 C# là ngôn ngữ hướng module

 Mã nguồn của C# được viết trong Class (lớp) Những Class này chứa các Method (phương thức) thành viên của nó

 Class (lớp) và các Method (phương thức) thành viên của nó có thể được

sử dụng lại trong những ứng dụng hay chương trình khác

Trang 12

a Khái niệm

 Biến là một vùng lưu trữ ứng với một kiểu dữ liệu

 Biến có thể được gán giá trị và cũng có thể thay đổi giá trị trong khi thực hiện các lệnh của chương trình

b Khai báo biến

Sau khi khai báo biến phải gán giá trị cho biến

<Kiểu_Dữ_Liệu> <tên_biến> [ = <giá_trị> ] ;

Trang 13

 Kiểu liệt kê (enumerations)

b Giá trị hằng

Trong C#, trước khi dùng một biến thì biến đó phải được khởi tạo nếu không trình biên dịch sẽ báo lỗi khi biên dịch Ta có thể khai báo biến trước, sau

đó khởi tạo và sử dụng; hay khai báo biến và khởi gán trong lúc khai báo

VD: int x; // khai báo biến trước

x = 5; // sau đó khởi gán giá trị và sử dụng

int y = x; // khai báo và khởi gán cùng lúc

c Kiểu liệt kê

Là tập hợp các tên hằng có giá trị số không thay đổi (danh sách liệt kê)

Cú pháp kiểu liệt kê:

 Toán tử tăng / giảm: += , -= , *= , /= , %=

 Toán tử tăng / giảm 1 đơn vị: ++ ,

Trang 14

 Toán tử gán: =

 Toán tử quan hệ: == , != , > , >= , < , <=

 Toán tử logic: ! , && , ||

 Toán tử 3 ngôi: (Điều_Kiện) ? (Biểu_Thức_1) : (Biểu_Thức_2) ;

1.1.2 Quy tắc lập trình, ứng dụng Console Application

a Quy tắc lập trình

Khi tạo một chương trình trong C#, chúng ta nên thực hiện theo các bước sau:

 Bước 1: Xác định mục tiêu của chương trình

 Bước 2: Xác định những phương pháp giải quyết vấn đề

 Bước 3: Tạo một chương trình để giải quyết vấn đề

 Bước 4: Thực thi chương trình để xem kết quả

{static void Main()

{// Xuat ra man hinh chuoi thong bao 'Hello world'

Console.WriteLine("Hello world") ;

Console.ReadLine() ;

}

}

1.1.3 Kiểu dữ lệu - Cấu trúc điều khiển - Cấu trúc lặp

C# chia kiểu dữ liệu thành hai tập hợp kiểu dữ liệu chính:

 Kiểu xây dựng sẵn (built-in): do ngôn ngữ cung cấp cho người lập trình

 Kiểu do người dùng định nghĩa (user-defined): do người lập trình tạo ra

Trang 15

 Kiểu dữ liệu dựng sẵn

Bảng 1.3.1-1 Kiểu dữ liệu dựng sẵn

Trang 16

Bảng 1.3.1-2 Bảng các ký tự đặc biệt

 Chuyển đổi kiểu dữ liệu

Có hai cách chuyển đổi kiểu dữ liệu là chuyển đổi ngầm định và ép kiểu

x = (short) y ; // ép kiểu tường minh, trình biên dịch không báo lỗi

1.1.4 Cấu trúc điều khiển

a Câu lệnh if else

Cú pháp:

if (Điều_Kiện)

<Khối lệnh Điều_Kiện đúng>

Trang 17

<Khối lệnh Điều_Kiện sai>]

VD: static void Main()

Trang 19

} while (i<= 10) ;

}

Trang 20

1.2.1 Giới thiệu về Unity

- Unity3D là một môi trường phát triển tích hợp, mạnh mẽ, hỗ trợ thao tác kéo thả, tuỳ biến giao diện nhanh chóng, trực quan

- Cung cấp các công cụ xử lý đồ hoạ, tích hợp sẵn thư viện vật lý, tính toán

va chạm

Trang 21

- Hỗ trợ phát triển cả game 2D và 3D.

- Hỗ trợ nhiều nền tảng thông dụng như OSX, Linux, Window, Web, iOS, Window Phone 8, Android, PS3, BB…

- Cộng đồng người dùng, hỗ trợ rộng lớn

- Có phiên bản miễn phí có thể chạy được trên Window và Mac OSX

- Unity3D hướng tới người sử dụng chuyên nghiệp và cả nghiệp dư, nên khá dễ để sử dụng Với ngôn ngữ lập trình bằng C#, JavaScript hoặc BOO

Ngày nay rất nhiều nhà phát triển game lựa chọn Unity3D để phát triển bởi khả năng hỗ trợ đa nền tảng và sự mạnh mẽ tiện dụng của Unity3D

Đến với Unity, các bạn sẽ không cần phải băng khoăn về các vấn đề xử lý, các khái niệm đồ hoạ phức tạp tất cả đều trở nên dễ dàng và nhanh chóng với Unity

 Một số game được phát triển trên Unity như AngryBird, Elegy of War,…

Ta có thể vào đây để download và cài đặt Unity3D trực tiếp tại trang chủ : http://unity3d.com/unity/download/

Unity có 2 loại phiên bản, một cho người dùng free, và một phiên bản pro thì mất phí

Trang 22

Hình 1.1 Download Unity

Tải Unity về cài đặt bình thường, đến khi kết thúc cài đặt nền các bạn chọn phiên bản Pro thì cần phải mua, còn nếu là người dùng free thì chọn kích hoạt qua web, chỉ cần có kết nối mạng internet, sau đó chọn cài đặt thủ công và nhập mail, chọn free là có thể sử dụng một bản Unity free

1.2.2 Các khái niệm cơ bản

Trang 24

f Prefabs

- Là một khái niệm trong Unity, dùng để sử dụng lại các đối tượng giống nhau có trong game mà chỉ cần khởi tạo lại các giá trị vị trí, tỉ lệ biến dạng và góc quay từ môt đối tượng ban đầu

Ví dụ: Các đối tượng là đồng tiên trong game Mario đều có xử lý giống nhau, nên ta chỉ việc tạo ra một đối tượng ban đầu, các đồng tiền còn lại sẽ sử dụng prefabs Hoặc khi ta lát gạch cho một cái nền nhà, các viên gạch cũng được

Trang 26

tượng

Trang 27

1.2.3 Làm quen với môi trường Unity

Trang 28

- Phần số 3 màu xanh lá cây

- Phần này hiển thị thư mục Assets, chứa tất cả các tài nguyên của dự án game

- Ở phần này, bên cạnh tab khác, có phần Console để hiển thị các log trong quá trình debug

- Phần này chứa các nút chuyên dụng:

+ Bốn nút bên trái: (1) tuỳ chọn cho phép dùng chuột kéo toàn bộ scenes, phóng to, thu nhỏ, lựa chọn các đối tượng trong scenes (2) cho phép dùng chuột

di chuyển các đối tượng trong scenes, (3) cho phép dùng chuột quay các đối tượng (4) cho phép dùng chuột phóng to, thu nhỏ các đối tượng

+ Ba nút ở giữa: (1) cho phép chạy demo game, (2) cho phép dừng game tại một frame nào đó, (3) cho phép chạy từng frame

+ Hai drop list bên phải: (1) cho phép tuỳ chọn hiển thị các layer, (2) cho

Trang 29

phép chọn và lưu các bố trí do người dùng thiết lập.

Ngoài ra còn có các cửa sổ khác của Unity, như Sprite Editor, Animation, Animator, Console và ta có thể tự tuỳ biến cho mình một bố cục sao cho thuận tiện với mình nhất nhưng khuyến cáo thì vẫn nên dùng bố cục mặc định (Chọn ở Top bar chọn Layout > Default)

1.2.3.2 Tạo và cấu hình với dự án 2D

a Tạo dự án

- Bật Unity lên, đặt tên cho Project và vị trí lưu trữ Sau đó chọn 2D hoặc 3D rồi “Create project”

Hình 1.5 Tạo Project

Trang 30

New Project

Chọn loại project là 2D sau đó gõ tên project xong nhấn Create Project Kết quả như sau:

Hình 1.6 Project mới

Trang 31

 Cấu hình dự án 2D

Sau khi tạo dự án xong, ở Hierarchy sẽ có một đối tượng là Main Camera Chúng ta cần điều chỉnh kiểu hiển thị Scene là 2D

Hình 1.7 Thanh điều khiển

Ở cửa sổ Hierarchy chọn Main Camera Ở cửa sổ Inspector sẽ hiển thị các thông số của camera, ta sẽ chọn lại giá trị Projection hay phép chiếu là phép chiếu vuông góc thay cho phép chiếu phối cảnh

Trang 32

Hình 1.8 Thuộc tính

Tiếp theo, ở cửa sổ Project, ta sẽ tạo sẵn các thư mục để chứa tất cả các tài nguyên có sử dụng trong game sau này lần lượt là: Animations, Prefabs, Scripts, Sprites, Sounds, Scenes

Click chuột phải vào thư mục Assets ở cửa sổ Project, ta chọn Create, chọn Folder

Trang 33

Hình 1.9 Tạo thư mục

Kết quả như hình sau:

Trang 35

5 lần so với hiện tại, đạt khoảng 75 triệu người.

- 5 năm tới ngành công nghiệp game sẽ mở rộng cả về phát hành lẫn phát triển

- Việt Nam hiện đang có khoảng 165 triệu thuê bao di động, mỗi người dân

sở hữu hơn 1,5 thuê bao, tỷ lệ tăng trưởng lên đến 183%

- Với số lượng người sử dụng điện thoại di động còn nhiều hơn cả số lượng người sử dụng internet, cộng thêm việc dân số trẻ, thì thị trường các nội dung số dành cho thiết bị di động là một thị trường cực kỳ tiềm năng

 Độ tuổi sử dụng Game mobie:

Phần lớn người chơi game mobile là những người trẻ, trong độ tuổi từ 18 đến 35: Trong đó có 70% người chơi thuộc độ tuổi từ 18 đến 25 và 27% người chơi thuộc độ tuổi từ 26 đến 35

Hình 2.1 Biểu đồ độ tuổi sử dụng game mobie

 Thời gian chơi game trung bình / ngày.

Thời gian chơi game trung bình phổ biến nhất là dưới 1h/ngày:

47.5% Tuy nhiên lượng người chơi từ 1h đến 2h/ngày và từ 2h đến 3h/ngày

Trang 37

Hình 2.3 Mục đích chơi game

 Thể loại game

Thể loại game được chơi nhiều nhất là game chiến thuật với 25.5% Sau đó

là đến game giải đố, giáo dục (24.1%)

Trang 38

Hình 2.4 Thể loại game

 Tiêu chí lựa chọn game

Trong danh sách được liệt kê, các tiêu chí như đồ họa đẹp, dễ thao tác, nội dung hấp dẫn được đánh giá cao nhất Và trong đó nội dung hấp dẫn là tiêu chí ưu tiên hàng đầu với 26%

Trang 39

Hình 2.5 Tiêu chí lựa chọn game

 Nguồn thông tin game

Theo kết quả điều tra, phần lớn đáp viên cập nhật game mới từ các forum, website (32%) và App Store (27%) Ngoài ra bạn bè cũng là một nguồn tham khảo

có ảnh hưởng lớn

Trang 40

Hình 2.6 Nguồn thông tin game

 Khó khăn gặp phải khi chơi game

Lỗi lớn nhất mà người dùng gặp phải khi chơi game là kết nối chậm (45% người trả lời), những khó khăn khác do mạng hoặc nội dung game cũng khá phổ biến

Ngày đăng: 23/04/2017, 10:25

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

TÀI LIỆU LIÊN QUAN

w