GameSparks - Cơ sở dữ liệu cloud miễn phí cho game
Bài đăng này đã không được cập nhật trong 3 năm
Lời mở đầu
Xin chào mọi người! Vài ngày trước mình có làm một game nhỏ trên facebook và mình đã rất băn khoăn khi phải tìm cách lưu score của từng người chơi. Facebook - theo mình tìm hiểu được thì hiện tại chỉ cho phép mỗi người chơi nhìn thấy score của chính họ và bạn của họ trên đó, nếu bạn muốn làm leaderboard của toàn bộ người chơi trong game thì sẽ phải dùng một cách khác phức tạp hơn một chút. Trong lúc bối rối đó, mình đã tìm được một giải pháp rất tốt đó là sử dụng GameSparks - một cloud database rất tiện dụng và dễ tích hợp vào Unity.
Khái quát về GameSparks
Như đã nói ở trên GameSparks là một cloud database và theo ý kiến của mình thì nó rất mạnh mẽ cho những game vừa và nhỏ, là lựa chọn rất thích hợp cho các team indie và các công ty nhỏ. Chúng ta sẽ xem GameSparks mang đến những tính năng gì khi được tích hợp vào trong game:
- Xác thực đăng nhập/đăng kí: GameSparks cho phép chúng ta tạo cho người chơi rất nhiều lựa chọn để đăng kí/đăng nhập trước khi vào game: - đăng nhập bằng cách nhập username/password truyền thống. - đăng nhập dựa trên thiết bị mà người chơi đang sử dụng, tức là khi bạn chơi game mà không muốn đăng kí một tài khoản mới thì GameSparks sẽ đăng kí một tài khoản dựa trên thiết bị đó. nhược điểm của cách này đó là người chơi sẽ không có tên hiển thị. Để gán một tên hiển thị cho người dùng chúng ta cần dùng một API (ChangểUDetailsRequest). - đăng nhập qua tài khoản mạng xã hội: đây là cách đăng nhập phổ biến nhất hiện nay và rất may cho chúng ta là GameSparks hỗ trợ xác thực thông qua hầu hết các mạng xã hội nổi tiếng hiện nay gồm: Facebook, Amazon, Google Plus, Steam, Twitter, XBOX Live, Twitch, WeChat, QQ ... Điểm nổi bật của GameSparks là khi bạn xác thực người chơi thông qua tài khoản mạng xã hội thì GameSparks (GS) sẽ tự động lấy danh sách bạn bè của người chơi và bạn có thể sử dụng danh sách này để tạo leaderboard giữa người chơi với bạn bè của họ.
- Cloud Code: nếu game của bạn cần xử lý logic trên server thì Cloud Code là thứ bạn cần. Bạn có thể viết code logic của game như các giao dịch mua bán Item trong game, xử lý logic những hành động chống hack... có một điều cần chú ý là code xử lý ở đây sẽ được viết bằng javascript.
- Development Process: GS cho phép bạn tạo ra các version của các API trên server, nghĩa là bạn có thể release game của mình từ trước đó và cho người chơi truy cập vào các API đã chạy ổn định, song song với đó thì bạn có thể tiếp tục phát triển các tính năng khác hoặc sửa đổi các API đã có rồi tạo ra các bản test cho các API mới mà không ảnh hưởng gì đến game đã release.
- Messaging: đây là một tính năng rất hay cho phép chúng ta gửi thông báo tới từng người chơi mỗi khi điểm cao của họ bị đánh bại bởi người chơi khác hoặc những event khác mà bạn muốn thông báo đến người chơi.
- Real-time server: GS cung cấp cho chúng ta một môi trường rất nhẹ và dễ thiết lập cho nhiều dạng game multiplayer với độ trễ thấp và dung lượng dữ liệu truyền qua lại thấp.
- trên đây là những tính năng chính mà mình thấy rất cần thiết mà GS cung cấp cho chúng ta, nếu các bạn muốn tìm hiểu kĩ hơn thì có thể xem thêm tại trang document của GS (https://docs.gamesparks.com/documentation/).
Các nền tảng mà GameSparks hỗ trợ
Mặc dù đây là bài viết về GameSparks và Unity3D nhưng ngoài ra GS cũng hỗ trợ rất nhiều các môi trường khác như:
- Action Script
- Android
- C++
- Cocos2d-x
- iOs
- Javascript SDK (các bạn làm React hoặc React native cũng có thể tham khảo GS để làm server cho ứng dụng của mình).
- Marmalade
- Unity3D - tất nhiên rồi.
- Unreal Engine
- Corona
Download Và Tích hợp vào Unity3D
Nếu bạn lần đầu sử dụng GS thì các bạn cần đăng kí một tài khoản trên trang https://www.gamesparks.com/unity/. đầu tiên, bạn nên chọn phần Pricing trên menu và đăng kí một tài khoản Indie & Student Programme. Tại sao phải như vậy? bởi vì nếu bạn chỉ đăng kí tài khoản Evaluation thì game của bạn không thể publish được mà chỉ dùng để test. Tài khoản Indie cũng là free nhưng sẽ cần khoảng 1 đến 2 ngày để GS approve cho bạn nên cứ bình tĩnh nhé. Tài khoản Indie sẽ phải trả tiền khi game của bạn đạt 100,000 người chơi hoạt động mỗi tháng và bạn sẽ phải trả 2¢ cho mỗi người chơi vượt quá số 100,000 người chơi hoạt động mỗi tháng.
Khi bạn đã đăng nhập thành công thì bạn sẽ được chuyển đến trang quản lý - nơi bạn có thể tạo ra server cho game của mình: như các bạn có thể thấy đây là một game mình đã tạo sẵn để test. Trên tài khoản của các bạn, các bạn có thể dễ dàng tạo ra game server của mình bằng cách click vào dropdownlist phía trên cùng góc bên trái và chọn Add Game: một bảng lựa chọn sẽ hiện ra và các bạn cần điền tên game, mô tả ngắn gọn và chọn region mà bạn muốn (Asia, Euro...): khi add game thành công thì chúng ta sẽ thấy được thông tin chi tiết về game và thứ quan trọng nhất mà chúng ta cần quan tâm đó là GS API key và API secret key bạn cần 2 cái này để config GS trong Unity. Tiếp theo chúng ta sẽ cùng tìm hiểu cách tích hợp GS vào Unity. Để download GS sdk cho Unity các bạn vào link sau: https://docs.gamesparks.com/sdk-center/unity.html và click vào link để download: tiếp theo bạn cần tạo một project trong Unity và import sdk mà bạn vừa tải vào project đó:
- tạo Project trong Unity:
- Import sdk:
- Chọn đến file mà bạn vừa tải: ấn Import và chờ Unity load các file trong sdk là bạn đã import thành công.
- Test xem GS đã hoạt động hay chưa bằng cách double click scene GameSparksTestUI trong tab Projects:
- tiếp theo chúng ta cần nhập GS API Key và Secret Key vào phần config của GS: bạn cần nhập đúng API Key và Secret Key từ trang quản lý của GS. Okay, giờ thì ấn play thôi nào: nếu bạn thấy chữ AVAILABLE ở góc trên bên trái màn hình thì chúc mừng bạn đã tích hợp thành công GameSparks vào Unity rồi đó.
Lời kết
Trong bài viết ngắn này, mục đích của mình là giới thiệu đến mọi người 1 cái nhìn tổng quát nhất về GS - tác dụng của nó là gì? nó giúp ích gì cho bạn khi phát triển game và cách tích hợp GS vào Unity. Hi vọng bài viết sẽ giúp bạn có thêm một lựa chọn mới khi cần một server cho game hoặc app của bạn. Trong những bài viết tiếp theo mình sẽ đi sâu hơn vào hướng dẫn các bạn cách làm những feature cụ thể hơn với GS. Cảm ơn mọi người đã đọc bài và hẹn mọi người trong các bài viết sắp tới.
All rights reserved