1. Nhóm sinh viên:
Nguyễn Đức Hưởng Tin Pháp K52
Trần Kim Toản Tin Pháp K52
Nguyễn Trung Kiên CNPM K53
2. Nội dung trình bày
1. Phân công công việc
2. Tổng quan về Unity Engine
3. Ý tưởng kịch bản
4. Mô tả các đối tượng trong game
5. Phát triển game
6. Kết luận
3. 1. Phân công công việc
Hoàn
Họ và tên Công việc
thành
Nguyễn Đức xây dựng các hiệu ứng, hoạt cảnh
Hưởng trong game . Xây dựng các mức 30%
level cho người chơi
Nguyễn tìm kiếm các modul hình ảnh , âm
30%
Trung Kiên thanh và ghép vào game
Trần Kim thiết kế tìm kiếm và mở rộng bản đồ
30%
Toản , xây dựng bối cảnh , tạo menu
Phát triển thêm nội dung , đồ họa : cả nhóm
4. 2. Giới thiệu về Unity Engine
3D game engine: giúp tạo ra nhân vật, xe cộ, nhà cửa,
các yếu tố môi trường (nước, bầu trời, gió, trọng lực…)
và liên kết chúng lại với nhau theo ý muốn.
Các 3D game engine nổi tiếng:
Source engine, Id Tech engine
Cry engine, Unreal engine,
Unity engine, RenderWare engine, Game Bryo engine.
Orge engine, Panda3D engine, Irrlicht engine…
Unity engine:
Không đòi hỏi máy cấu hình cao.
Dành cho các member không chuyên: kéo thả, kế thừa,
viết scripts, import/export tài nguyên, đóng gói, …
5. 3. Ý tưởng
Kịch bản:
Số lượng người chơi : 1
Cảnh sát truy tìm và giết tên tướng cướp (robot). Robot
này len lỏi trong đối robot quân để bảo vệ, nếu bắn hạ
robot này thì người chơi chiến thắng.
Chướng ngại vật : robot , ụ súng , cẩn thận với thùng
xăng…
Bản đồ các level:
6. 4. Các đối tượng trong game
4.1. Player
4.2. Robot
4.3. Ụ súng
4.4. Boss
7. Player
Vị trí ban đầu : Đầu toàn nhà
Thông số :
Máu : 300
Tốc độ : 6
Tốc độ nhảy : 8
Trọng lượng : 20
Vũ khí trang bị : Súng Aka, súng phóng lựu
Hành động:
Đi : w, a, s, d hoặc phím mũi tên
Nhảy : space
Bắn : left-mouse
Đổi súng: 1, 2
Người chơi chết : hết máu hoặc rơi xuống
biển
Âm thanh:
Player đi
Player bắn
Player chết
8. Robot
Thông số :
Máu : 100
Tốc độ : 3
Tốc độ quay : 5
Phạm vi bắn (shoot range ): 15
Phạm vi tấn công: 30
Sức tấn công : 4
Thời gian bắn lại : 0.35s
Vũ khí trang bị : Súng bazoka
Trạng thái :
Đi : tự động
Bắn : Khi người chơi trong tầm bắn và phạm vi bắn
Robot chết : Khi người chơi bắn hết máu , hay rơi xuống biển
Âm thanh
Robot đi
Robot bắn
Robot chết
9. Ụ súng
Thông số :
Máu : 100
Tầm bắn (Attach range) : 40
Khoảng cách góc bắn : 10
Thời gian bắn lại : 0.5s
Vũ khí trang bị : Súng
Trạng thái :
Bắn : Khi người chơi trong tầm bắn và phạm vi bắn
Ủ súng biến mất : Khi người chơi bắn hết máu
Âm thanh
Ụ súng bắn
Ụ sung biến mất khi bị người chơi bắn hết máu
10. Boss
Thông số :
Máu : 300
Tốc độ : 5
Tốc độ quay : 7
Phạm vi bắn (shoot range ): 25
Phạm vi tấn công (attack range): 40
Sức tấn công : 6
Thời gian bắn lại : 0.2s
11. Thùng xăng Gói tăng lực
Nổ tung khi bị người chơi bắn Giúp người chơi tăng máu sau
hay robot bắn vào khi bị ụ súng hay robot bắn
12. 5. Phát triển game
5.1. Thêm hồng tâm cho player
5.2. Thêm vũ khí cho player
5.3. Thêm menu
5.4. Phát triển level, map
13. Thêm hồng tâm cho player
Biến:
var crosshairTexture : Texture2D; //Lưu ảnh hồng tâm
var position : Rect; //Xác định tọa độ hồng tâm
Hàm khởi tạo xác định vị trí hồng tâm:
function Start()
{
position = Rect( ( Screen.width -
crosshairTexture.width ) / 2, ( Screen.height -
crosshairTexture.height ) /
2, crosshairTexture.width, crosshairTexture.heig
ht );
}
Hàm hiển thị:
function OnGUI()
{
GUI.DrawTexture( position, crosshairTexture );
}
14. Thêm vũ khí cho player
(RocketLauncher)
Tạo đối tượng FirstPerson Player/Main
Camera/Weapons.
Kéo file PlayerWeapons.js (điểu khiển đổi súng) vào
đối tượng Weapons.
Tạo đối tượng FirstPerson Player/Main
Camera/Weapons/RocketLauncher
Đính kèm file RocketLauncher.js (điều khiển súng
bắn) vào trong đối tượng RocketLauncher.
15. Thêm menu
Tạo file Options.js điều khiển hoạt động của menu và thả vào
FirstPerson Player/Main Camera.
Dùng biến static isWin trong script Boss.js của Boss để ghi nhận
lúc Boss chết.
Hàm lắng nghe sự kiện ấn nút ‘p’ hoặc Boss chết:
function LateUpdate () {
if (showfps || showfpsgraph) { FPSUpdate(); }
if (Input.GetKeyDown("p")) {
switch (currentPage) {
case Page.None: PauseGame(); break;
case Page.Main: if (!IsBeginning())
UnPauseGame(); break;
default: currentPage = Page.Main;
}
}
if(Boss.isWin == true) { WinGame(); }
}
21. 6. Kết luận
Nêu ý tưởng và thực hiện xây dựng một game FPS bằng
Unity3D
Tạo được 1 demo nhỏ game FPS với các chức năng bắt
buộc và cơ bản nhất.
Các hiệu ứng trong game còn khá đơn giản.
Nội dung: khá sơ sài, các misson và level khá dễ và ít
khác biệt nhau