Đã qua rồi cái thời khi mà mọi người còn nhìn nhận Game là một điều gì đó không tốt, cần phải tránh xa. Giờ đây xã hội phát triển, suy nghĩ mọi người cũng bắt đầu thoáng dần. Game cũng từ đó mà dần du nhập vào đời sống hàng ngày của mọi người và trở thành 1 phần không thể thiếu trong cuộc sống. Game không còn chỉ là một thứ vô bổ nữa, game giúp người phát triển game kiếm được thu nhập, giúp người chơi có những giờ phút vui vẻ sau những giờ làm việc, học tập căng thẳng. Bằng chứng rõ nhất là ngành công nghiệp Game trong năm 2021 đã mang về hơn 189 tỷ đô cho các nhà phát triển Game, gần 3 tỷ người chơi, cùng với đó Olympic và SeaGame cũng đều đưa vào những tựa Game nổi tiếng như một môn thi đấu thể thao. Điển hình là môn thể thao điện tử của SeaGame 3 được tổ chức tại Việt Nam, đội tuyển Việt Nam chúng ta đã xuất sắc dành tới 4 huy chương vàng và 3 huy chương bạc trong tổng số 10 tựa Game được thi đấu chính thức. Trong thời đại công nghệ thông tin như hiện nay, sản phẩm công nghệ ngày càng chịu sự đánh giá khắt khe hơn từ phía người dùng, đặc biệt là về sản phẩm Game nhận được rất nhiều sự đánh giá của người chơi. Ngành công nghiệp Game hiện nay có thể nói là bùng nổ, với tốc độ phát triển đến chóng mặt, nhất là trong thời gian diễn ra đại dịch Covid 19, khi mà mọi người đều làm việc tại nhà và có nhiều thời gian rảnh hơn, chính vì thế mà nhu cầu giải thì cũng tăng cao, rất nhiều những Game hay và hấp dẫn đã được ra đời trong thời gian qua. Phía sau những Game phát triển và hấp dẫn như vậy đề có một Game Engine. Game Engine là một công cụ hỗ trợ, một Middleware giúp người phát triển viết Game một các nhanh chóng và đơn giản, đồng thời cung cấp khả năng tái sử dụng các tài nguyên và mã nguồn cao do có thể phát triển nhiều game từ một Game Engine. Chính vì những lý do trên mà chúng em muốn chọn đề tài phát triển game sử dụng công cụ Unity Engine để thử sức bản thân với ngành công nghiệp mới mẻ này.
Tên đề tài
“Xây dựng game The Explorer sử dụng công cụ Unity”
Mục tiêu nghiên cứu
- Nghiên cứu về công cụ phát triển game Unity Engine
- Nắm bắt được quy trình phát triển ra một trò chơi.
- Tìm hiểu được thị hiếu của Game thủ để có thể ra ý tưởng những tựaGame chất lượng.
Kết quả mong muốn
- Phát triển trò chơi trên Unity Engine sử dụng ngôn ngữ C#
Áp dụng kiến thức và kỹ năng từ các môn học liên quan đến phát triển phần mềm, bao gồm Lập trình Net, Phân tích đặc tả, thiết kế giao diện và phát triển ứng dụng game, là rất quan trọng trong quá trình học tập và làm việc.
- Nắm bắt được quy trình phát triển ra một trò chơi.
- Tìm hiểu được thị hiếu của Game thủ để có thể ra ý tưởng những tựaGame chất lượng.
Cấu trúc báo cáo
Nội dung chính đề tài gồm 3 chương
Chương 1: Cơ sở lý thuyết
Giới thiệu về công cụ Unity Engine, lịch sử hình thành và phát triển. Các chức năng của công cụ.
Chương 2: Phân tích thiết kế hệ thống
Bao gồm mô tả game, gameplay, game mechanic, các tài nguyên sử dụng trong game và thiết kế màn chơi.
TỔNG QUAN
Unity là gì?
Unity là một công cụ mạnh mẽ để phát triển video game và các nội dung tương tác như kiến trúc và hoạt hình 2D, 3D thời gian thực Nó tương tự như các phần mềm như Blender, Virtools, Torque Game Builder và Unreal, đặc biệt trong việc cung cấp môi trường đồ họa tích hợp cho quá trình phát triển game.
Unity là một engine game phổ biến, được ưa chuộng bởi khả năng phát triển trò chơi đa nền tảng Trình biên tập của Unity hoạt động trên cả Windows và Mac OS, cho phép xuất game cho nhiều hệ điều hành như Windows, Mac, Wii, iOS, Android, và có thể chơi trên trình duyệt web thông qua plugin Unity Web Player Gần đây, Unity cũng đã bổ sung khả năng xuất game cho các console như Xbox và PlayStation.
Lịch sử hình thành và phát triển của Unity
Phần lõi của Unity ban đầu được viết bởi Joachim Ante vào năm
Công ty Unity được thành lập vào năm 2005, khởi đầu với phiên bản 1.0 Đến năm 2007, Unity đã nâng cấp lên phiên bản 2.0 và bắt đầu hỗ trợ iPhone vào năm 2008 Vào tháng 6/2010, Unity chính thức hỗ trợ Android và phát hành phiên bản 3.0 Hiện tại, phiên bản mới nhất là Unity 2020.3.31f1, cho thấy sự phát triển nhanh chóng của Unity.
Unity đã đoạt được nhiều giải lớn với những giải chính sau :
+ “Best Use of Max OS X Graphic” tại Apple’s WWDC vào năm 2006
+ Nằm trong “Top 5 công ty game của năm” do Gamasuta tổ chức năm 2009
+ “Best Engine Finalist” do Develop Magazine bình chọn năm 2012 + Tháng 7/2014, Unity đã đạt giải "Best Engine" tại liên hoan trao giải thưởng công nghệ hàng năm của Anh
Unity 5 cũng nhận được những lời khen tương tự, với The Verge đã nói rằng "Unity giúp việc phát triển game trở nên dễ dàng và phổ biến Unity 5 là một bước tiến đáng mong đợi trong tương lai."
Các đặc điểm và tính năng của Unity
1.3.1 Rendering (Kết xuất hình ảnh)
Unity, giống như các engine hoàn chỉnh khác, cung cấp khả năng kết xuất hình ảnh toàn diện và hỗ trợ nhiều công nghệ đồ họa 3D phổ biến để nâng cao chất lượng hình ảnh Các phiên bản mới nhất của Unity đã được cải tiến thuật toán, giúp nâng cao hiệu suất kết xuất đồng thời cải thiện chất lượng hình ảnh sau khi kết xuất.
1.3.2 Lighting (Ánh sáng) Ánh sáng là một điều thiết yếu giúp môi trường trở nên đẹp và thực tế hơn Unity cũng cung cấp nhiều giải pháp đa dạng cho phép chúng ta áp dụng ánh sang một cách tốt nhất vào môi trường trong trò chơi với nhiều loại nguồn sang như ánh sang có hướng, ánh sang điểm,… một số công nghệ và kỹ thuật về ánh sang được Unity hỗ trợ : Realtime Shadows, hiệu ứng Sunshafts và Lens Flares
Terrains còn gọi chung là địa hình bao gồm phần đất nền của môi trường trong trò chơi cùng các đối tượng gắn liền như cây, cỏ…
Unity cung cấp công cụ Terrains Tools, cho phép thiết kế địa hình với các Brush tùy chỉnh để tạo hình và lát Texture Bên cạnh đó, Tree Creator là một công cụ mạnh mẽ giúp tạo ra cây cối với hình dạng, kích thước và kiểu dáng đa dạng.
PhysX là một Engine mô phỏng vật lý mạnh mẽ do NVIDIA phát triển, được tích hợp vào Unity để xử lý các vấn đề vật lý Unity hỗ trợ nhiều tính năng vật lý như Soft Bodies, Rigidbodies, Ragdolls, Joints và Cars.
Unity tích hợp FMOD, một trong những công cụ âm thanh mạnh mẽ nhất hiện nay, cho phép người dùng nhập và sử dụng nhiều định dạng tập tin âm thanh khác nhau.
Lập trình đóng vai trò thiết yếu trong việc phát triển game, giúp các nhà phát triển xây dựng khả năng tương tác, trí thông minh nhân tạo và các yếu tố gameplay cho trò chơi.
Unity cho phép chúng ta lập trình bằng nhiều ngôn ngữ mạnh mẽ và phổ biến với các lập trình viên như: C#, Net, Java Script và Boo.
Networking cho phép phát triển các trò chơi trực tuyến, một trong những thể loại thu hút đông đảo người chơi Tính năng này hỗ trợ việc xây dựng các yếu tố phổ biến trong game online như hệ thống điểm kinh nghiệm, chat và tương tác thời gian thực.
Các thành phần trong Unity
Tài sản (Assets) trong Unity là những tài nguyên thiết yếu cho việc xây dựng dự án, bao gồm hình ảnh, mô hình 3D và âm thanh Tất cả các tập tin và thư mục liên quan đến trò chơi đều được lưu trữ trong thư mục "Assets", điều này giúp tổ chức và quản lý dự án một cách hiệu quả.
Hình 1.File Assets trong Project
Trong Unity, một cảnh (hay phân đoạn) đại diện cho một màn chơi hoặc khu vực trong trò chơi, chẳng hạn như Menu Việc tạo ra nhiều Scenes giúp phân phối thời gian tải và kiểm tra các phần khác nhau của trò chơi một cách riêng biệt.
Khi Assets được sử dụng trong Scenes, chúng trở thành Game Object trong Unity, với mỗi Game Object chứa ít nhất một thành phần Transform Transform cung cấp thông tin về vị trí, góc xoay và tỉ lệ của đối tượng, được mô tả bằng bộ 3 số X, Y, Z trong hệ trục tọa độ Thành phần này có thể được tùy biến trong quá trình lập trình để thay đổi vị trí, góc quay và tỉ lệ của đối tượng Từ các thành phần cơ bản này, chúng ta có thể tạo ra Game Object với các thành phần khác, bổ sung chức năng cần thiết để xây dựng các yếu tố trong kịch bản Game mà chúng ta đã tưởng tượng.
Components trong Unity có nhiều hình thức khác nhau, cho phép xác định hành vi và ảnh hưởng đến chức năng của Game Object trong trò chơi Bằng cách gắn chúng vào Game Object, chúng ta có thể ngay lập tức áp dụng tác động lên đối tượng Unity hỗ trợ nhiều Components phổ biến trong phát triển trò chơi, như Rigidbody, ánh sáng, Camera và nhiều thành phần khác Để tạo ra các yếu tố tương tác trong trò chơi, chúng ta sử dụng Script, cũng được xem như là một Components trong Unity.
Hình 4.Các Components của 1 Game Object
1.4.5 Scripts Được Unity xem như một Components, Script là một thành phần thiết yếu trong quá trình phát triển trò chơi và đáng được đề cập đến như một khái niễm “chìa khóa” Unity cung cấp cho chúng ta khả năng viết Script bằng cả 3 loại ngôn ngữ là : JavaScript, C# và Boo ( một dẫn xuất của Python).
Unity không yêu cầu người dùng phải học lập trình, nhưng việc sử dụng Script là cần thiết cho mỗi thành phần trong kịch bản phát triển Nền tảng này cung cấp một bộ lớp và hàm phong phú mà người dùng có thể áp dụng trong quá trình lập trình trò chơi Để viết Script, người dùng sẽ làm việc với trình biên tập Script độc lập của Unity, như Visual Studio, là công cụ phù hợp và được đồng bộ hóa với các phiên bản mới nhất của Unity.
Hình 5.Các Script trong Unity
Prefabs cho phép lưu trữ các đối tượng cùng với các thành phần và thiết lập hoàn chỉnh Chúng là những container rỗng, giúp chúng ta dễ dàng tái sử dụng bất kỳ đối tượng hay dữ liệu mẫu nào trong tương lai.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Khảo sát hệ thống
o Câu 1: Bạn mong muốn điều gì ở một Game Platfrom?
Chơi game để giải trí
Giao diện, bố cục đơn giản và dễ sử dụng
Mang tính thử thách cho người chơi
Sản phẩm phải đảm bảo đúng như mô tả o Câu 2: Bạn có thường xuyên chơi thể loại game platform không?
Thỉnh thoảng o Câu 3: Ngoài các chức năng cơ bản, bạn có mong muốn gì cho thể loại game này?
Giải đố đầy tính thử thách
Giải trí và có thể hoàn thành màn chơi nhanh
Giới thiệu về hệ thống
Game sẽ bao gồm các phân cảnh chiến đấu, giải đố, thu lượm vật phẩm và đối đầu với trùm cuối Bối cảnh diễn ra trong một vũ trụ xa xôi, nơi cô gái Elen bị mắc kẹt Nhiệm vụ của Elen là thu thập đủ 3 mảnh Cổ Vật để mở cánh cửa dịch chuyển, giúp cô trở về trái đất.
Phân tích yêu cầu hệ thống
- Cơ chế di chuyển : A,D, Space
- Cơ chế thu nhập : Thu nhập Key và máu trên đường đi.
- Cơ chế thắng thua : Thắng khi tiêu diệt Boss Thua khi hết mạng
- Cơ chế phá vật cản : Người chơi có thể phá hủy vật cản đừng nhưng các trụ cột Phá hủy để mở một con đường mới để khám phá.
- Cơ chế di chuyển : Di chuyển ngẫu nhiên
- Cơ chế tấn công : Chạm vào người chơi sẽ gây mất máu
- Cơ chết chết : Khi bị người chơi tấn công, Enemy sẽ chết.
- Cơ chế di chuyển : Không
- Cơ chế xuất hiện: Xuất hiện ở một vị trí cố định
- Cơ chế di chuyển : Đi theo hướng cố định : Trái, phải, lên, xuống.
- Xuất hiện bảng tutorial khi người chơi tiến đến và biến mất khi người chơi rời khỏi khu vực.
- Khi người chơi mất máu, khi đi vào các cục máu thì sẽ tự động hồi máu cho người chơi.
2.3.2 Yêu cầu phi chức năng Đặc tính Yêu cầu
Hiệu suất Thời gian load game dưới 10s
Chế độ Offline, 1 người chơi
Theme/Art Khảo cổ, ngoài hành tinh
2D Đối tượng Các bạn trẻ, những người yêu thích các tựa game đi cảnh khám phá.
Giao diện Dễ dùng, màu sắc hài hòa, đồng nhất.
Bảng 2 Yêu cầu phi chức năng
Phân tích thiết kế hệ thống
Mục tiêu của trò chơi là người chơi sẽ vào vai Elen, một cô gái bị mắc kẹt trên hành tinh lạ sau khi tàu của cô va chạm với thiên thạch Người chơi sẽ điều khiển Elen khám phá các tàn tích cổ đại, nơi cô phát hiện một cánh cửa khổng lồ có thể dẫn cô trở về Trái Đất Để mở cánh cửa này, Elen cần vượt qua các chướng ngại vật, tiêu diệt quái vật và thu thập các Cổ Vật.
Thiết kế game nên chú trọng vào trải nghiệm người chơi, nhằm tạo ra một trò chơi hấp dẫn và thú vị, giúp người chơi có thể tận hưởng trọn vẹn.
Cân bằng trò chơi là yếu tố quan trọng, giúp người chơi cảm thấy thoải mái và không bị chán hoặc quá khó Để đạt được điều này, game cần được thiết kế với độ khó hợp lý Bên cạnh đó, điều khiển trò chơi cũng cần phải đơn giản và dễ sử dụng, giúp người chơi trải nghiệm game một cách thuận lợi và không gặp khó khăn.
2.4.2 Biểu đồ UC a) Biểu đồ UC chính
Hình 15 Biểu đồ UC chính Player b) Biều đồ UC thứ cấp
Hình 16 Phân rã UC Play
Hình 17 Phân rã UC Option
Hình 18 Phân rã Uc PauseGame
Hình 19 Phân rã UC Restart
Hình 20 Phân rã UC Exit
Hình 21 Phân rã Uc PlayerShoot
Hình 22 Phân rã UC PlayerAttack
Hình 23 Phân rã UC PlayerJump
Hình 24 Phân rã UC PlayerMove
2.4.3 Mô tả chi tiết UC a) Mô tả chi tiết UC
2 Mô tả vắn tắt Use case: UC này cho phép người chơi chơi.
Khi khách hàng nhấn nút Play, hệ thống sẽ xác định màn chơi hiện tại của người chơi và tự động chuyển hướng họ đến màn chơi đó.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
5 Tiền điều kiện: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 25 Biểu đồ trình tự Play b) Mô tả chi tiết UC
2 Mô tả vắn tắt Use case: UC này cho phép người chơi vào mục option.
- Use case này bắt đầu khi khách hàng click Option trên menu Hệ thống chuyển hướng người chơi sang trang Option;
- Tại giao diện màn chơi, người chơi vẫn có thể truy cập màn hình Option khi tạm dừng trò chơi.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
5 Tiền điều kiện: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 26 Biểu đồ trình tự Option c) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép người chơi chơi lại màn chơi.
- Use case này bắt đầu khi khách hàng click Restart trên giao diện Pause Game Hệ thống reload lại màn chơi;
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
5 Tiền điều kiện: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 27 Biểu đồ trình tự Restart d) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép người chơi tạm dùng màn chơi.
- Use case này bắt đầu khi khách hàng nhấn nút ESC trên màn hình màn chơi Hệ thống tạm dừng trò chơi và hiển thị sang UI Pause Game.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
5 Tiền điều kiện: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 28 Biểu đồ trình tự PauseGame e) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép người chơi bắn đạn.
Khi khách hàng nhấn nút O trên màn hình chơi, đạn sẽ được bắn ra từ đầu nòng súng theo hướng nhìn của người chơi.
- Tại bước 1 của luồng rẽ nhánh, nếu người chơi chưa nhận được súng thì khi nhấn O sẽ không có gì xảy ra.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
5 Tiền điều kiện: Đã nhận được súng từ trước.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 29 Biểu đồ trình tự PlayerShoot f) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép người chơi tấn công bằng kiếm.
- Use case này bắt đầu khi khách hàng nhấn nút K trên màn hình màn chơi Nhân vật sẽ chém về phía trước.
- Tại bước 1 của luồng rẽ nhánh, nếu người chơi chưa nhận được kiếm thì khi nhấn K sẽ không có gì xảy ra.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
5 Tiền điều kiện: Đã nhận được kiếm từ trước.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 30 Biểu đồ trình tự PlayerAttack g) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép người chơi nhảy.
- Use case này bắt đầu khi khách hàng nhấn nút Space trên màn hình màn chơi Nhân vật sẽ nhảy.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Có thể kết hợp các phím điều khiển + Space để có thể nhảy theo những phía khác nhau.
Hình 31 Biểu đồ trình tự PlayerJump h) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép người chơi di chyển nhân vật.
- Use case này bắt đầu khi khách hàng nhấn nút A,D trên màn hình màn chơi Nhân vật sẽ di chuyển trái, phải.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Có thể kết hợp tổ hợp các phím điều khiển + Space để có thể nhảy theo những phía khác nhau.
Hình 32 Biểu đồ trình tự PlayerMove i) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép người chơi tiêu diệt kẻ địch.
- Use case này bắt đầu khi khách hàng sử dụng PlayerAttack hoặc PlayerShoot và thành công tấn công kẻ địch Kẻ địch sẽ ngay lập tức bị tiêu diệt.
- Tại bước 1 của luồng cơ bản, nếu người dùng tấn công trượt mục tiêu thì KillEnemy sẽ không được thực hiện.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Có thể kết hợp tổ hợp các phím điều khiển + Space để có thể nhảy theo những phía khác nhau. j) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép người chơi thu nhặt vật phẩm.
- Use case này bắt đầu khi người chơi sử tiến đến các vật phẩm có thể nhặt được Hệ thống sẽ xử lý và nhặt các vật thể đó.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 33 Biểu đồ trình tự PickUp k) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này khiến trò chơi kết thúc.
- Use case này bắt đầu khi người chơi sử dụng hết máu của nhât vật, khi này nhật vật sẽ chết và gameover sẽ xuất hiện.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có. l) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép sản sinh ra Key và người chơi có thể tương tác với chúng,
- Use case này bắt đầu khi người chơi bắt đầu trò chơi Hệ thống sẽ sản sinh ra các Key cố định trên các level cố định.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 34 Biểu đồ trình tự Key m) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép Opstracles (Vật cản) xuất hiện trong game, đồng thời cho phép người chơi tương tác với chúng.
- Use case này bắt đầu khi người chơi chơi màn chơi Hệ thống sẽ sản sinh ra các vật cản theo từng level đã được dựng.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 35 Biểu đồ trình tự Obsstracles n) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép Enemy (Quái vật) xuất hiện trong game, đồng thời cho phép người chơi tương tác với chúng.
Trong use case này, người chơi bắt đầu tham gia trò chơi, và hệ thống sẽ tạo ra các quái vật trong từng màn chơi dựa trên các cấp độ đã được thiết lập.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 36 Biểu đồ trình tự Enemy o) Mô tả chi tiết
2 Mô tả vắn tắt Use case: UC này cho phép HeathPack (Túi máu) xuất hiện trong game, đồng thời cho phép người chơi tương tác với chúng.
Trong trường hợp sử dụng này, quá trình bắt đầu khi người chơi tham gia trò chơi Hệ thống sẽ tạo ra các quái vật trong từng màn chơi, tương ứng với các cấp độ đã được thiết lập.
- Tại bất kỳ bước nào trong luồng cơ bản nếu trò chơi đột ngột crash. Use case kết thúc.
4 Các yêu cầu đặc biệt: Không có.
6 Hậu điều kiện: Không có.
7 Điểm mở rộng: Không có.
Hình 37 Biểu đồ trình tự HeathPack
Hình 38 Biểu đồ Flow Chart a) Menu
Hình 39 Giao diện Menu b) Option
Hình 41 Âm lượng trong game c) Pause
Hình 43 Màn hình Level 1 e) Level 2
Hình 44 Màn hình Level 2 f) Level 3
Hình 45 Màn hình Level 3 g) Level 4
Hình 46 Màn hình Level 4 h) Level 5
KẾT QUẢ
Cài đặt môi trường
Cài đặt Unity Để tải và cài đặt Unity, chúng ta phải làm theo các bước sau đây:
Bước 1: Truy cập trang web chính thức của Unity (https://unity.com/) và chọn "Get started" ở góc trên cùng bên phải của trang web.
Bước 2: Chọn "Download Unity" để truy cập trang tải về Unity.
Bước 3: Chọn phiên bản Unity muốn tải xuống Hãy chọn phiên bản ổn định mới nhất để đảm bảo tính ổn định và tương thích.
Bước 4: Chọn hệ điều hành mà bạn đang sử dụng và chọn "Download Installer".
Bước 5: Sau khi tải xuống xong, chạy tệp cài đặt và làm theo các hướng dẫn trên màn hình để hoàn thành quá trình cài đặt.
Sau khi hoàn tất cài đặt, bạn cần mở Unity và đăng nhập hoặc tạo tài khoản Unity để bắt đầu sử dụng Đây là các bước cơ bản để tải và cài đặt Unity, nhưng hãy lưu ý rằng quy trình cài đặt có thể khác nhau tùy thuộc vào phiên bản Unity và hệ điều hành mà bạn đang sử dụng.
Cài đặt Visual Studio Để tải và cài đặt Visual Studio, bạn có thể làm theo các bước sau đây:
Bước 1: Truy cập trang web chính thức của Visual Studio (https://visualstudio.microsoft.com/) và chọn "Download Visual Studio" ở góc trên cùng bên phải của trang web.
Bước 2: Chọn phiên bản Visual Studio muốn tải xuống Hãy chọn phiên bản
Bước 3: Lựa chọn các thành phần cần thiết để cài đặt Visual Studio cung cấp đa dạng gói phát triển phần mềm, bao gồm phát triển ứng dụng di động, ứng dụng web và game.
Bước 4: Chọn phiên bản và ngôn ngữ của Visual Studio phù hợp với hệ điều hành và ngôn ngữ mà bạn đang sử dụng.
Bước 5: Chọn "Download" để bắt đầu quá trình tải về.
Sau khi tải xong, hãy chạy tệp cài đặt và làm theo hướng dẫn trên màn hình để hoàn tất quá trình cài đặt Đừng quên chọn mục tải thêm “Unity” để Visual Studio có thể hỗ trợ tốt nhất cho việc phát triển game sau này.
Sau khi hoàn tất cài đặt, bạn có thể sử dụng Visual Studio ngay lập tức Đây là các bước cơ bản để tải và cài đặt Visual Studio, nhưng cần lưu ý rằng quy trình cài đặt có thể thay đổi tùy thuộc vào phiên bản và hệ điều hành mà bạn đang sử dụng.
Cài đặt chương trình
Trong Unity Chọn File ->Build Setting Kéo các Scene cần build vào ôScene In Build Sau đó chọn Platform Window và cuối cùng là Build.
Hình 55 Màn hình build game
Sau khi hoàn tất quá trình Build, bạn chỉ cần chọn file The Explorer.exe để bắt đầu chơi Trò chơi không yêu cầu cài đặt và không cần cấu hình phức tạp, chỉ cần file game là có thể chạy mượt mà trên hầu hết các dòng máy tính với các hệ điều hành hiện nay.
Trò chơi này không cần cài đặt và không yêu cầu cấu hình cao, chỉ cần file game là có thể chạy mượt mà trên hầu hết các máy tính với các hệ điều hành hiện nay.
Game “The Explorer”
- Level 1 : Giới thiệu cơ chế di chuyển và quái vật.
- Level 2 : Giới thiệu mục tiêu của Game và cơ chế thu nhập Cổ Vật (Key)
- Level 3 : Giải đố, giới thiệu về vũ khí và tấn công.
- Level 5 : Đấu trùm và kết thúc game.
Game bao gồm các cơ chế :
- Đẩy và tương tác vật thể
- Thu nhặt vật phẩm (Key, Máu)
- Giải đố (Đẩy khối, né vật thể, bật công tắc)
Một số thành phần trong game.
Tên Hình ảnh Mô tả
Boss Trùm cuối Gồm 3 round, mỗi round độ khó của boss sẽ tăng dần.
Enemy Quái vật trong game Một loại sẽ cắn người chơi, một loại sẽ bắn axit.
Chìa khóa mở cửa trong game.
Công tắc để mở cửa và cửa.
Axit Sông Axit, có khả năng làm mất màu người chơi.
Khối vuông dùng để đẩy.
Gai Gai có thể làm người chơi mất máu.
Bệ đất di chuyển trái, phải, lên, xuông.
Bảng 3 Một số thành phần trong game
Kết quả kiểm thử
Group test Mô tả Test Đầu vào Đầu ra mong muốn
1 Install Kiểm tra game có thể cài đặt được trên môi trường Window
2 Kiểm tra game có thể cài đặt được trên môi trường Mac/Os
3 Kiểm tra game có thể cài đặt trên thiết bị điện thoại
Cài đặt không thành công.
4 Uninstall Kiểm tra gỡ cài đặt game trên thiết bị Window
Gỡ cài đặt thành công
5 Kiểm tra gỡ cài đặt trên Mac/Os
Gỡ cài đặt thành công
6 UI Kiểm tra số lượng Button, UI trên màn hình
Màn hình hiển thị đầy đủ các
7 Kiểm tra vị trí, font chữ, size chữ, màu sắc
Hiển thị đúng theo design
8 Di chuyển Kiểm tra di chuyển của nhân vật
Nhân vật di chuyển đúng theo design
9 Kiểm tra tấn K, O Nhân vật tấn Pass vật theo design
10 Action Kiểm tra nhân vật tấn công enemy
11 Kiểm tra nhân vật bị tấn công bởi enemy
Nhân vật bị mất máu Máu -1
12 Heath Kiểm tra nhân vật ăn máu khi đầy máu
Nhân vật không ăn máu
13 Kiểm tra nhân vật ăn máu khi mất máu
Nhân vật ăn máu Máu +1
14 Kiểm tra nhân vật khi hết máu
15 Cube Kiểm tra nhân vật đẩy khối vuông
Nhân vật có thể đẩy khối vuông
16 Kiểm tra nhân vật đẩy khối vuông khi phía trước có vật cản
Nhân vật không thể đẩy khối vuông
17 Kiểm tra vật lý của khối vuông.
Khối vuông rơi xuống đất.
Kiểm tra nhân vật khi đi qua tường mỏng
Nhân vật không thể đi qua.
19 Kiểm tra nhân Nhân vật phá Pass tường mỏng mỏng.
20 Kiểm tra nhân vật khi đi qua tường mỏng đã bị phá hủy
Nhân vật có thể đi qua.
21 Key Kiểm tra key khi nhân vật nhặt
22 Door Kiểm tra cánh cửa khi chưa nhặt đủ 3 Key.
23 Kiểm tra cánh cửa khi nhặt đủ 3 Key
24 Level Kiểm tra khi nhân vật chuyển level
Nhân vật chuyển sang level khác.
25 Boss Kiểm tra khi nhân vật tiêu diệt boss.
Boss chết Kết thúc game
Boss tấn công bằng súng và điện.
Boss tấn công bằng súng, bom và điện
28 Kiểm tra Round Boss tấn công Pass bom và điện
29 Axit Kiểm tra khi nhân vật rơi xuống axit
Nhân vật chết và trở về vị trí trước đó Máu -1
30 Gai Kiểm tra khi nhân vật rơi vào gai
Nhân vật mất máu Máu -1
31 Công tắc Kiểm tra khi nhân vật bắn vào công tắc
Cửa của công tắc đó mở
32 Kiểm tra khi nhân vật chém vào công tắc
Cửa của công tắc không mở
Kiểm tra khi cửa khi chưa bật công tắc
Nhân vật không thể đi qua
34 Kiểm tra khi cửa đã bật công tắc
Nhân vật có thể đi qua
Bảng 4 Các ca kiểm thử
KẾT LUẬN VÀ KIẾN NGHỊ
Game đã đạt được những kết quả tương đối tốt so với mục tiêu ban đầu Qua quá trình nghiên cứu đề tài, tôi đã tích lũy được nhiều kiến thức cơ bản, giúp tôi có khả năng xây dựng một tựa game đơn giản.
Trò chơi cung cấp các chức năng cơ bản như di chuyển, tấn công, né tránh, nhảy, bắn súng, thu lượn vật phẩm (bao gồm chìa khóa và máu), giải đố, chiến đấu và đấu trùm.
Nắm được những kiến thức về kiểm thử, C#, phát triển game trên Unity và game design.
Gamehiện tại chưa nâng cấp.
Game vẫn còn tồn tại một số lỗi nhỏ và em sẽ cố gắng khắc phục trong thời gian ngắn nhất.
Chưa tối ưu code hoàn toàn.
Tối ưu game mượt mà trên mọi cấu hình máy tính.
Thêm nâng cấp trang bị.
Mở rộng thêm nhiều level, đa dạng enemy và boss.
Tham khảo thêm các dóng game giải đố platform khác để tích lũy kinh nghiệm phục vụ cho việc thiết kế game sau này.