Dùng hệ thống back-end phù hợp cho game
Trang tin Develop phỏng vấn các chuyên gia để tìm hiểu về hoạt động của các dịch vụ nền và tầm quan trọng của chúng. Ngày nay, gần như mọi trò chơi đều phải kết nối trực tuyến ở một vài phần nào đó, và dù chơi đơn vẫn được nhiều người ưa thích, tính tương tác đa người dùng, dù là ...
Trang tin Develop phỏng vấn các chuyên gia để tìm hiểu về hoạt động của các dịch vụ nền và tầm quan trọng của chúng.
Ngày nay, gần như mọi trò chơi đều phải kết nối trực tuyến ở một vài phần nào đó, và dù chơi đơn vẫn được nhiều người ưa thích, tính tương tác đa người dùng, dù là cạnh tranh, phối hợp hay chỉ là giao tiếp xã hội, cũng đang ngày càng trở nên phổ biến.
Cùng với một mô hình phát triển mới tập trung vào thiết kế trò chơi theo cốt truyện và cập nhật liên tục, đặc biệt là trên di động, thì việc thiết kế lối chơi chỉ còn là một phần của quy trình phát triển ngày càng phức tạp hơn. Rất nhiều nhà phát triển nay phải cân nhắc xem trò chơi cần có nền tảng kỹ thuật thế nào.
Đã có rất nhiều công ty xuất hiện trong những năm qua để xây dựng những cơ sở hạ tầng cho trò chơi điện tử, và thường gọi chúng với cái tên “back-end as a service’ (BaaS). Có nghĩa là gì?
Những nguyên lý cơ bản
“BaaS có thể là một thuật ngữ dễ gây hiểu lầm,” John Griffin, CMO của một trong số những công ty cung cấp dịch vụ như vậy tại Anh, GameSparks, cho biết.
“Ở GameSparks, nó có nghĩa là cung cấp cho nhà phát triển mọi thứ cần thiết từ phía máy chủ theo mô hình xài bao nhiêu tính tiền bấy nhiêu. Có một số điểm quan trọng ở đây. Đầu tiên là quy mô cung cấp dịch vụ BaaS. Hiệu quả nhất là, dịch vụ cần cung cấp cho nhà phát triển một gói đầy đủ các cấu phần phía máy chủ để họ chỉ cần kết nối với trò chơi của họ, rút ngắn thời gian phát triển.
Thứ hai, dịch vụ này nên cho nhà phát triển quyền kiểm soát các cấu phần máy chủ này để họ làm những gì họ muốn, thay vì bị giới hạn bởi nhận định của riêng chúng tôi về hoạt động của một phần nào. Nó cũng cần phải linh hoạt, cho phép người dùng xây dựng tiếp dựa trên những cốt lõi được cung cấp. Ngoài ra, nó cũng cần phải tối giản hóa phần điều hành máy chủ và các lớp kết nối mạng bên dưới để nhà phát triển không phải lo lắng gì về khả năng mở rộng, và cuối cùng, đây là dịch vụ đơn giản hóa các chức năng máy chủ trực tuyến phức tạp với một mức giá chấp nhận được và gắn chặt với sự thành công của trò chơi đó.”
“Có nhu cầu phải đáp ứng được với môi trường phân phối bị chia nhỏ, khi mà có quá nhiều nền tảng và cửa hàng ứng dụng.” – John Griffin, GameSparks. Ảnh minh họa: Winterfort
CEO của Kumakore, Henry Yeh cũng bổ sung thêm rằng BaaS hiện đang là tầng tối giản hóa cao nhất dành cho nhà phát triển trò chơi, mà dùng điện toán đám mây. Ông giải thích rằng có vô số mức độ đơn giản hóa tạo nên các gói công nghệ dịch vụ nền máy chủ, như các nhà phát triển nhỏ có thể sử dụng máy chủ vật lý của riêng họ hoặc triển khai trên các dịch vụ đám mây như Azure hoặc Amazon Web Services.
“Với những hình thức đó, bạn trả trực tiếp ngay khi bạn triển khai máy chủ, nên bất kể bạn sử dụng bao nhiêu, bạn vẫn trả một giá mặc định để ‘duy trì’,” ông cho biết.
“Ở cấp tiếp theo với điện toán đám mây, bạn có các dịch vụ PaaS (Platform as a Services) như Heroku, và họ xây dựng dịch vụ dựa trên tầng thấp của điện toán đám mây, nhưng cung cấp dịch vụ của mình sao cho nhà phát triển chỉ cần trả dựa trên khối lượng dịch vụ đã dùng mà thôi. Và cuối cùng là BaaS, không yêu cầu bất kỳ kiến thức lập trình máy chủ nào, vì đã cung cấp toàn bộ API cho nhà phát triển rồi. Ví dụ như, một dịch vụ BaaS thông thường như Parse có thể hiểu là một API để tích hợp MongoDB.”
Các công ty trong ngành này cung cấp hỗ trợ cho một số tính năng trò chơi bao gồm bảng xếp hạng, hệ thống thành tựu, tiền và vật phẩm ảo, quản lý kho vật dụng của người chơi, lối chơi đồng bộ, hiện thông báo điện thoại, thống kê và trò chuyện.
Dù nhà phát triển cũng có khả năng xây dựng mọi dịch vụ như thế này, Yeh tin rằng khi người chơi tập trung nhiều hơn vào các yếu tố lối chơi cốt lõi, thì không phải lúc nào cũng đáng công để một studio đầu tư thời gian vào công nghệ riêng của họ khi mà đã có kha khá nhà cung cấp dịch vụ kiểu này trên thị trường.
“Họ được người chơi yêu mến vì làm được trò chơi hay,” ông cho biết. “Một số nhà phát triển cũng nhận ra yếu tố quan trọng này là thứ đã cho phép họ biến niềm đam mê thành công việc làm ăn thành công. Chẳng có người chơi nào lại chọn trò chơi chỉ vì các dịch vụ máy chủ của nó cả.”
Hướng tới tương lai
Khi trò chơi ngày càng trở nên phức tạp, dù chỉ trong một vài năm qua, thì nền tảng dịch vụ phía sau chúng cũng thế. Griffin cho biết đã có một kiểu “cách mạng kiến tạo hạ tầng” diễn ra một cách âm thầm trong các trò chơi, đặc biệt ở lĩnh vực di động.
Ông cho biết trò chơi giờ đây phụ thuộc nhiều hơn vào các cấu phần máy chủ, thúc đẩy bởi tầm quan trọng ngày càng tăng của tương tác xã hội trong trò chơi – một điều mà các hãng sản xuất nền tảng console đã chú ý và bổ sung với các thế hệ console sau này – đóng vai trò động lực thúc đẩy sự cam kết của người chơi, tỷ lệ giữ chân và tìm kiếm thêm người chơi mới.
“Nó bắt nguồn từ sự biến thể của các mô hình kinh doanh, khi các dòng lợi nhuận trong trò chơi, như quảng cáo và bán vật phẩm ảo, ngày càng trở nên quan trọng,” Griffin cho biết. “Ngoài ra cũng có nhu cầu phải đáp ứng được với môi trường phân phối bị chia nhỏ, khi mà có quá nhiều nền tảng và cửa hàng ứng dụng, một vài trong số đó rất kín cổng cao tường, khiến cho việc kiểm soát phiên bản và tung trò chơi trên nhiều nền tảng và cửa hàng càng khó khăn hơn. Bên cạnh đó còn có yếu tố thay đổi tư duy từ xây dựng sản phẩm – đặt mục tiêu là doanh số và trò chơi phải tương đối hoàn thiện trước khi tung ra – sang tư duy làm dịch vụ, khi đặt mục tiêu là mối quan hệ năng động với khách hàng, và bản thân trò chơi còn thay đổi rất nhiều sau khi tung ra.
David Lee từ Sleepy Giant, là người điều hành công nghệ back-end Fofofum, cho rằng những thay đổi trong lĩnh vực này đến từ những engine như Unity, khiến cho việc phát triển trò chơi trở nên dễ dàng hơn cho những nhà phát triển, cũng như ngày càng có nhiều giải pháp để tối ưu hóa lợi nhuận và tỷ lệ tương tác.
David cho rằng mặc dù ban đầu những dịch vụ thế này chỉ là “phân tích chỉ số”, dữ liệu đơn thuần “không có giá trị”, cho đến bây giờ khi các công ty cung cấp cả dịch vụ tự động nhắn tin cho người dùng qua thông báo và e-mails.
“Lĩnh vực mà tôi thấy còn tiếp tục tăng trưởng sẽ là ở các tính năng tự động phức tạp hơn dành cho dân marketing trò chơi, vì họ cần biết quảng cáo nào đang có hiệu quả đầu tư tốt nhất và với quá nhiều hệ thống như hiện nay, họ sẽ cần một engine tự động tốt hơn có khả năng lấy thông tin từ nhiều nguồn và xử lý nhiều quy tắc lọc hơn so với hiện tại,” ông cho biết.
Griffin cho rằng những xu hướng kiến thiết hệ thống như thế đang gây khó khăn cho nhà phát triển. Bên cạnh phải làm việc với lối chơi chính, giờ họ cần phải hiểu cả công nghệ phía máy chủ nếu muốn thành công.
“Công nghệ back-end tốt ngày càng trở nên quan trọng – nó không chỉ là thực hiện các tính năng máy chủ, mà nó còn là cách thiết kế chúng nữa,” ông cho biết. “Bạn cần những công cụ hữu hiệu, có thể mở rộng, linh động nhưng vẫn dễ bảo trì, mà không tốn quá nhiều thời gian và công sức đáng ra phải dùng để làm những việc quan trọng nhất – làm và điều hành các trò chơi thú vị nhất có thể.
“Liệu các nhà phát triển có biết điều này không? Thường thì các bên đã làm lâu rồi đều hiểu. Tôi nghĩ giới phát triển trò chơi tự do sẽ cảm thấy khó vì điều này có nghĩa là họ phải có những kỹ năng lập trình máy chủ cùng với lập trình bản cài, và, thường là họ không có kinh nghiệm về việc này. GameSparks ra đời là để giúp họ và cân bằng cuộc chơi với các nhà phát triển lớn, khi chúng tôi mang các tính năng máy chủ ở tầm doanh nghiệp cho họ với giá phải chăng.”
Hướng phát triển mới
David Xicota, CEO của Gamedonia, bổ sung thêm rằng những nhà phát triển lớn đã biết tầm quan trọng của công nghệ back-end tốt từ rất lâu, nhưng cũng cho rằng rất nhiều nhóm tự phát triển đã bỏ qua giá trị của các công nghệ này.
“Đôi khi, họ phát triển những cấu phần này quá trễ trong quy trình làm trò chơi – khi họ đã hoàn tất bản cài – và thành ra sản phẩm kém chất lượng hơn do thiếu kiến thức trong cài đặt và bảo trì hệ thống này,” ông cho biết.
“Không dễ để nhận thấy tầm quan trọng của công nghệ back-end cũng ngang ngửa với front-end. Thời bây giờ, yêu cầu về back-end đã là một chuẩn mực mà mọi người đều đòi hỏi.”
CEO của PlayFab James Gwertzman cho rằng khi càng nhiều trò chơi đi theo hướng cung cấp dịch vụ GaaS, thì tương lai sẽ thuộc về những ai có thể vận hành trò chơi trực tuyến một cách thành công.
“Vận hành trò chơi một cách hiệu quả thật sự rất khó,” ông cho biết. “Làm việc này tốt đòi hỏi các dịch vụ và công cụ back-end cho nhóm vận hành phải hỗ trợ được mọi vai trò liên quan – từ chăm sóc khách hàng, quản lý sản phẩm, marketing, thiết kế trò chơi, phân tích dữ liệu … – và cả kiến thức để thực sự sử dụng được các công cụ đó nữa.
Tuy nhiên , Lee có quan điểm khác khi ông cho rằng các nhóm tự phát triển không có đủ tiền để phát triển các công nghệ back-end này hoàn chỉnh như vậy, thay vào đó xây dựng công cụ nội bộ hoặc dùng các hệ thống như Parse hoặc Kinvey có thể cung cấp khoảng 20% nhu cầu của họ rồi.
Với những nhà phát triển lớn với nhiều tiền hơn, đây thường là vấn đề sống còn cho sự thành công.
“Tôi đã thấy nhiều trò chơi thất bại vì sự cứng nhắc của nền tảng từ phía máy chủ, hoặc không hoạt động đúng, hoặc không linh động.” Lee cho biết.
“Đôi khi, họ phát triển những cấu phần này quá trễ trong quy trình làm trò chơi – khi họ đã hoàn tất bản cài – và thành ra sản phẩm kém chất lượng hơn do thiếu kiến thức trong cài đặt và bảo trì hệ thống này.” – David Xicota, Gamedonia. Ảnh minh họa: Orcs Must Die: Unchained
License dịch vụ BaaS
Với tầm quan trọng của việc xây dựng hệ thống back-end như vậy, liệu nhà phát triển có nên mua hay tự xây dựng nó? Yeh cho biết dịch vụ BaaS hoạt động tốt nhất với những công ty cần trình diễn nhanh sản phẩm và đưa tính năng ra ngay, và so sánh nó với các engine trên thị trường, mà nhiều nhà phát triển chọn cách sử dụng công cụ của bên thứ ba thay vì tự phát triển.
“Không phải là nhà phát triển không thể xây dựng công nghệ này, mà là hiệu suất của nó không cao,” ông nói. “Và, khi phát triển trò chơi là công việc làm ăn thật sự của bạn, thì tự phát triển công nghệ mới có thể là một bài tập vui chứ không hẳn là một quyết định kinh doanh sáng suốt.”
Xicota cho rằng nhà phát triển nên cân nhắc khía cạnh dịch vụ như vậy hỗ trợ được gì cho sản phẩm cuối cùng. Dù các lập trình viên BaaS làm chuyên về mảng này, ông cho rằng với một nhóm ít kinh nghiệm thì cũng khó đạt được hiệu quả mong muốn.
Tuy nhiên, ông đồng ý rằng các nhóm đa tài có thể tự xây dựng hệ thống riêng, còn, như Yeh nói, các nhà phát triển nhỏ cũng dần sử dụng nhiều hơn các engine của bên thứ ba.
“Liệu có hợp lý không nếu mỗi studio phải lập trình một engine cho riêng mình? Tôi không nghĩ vậy,” ông cho biết. “Đó là lý do vì sao ta thấy các engine tốt lại thành công như thế. Thế, tại sao bạn lại muốn phát triển back-end riêng nếu thực sự tìm được dịch vụ linh hoạt và chuyên nghiệp hơn trên thị trường?”
Griffin thì cho rằng thay vì chọn một trong hai, nhà phát triển có thể sử dụng cả hai. Ông giải thích rằng GameSparks cho phép các studio sử dụng những phần nhất định trong gói dịch vụ của họ, được điều chỉnh cho phù hợp với hệ thống back-end mà studio có sẵn.
“Không nhất thiết là phải một trong hai,” ông nói. “Với những trò chơi phức tạp có người dùng lên đến hàng triệu, giá công nghệ máy chủ có thể rất cao, chưa kể đến giá phát triển và thời gian cần thiết nữa. Tôi cho rằng phần lớn công ty nên đánh giá xem họ có thể lấy được gì từ nhà cung cấp dịch vụ bên ngoài, đặc biệt là khi chúng có thể tích hợp tốt với hệ thống nội bộ bạn đang có.”
Techtalk via Develop-online