Game Unity 3D:
SHUTTER ISLAND
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
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
1. Phân công công việc
Họ và tên Công việc
Hoàn
thành
Nguyễn Đức
Hưởng
xây dựng các hiệu ứng, hoạt cảnh
trong game . Xây dựng các mức
level cho người chơi
30%
Nguyễn
Trung Kiên
tìm kiếm các modul hình ảnh , âm
thanh và ghép vào game
30%
Trần Kim
Toản
thiết kế tìm kiếm và mở rộng bản
đồ , xây dựng bối cảnh , tạo menu
30%
Phát triển thêm nội dung , đồ họa : cả nhóm
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, …
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:
4. Các đối tượng trong game
4.1. Player
4.2. Robot
4.3. Ụ súng
4.4. Boss
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
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
Ụ 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
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
Thùng xăng
Nổ tung khi bị người chơi bắn hay robot bắn vào
Gói tăng lực
Giúp người chơi tăng máu sau khi bị
ụ súng hay robot bắn
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
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.height );
}
Hàm hiển thị:
function OnGUI()
{
GUI.DrawTexture( position, crosshairTexture );
}
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.
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(); }
}
Phát triển level, map
Mở rộng từ map cơ bản ban đầu .
4 level:
Level 1
Level 2
Level 3
Level 4
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