How we do it: Playism - multifunctional Symfony platform for computer games’ distribution

As a software house we implement e-commerce tools in many of our projects. In most cases our clients have precise business plan in which e-store is used as a distribution channel for their products. In such cases we usually use Magento, one of the most popular e-commerce solutions. We covered this topic in the article What to remember when hiring Magento web design agency in Poland?

Sometimes a ready-made platform is simply insufficient for clients’ needs and their business expectations. An individual approach is the only way to achieve set goals in such cases – it allows us to develop a flexible tool that is strictly adapted to our client’s needs.

We recently worked on the project for our client from Japan, which can be described as a multifunctional platform for computer games’ distribution. The platform, apart from the standard e-commerce mechanism for purchasing games via e-store, was extended with a variety of additional modules. Their task was to make the website more user-friendly and to facilitate business management for our client. Check out which implementations we found the most interesting:

Sale submission

One of the most important parts of created system is the module that allows developers to put their games up for sale. Thanks to the exclusive access to the administrative panel everyone registered in the system can add and then sell their own game. Before it can be published, each game submitted via this panel is redirected to administrators of the website to undergo a verification process.
This module is a convenient tool that automates the process of the negotiations between the developers and platform owner. It allows to quickly manage products available on the platform in cooperation with their creators, who can influence the way their products are displayed in the online store.

Support for multiple online payment systems

Support for multiple online payment systems

This project required us to implement online payment gateways. Depending on the active language version of the website, we had to made sure that different payment methods are available to use. Due to that, we created a simple mechanism that allows to configure and provide a new payment method. This solution allows for a quick expansion and thanks to that the application is prepared for adding new payment methods in the future. At the moment the system offers payments using Paypal and two services from Japan: WebMoney and Bitcash.

Helpful dashboard

The platform has been equipped with a very useful dashboard, which is the home screen of the control panel. In a transparent way it presents the most important information on how the platform works, what is the revenue of the store, the data about sold products/new orders and many more.

Automated promotional campaigns

Playism - automated promotional campaigns

A module responsible for creating and managing promotional campaigns was created in order to improve their management. Right now discounted products are presented in the special boxes.

Directly connected to the promotional campaigns is a discount-coupon module. It’s fully configurable for administrators, thanks to what they can create any type of coupon depending on how it’s supposed to be used.

Advanced statistics’ system

In this platform we also implemented an advanced statistics’ system that allows to track information about the products’ sales on the platform. Statistics can be filtered to show data about the sales in the selected period, chosen games or their developers.
Thanks to this, both the owner of the platform and the author of the game can monitor products’ sales in the online store.

Game recommendation system

Playism - Game recommendation system

We created two modules for games’ recommendations on their product pages. The first one is responsible for presenting titles recommended by administrators during the publication of the game. The second one is based on the algorithm that automatically selects games basing on such criteria as game’s category, game’s developer, price or the number of reviews. This solution allows users to purchase other productions they may be interested in while visiting product pages of already chosen games.

Background tasks

Some processes of the control panel may take a long time. Normally it would mean that administrators are unable to work and have to wait until the process is finished. To solve this problem we created the mechanism that allows tasks to be run in the background. When bigger calculations are asynchronous, then administrators can continue their work while receiving real-time updates on background tasks. This mechanism was used in, for instance, import module or statistics calculations.

Dedicated gaming forums

Playism - Dedicated gaming forums

Each game has its own dedicated forum where logged-in users can share their opinions. Thanks to the dedicated editor users can create new threads, cite published answers as well as embed graphics or videos.

Users can add threads from selected forums to their favorites, which are accessible from their user account page. They will be also notified about publication of new comment. Administrators can moderate posts within the forum (not via control panel), what makes it easier to keep a track of the correspondence and to execute moderation activities.

Preparations for scalability

Processes that run in the background are tightly connected with the preparation for launching the application in the scalable environment. Such environment automatically regulates for instance the amount of instances of the application that are running at the same time.Because of that there’s a risk that the instance will be interrupted before the whole process is finished, what will cause its termination. If such situation occurs, then the process is automatically resumed by new instance and the administrator receives the notification about it.

Reviews’ system

Playism - Reviews' system

Users that bought a game can share their opinion on it via review’s module. It verifies whether reviewers own games they describe (which is important for the credibility) and are registered (as well as logged-in) as users of the portal. Other registered users can rate the usefulness of the published review. The system takes care that at the very top of the list are displayed entries that were evaluated as the most valuable (they have the most positive ratings), and the ones that were most frequently evaluated.

Management of game’s site

Administrators of the system were equipped with additional tools that help with the game publication management within the platform. Thanks to these mechanisms they can control the schedule while whole publication process is automated.

Apart from settings related to publishing product pages, administrators can also extend these sites with so-called DLCs, such as soundtracks or expansion packs. They work as full-fledged products, what essentially means that they can be included in promotional campaigns or gifted to the other user. Game developers can also submit them to the publication via creator’s panel, just like regular games.  These add-ones are presented in a list and can be bought individually from the games’ product pages. When purchased they can be downloaded from the user’s game library in the “add-ones” section.

Social mechanisms

Playism - Social mechanisms

The system also implements social mechanisms that are designed to engage the user. All users registered in the system have the option of socializing. Users who are friends can view each other game libraries (when their privacy settings allows it), exchange private messages or to gift a game.

Gifting a game is based on purchasing it for other user. The giver pays for the game and choose to whom it has to be sent. Recipient will receive an email with a special code and a link to a form that allows to download a game with the use of said code. After entering it the game is assigned to a user account and then can be downloaded from the library of games.

Summary

Those features are only a part of the whole system, which capabilities are far greater. The whole implementation was designed to automate and facilitate the management of this kind of portal. Described system has been launched for our client from Japan as a re-designed version on Playism store - online store offering indie games from Japan.

If your project also has a non-standard requirements - please contact us and we will help you to create a flexible system suited to your needs.

Navigate the changing IT landscape

Some highlighted content that we want to draw attention to to link to our other resources. It usually contains a link .