Hello, I’m Rafał, one of the developers behind Playlive, our server-side solution for all of our games. Today I will tell you how we add new features to our platform.
So what is Playlive? Playlive is a platform as a service (PaaS) which helps in game development. The platform is a server-side solution that manages player data, allows for constant in-game balancing & tweaking, and easy access for publishers and developers to send announcements to their players. Playlive also manages in-game competitions, including the leaderboards, progress, and leagues.
Our goal is to differentiate ourselves from other similar services by creating a platform that is easy to integrate with a comprehensive set of features ready out of the box. It is a solution we apply to our self-published games as well as to our client’s games, when applicable.
As with any of our games, we continually seek to improve the value of Playlive. There are multiple sources for new features:
– Bespoke solutions: some projects need a specific feature which is not provided by the game’s engine
– Observe the developers: we figured that developers were combining existing features to achieve something bigger, so we can utilize those observations to make a streamlined solution
– Developers’ feedback: developers come to us with suggestions and to verify if their approach to developing a feature is correct
BESPOKE SOLUTIONS & IMPROVEMENT PROPOSALS
In the case of tailor-made solutions, we talk with team members to understand theirs and the client’s needs and gather information about how they will use the features. In most cases, they are very specific and explained in terminology closely related to project itself. Our primary task is to identify the core functionality which will later be useful for other projects. In addition, we’re looking to create features that are either easy for our client to access and make in-game adjustments or require little work on the part of the developer.
Sometimes it means that we’ll add more functionalities which are not needed for the project but makes the whole feature more flexible. By using this strategy, the platform value increases much more than if we would implement features according to the original request.
DEVELOPER OBSERVATION & FEEDBACK
In the second and third cases, depending on the situation, we are moving a functionality from some project directly to the server or to our SDK. It’s another way to avoid duplication of the developer’s efforts. Another benefit to this approach is that the next integration is much faster. There is no need to spend time on research, design, and tests; everything has already been done and has been proven to work. We will also brainstorm with the developers to try to find the best way to achieve their (and in some cases, the client’s) desired outcome using existing features.
Once we have a feature in mind, we begin development. The first element of a successful feature is running functional tests. These tests are a set of automatic operations which check if a feature works as our client expects. Tests allow us to organize everything better and avoid situations where we focus on details at the beginning.
When the high-level vision is ready, we start implementation by trying to reuse as many existing building blocks as possible. Very often it’s not possible, but instead of starting from scratch we generalize existing code or refactor it to avoid duplication and finish implementation faster. It’s another situation where automated tests are helpful – we are sure that nothing breaks after making changes.
MAKING IT REUSABLE
When we move a new feature to the SDK, our goal is to write it in a way that the developer will be able to use it without spending hours on reading the documentation. Of course, we’re still writing the documentation with enough detail so that a developer who is new to the project or who needs to implement the same feature to another project can do so easily. We always include examples of where the feature can be used, a list of exceptions which need to be handled differently, and other recommendations.
Before releasing the new feature, we take some time to check how it will behave on a larger scale. Therefore we prepare load tests which simulate a certain number of potential users to spot parts of the platform which needs to be optimized.
OTHER PLAYLIVE BENEFITS
As I mentioned before, Playlive offers a few key features which are beneficial not only to us for our self-published games, but also for our clients and their games.
One of the most compelling benefits of Playlive for our clients is the ability to change the balancing of the game without having to make a new release. This ability saves everyone time and gives the client greater control of the game without having to rely on our team.
Playlive also helps to minimize cheating as some of the logic is validated on the server-side beyond the player’s control. For example, all inventory operations are logged, so the implementation of gacha, lottery, and periodic rewards in your game is trivial. This means you can check if player progress is 100% legit.
The final benefit I’ll mention is the ability to get in touch with all of the game’s players at once through various forms of messages, like direct text messages, push notifications, and platform-to-players announcements. All of these messages are schedulable and easily editable.
Thanks for reading! I hope you’ve enjoyed learning about Playlive!
Edited by Lizzie Farquhar