Let's discuss about one of the eternal questions of software development: creating your own code for common tasks or using external
In this first post two of our coders will discuss about one of the eternal questions of software development: creating your own code for common tasks or using external plugins made by other developers.

Xavier Giralt, lead developer at U-Play Studios: Use plugins from Unity Store

I love programming videogames. It has always been my dream, my passion and now that I have fulfilled my dream, I want to spend as much time as possible doing so. I describe myself as a gameplay programmer and I love programming the game “itself”, so maybe that is why I do not like writing my own plugins for accomplishing low-level tasks.

Saving time

For example, managing InApp purchases. It has little to do with the gameplay of our games, and it is a task I always try to avoid. In our Unity games we have the usual set of InApps available, we do nothing fancy, nothing special… Why should I lose too much time implementing InApps in the way that Android and iOS want, if I can find good and reliable plugins in the Unity Store that do this for me?

I do not deny it is necessary to understand (to some extend) the technology that plugins allow you to use. Obviously, you need certain knowledge of what you are doing, but you really should not be aware if google renames some of his Google Play Services API, or if the current version of InApps is 3.0 or 2.0.

Saving money

Look at this from the economic point of view. Let’s hire a video game programmer who earns 2000$ a month. We want him to integrate InApp purchases from the scratch into our game. He works 40 hours a week, so his salary per hour is 12,5$. There are some plugins in the Unity Store that cost 50$ per platform and integrate inApps in a very easy way. So, will our programmer be able to program a whole new system from the scratch in 2 hours? Obviously no, and not by a long shot.

Everytime I discuss this with someone who likes to have full control of everything, and does not use any plugins, the discussion always reaches the same point. The point where the sentence “but if I write it myself I will make a system more suited to our needs” comes into play. My answer then is always the same: “I absolutely agree with you”. I am sure that a homemade system will adapt better and do exactly what you want, and nothing else, but what about the cost? Is it really worth it?

Relying on highly-gifted programmers

In addition, we are not taking into account that normally those plugins are made by people who are more skilled than us in that specific field. For example, NGUI. I always use NGUI in my Unity projects because I don’t like how Unity’s native GUI system works. If you have worked with it, you probably know how skilled NGUI’s creator is (he was hired to work at Unity to replace the whole gui system for a completely new one). It is very naive to believe that we can do a better system than him, when I mean better, I mean draw call efficient, memory efficient, easy to use, multiplatform, etc.

Saving testing time

We also have to add the “testing factor” into the equation. Those mass-used plugins are tested by a lot of people daily, and they are virtually bug-free. Our little-but-cute system has to be tested thoroughly and can fail any time.


On the other hand, there are always drawbacks of using a plugin. Some parts may be difficult to integrate in your code, maybe they do more things than you need or less, but in general, I am very keen to use one if it can save me time and work, even if I have to adapt to some limitations, specifications that external plugins may have.

Quim Garrigós, lead developer at U-Play Online (+QuimGarrigos): Create plugins from scratch

I have been working as a developer for more than 16 years and I have faced this problem many many times. When I decided to use an external library for some task most of the times it has resulted in a bad decision. After so many headaches now I usually tend to develop my own plugins even before trying other libraries for the same purpose.

Of course, I do not like doing tedious tasks such as implementing the in-app payment system for every store where we publish the game, but I have learned I can finish it before if I do it by myself. Back in 2011, when we first published a mobile game, Google had just released the IAP for Android Market, we tried an external plugin that was not cheap. It was poorly documented and after taking a lot of time to learn how it worked and how to integrate it, we discovered it crashed in a closed part of the code. The original developer never responded our queries and we gave up using that plugin. In the end it was all a waste of time and money.


Usually plugins, specially big plugins, have a lot of features and flexibility to be suitable for all different use cases. That means two things: bigger size for the final build and compromised performance due to some features you will never use.

Features and closed source

No matter how big is your plugin you will always find that it lacks that unique feature you need for your project. You may be close to the end of the development but you may be forced to rollback using that plugin because it is impossible to do that simple thing you need with it. In some cases, if you have the source code, with luck you can try to dive into hundreds of lines of code to change it. If you do not have the source code, you can ask the developer to help you, but that will surely add some delay to your project.

Learning and integration

Plugins may be so complex that integration time may last more than implementing the feature by yourself. Most of the times an amateurish documentation does not help, or there is not a community built around the plugin to answer your doubts.

You can easily have a higher cost in development time by using a plugin than implementing it. That is the case of wrapper plugins like IAP. Why learn how to implement a plugin when doing it using the API takes exactly the same time?


Imagine you have a really big project done with NGUI and for some reason you have to change it to another system. In that case the cost of change may be very very high like almost starting the project from scratch. If you used “standard” methods instead, you may be lucky and you will not have to change a line.

My Conclusion

Using game engines itself is an extremely clear example of this. You can develop a game with Unity, you will be fast doing it for sure, you will have support for a lot of platforms and a lot of features. But your game will have some extra Mb in size and a poorer performance than other native languages. And maybe you need to publish your game for a platform Unity does not support and you will have to start the development again.

How many times you had to drop a feature in your game because it is impossible with Unity? In most cases Unity will do the work well, but be sure you will have anything you will need in it before starting.

Final thoughts

Of course, this is an extreme example, you will be safe using Unity in most of your projects and you need to be insane or have a very good reason to choose C++ instead.

There are a lot of good developers out there willing to help you. Your best choice will be always trying what is already done, but you should never discard doing it by yourself, you can always improve what is done in some way.

What are your experiences using plugins? What are your must have Unity plugins?
ranchal, 28 october 2014, 11:50
In the digital entertainment industry, more specifically in video games where there are products with a wide range of qualities and requirements, we find large variations in the visual aspects, due to the power differences that exist in the different game platforms, from mobiles with more limited graphics processors to state-of-the-art game consoles. If we add this to the fact that the budgets of development the companies have, vary greatly from one studio to another, we can then justify the different ways to take on a project. The common aspect in all the cases is to bet on and strengthen the virtues and talents of the members of each studio. In my case I will talk about the role of the animator.

With this introduction I would like to point out the ongoing need to continue having animators in this sector. In my experience I have learned that there are certain projects where a "keyframe" animator (one who uses the computer to animate "by hand", without motion capture) is more important than a good motion capture, either because the animation style gets away from realism or, on the contrary, they try to copy the reality, or because the company cannot afford this kind of technology.

An animator who comes from other media such TV series production, advertising, shorts etc., like me, finds himself faced with a double challenge in video games.

The first challenge is linked to gameplay animations, generally composed of cycles and short actions, which are activated with a simple movement of the player. These animations in general are very direct actions and due to the requirement of the player to get a quick response, they often lack anticipation. An example of this might be a simple jump, the player presses the button and at that moment the character has to lift off the ground. We cannot spend time to create an animation where the character crouches down before jumping, because if we did so, the player would lose the feeling of control.

The second challenge concerns the limitations imposed when using tools to animate. In the development of video games is very important to optimize resources, therefore the rigs (tools used to animate the characters) must be much more limited when animating than in other productions.

Despite these two handicaps, the animator has the same goal as in any other production: to convey the character we see on the screen lives and has a soul. The word animation derives from the Latin word anima which means soul. It is true that while playing the game, we will not see the character has doubts, thoughts, motivations, because the actions taken are executed by the player. However, at some times, other animations are carried out in the game like cutscenes. In the cutscenes the aim is to provide to players the feeling that the character they managed at a level of the game, has anima, giving him life and above all, soul.

Thus, the first goal of an animator is to make the action to perform clear and credible (mechanical principles), the second goal, which makes the difference between a good animator and a great animator, is to get an animation genuinely attractive (artistic principles). If we can successfully express these two goals, then we have achieved to convey the desired sensations to the audience (players) increasing the entertainment value of the product.
It’s common to see how experienced developers –I was about to say experts, but I don’t like that word- highlight the importance of having a clean, fast and appealing landing page on your web site. At U-Play Online, we knew all that stuff, but we didn’t pay the attention it deserved until we saw our own landing page loading time (Striker Manager). Between 5 and 6 seconds.

All began with Google I/O 2014, where we could test our site on the Device Lab. And thanks to +Matt Gaunt and +Pete LePage, we realized that we had a lot of work to do in order to improve our first impression.

Striker Manager 2 Live demo

This document is not about what users want neither what users need. Here you will find some of the techniques we used to reduce our loading time from 5s down to 1s. We are not going to dig deep on mobile specific optimizations as our landing page was only for desktop (a native app is being developed to fit mobile needs).

Server optimizations

Delivering a landing page should be the most straightforward work that a server can do. Ideally, an static and plain html file. However, we live in a dynamic world personalized by suggestions, so server side work is normally needed to print what we think users expect to see. Be careful. Server-side processing means extra delay, especially if complex database queries are involved.

It’s also very important to simplify the path that the request follows to your landing page. Like at previous point, the simpler the better. Locate the page on the default file (/index.html, /default.html…). The path that the request goes through will slow down the content delivery. Avoid redirections at this step of user visit. Think of a header(“Location: … “); in php, that goes back to the browser telling him to go to a new url, so the request will make 2 times the same journey to the server. This may seem ridiculous, but in mobile environments, it can make the difference.

This chapter can’t be closed without mentioning the great gzip. It’s usually missed due to it’s easy configuration. It compresses -as much as it can- the data that your server delivers. Don’t forget it. Nowadays most of the browsers accept compression. And you only need to activate a flag to enable gzip, it’s not a big deal!

JavaScript optimizations

Using JavaScript in web pages is a very powerful but tricky weapon. You can pre-load content in web-shows, handle user input to respond gracefully, avoid page reloads when error occurs, display awesome animations… but at the same time you can be omitting critical behaviours that will slow down your page load and turn into your worst bottleneck in all the process.

“Only load what you need”. That’s the key. Browsers are not humans, they don’t need comments to know what that var means. They don’t even need line breaks. So use code minimizers. Those services delete all the useless comments and line breaks all over the file. That saves space and time. There is also the possibility to change internal parameter names and private function declarations to reduce the footprint without losing coherence with the previous features. You can even join a bunch of files into a big minimized file reducing the needed requests to load all the content.

Another way to diminish file-loading time relies on highly used scripts. Nowadays, anyone visiting your site has probably visited before other sites using jQuery, Bootstrap or AngularJS, for instance. Imagine all that common resources were loaded from a single deliverer, so all sites could share those files and reduce load times on a global scale… Stop dreaming, it’s true, and it’s called CDN (Content Delivery Network). If you are using some of those freaking-common libraries, you should be using a CDN. They will definitely have better load times and uptime rates. Also, the chance to find a cached copy already on the browser is really high, what means that you won’t need to reach up your server to download the file.

Once seen the ways to reduce the page load delay, we should clarify where to locate it on the html hierarchy.

Browsers -obviously- parse the html file from the top to the bottom and they start interpreting all the data until the end. If we locate a slow blocking JavaScript code at the beginning of our beautiful landing page, the last elements won’t start rendering until the JavaScript snippet ends its work. The result: a useless and easy-to-fix waste of time. The best approach is to push all the “script” tags to the bottom of the page. Delaying script run until page load event is fired can also be useful, as we let browser finish its work before starting ours.

Optimizing CSS

CSS may seem the simpler feature to reduce size, as most of the times is composed by short and repetitive statements.

It’s true that minimizing tools do a great job, but the hardest work lies on early days organization. CSS is the responsible for telling the browser how the bunch of html elements will be displayed, a.k.a. rendered. A messy overriding CSS structure will slow down the rendering process and will result on a larger CSS than needed.

Although it’s better to join all CSS files to reduce server calls, the landing page is time critical, so it’s worth the time to arrange a specific CSS file to avoid loading useless styles.

Nowadays responsiveness keeps on growing as an awesome way to go. It’s not that cool. Media queries (the feature beyond responsive design) add a lot of CSS rules that will never be used in a specific device. A hard statistic study has to be done to see if responsiveness is a need or server choosing CSS is a better way to proceed.

HTML optimizations

Your HTML file is the basement and contains the rules that the browser must follow to build the page. It’s very important to choose wisely when everything will happen. When will scripts and styles load can handicap the rendering speed of the site.

Even simplifying the structure of the “visible screen” can help to improve the speed perception. The visible screen refers to that section of your landing page that is visible in the browser frame, the only thing that will be seen at first. It’s always useful to recheck the code and see if you are using 3 elements when you could be using just 2. Eventually, you will have a simpler structure with less rendering times.

Finally, there is an effective way to reduce server calls: embed all JavaScript code and all CSS styles directly into the HTML file. That reduces server calls, style interpretation delay, JavaScript compilation delay… But you lose cache benefits. You should better find an automatic way of doing that when deploying or you can break all contact with reality while maintaining that file.

As you can see, there is no magic in doing a faster landing page while keeping a great design and user interface. On the next article we will dig into image optimization, which deserves a full chapter for itself.

Useful links:

- Google’s library CDN
- Bootstrap CDN
- Page Speed
- Closure service
- Google Chrome Dev tools
ranchal, 30 december 2014, 21:17
U-Play Online releases “Soccer Runner: unlimited football rush!” for Android and iOS devices with exclusive features!
U-Play Online releases “Soccer Runner: unlimited football rush!” for Android and iOS devices. This is the only runner game in the market which mixes perfectly the endless runner essence with street football.

U-Play Online is proud to announce the launch of Soccer Runner: Unlimited football rush!

How to play?

Guide Mark and his trusty ball through a vibrant city to escape from your grumbler neighbour without getting caught! Jump, slide, dodge and break the oncoming obstacles with the ball with simple and intuitive touch controls!

What makes Soccer Runner different than others?

Fans of runner games will have the chance to discover exclusive gameplay. Soccer runner is the only endless runner with penalty shots, totally random and with checkpoint selection!

Play with amazing characters!

Soccer Runner brings a set of funny characters: Mark, a football crazy player; Tora, a karate master; Sakura, a beautiful cheerleader and our lovely tribute to the legendary Mr. Miyagi!

New exclusive challenges!

You can enjoy amazing Japanese settings, over 40 levels with different ranks, exclusive rewards and 120 missions to complete. Along the way you will find 20 customized goalkeepers to face off, enjoying the tense moments of the penalty shots.

Fun and competition for all guaranteed!

Log in with your Facebook or Google+ account and compete against your friends. Prove you are the best runner and beat your friends’ records in one run, thanks to the competition in real time! Collect all the coins, grab power-ups, golden cups and beat your high score!

Free-to-play game available for iOS and Android!

Soccer Runner is free to play and is out on Google Play and very soon on Apple Store. Soccer Runner supports English, French, Portuguese and Spanish.
In the coming weeks, fans can expect additional updates, new characters, and much more exciting content to be revealed. Coming soon on Amazon store and for Windows phone 8 devices.

For more information about Soccer Runner, visit and watch the gameplay trailer!
ranchal, 4 june 2015, 10:51
Is there a future for people bored? About 21 million people get bored at least once per day

Is there a future for people bored? About 21 million people get bored at least once per day. 

According to experts boredom is characterized by wandering thoughts and not knowing what to do.  The findings come from a study of around 10,000 people. An expert team found that those who started playing U-Play Online's games everyday were happy and creative. The researchers involved drew that the only way to overcome the boredom and get the most from our free time is playing games developed by U-Play Online

After several years of research, the cure was just at U-Play Online. Don’t you think so? There is only one way to check if these free-to-play games are the best cure for your boredom moments, download and PLAY them!

Over 5 million people around the world say goodbye to boredom thanks to U-Play Online's treatment 

Where can you find this boredom treatment?

Surely you have heard about the Striker Soccer Saga, Train Crisis and Swipe Basketball. All these games are available for Android and iOS. The treatment is free, all you need is to download them in your mobile device and play! Yes, they will cure your boredom and change your way to enjoy the summer time. Hours of entertainment guaranteed.

In order to reach as many people in need as possible, don't forget to share with your friends this great treatment. 

Striker Soccer: the Saga continues!

No limits! Only you and the ball...

According to sources close to the company, U-Play Online is preparing a new instalment of a football saga which already had over 12 million downloads in 3 years. We don't know the name yet, but it seems this new mobile game wants to follow in the footsteps of its predecessors: Striker Soccer London, Striker Soccer Eurocup, Striker Soccer 2 and Striker Soccer Brasil.

Thousands of fans are anxiously waiting this new instalment! Stay tuned! 

Hop on board and prove yourself!

Train Crisis, the best puzzle and addictive strategy game in full 3D environment. Let's see what you got!

The battle against boredom has started! Join us now! Do you dare?

Let's achieve 100% people safe playing games!

Train Crisis, the best puzzle & addictive strategy game now available from the Windows Store
U-Play Online is excited to bring you Train Crisis, the best puzzle game, for Windows Store!

When we launched Train Crisis for Android and iOS, we reached over 5 million downloads and a strong community growing fast. Our goal is to share our funny games with everyone, so we decided to work hard to bring Train Crisis to Windows store users around the world as quickly as possible. Now the application is available for PC users, coming soon for mobile devices.

Train Crisis is one of the best-rated games on Google Play and Apple Store according to our users. The release of Train Crisis on Windows Store is the first one we launched, but we are already preparing our best rated applications to Windows Store users.

Train Crisis offers all the features such as 7 Eras of rail-road history (Industrial Era, Far West Era, Modern Era and Future Era), spectacular High-definition 3D environments with many details, 168 challenging levels for players to conquer, interaction with several elements to get past the level: changing junctions; timed traffic lights; trap tunnels; transportation of money; ghost trains and parts of the track obstructed with rock and spectacular colorful graphics effects with explosions of trains and rocks.

Don't miss Train Crisis, play now in your PC:
ranchal, 2 july 2015, 16:01
Summer Sale at U-Play Online! Don't miss it!
U-Play celebrates Summertime with up to 50% OFF SALE on its featured apps!
Don’t miss this game deal!

U-Play Online lauches a Summer Sale with awesome in-game sales by dropping the price on apps and in-app purchases of its highest rated games on both Google Play and Apple Store!

Running from NOW until July 27th!

Enter and discover its great games and add them to your list. There are high quality games available like Striker Soccer Brasil, Train Crisis Plus, Striker Soccer 2, Striker Soccer London, Striker Soccer Eurocup and Swipe Basketball!

Check out the descriptions, screenshots below for more details on each game:

Striker Soccer Brasil

Train Crisis HD Plus & Lite
iOS: Lite
iOS: Plus
Android: Lite
Android: Plus

Striker Soccer 2

Striker Soccer London

Striker Soccer Eurocup
iOS: Lite
iOS: Pro
Android: Lite
Android: Pro
Visit our site to get further information about the sweepstake!
U-Play Online wants to celebrate the 2014 World Cup Final with a Play Station 4 sweepstake! Visit our special sweepstake site to get further information
How it works?

“Follow” us on Twitter & “Like” our Facebook Page!

Download StrikerSoccerBrasil and play the World Cup final. Share or tweet the score!

Guess the score & enter for a chance to win!

If you are dying to get this Play Station 4, hurry up! The sweepstake ends this Sunday 13 at 9 p.m. (GMT +2)!
We are pleased to announce that after months of hard work we launch Striker Soccer Brasil.

This is the newest instalment of a football saga which already had over 12 million downloads in 3 years. Striker Soccer Brasil wants to follow in the footsteps of its predecessors and already has over 250,000 downloads in less than a week, achieving a great success on the carioca country and has been featured on the Google Play!

Striker Soccer Brasil is a funny and intuitive football game, easy to pick up and play. We have committed to enhance its gameplay by making easier and more intuitive controls based on two buttons and adding power-ups to give players little advantages for a few seconds. Regarding the game design, the cartoon-like visuals of previous games in the series has been dropped in favour of a more realistic look of the footballers. In Striker Soccer Brasil there are three difficulty levels for experienced players and newcomers alike, which can be used to increase the challenge of the game.

You can choose from 60 National Teams: the 32 teams participating in the World Cup, plus another 28 invited teams; and you can play 4 different modes: Online competition, Road to Glory, Friendly and World Cup.

The main feature of the game -and my favourite- is the new Online Competition mode where you will be rewarded for your efforts with weekly prizes according to your level of participation and engagement in online competition and the final position of the national team in world ranking. Your main goal here is to compete and win matches for your favourite national team. In summary, wins and draws achieved individually will add points for the national team chosen in the world ranking.

Of course in this new instalment set in World Cup Brazil, we could not leave out a challenge mode called Road to Glory, where you will have to complete up to 35 different missions on the road to claim the World championship title.

Last but not the least, the game offers a World Cup mode, where you can play the entire tournament (group stage, round of 16, quarter-finals, semifinals and final) and also the previous qualifying round.

If you would like to try and play this funny soccer pocket game, don't miss a second and get it now. Striker Soccer Brasil is available to download from Google Play and App Store for FREE. The application offers in-app purchases to enjoy premium features.

Let's play good soccer!

Google Play:
App Store:
Hi Strikers!

After a long wait, we can finally announce that the alpha version of the new Striker Manager will open the next Tuesday, February 4th. Initially it had to be ready by the end of January, but with the aim of offering the best possible version, we decided to postpone the launch of the game a few more days.

We would like to point out that this first phase of the game is merely indicative, whose objective is to try some of the new features which are being implemented in the new version of Striker Manager. Therefore, in order to allow you to play and test all the new features of the game, everybody will have free golden balls during this first phase.


In this alpha version we present two important new features: the new "sports city" and new 3D simulator! For trying and testing the new simulator, we offer the possibility to arrange friendlies with your friends, or play with anyone using a new "automatic friendly" tool that will find you an opponent available at this moment.

We remind you that any progress (economy, free golden balls, team, buildings...) you get in this phase will be reset to the final version of Striker Manager. Likewise, we inform you that players averages in the alpha phase won’t be the same in the final version. We decide to put high average to get better testing results.

To reassure those users with pack manager and golden balls accumulated, all premium tools will be not used during this alpha release as well as the following beta versions. All your golden balls will be available and untouched in the final version of the new Striker Manager.

Here we detail the available options in this first phase. This list will be updated as we move forward with the development or when changing or improving tools after your feedback.

Screens and actions available on 04/02/2014:
- Hiring employees
- Building and upgrading buildings
- Squad
- Tactics
- Advanced Tactics
- Training
- Store
- Finances

We know that we still have much work ahead, but we are confident that the experience with the new Striker Manager will be very positive. So we need your collaboration. We invite you to send us any comments or impact on the game that you consider important through the forum.

This first alpha version will be available preferentially to those users that have the Pack Manager, the rest users will access later. Pack Manager users will receive a notification the day before the opening of the alpha phase with all the instructions to log in.

We hope you play and enjoy this new version of Striker Manager!

Striker Manager

Ibasket Manager

Striker Soccer

Allianz Liga Manager

Train Crisis

Africa Fantasy

Av. Meridiana 350 7C
08027 Barcelona (Spain) - 00 34 93 309 02 69