o Mục tiêu trò chơi: Nhân vật vượt qua thử thách và thu thập các vật phẩm trên chuyến đi trong bản đồ chơi và đi đến được điểm đích để vượt qua màn.. - Concept Art: Pixel 2D, đồ họa đơn
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA ĐA PHƯƠNG TIỆN
Trang 3NỘI DUNG BÁO CÁO
I Giai Đoạn tiền Sản Xuất Game, ý tưởng và phân tích game.
1 Idea
- Game mobile 2D dành cho 1 người chơi
- Nhân vật được điều khiển trên map né tránh các cạm bẫy, tiêu diệt các kẻthù và ăn các vật phẩm để cải thiện điểm số
- Cốt truyện: Ngày xửa ngày xưa có 2 người bạn Bob và Jin sống trong ngôi làngnhỏ Và 2 con người đó có chung một niềm đam mê với phiêu lưu và khám phá.Một ngày nọ, họ đó quyết định rời làng và đi khám phá thế giới xung quanh.Trong cuộc phiêu lưu đó từng người họ đã trải qua những gì hay cùng đi khámphá
Trang 4- Title: Bob and Jin adventure.
- Thể loại: Phiêu lưu, giải đố
- Premise of the game (logic): Nhân vật di chuyển xung quanh bản đồ, vượtchướng ngại vật và ăn vật phẩm => Điểm tăng lên
- Gameplay: Khi bắt đầu trò chơi, nhân vật đứng tại 1 điểm xuất phát Điềukhiển nhân vật để di chuyển Tính toán lực để vượt chướng ngại vật và ănvật phẩm Nếu va phải các chướng ngại vật thì sẽ mất mạng và trò chơi kếtthúc
o Trò chơi theo dạng game 2D
o Mục tiêu trò chơi: Nhân vật vượt qua thử thách và thu
thập các vật phẩm trên chuyến đi trong bản đồ chơi và
đi đến được điểm đích để vượt qua màn
o Tiến triển game: Vượt qua các màn chơi theo thứ tự từ
thấp đến cao (Từ 1 đến 3) Hoàn thành màn trước sẽ mở
khóa được màn sau và khi vượt qua màn cuối cùng để
dành chiến thắng
o Người chơi điều khiển nhân vật bằng các phím mũi tên
và phím space nhảy tránh quái vật và chướng ngại
o Thua khi Người chơi chạm vào quái vật khi ở dạng
nhỏ Lúc này, người chơi được lựa chọn chơi lại hoặc
thoát game
o Điều kiện chiến thắng: còn sống và đi tới điểm đích
o Trên đường đi có các mốc khi đi qua đây tiến trình
chơi sẽ được lưu lại và khi chết người chơi có thể
bắt đầu chơi từ đây
o Người chơi nhấn phím ESC để tạm dừng trò chơi
- Game world:
4 Game document design
4.1 Title
Trang 5- Lứa tuổi: Dành cho tất cả mọi người.
- Giới thiệu:“Bob and Jin adventure” là game kể về chuyến hành trình củaBob và Jin trên chuyến phưu lưu của mình Người chơi vào vai Bob hoặcJin di chuyển tránh chướng ngại vật và quái vật, đồng thờithu thập kho báu
3
Trang 6- Concept Art: Pixel 2D, đồ họa đơn giản bắt mắt người chơi.
- Điều khiển: Người chơi điều khiển nhân vật bằng các button trên màn hình điệnthoại lên, xuống, trái, phải
- Nhân vật Bob:
Ảnh nhân vật Bob
Tính cách: thông minh, gan dạ, thích tìm hiểu những thứ mới
Kĩ năng: ném bom, di chuyển, nhảy, thu nhặt báu vật
Câu chuyện nhân vật : Bob là một anh chàng cơ khí thông thạo sử dụngcác phát minh của mình Một ngày nọ nổi hứng phưu lưu anh ta sáng tạo racác công cụ kì bí giúp mở ra cánh cổng đến với thế giới chứa đầy báu vậtnhưng cũng ẩn chứa rất nhiều rủi ro, cầm các bảo bối trên tay anh ta đi tìmbạn đường để tiến vào cuộc phưu lưu mới
- Nhân vật Jin:
Ảnh nhân vật Jin
Tính cách: ân cần, hiểu biết, luôn tin tưởng vào người khác
Kĩ năng: hoá khổng lồ, di chuyển, nhảy, thu nhặt báu vật
Câu chuyện nhân vật : Jin là một cô bé phù thuỷ với sức mạnh khổng lồ, làmột người bạn của Bob, khi được nghe về cuộc hành trình tới vùng đất bí
ẩn, cô không khỏi tò mò và muốn được theo chân Bob cùng khám phá nơinày
- Các nhân vật kẻ địch: Là những sinh vật đến từ những vùng đất lạ, đemtrong mình sự bí ẩn và nguy hiểm chết người
Trang 74.4 Tương tác trong game
- GamePlay cơ bản: Game được chia làm nhiều màn chơi
- Trong game, người chơi cần điều khiển nhân vật di chuyển trái, phải hoặc nhảylên bằng các nút mũi tên trên bàn phím để né tránh hoặc giết quái vật rồi nhặtcác vật phẩm để tăng điểm thưởng
DiemThuong = Tổng điểm ăn vật phẩm + điểm giết quái vật
- Người chơi có thể điều khiển nhân vật để có thể đẩy những viên gạch chứanhững phần thưởng ẩn trong đó như coin và thuốc năng lượng để chúng xuấthiện và ăn những vật phẩm đó
Coin thu thập để mua đồ
Thuốc năng lượng ăn nhằm phóng to nhân vật
5
Trang 8Tiêu diệt kẻ địch
- Kẻ địch trong game gốm 2 loại đó là slime và snail
- Đối với slime khi nhân vật nhảy lên đầu và va chạm thì slime sẽ chết còn snailthì sẽ bất động lại Khi nhân vật va chạm với các con quái vật theo chiều ngang
mà không phải trên đầu của quái vật thì nhân vật sẽ chết
- Khi tiêu diệt quái vật người chơi sẽ được điểm thưởng là 100
4.5 Sound and music:
- Âm nhạc sử dụng trong game: Sống động, âm thanh vui nhộn, … (Nhạcnền, âm thanh khi ăn vật phẩm, âm thanh khi kết thúc lượt chơi, âm thanhkhi dính bẫy, …)
- Tâm trạng: vui vẻ, hào hứng, hồi hộp, …
- Camera di chuyển theo nhân vật, …
4.6 GameExperience
- Hài hước, kịch tính, vui nhộn, …
- Đồ họa đơn giản vui nhộn, nhí nhảnh
4.7 GameRule
- Luật chơi được thiết kế thân thiện, người chơi có thể dễ dàng nắm bắt
- Cách di chuyển: Khi bắt đầu, Bob sẽ chỉ di chuyển về phía trước và chú sẽ hànhđộng theo những vật phẩm điều khiển mà chú gặp phải trên đường đi của mình
- Bị thua: Khi Bob chạm vào các loại quái vật đang hoạt động, người chơi thuacuộc và màn chơi sẽ kết thúc Người chơi có thể chơi lại 1 màn chơi nhiều lần
- Thắng cuộc: Khi Bob chạm tới đích, người chơi sẽ chiến thắng màn chơi đó vàtiếp tục qua màn chơi mới
4.8 Game flowchart
Trang 10Màn Setting: có hai nút để ấn vào chọn tắt nhạc nền và nhạc hiệu ứng.
- ChooseLevel:
Màn chọn các màn để vào game
- GamePlay:
Trang 11- Pause:
- Hồi sinh:
9
Trang 12Hiển thị cho người chơi hồi sinh hoặc thoát
- GameOver:
Hiển thị thông báo thua cuộc để người chơi thoát hoặc chơi lại
- GameCompelete:
Trang 13II Sản xuất game:
1 Mô hình tổng quan hệ thống
- Actor: người chơi
- Components sử dụng: RigidBody2d, collider 2d, audio, Sprite, Sound, Animator,Transform, Velocity,
2 Phương pháp tiếp cận và hướng giải quyết
- Phương pháp xây dựng phần mềm: phương pháp hướng đối tượng
- Kiến trúc phần mềm: MVC (Model - View - Controller)
- Công nghệ: sử dụng Unity Engine
Trang 14Kỹ thuật điều khiển vòng lặp: tất cả các thành phần trong hệ thống đều được cậpnhật mỗi khung hình Các hàm update () trong các class sẽ được gọi mỗi lần gamecập nhật khung hình Quá trình cập nhật từng khung hình bao gồm:
▪ Process player input: nhận dữ liệu đầu vào từ các button trên màn hình dongười chơi truyền vào
▪ Perform Game Logic: xử lý logic cho các đối tượng trong game và tươngtác giữa các đối tượng trong game
▪ Render Scene: cập nhật trạng thái của các đối tượng trong game lên giaodiện
ây ảnh hưởng đến tốc độ tải game và trải nghiệm chơi game của người chơi
- Kỹ thuật lưu trữ dữ liệu:
Dữ liệu được lưu lại trong quá trình chơi game bao gồm dữ liệu mà level mà ngườichơi đã đạt được và vị trí của chekpoint cuối cùng mà người chơi đi qua, từ lần vàogame sau người chơi có thể tiếp tục tiến trình Dữ liệu được lưu rời rạc dưới dạngKey-Value vào bộ nhớ thiết bị Để lưu trữ dữ liệu dưới dạng Key-Value, trongUnity sử dụng PlayerRefs để lưu trữ
- Kỹ thuật xử lý input đầu vào từ người dùng:
Để xử lý input đầu vào từ người dùng, game sử dụng phương pháp Callbacks CácPhương pháp Callbacks đã được tích hợp sẵn trong Unity Game Engine Các input
từ người dùng nhập vào sẽ được game engine xử lý ở tầng dưới Nhóm lập trình chỉcần đăng ký các input cần xử lý, khi đó các callbacks sẽ được gọi
- Kỹ thuật xử lý sự kiện trong game:
▪ Onclick (): điều khiển GUI
▪ OnCollision2D: Kiểm tra va chạm giữa Character và các Monster, cácinteractive object
▪ OnTrigger2D: Kiểm tra va chạm giữa Character và các địa hình đặc biệt
Trang 154 Mô hình Use Case
4.1 Biểu đồ Use Case tổng quát
Sơ đồ tổng quát Use Case
4.2 Scenario mô tả từng chức năng
- Use Case Start Game:
13
Trang 16Usecase Start Game
Điều kiện trước Game ở màn hình Home
Điều kiện đảm bảo thành
công
Màn hình hiển thị Chooselevel
Chuỗi sự kiện chính:
1 Người chơi click vào biểu tượng Start game
2 Màn hình “PanelHome” ẩn đi, chuyển sang màn hình hiểnthị “PanelChooseLevel”
Ngoại Lệ:
- Use Case Setting:
Điều kiện trước Game ở màn hình Home
Điều kiện đảm bảo thành
Trang 17Tác nhân Người chơi
Điều kiện trước Game ở màn hình Home
Điều kiện đảm bảo thành
công
Game bật hoặc tắt nhạc và âm thanhtheo ý người chơi
Chuỗi sự kiện chính:
1 Người chơi sẽ được click vào button hiển thị trên màn hình
2 Hệ thống sẽ thực hiện dựa vào button mà người chơi vừa ấn
để bật hoặc tắt âm thanh, nhạc
Ngoại Lệ:
- Use Case Choose Character:
Điều kiện trước Game ở màn hình Home
Điều kiện đảm bảo thành
2 Màn hình home hiển thị “PanelChooseCharacter”
3 Người chơi thực hiện các thao tác với giao diện là đổi cáchình ảnh nhân vật
4 Các thao tác sẽ được thực hiện và lưu lại
Ngoại Lệ:
15
Trang 18- Use Case ChooseLevel:
Điều kiện trước Người chơi vào được màn hình
GamePlayĐiều kiện đảm bảo thành công Nhân vật di chuyển hay thực
hiện theo điều khiển của ngườichơi
Trang 192 Nhân vật sẽ di chuyển theo điểu khiển của người chơi vàhiện thị chuyển động đó trên màn hình.
Ngoại Lệ:
17
Trang 20III Thiết kế hệ thống
1.Class Diagram
Trang 21- Lớp HomaManager: là lớp hiển thị thông tin của game và cầu nối truycập vào các màn hình Settings, Play, Shop.
- Lớp ChooseManager: Lưu trữ và khởi tạo thông tin cho người chơibao gồm level, chứa các UI chọn màn, trở lại màn Home
- Lớp PanelLevel: chứa các thông tin cấp độ màn (CountLevel), điểmngười chơi, trạng thái nhân vật(sống/chết), và UI tới các Panel Pause,Hồi sinh
- Lớp StoreManager: là một prefab chứa các thông tin của người chơibao gồm nhân vật đang dùng
- Lớp item: lưu trữ thông tin vật phẩm mà người chơi nhận được (thuốctăng kích cỡ)
- Lớp PanelHoiSinh: quản lí thời gian đếm ngược mà người chơi còn lại
để tiếp tục ấn vào hồi sinh, hoặc quản lí trạng thái quay trở về mànHome nếu người dùng chọn
2 Sequence Diagram
- Use Case Start Game:
- Use Case Setting:
19
Trang 22- Use case ChooseLevel:
- Use Case Choose Character:
Trang 23- Usecase Bật/tắt nhạc:
-21
Trang 24- Usecase Char controller:
3 Biểu đồ trạng thái
- Nhân vật:
Trang 25Kiểm tra collider xem va chạm theo hướng nào từ đó quyết định Destroy.
23