+5

AWS Game: Tổng quan và hosting

Xin chào các bạn.

Sau 1 thời gian lặn ngụp trong đống badge trên Credly do Amazon Web Services Training and Certification thì mình rút ra 1 bài thu hoạch kiến thức lq tới AWS Game tech với mong muốn chia sẻ kiến thức.

Các kiểu game play

Ở đây chúng ta sẽ chỉ ra những loại gameplay cơ bản nhất

  • Single player dùng 1 database và content engine.
  • Multiplayer turn-based dùng database, content delivery, truy cập độ trễ thấp và real-time tới database.
  • Multiplayer real-time session-based dùng các uses game server dành cho multiplayer dựa trên session.
  • Time-sensitive thì cần các hệ thống độ trễ thấp, đường truyền ổn định và đồ sộ để dùng như server game cố định.
  • Game thế giới mở có chia sẻ instance dùng các server luôn hoạt động với khả năng scale lớn.

Các hosting model phổ biến

Có 6 mô hình

Mô hình Hosting Mô tả Lợi ích
Local Game được chơi ở local Giá thành rẻ, chơi offline
P2P Multiplayer với 1 người chơi làm host Giá thành rẻ nếu khoảng cách đường truyền của 2 người chơi ngắn
Player hosting Multiplayer host dedicated server Giá thành rẻ, xây dựng được cộng đồng lớn
On premises Game được host bởi on-premises Có thể quản lý được trải nghiệm người dùng
Cloud Game được host bởi cloud provider Có thể điều chỉnh và linh hoạt
Hybrid Nửa cloud provider, nửa on- premises Có thể điều chỉnh và linh hoạt, mang cả ưu điểm của on-premise và ở cloud

Host ở trên AWS

AWS for Games có hàng trăm dịch vụ hỗ trợ game của bạn trên cloud. Các dịch vụ này liên quan đến dịch vụ trò chơi, tìm trận, sảnh đợi, tính năng xã hội, bảng xếp hạng, phát hiện gian lận, xác thực, ML, AI, phân tích và big data. Các tính năng khác cũng được tính tới như monitor, LiveOps, máy chủ , GPIC, kiếm tiền, quản lý mặt tiền cửa hàng và các tùy chọn cơ sở dữ liệu cho dữ liệu và hồ sơ người chơi.

Các tính năng cốt lõi của game

Dưới đây là tính năng cốt lõi và cách trò chơi hoạt động trên đám mây. Các tính năng bao gồm dịch vụ xác thực, thành tích của người chơi, kinh tế trong thế giới trò chơi, bảng xếp hạng, hồ sơ người chơi, máy chủ trò chơi, monitor, LiveOps và phân tích.

Các lựa chọn dịch vụ

Các cấp độ dịch vụ khác nhau của giải pháp AWS đưa ra các lựa chọn về mức độ tùy chỉnh so với khả năng tự động hóa mà chúng cung cấp. Các cấp độ dịch vụ mà bạn chọn để đáp ứng nhu cầu của trò chơi của bạn rất linh hoạt. Khi nhu cầu của trò chơi của bạn phát triển hoặc khi các ưu tiên kinh doanh của bạn thay đổi, bạn có thể điều chỉnh cấp độ dịch vụ hoặc các tùy chọn. Với tư cách là nhà phát triển trò chơi, điều này có nghĩa là bạn có thể đánh giá lợi ích và chi phí, thực hiện các thay đổi mà không bị giới hạn cố định và thậm chí kết hợp và kết hợp các giải pháp để phù hợp với nhu cầu của trò chơi và tổ chức của bạn.

Các nhà phát triển có thể cân nhắc các tùy chọn. Các dịch vụ được quản lý sẽ có chất lượng tốt và giá thành phải chăng như mong muốn của nhóm phát triển. Những kết quả này có được cũng là 1 phần lợi ích của việc đưa trò chơi lên cloud.

Lợi ích của các dịch vụ được quản lý

  • Tăng tính tự động hoá
  • Đưa ra thị trường nhanh hơn
  • Tăng tính đổi mới
  • Đưa ra gợi ý tăng cường bảo mật
  • Tăng tính cạnh tranh bằng cách kết hợp giữa các dịch vụ được hỗ trợ và các dịch vụ tuỳ chỉnh theo nhu cầu không hỗ trợ

Lợi ích của các dịnh vụ không quản lý

  • Cho phép tuỳ chỉnh và người dùng có nhiều quyền quản lý hơn
  • DIY giúp giảm giá thành
  • Khuyến khích kĩ năng tech.

Game Server ở trên cloud

Ở cấp độ cao, dedicated servers sẽ đóng vai trò là host cho việc xác thực người chơi để tương tác với game, nhất là các game session based và game thế giới mở.

Bạn sẽ xem qua các vấn đề, thách thức thường có ở các game server thông thường, các câu hỏi nhằm xác định game của bạn cần gì, và 4 kiểu server: máy ảo, container-based, serverless, và giải pháp quản lý toàn bộ bởi AWS.

Giải pháp virtual server

Khi được sử dụng làm máy chủ trò chơi ảo, Amazon EC2 có nhiều tùy chọn tùy chỉnh nhất, cung cấp khả năng kiểm soát chi tiết trong một dịch vụ web dựa trên đám mây có thể thay đổi kích thước. Với hàng trăm lựa chọn về chủng loại với sự kết hợp khác nhau giữa CPU, bộ nhớ, bộ lưu trữ, dung lượng mạng và kích cỡ, bạn có thể chọn để phù hợp với yêu cầu của trò chơi. Là nhà phát triển trò chơi, điều này cung cấp cho bạn tất cả các tùy chọn điện toán dựa trên đám mây để tự xây dựng máy chủ trò chơi ảo.

lYHXdti3PKeFlt6e_9QiBuw3SmW4FplVm.jpg

Giải pháp container và giải pháp serverless

Các giải pháp dựa trên bộ chứa dành cho máy chủ trò chơi AWS for Games là Amazon ECS và Amazon EKS. Amazon ECS là dịch vụ được quản lý toàn phần cung cấp dịch vụ điều phối bộ chứa nhanh và có quy mô linh hoạt cao với sự hỗ trợ cho bộ chứa Docker và Windows. Amazon EKS là dịch vụ điều phối Kubernetes tuân thủ được quản lý và chứng nhận hoàn toàn, có tính khả dụng cao, khả năng mở rộng và bảo mật. AWS Fargate là một công cụ điện toán serverless hoạt động với cả Amazon ECS và Amazon EKS. Khi sử dụng Fargate, bạn có thể tập trung vào trò chơi của mình mà không phải quản lý cơ sở hạ tầng bên dưới.

5zgumehEbDs31eRA_gHAttLoHAeZvlEcP.jpg

Fully managed servers

Amazon GameLift mang đến trải nghiệm chơi trò chơi liền mạch với các máy chủ trò chơi có tính sẵn sàng cao, độ tin cậy cao, độ trễ thấp và chi phí thấp đồng thời linh hoạt thay đổi quy mô sử dụng tài nguyên của bạn để đáp ứng nhu cầu của người chơi trên toàn thế giới. Với tư cách là người xây dựng trò chơi, bạn tải lên bản dựng trò chơi của mình và chỉ định cho GameLift loại phiên bản EC2 nào sẽ lưu trữ bản dựng đó.

Bạn có thể sử dụng điện toán Amazon EC2 trên khắp các Khu vực trên toàn thế giới và với hơn 40 loại phiên bản. GameLift thiết lập các phiên và duy trì một nhóm phiên bản EC2 có kích thước phù hợp và tự động thay đổi quy mô cho bạn.

cqt4PLOWhE1NMFS8_fUBma7KR_YEh5Xtp.jpg

Các giải pháp tính toán và giá của chúng

Có 4 kiểu giải pháp để tính toán:

  • Compute optimized, được sử dụng cho các máy chủ trò chơi yêu cầu điện toán hiệu suất cao cung cấp CPU tốt nhất trên mỗi điểm hiệu suất giá. (Các tác vụ sử dụng nhiều CPU như mô phỏng trò chơi)
  • General purpose, được sử dụng cho các máy chủ trò chơi yêu cầu cân bằng tài nguyên điện toán, bộ nhớ và mạng.
  • Memory optimized, được sử dụng cho các máy chủ trò chơi sử dụng nhiều bộ nhớ hơn là sử dụng nhiều tính toán.
  • Graphic optimized, sử dụng bộ tăng tốc phần cứng hoặc bộ đồng xử lý (đơn vị xử lý đồ họa (GPU) để mang lại hiệu suất cao nhất cho các trò chơi sử dụng nhiều đồ họa.

2 mô hình tính toán:

  • On-Demand Instances, dành cho các game thế giới mở hoặc session kéo dài
  • Spot Instances, tốt cho session-based game vì mức giá rẻ hơn cho các instance không sử dụng

Có các mô hình khác:

  • Savings Plans, mô hình linh động với mức giá rẻ với điều kiện phải commit theo kì hạn 1 năm hoặc kì hạn 3 năm.
  • Reserved Instances, lựa chọn với giá thành ưu đãi. Mua theo kì hạn 1 năm hoặc kì hạn 3 năm với các tuỳ chọn all upfront, low upfront và no upfront.

Kết bài

Đây có thể nói là chứng chỉ nghe tên hơi vô bổ vì ít người trong group làm game 😂😂😂 Tuy nhiên nếu ai có hứng tìm tòi khám phá thì nên thử vì chúng ta sẽ thấy khá quen thuộc như Call of Duty chơi đơn sẽ có host kiểu gì để vẫn download đc DLC, nhưng khi chuyển sang chơi multiplayer sẽ dùng host gì. Và game thế giới mở dùng host gì và khi đó scale up/out tài nguyên cloud ra sao. Vẫn khá hữu ích để kiểm tra kiến thức EC2, AWS Lambda, SAM, ECS,.... của bạn.

Tham khảo

https://explore.skillbuilder.aws/learn/public/learning_plan/view/1570/aws-for-games-learning-plan-cloud-game-development


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.