2.Mô tả game Người chơi điều khiển 1 nhân vật trong game di chuyển theo bản đồ có sẵn để đến được đích đã định trước và thu thập nhưng vật phẩm tăng điểm, khi thu thập được hết các vậ
Trang 2Bài tập lớn môn phát triển phầm mềm
phân tán
Trần Đình Văn
2
Trang 3I Cơ sở lý thuyết
1.Nhu cầu
Ngày nay với mức sống của con người ngày càng cáo, do đó như cầu giải trí cũng
ngày càng được nâng cao về mặt chất lượng Trong đó, Game là một trong những
mảng giải trí được quan tâm nhiều và đánh giá cao.
2.Mô tả game
Người chơi điều khiển 1 nhân vật trong game di chuyển theo bản đồ có sẵn để đến
được đích đã định trước và thu thập nhưng vật phẩm tăng điểm, khi thu thập được hết
các vật phẩm ấy người chơi sẽ chuyển sang màn khác Các màn phía sau độ khó sẽ
tăng dần lên Trên đường di chuyển thu nhập các vật phẩm người chơi phải tránh các
quát vật.
3.Yêu cầu game
Trang 4II Phân tích thiết kế game
4
A Phân tích thiết kế
B Phân tích game
Trang 5A Phân tích thiết kế
1 Phân tích thiết kế
Phân tích thiết kế là quá trình tìm hiểu và mô phỏng lại hiện tượng, quy trình
nghiệp vụ trong dự án từ đó xây dựng được hệ thống để giải quyết được các vấn đề
bài toán đặt ra.
2.Hướng phân tích thiết kế hệ thống:
+ Hướng đối tượng
+ Hướng chức năng
Trang 61 Cơ chế điều khiển
6
Cơ chế điều khiển góc nhìn thứ nhất cơ bản được sử dụng trong trò chơi với các nút di chuyển là
W,A,S,D hoặc các phím mũi tên
Việc điều kiển nhân vật do ‘’ Character Controller ’’
và script ‘’ First Person Contronller ’’ thực hiện
-Ngoài cơ chế điều kiển thì cơ chế ‘’ Trạng thái ’’
cũng được thêm vào dùng để xác định tốc độ
của người chơi người chơi có 4 trạng thái:
a
Trang 72 Thiết kế màn chơi
Emission map là một chức năng giúp ta có thể tạo ra hiệu ứng pháp sáng dựa trên đồ vật.
Hoa văn đen trắng(trái),có thể áp lên tất cả các mặt sung
quanh của vật thể(hình bên phải
Việc tạo ra level cho map có thể được thực hiện bằng
cách kéo thả các khối vuông, tuy nhiên việc này rất
mất thời gian và độ sai lệch có thể xảy ra rất cao
TileMap 2d là một mặt phẳng lưới
Sử dụng công cụ vẽ của TileMap(Tile Pallette),
ta tiến hành tô màu các ô muốn dựng khối lên
trên.Sau đó, thông qua đoạn code ở dưới để
thực hiện việc tạo các khối vuông:
Trang 82.Thiết kế màn chơi
Đoạn code sẽ quét tất cả các ô trong lưới, với những ô được đánh dấu cho ‘’Tường’’ sẽ tạo ra các khối vuông
theo khuôn mẫu được lưu trữ lại từ trước trong mục Prefab
Đối với những đối tượng hay vật thể mà ta dự định sử dụng nhiều lần, ta có thể tiến hành tạo ra bản mẫu cho
chúng – những bản mẫu này được gọi là ‘’Prefab’’
Để tạo ra prefab, ta kéo thả đối tượng muốn tạo bản
mẫu từ trên scene vào thư mục prefabs
Kéo thả khối cầu có tên ‘’ forPrefab ’’ này vào
thư mục ‘’Prefabs’’ đang được bật
Lúc này khuôn mẫu đã được tạo thành công,
các bản sao tạo ra từ khuôn mẫu sẽ có màu xanh như trên
a
8
Trang 93.Small Pellet và Power Pellet
Hạt Small Pellet được tạo từ các khối cầu kích thước cỡ nhỏ, với bề mặ là vật liệu phát sáng mà ta đã nói ở phần trước
Hạt trắng là ‘’Power Pellet’’
Hạt vàng là ‘’Power Pellet’’
- Bên trái là mê cung khi trò chơi chưa bắt đầu
- Bên phải là mê cung khi trò chơi đã bắt đầu
Để các hạt Pellet có hiệu ứng tốt hơn, một
đoạn code được sử dụng để di chuyển các
hạt lên xuống ngẫu nhiên theo đồ thị hình Sin
Trò chơi còn sử dụng ParticleSytem để tạo
hiệu ứng vỡ cho các pellet khi được pacman
chạm vào
Trang 104.Thiết kết quái vật(bot)
10
Quái vật(bot) là kẻ địch của pacman trong tất cả các phiên bản
Bot gồm có 4 con:
“Blinky” – màu đỏ
“Pinky” – màu hồng
“Inky” – Màu xanh
“Clyde” – màu vàng cam
Cơ chế điều khiển các bot trong trò chơi pacman bao gồm 3 phần:
+Điều khiển trạng thái(State Controller)
+Điều khiển di chuyển (Movement Controller)
+Điều khiển hiệu ứng(Effect Controller)
a
Trang 114.Thiết kết quái vật(bot)
11
Điều khiển trạng thái(State Controller) đây là thành phần quan trọng nhất trong bộ điều khiển bot
Mỗi bot có 4 trạng thái:
+Chase<Trạng thái truy đuổi>
+Scatter<trạng thái tuần tra>
+Frightened<trạng thái sợ hãi>
+Eaten<trạng thái chết>
Ở trạng thái Scatter thay vì theo đuổi người chơi
Bot sẽ di chuyển trong vùng riêng biệt
Chuyển đổi giữa <Chase> và <Scatter>: Đối với 3 bot: Blinky, Pinky và Inky sẽ có sự thay đổi liên tục
giữa 2 trạng thái <chase> và <scatter> trong khoảng thời gian đầu của trò chơi
Khoảng thời gian cụ thể của các lần chuyển đổi như sau:
Trang 124.Thiết kết quái vật(bot)
12
Điều khiển di chuyển
Các bot sẽ di chuyển dựa theo trạng thái hiện tại của nó
-Blinky: Mỗi frame, Blinky sẽ tìm đường di chuyển đến vị trí
của người chơi
-Pinky: Hướng di chuyển của Pinky y hệt Blinky nhưng chậm hơn
-Inky: Inky sẽ xác định Vector nối giữa Pacman và Blinky,
sau đó trên vector này chọn ra một điểm và di chuyển
đến đó
Clyde:
-Clyde có thể di chuyển khác với các bot còn lại
-Clyde sẽ xác định một vùng bán kính xung quanh người chơi:
Nếu ở ngoài vùng, Clyde sẽ di chuyển đến vị trí của người chơi
Nhưng nếu đi vào trong vùng, Clyde lúc này sẽ chuyển lại trạng thái về <Tuần tra>
và di chuyển đến vùng tuần tra của mình
a
Trang 134.Thiết kết quái vật(bot)
-Hiệu ứng hình ảnh của các bot được thiết lập dựa theo trạng thái hiện tại của bot đó: trạng thái <Chase> hoặc <Scatter>
-Ở trạng thái <Frightened> ngay trước khi chuyển trạng thái, màu hiệu tại của bot sẽ được lưu lại
Theo thứ tự, đây là màu tương ứng với: Thân cách và đầu của Blinky
Sau khi màu sắc đã được lưu Blinky sẽ chuyển sang màu xanh hoàn toàn
Nếu như không bị pacman ăn, các bot sẽ quay trở lại màu sắc ban đầu của mình Tuy nhiên, trong khoảng 30% thời gian cuối, các bot còn ở trạng thái <Frightened> sẽ nhấp nháy giữa 2 màu xanh và xám để báo hiệu
Ở trạng thái <Eaten>: Nếu bj pacman ăn, các bot sẽ chuyển qua trạng thái <Eaten>
Trang 145.Thiết kế âm thanh
14
-Âm thanh trong trò chơi được thiết kế riêng biệt,
không gắn hoàn toàn vào trong các vật thể
-Âm thanh được phát ra thông qua
<AudioSource> một module của Unity
Để kiểm soát các <AudioSource>, ta có
sử dụng một script <AudioManager>
-Script này sẽ giúp ta tùy chỉnh các
đặc điểm của âm thanh (âm lượng,
tần số, lặp/không lặp) ngay trên màn hình editor
Các âm thanh được sử dụng sẽ được chia làm 2 loại:
+Âm thanh của pacman
+Âm thanh của bot
Trang 155.Thiết kế âm thanh
Âm thanh của pacman
-Trong trò chơi, pacman sẽ có 2 âm thanh:
Khi pacman ăn các hạt pellet ( trạng thái
consume/powerup), khi pacman chết(trạng
thái dead).Cả 2 âm thanh đều sẽ được
gắn ngay trên người pacman và được kích
hoạt khi người chơi chuyển trạng thái sang tương ứng
Âm thanh của bot
Có 3 loại âm Thanh với bot riêng biệt:
+Âm thanh tiếng hú(trạng thái Chase/Scatter)
+Âm thanh sợ hãi(trạng thái Frightened)
+Âm thanh chết(trạng thái Eaten)
Trang 16THANK YOU !
16