xây dựng trò chơi funny game bằng unity
TRANSCRIPT
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
HỮU NGHỊ VIỆT - HÀN
KHOA CÔNG NGHỆ THÔNG TIN
XÂY DỰNG TRÕ CHƠI
FUNNY GAME BẰNG UNITY
TÓM TẮT ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
NIÊN KHÓA: 2016 - 2019
HSSV : Nguyễn Văn Toàn
Mã HSSV : CCCT16B022
CBHD : ThS. Trịnh Thị Ngọc Linh
Đà Nẵng, 06/2019
1
MỞ ĐẦU
Ngành công nghệ thông tin là một ngành khoa học ngày càng
phát triển mạnh mẽ và ứng dụng rộng rãi trên nhiều lĩnh vực khác
nhau đã đóng góp phần lớn cho sự phát triển của đất nước và sự phát
triển của con người. Hiểu theo nghĩa rộng và tổng quát là việc sử
dụng công nghệ hiện đại vào việc tạo ra, lưu trữ, truyền dẫn thông
tin, khai thác thông tin.
Cùng với xu hướng phát triển của các phương tiện truyền
thông như Radio, Báo,… thì việc sử dụng Internet ngày càng phổ
biến hơn, chúng ta có một kho thông tin khổng lồ phục vụ mọi nhu
cầu, mục đích mà ta cần dùng. Và công nghệ thông tin sẽ ngày càng
được phát triển hơn vì những lợi ích nó đã đem lại cho tất cả người
dùng và cho xã hội.
Ngày nay, một báo cáo mới đây đã chỉ ra rằng lĩnh vực game
trên toàn cầu đang trên đường trở thành 1 nền công nghiệp nhiều tỷ
USD, với giá trị dự kiến lên tới 117 tỷ USD (khoảng hơn 2,2 triệu tỷ
VND) trong 2 năm tới.
Theo ông Darwin Tardio, ở Philippines hiện nay có khoảng
50 công ty phát triển game và khoảng 4,000 nhân viên hoạt động
trong ngành. Ông cũng nhắc tới Việt Nam là 1 quốc gia có tiềm năng
phát triển game lớn với khoảng 10,000 người làm việc trong lĩnh vực
game và đang trên đà phát triển rất mạnh. Sự tăng trưởng liên tục này
cũng có thể là do sự phổ biến của điện thoại di động và smartphone.
Trước đây, nhắc đến công việc phát triển game thì mọi người
đều lắc đầu và cho rằng đây là định hướng nghề nghiệp khó khăn với
đầy sự thử thách, hoài nghi. Tuy nhiên, công việc phát triển game đã
trở nên thoải mái hơn rất nhiều khi nó không còn bị giới hạn trong
2
các nền tảng có phần hardcore như console hoặc PC. Những thiết bị
mới nổi như smartphone, tablet và các thiết bị di động khác với hệ
điều hành đáng tin cậy đã tạo nên nhiều cơ hội hơn dành cho những
nhà phát triển game triển vọng.
Phát triển trò chơi là một sự thử thách nhưng rất vui. Theo như
những chia sẻ của các chuyên gia trong ngành, phát triển game là
một công việc không hề đơn giản chút nào. Nó không phải là cái gì
đó được thực hiện chỉ bằng việc chơi thật nhiều game. Trên thực tế
nó được thực hiện bởi 1 quá trình bao gồm nhiều đêm không ngủ, sự
nỗ lực hết mình, và sự cống hiến của mọi thành viên. Tuy nhiên, tất
cả những đam mê, năng lượng và những đêm trắng đó đều rất đáng
công khi bạn thấy sản phẩm của mình được ra đời với sự hoàn thiện
và nhận được sư hưởng ứng nhiệt tình của game thủ.
Qua quá trình tìm hiểu về phần mềm này và sự hướng dẫn của
cô Trịnh Thị Ngọc Linh em đã chọn đề tài Xây dựng trò chơi
Funny Game bằng Unity để làm đồ án tốt nghiệp. Do mới tiếp xúc
với phần mềm nên còn nhiều thiếu sót, mong thầy cô góp ý để em có
sự tiến bộ hơn.
1. Lý do chọn đề tài
Hiện nay nhu cầu giải trí ngày càng tăng cùng với sự phát triển
của các nền tảng công nghệ dẫn đến ngành phát triển game tăng cao.
Từ lĩnh vực phần mềm, game dần tách ra thành một ngành
riêng biệt bởi sự phát triển vượt bậc và khả năng mang lại doanh thu
khủng, chiếm tỉ lệ cao nhất trong ngành công nghệ thông tin (doanh
thu 91,7 tỉ USD trong năm 2015 trên toàn thế giới).
Vì thế em chọn đề tài này để làm đồ án tốt nghiệp với mong
muốn được thử sức trong lĩnh vực giải trí đang hot hiện nay.
3
2. Mục tiêu và nhiệm vụ nghiên cứu
- Mục tiêu:
+ Hiểu biết về Unity
+ Biết được các ưu nhược điểm của phần mềm.
+ Biết cách cài đặt phần mềm.
+ Biết xây dựng được game bằng phần mềm Unity
- Nhiệm vụ:
+ Nghiên cứu các bài giảng và tài liệu để xây dựng được game
bằng Unity.
+ Xây dựng game minh họa.
3. Đối tƣợng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Untity 3D
- Phạm vi nghiên cứu: Quy trình làm game Unity 3D và xây
dựng trò chơi minh họa.
4. Phƣơng pháp nghiên cứu
- Nghiên cứu các lý thuyết về Unity.
- Phương pháp nghiên cứu lý luận: Nghiên cứ tìm hiểu các tài
liệu nghiên cứu, giáo trình, báo viết và các nguồn thông tin có chọn
lọc trên Internet có liên quan, cơ sở là ngôn ngữ lập trình C#.
- Phương pháp tổng kết kinh nghiệm: Từ việc nghiên cứu tài
liệu, giáo trình và tìm hiểu các nguồn thông tin, rút ra được các thuật
toán và các kiến thức liên quan.
- Phương pháp lấy ý kiến chuyên gia: Lấy ý kiến giảng viên
trực tiếp hướng dẫn và các chuyên gia khác để có thể hoàn thiện về
mặt nội dung cũng như hình thức của đề tài
5. Dự kiến kết quả
Xây dựng được game và hiểu biết được phần mềm Unity.
4
6. Ý nghĩa khoa học và thực tiễn
- Trình bày lý thuyết về xây dựng game trên Unity.
- Xây dựng được game để phục vụ cho nhu cầu giải trí của xã hội.
5
CHƢƠNG 1. CƠ SỞ LÝ THUYẾT
1.1. TỔNG QUAN VỀ NGÔN NGỮ C#
1.1.1 Ƣu điểm C#
1.1.2 Nhƣợc điểm C#
1.2. TỔNG QUAN VỀ UNITY
1.2.1. Giới thiệu về Unity
1.2.2. Lịch sử Unity
1.2.3. Ƣu điểm của Unity
1.2.4. Nhƣợc điểm của Unity
1.2.5. Cài đặt Unity
1.2.6. Các thành phần trong Unity
1.2.7. Các khái niệm trong Unity
6
CHƢƠNG 2. XÂY DỰNG TRÕ CHƠI FUNNY GAME
2.1. MÔ TẢ GAME
* Cốt truyện game
Funny Game nói về tiến sĩ Toan Nguyen, một nhà khoa học
nghiên cứu về các sinh vật và động vật lạ, ông đã làm ra một loại
thuốc tên Proxin với mong muốn biến các sinh vật và động vật lạ ấy
có thể di chuyển và trở thành các siêu anh hùng. Nhưng không may
ông đã cho các sinh vật lạ dùng quá số lượng thuốc nên bị tác dụng
phụ. Kết quả các sinh vật và động vật xảy ra chiến tranh, cuộc chiến
ấy bắt đầu từ đây.
2.2. TẠO PROJECT
Bước 1: Chạy phần mềm Unity.
Bước 2: Cửa sổ Unity hiển thị ra, chọn New Project.
Bước 3: Trong thẻ Projects, điền các thông tin.
Hình 2.1: Tạo Project
Project name: Tên dự án.
Location: Khu vực lưu trữ dự án.
Bước 4: Trong phần Asset packages, chọn 3D nếu muốn lập
trình Game 3D. Tương tự, chọn 2D nếu muốn lập trình Game 2D.
Bước 5: Nhấn Create project để tạo mới 1 dự án Game.
2.3. KHỞI TẠO FILE ASSETS
Tạo các folder chứa tài nguyên:
7
Hình 2.2: Khởi tạo thành phần Assets
- Animations: Là tập một hình ảnh động dựa trên sự thay đổi
liên tục của nhiều sprite khác nhau.
- Audio: Chứa các âm thanh cần dùng.
- Images: Nơi chứa các hình ảnh như background, card nhân
vật...
- Prefabs: Chứa game object cần dùng nhiều lần.
- Scenes: Chứa các cảnh game.
- Script: Chứa các Script.
2.4. NHẬP DỮ LIỆU
- Audio: Kéo các file âm thanh có sẵn vào mục Audio.
Hình 2.3: Âm thanh game
8
- Images: Tạo các file background, cards, players, monsters
và sau đó kéo thả các hình ảnh liên quan đến các file.
Hình 2.4: File hình ảnh
- Prefabs: Kéo thả các hình ảnh được lặp lại dễ dàng sử
dụng.
Hình 2.5: Card nhân vật
- Scripts: Lưu lại các file C# được sử dụng.
9
Hình 2.6: File scripts
2.5. KHỞI TẠO SCENE VÀ THAO TÁC TRÊN SCENE
2.6. MỘT SỐ SCRIPT
CHƢƠNG 3. KẾT QUẢ ĐẠT ĐƢỢC
3.1. TRANG CHỦ TRÕ CHƠI
Ấn nút button play ở giữa để bắt đầu trò chơi
Hình 3.1: Trang chủ game
3.2. GIAO DIỆN CHỌN LEVEL
Chọn Level
10
Hình 3.2: Giao diện chọn Level
Chọn nhân vật Level 1
Hình 3.3: Chọn nhân vật Level 1
Chọn nhân vật Level 2
Hình 3.4: Chọn nhân vật Level 2
3.3. GIAO DIỆN GAME
Khi đủ lượng vàng để mua nhận vật thì chúng ta ấn chọn nhân
vật và đưa vào vị trí phù hợp để tiêu diệt địch.
11
Hình 3.5: Giao diện Game bắt đầu
3.4. GIAO DIỆN GAME OVER
Hình 3.6: Giao diện Game Over
3.5. GIAO DIỆN GAME WIN
Hình 3.7: Giao diện Game Win
12
KẾT LUẬN
* Nhận xét, đánh giá.
Qua quá trình khảo sát, thực hiện và hoàn thành đề tài,
giúp em có được cái nhìn tổng quát về nhu cầu giải trí nói
chung và game nói riêng. Hiện nay nhu cầu giải trí của con
người ngày càng cao và game được biết đến như một nhu cầu
giải trí đang trong giai đoạn phát triển nhanh chóng. Đó là dấu
hiệu tốt đối với ngành công nghệ thông tin ngày nay.
Sau một thời gian xây dựng và làm báo cáo em đã làm
được như sau:
- Phát triển cơ bản cấu trúc của game
- Xây dựng được các mức leve trong game
- Đã có vị trí thống kê điểm
Tuy nhiên, thời gian có hạn và kiến thức còn hạn chế nên
chương trình vẫn còn nhiều thiết sót như chưa thực hiện được
chức năng .
* Hƣớng phát triển đề tài
Để đề tài được hoàn hảo hơn cần xây dựng thêm một số
chức năng, hình ảnh cần được chăm chút hơn và hoàn thiện các
chức năng còn thiếu sót.
- Phát triển nhiều level hơn. Tăng thêm các yêu cầu trong
game