Nghiên cứu xây dựng game hợp tác nhiều người chơi

MỤC LỤC

DANH TỪ VIẾT TẮT

GIỚI THIỆU ĐỀ TÀI

Những con số này cho thấy tiềm năng thị trường game tại Việt Nam rất lớn, và chứng tỏ Việt Nam có vị thế quan trọng trên toàn cầu trong việc sản xuất game. Kèm theo áp dụng các nguyên lý thiết kế, mẫu thiết kế phù hợp nhằm quản lý vòng đời của game, triển khai mẫu thiết kế phù hợp cho các module, tăng khả năng mở rộng, giảm sự phụ thuộc vào engine, tái sử dụng cho dự án khác.  Hệ thống đánh giá điểm: sau khi kết thúc màn chơi, hệ thống sẽ đánh giá sản phẩm của người chơi giống được bao nhiêu phần trăm so với yêu cầu, được bao nhiêu điểm vào bao nhiêu sao.

Unrailed là một game hợp tác nhiều người chơi nơi mà game thủ phải làm việc cùng bạn bè để xây dựng đường ray cho một đoàn tàu qua các thế giới được tạo ngẫu nhiên vô tận. Trên chuyến đi nhiệm vụ bạn phải đụng độ với các sinh vật sống khác, bạn phải nâng cấp đoàn tàu và ngăn nó không bị trật đường. Moving Out là một game hợp tác nhiều người chơi nơi bạn phải làm việc cùng bạn bè để chuyển đồ đạc từ nhà ra xe tải trong thời gian giới hạn.

Bạn phải đối phó tính toán nên khiêng các vật nặng nề theo cách nào, và các chướng ngại vật (như cái cào, lửa, băng, hay ma) trong quá trình chuyển hàng. Trong game này, bạn sẽ vào vai một đầu bếp sushi và phải làm việc cùng bạn bè để chuẩn bị, nấu và phục vụ các món ăn cho khách hàng trong thời gian giới hạn.

Hình 1.1 Trò chơi Unrailed
Hình 1.1 Trò chơi Unrailed

CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

- Bên cạnh đó Unity là một công cụ phát triển game rất mạnh mẽ và phổ biến, đã được dùng để tạo ra nhiều game nổi tiếng như Among Us, Fall Guys, Genshin Impact,…. Là một dự án được phát triển bởi cộng đồng, dự án được fork từ Unet - Chương trình mạng đã bị khai tử bởi Unity, hiện Unity đang phát triển chương trình mạng mới nhưng vẫn ít người sử dụng. - Mirror cung cấp khả năng kết nối qua mạng, tích hợp các tính năng giúp chơi game qua mạng mượt mà hơn.

Nói chung Mirror được thiết kế với mục tiêu làm cho phát triển trò chơi nhiều người chơi qua mạng trở nên dễ hơn. Network Manager xử lý việc khởi động, quản lý kết nối và cung cấp phản ứng kết nối giữa client và server. Steam là nền tảng phân phối và chơi trò chơi trên console đứng đầu thế giới, được phát triển và quản lý bởi Valve Corporation.

- Tích hợp xã hội và cộng đồng: Steam cung cấp các tính năng tính năng như thêm bạn bè, nhắn tin, tặng quà, mở và tham gia cộng đồng, đánh giá trò chơi,. - Steam WorkShop: cung cấp khả năng chia sẻ nội dung tùy chỉnh giữa người chơi với nhau như cho phép người dùng thiết kế và chia sẻ màn chơi mới, góp phần làm. Steamworks SDK là một bộ công cụ phát triển phần mềm của Steam, giúp nhà phát triển tích hợp trò chơi của họ với nền tảng Steam.

SDK này bao gồm nhiều tính năng như lưu trữ đám mây, thống kê và thành tựu trong trò chơi, cũng như hỗ trợ cho việc phát hành và cập nhật trò chơi. Steamworks SDK là một công cụ mạnh mẽ và linh hoạt, giúp các nhà phát triển mở rộng tầm ảnh hưởng của trò chơi trên một trong nền tảng phân phối trò chơi lớn nhất thế giới. + PickableObjectPos (list<PickableObject>): Danh sách đồ vật người chơi có thể cầm lên được.

- Mỗi cột cờ tượng trưng cho một màn chơi, cột cờ sẽ chứa thông tin màn chơi như số thứ tự màn chơi, hình ảnh xem trước màn chơi và kết quả đã chơi (nếu có). - Khác với StateMachine và Behavior Tree hay được sử dụng trong lập trình game, có một hướng đi khác cũng được sử dụng là thiết kế theo hướng “kỹ năng”. Sau khi nhặt đồ vật thì Pickup Skill sẽ kiểm tra xem đồ vật thuộc loại gì và yêu cầu Skill System thêm Skill tương ứng.

Hình 2.2 Mirror Networking
Hình 2.2 Mirror Networking

PHÂN TÍCH THIÊT KẾ HỆ THỐNG GAME

4 Bắt đầu màn chơi Người chơi Bắt đầu màn chơi trong cảnh chọn màn chơi. Người chơi Khi đã hoàn thành xây dựng, tất cả người chơi cần di chuyển vào đúng vị trí để kết thúc màn chơi. Điều kiện bắt đầu - Steam Lobby không còn cho phép thêm người chơi khác tham gia.

Điều kiện kết thúc Màn chơi được khởi tạo lại, người chơi có thể chơi lại. Dòng sự kiện chính - Tất cả người chơi điều khiển nhân vật vào ô chỉ định. Điều kiện kết thúc - Dữ liệu của người chơi sẽ được lưu vào dữ liệu của chủ phòng.

Dòng sự kiện chính - Trong màn hình “Playing”, tức người chơi đang chơi, hệ thống kiểm tra nhiệm vụ. 6 GameObjectInfo Lưu trữ cây dữ liệu để cấu hình đồ vật không cần cấu hình dữ liệu trong màn chơi. 3 maps_progress List<MapProgress> Bắt buộc Danh sách quá trình của từng màn chơi.

6 map_setup_data SettingInMap Bắt buộc Dữ liệu để cấu hình các đồ vật trong màn chơi 7 map_default_spawn_positio. 8 map_data GameObjectInfo Bắt buộc Dữ liệu tải đối tượng không cần cấu hình dữ liệu trong màn chơi. 1 compound_elements list<AbstractmaterialSetting> Bắt buộc Danh sách các vật liệu tạo nên khối.

5 block_interact_skill_level_index byte Cấp độ kỹ năng tương tác khối 6 bucket_interact_skill_level_index byte Cấp độ kỹ năng. - Dựa vào GameManager, là 1 singleton duy nhất trong game, được khởi tạo đầu tiên và chịu trách nhiệm khởi tạo tất cả thành phần, tài nguyên của game. Tất cả cỏc thành phần khỏc của game sẽ phải theo dừi trạng thỏi của Finate State Machine này mà hành động.

Khi game đến 1 state nào đó, các dữ liệu như các skin nhân vật, các chỉ số nhân vật,.

Bảng 3.1: Danh sách Actor  STT  Tên Actor  Mô tả ngắn/ ghi chú
Bảng 3.1: Danh sách Actor STT Tên Actor Mô tả ngắn/ ghi chú

XÂY DỰNG GAME 4.1 Xây dựng đồ họa cho game

Điều kiện kích hoạt Kích hoạt thành công Ngoại lệ 1 Play - Người chơi đi vào.

Hình 4.1 Hoạt ảnh được đặt từng keyframe
Hình 4.1 Hoạt ảnh được đặt từng keyframe