Giới thiệu về thể loại game hành động - Là thể loại game đòi hỏi người chơi có sự phản xạ nhanh chóng, chính xác và đúng thời điểm, sự phối hợp giữa tay và mắt để vượt qua những thử thác
Trang 1BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
HẢI PHÒNG - 2015
Trang 2BỘ GIAOTHÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
- -DƯƠNG QUANG VINH
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG GAME BẮN SÚNG ONLINE GÓC NHÌN THỨ NHẤT
DỰA TRÊN NỀN TẢNG UNITY
NGÀNH: CÔNG NGHỆ THÔNG TIN; MÃ SỐ: CNT52-DH1CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: Th.S Nguyễn Hạnh Phúc
HẢI PHÒNG - 2015
Trang 3MỤC LỤC
Trang 4CHƯƠNG 1: GIỚI THIỆU VỀ MỘT SỐ THỂ LOẠI GAME
1.1. Giới thiệu về thể loại game hành động
- Là thể loại game đòi hỏi người chơi có sự phản xạ nhanh chóng, chính xác
và đúng thời điểm, sự phối hợp giữa tay và mắt để vượt qua những thử thách nhấn mạnh vào sự chiến đấu
- game điển hình: Tomb Raider, Assassin’s Creed, Call of Duty…
1.2. Giới thiệu về thể loại game Puzzle
- Dành cho những người yêu thích các câu đố khó Yêu cầu người chơi phảigiải quyết một cách thông minh và chính xác các vấn đề có tính logic cao,được lồng ghép, xâu chuỗi với nhau để tăng mức độ khó
1.3. Giới thiệu về thể loại game bắn súng góc nhìn thứ nhất
- Là một thể loại con của thể loại game hành động Người chơi nhìn thấy nhânvật trong game thông qua đôi mắt của chính nhân vật, giúp người chơi cócảm giác hòa mình vào môi trường trong game
- Lối chơi: tập trung vào sự hành động, tốc độ cao và sự máu lửa trong chiến
đấu
vũ khí cận chiến được sử dụng rộng rãi, điển hình là dao, hay những vũ khídiện rộng, như lựu đạn
đồ Nhân vật của game sẽ tương tác với môi trường dưới các góc độ khácnhau, từ những việc cơ bản như mở cửa, đến việc giải những câu đố qua việctác động đến những vật thể
- Multiplayer: dành cho nhiều người chơi thử sức cùng nhau Kiểu chơi
Multiplayer cổ điển đó là tiêu diệu kẻ địch và ghi điểm cho mình hoặc độicủa mình
CHƯƠNG 2: GIỚI THIỆU VỀ CÔNG NGHỆ TRONG GAME
2.1. Giới thiệu chung về Unity
Trang 5- Unity là phần mềm làm game đa nền tảng trực tiếp theo thời gian thực,không cần render, cho phép người design có thể thiết kế đồ họa từ một phầnmềm thứ hai.
- Khi thiết kế được một game có thể xuất ngay ra file exe, dễ dàng chạy vàtrải nghiệm trên các máy khác Unity còn có thế mạnh đó là có thể demogame ngay trong khi design với hai chế độ Scene và Game, rất thuận tiệncho việc test các module game
- Unity có 2 phiên bản, bản pro với đầy đủ các tính năng và bản free với cáctính năng hạn chế hơn
2.2. Giới thiệu chung về Photon Unity Networking (PUN)
- Photon Unity Networking là một gói mở rộng của Unity chuyên dànhchochế độ Multiplayer Nó cung cấp những lựa chọn về xác thực thông tin,chinhs xác và nhanh chóng, giao tiếp dữ liệu trong game một cách đáng tincậy thông qua nền tảng Photon
2.3. Giới thiệu chi tiết công nghệ được sử dụng trong Unity
a. Assets: Assets là tất cả những tài nguyên xây dựng nên một dự án Unity.
b. Scenes: một cảnh chơi (hay một phân đoạn) là những màn chơi tách biệt
nhau, một khu vực xuất hiện trong game, hoặc là một phần trong nội dungtrò chơi
c. Game objects: Khi Asset được sử dụng trong Scene, Unity định nghĩa đó là
Game object Game object đều chứa ít nhật một thành pần cơ bản đó làTransform, thành phần nàychứa thông tin về vị trí, góc xoay và tỉ lệ củaGame object
tính, khả năng cho các Game object
e. Scripts: là một thành phần thiết yếu cho quá trình phát triển game Một game
dù đơn giản nhất cũng cần có Script để tương tác với các thao tác của ngườichơi, hoặc quản lí các sự kiện nhằm thay đổi game theo chiều hướng màkịch bản đề ra
Trang 6f. Prefabs: Prefabs trong Unity là một đối tượng chứa(Container) Prefabs lưu
trữ bất kì đối tượng hay dữ liệu mẫu nào cần tái sử, giúp chúng ta tiết kiệmrất nhiều thời gian cho việc tái tạo lại các đối tượng giống nhau
2.4. Một số thao tác cơ bản trong Photon Unity Networking (PUN)
- Connect: Lớp ConnectUsingSettings sẽ thiết lập phiên bản của game ở client, sử dụng một file config được viết bởi PUN Setup Wizard và được lưutrữ trong PhotonServerSettings
- Matchmaking: Tham gia vào một phòng game có sẵn hoặc có thể tạo mộtphòng chơi riêng, sử dụng một số phương thức như JoinRoom,JoinRandomRoom, CreateRoom, JoinOrCreateRoom
- Gameplay: Game object trong PUN sẽ được khởi tạo là một network Gameobject, đối tượng này có thành phần Photon View được dùng để định danh,điều khiển
2.5. So sánh Unity với một số công nghệ cũ
- So với việc lập trình game bằng console, lập trình game với Unity dễ dàng
và tiết kiệm thời gian hơn rất nhiều Hơn nữa, Unity có khả năng xây dựnggame trên các nền tảng khác nhau một cách dễ dàng, điều này rất hạn chếkhi viết với console bằng một ngôn ngữ nhất định
Trang 7CHƯƠNG 3: GIỚI THIỆU CHI TIẾT VỀ GAME 3.1. Kịch bản của game
- Game xoay quanh sự giao tranh giữa người chơi với người máy (AI) hoặcgiữa những người chơi với nhau
- Chế độ người chơi đối đầu với AI (Single Player) hiện tại có hai màn chơi,một màn chơi tính điểm và một màn chơi thu thập
- Với chế độ người chơi đối đầu với nhau (Multiplayer), người chơi sẽ thểhiện sự vượt trội về mọi mặt của mình so với những người khác
3.2. Giới thiệu giao diện game
Ảnh 3.2.1: Main menu
Trang 8Ảnh 3.2.2: Single player menu
Ảnh 3.2.3: Multiplayer menu
Trang 9Ảnh 3.2.4: Create room menu
Ảnh 3.2.5: Join room menu
Trang 11Ảnh 3.2.6: Select team menu
Ảnh 3.2.7: Pause menu
3.2.8 Death menu
3.3. Giới thiệu chung về model trong game.
Trang 12- Các model trong game được thiết kế bằng Blender 3D Các kiến trúc trênbản đồ được xây dựng từ những khối hình cơ bản dùng những công cụ được
hỗ trợ để biến thành sản phẩm mong muốn
- Quy trình thiết kế một model trong game:
o Khởi tạo một đối tượng hình khối cơ bản tại Object Mode của Blender3D
o Dùng những công cụ được Blender hỗ trợ để biến đổi những hình khối
cơ bản thành những hình mong muốn tại Edit Mode
o Tạo một lưới phẳng được ánh xạ với lưới 3D với mục đích để áp họatiết lên bề mặt đối tượng
Trang 133.4. Giới thiệu về mô hình trong chế độ Single player
a. Bản đồ
Ảnh 3.4.1: Bản đồ Single Player
Ảnh 3.4.2: Nhà máy A
Trang 14Ảnh 3.4.3: Nhà máy B.
Ảnh 3.4.4: Cao ốc đang thi công
Trang 15Ảnh 3.4.5: Văn phòng
Ảnh 3.4.6: Tòa tháp đôi
Trang 16Ảnh 3.4.7:Cột điện
Ảnh 3.4.8: Công trường
Trang 17Ảnh 3.4.9: Kho vật liệu
Ảnh 3.4.10: Tháp nước
Trang 18Ảnh 3.4.11: Cầu
a. Nhân vật
Hình 3.4.18: Model nhân vật
- Model cánh tay gồm các thành phần chính sau:
o Armature: khung xương của cánh tay
Trang 19o Mesh: tập hợp các điểm, các mảng tam giác tạo nên hình dáng củacánh tay.
o Material: cánh tay sử dụng 2 material:
Trang 20Hình 3.4.20: Main Camera
Main camera có một số giá trị chính sau:
Clear Flags: Skybox
Trang 21Hình 3.4.21: Gun Camera
Clear Flags: Depth only
Culling Mask: Weapon
Projection: Perspective
Field of view: 60
- Animator Controller: là trung tâm điều khiển chuyển động của nhân vật
Trang 22Hình 3.4.22: Animator Controller của nhân vật
Các trạng thái chuyển động của nhân vật bao gồm:
Trang 23- Animator Controller: là trung tâm điều khiển chuyển động của AI
Hình 3.4.24: Animator Controller của AI
Trang 24- Các trạng thái chuyển động của AI bao gồm:
Trang 253.5. Giới thiệu về model trong Multiplayer
Trang 26Ảnh 3.5.3: Tàu hỏa
Ảnh 3.5.4: Khác
Trang 27b. Nhân vật
- Model người chơi góc nhìn thứ nhất tương tự như chế độ Single player
- Model nhân vật góc nhìn thứ ba:
Ảnh 3.5.5: Model nhân vật góc nhìn thứ ba
3.6. Giới thiệu các lớp trong game.
a. Các lớp điều khiển nhân vật ở chế độ Singleplayer.
- Có 6 lớp tham gia điều khiển nhân vật game trong chế độ Single player:
o PlayerController: lớp này chứa các hàm liên quan tới chuyển động củanhân vật:
Trang 28b. Trí thông minh nhân tạo trong game (AI)
- Các chức năng chính của AI trong game được xây dựng trên 4 lớp sau:
o EnemyController:lớp này chứa các hàm liên quan tới sự di chuyển củaAI
Trang 29d. Các lớp điều khiển nhân vật ở chế độ Multiplayer.
- Chế độ Multiplayer của game thao tác với network thông qua các lớp sau: