Porting games to HTML5

Do you have an old and successful game that you’d like to port to HML5? Let’s talk!

Our studio has already worked developing exclusive games for many clients from the game industry, like Miniclip or Spil Games, but also from other ambits, like Adesso, a talent recruiting agency. While we enjoy developing original concepts, there are times when clients already have a great game, but it was originally coded for a specific environment. What we offer is to port these successful games to HTML5. Games that were downloadable for PC, or just playable from smartphones, now can be adapted to HTML5, with all of its advantages.

The main advantage of having a game ported to HTML5 is its ubiquity. The games can be played on all kinds of devices directly from a browser. It doesn’t matter if it’s a desktop, a mobile device or a smart TV. If you decide to have it in Google Play or the App Store too we can wrap it so that you can publish it there.

In most cases your game will just need to be re-coded in JavaScript. Than means less costs versus developing a brand new game. Basically because you can recycle existing art and a pre-stablished gameplay. Occasionally some changes may be required in the controls to support touch screens.

Here an example of a game we’ve ported:

Hotel Solitaire is owned by GameHouse. It worked very well for years and that’s why they wanted to squeeze a bit more their IP. Originally it was coded in Java. We used the existing graphic and audio set to produce a game that works well on desktop and mobile devices.

Besides game ports, another way of producing games with a tight budget is re-skinning, but that’s a complete different option we covered on this blog entry.

 

Multiplayer HTML5 games tools

multiplayer html5 games

WebSockets are the most popular technology for developing multiplayer HTML5 games. They allow bidirectional communications between clients and server using a single socket TCP.

We code our multiplayer HTML5 games in Javascript, both the client and the server side. More specifically, we use a game engine called phaser.io for the client and Node.js in the server.

There are several options for working with WebSockets. The most common and simple is Socket.io. We implemented sockets.io on our first projects. However, due to the increasing complexity and demands of our current projects we decided to change to SocketCluster.

Why we love doing HTML5 multiplayer games using SocketCluster

SocketCluster is an open source framework optimized to run with Kubernetes (K8s). It’s the base for our multiplayer development for the following reasons:

  • Because it’s faster and more versatile than socket.io. SocketCluster uses µwebsockets (coded in C++) and offers pub/sub.
  • Highly reliable.
  • Supports custom codecs during transmission to increase data exchange speed.
  • It’s easy to scale. Vertically using multiple cores of the CPU of a single host and horizontally with several servers. It doesn’t require Redis to share the state between processes.

For all of you looking for an introduction to SocketCluster we recommend this complete example of an Agar.io game type:

MultiPlayer game example using Phaser on GitHub.

Finally, here a very useful comparison of the main modules implementing WebSockets:

uWebSockets

ReSkinning: customizable and cheap games

While some of our clients want to produce their own taylor-made games, they’re not always familiar with the actual costs of producing a game from scratch. Depending on the client needs it could be faster and cheaper reSkinning an existing game. Read more

Advergaming case study: Heroes of Java

One of our last published games is a great example of advergaming’s potential. We would like to take this opportunity to speak about our project and introduce a topic we’ll be glad to cover in the future.

Some people might consider this game as a plain example of advergaming. At first sight you could think that Adesso is looking for some visibility in the field of games by publishing this game. But it’s not just that. For Adesso it’s not simply a playable banner but a tool. In fact we may consider we are in front of a Serious Game.

If you haven’t read the entry of Heroes of Java in our portfolio here’s the story behind the game.

advergaming post heroes of java gorilla in the park

Damm! How good is the gorilla playing pinball. But he needs to improve his Java skills though…

Advergaming success case study

First things first: let’s introduce our client. Adesso is a german IT recruiting company. In other words, Adesso helps their clients to find the professional programmers they need.

Newcomer players are introduced to a regular pinball table. They play their first shot as they would normally do. And then an overlay new screen appears with a quiz about Java (the script language, not the island!). With every ball they lose in the game, they are asked a new question. If they answer correctly, they’ll be rewarded with an extra ball, and so, savvier players will be able to play more balls in the long run. As players lose their last ball, they are offered to register their details in exchange of participating in the raffle of a 3D printer.

advergaming post heroes of javaAs the programmer starts thinking about code, the whole world fades away. […] He will probably miss his stop.

Our game then sends the player’s info along with his answers, and they are registered in Adesso’s database. Instead of making the job candidates fill and send an old-fashioned CV, Adesso now has access to a qualitative register. They have tools to judge beforehand the knowledge of the candidates, which means having less filters in the candidate interview process. In the end, it’s all about improving efficiency.

We should make clear that it’s not like Adesso is fishing programmers in the open sea by releasing the game in the general market. The game will be distributed in the proper niche environment, but that’s just a complete different story.

An ideal scenario for HTML5 technology

We’ve mentioned about how Adesso improved their efficiency on the overall recruiting process, but there’s another aspect where efficiency shines. Instead of using a native platform to build the project, the choice of HTML5 allows to run the game on mobile devices but also on computer browsers. Although this is not the case, the game could even be wrapped to be uploaded as a native app in the Appstore or Google Play. So all in all, the choice of HTML5 was the perfect option to build the game and get the maximum ubiquity, with no need of external plug-ins. The game is accessible for a really wide audience and it’s been coded just once. No extra ports, no further development costs.

I hope you found interesting this post. Take care!

Guess which is our favourite Git client

We’ve been implementing Git for quite a while on our HTML5 games projects and we love its code management possibilities and its collaborative features.

Using Git with the command line is too hard for us, that’s why we need a client. Until recently we were using SourceTree. SourceTree is a great product and it’s free, however there were 2 things we don’t like. First, the theme is white as siberian snow, and our tired programmer eyes really favour a dark theme. Second, SourceTree seems to work better on Mac than Windows. That’s why we’ve decided to test the free version of GitKraken.

git clients compared

The team of programmers developing each of our game projects usually consists just on 1 or 2 guys, so  the free version is enough for our current needs.

GitKraken is based in Electron. It’s coded in javascript and uses html and css, which means it’s cross platform. Its GUI besides being nifty, is dark. Fonts are nice and the icons and its diagrams makes it easy and intuitive to use. Branching, stashing or checking out a branch just requires one click.

Do you already have your own favourite Git client? Have you also suffered from white backgrounds and bleeding eyes?

Jscrambler helps to protect our HTML5 games

jscrambler_protection

We love to code HTML5 games and JavaScript is a nice programing language but unfortunately everyone can access to the source code of our games. And that includes those cheeky guys who doesn’t want to respect existing license agreements or those just looking for “inspiration” for their next cloned game.

Luckily we have a powerful ally called Jscrambler.

Jscrambler is quite intuitive and it’s web based. There are some other javascript obfuscators but JScrambler offers the most complete and secure solution. Its version 4 has just been released. According to Pedro Fortuna, CTO of JScrambler:

“Version 4 brings the product from a code protection solution to a platform that provides a tamper-proof environment to the application, making sure it is executed without interferences and by legitimate users only.”

We’d like to show you an example of the level of protection that Jscrambler offers, we’ll take a function of our game “Alien Kindergarten” and obfuscate it.

We can see that even after using JSbeautifier the code is quite difficult to understand. Besides site-locking they offer some interesting transformations such as dead code insertion (that’s why the obfuscated code is longer) and member enumeration.

Mission accomplished…. it looks like that doing the whole thing from scratch is much easier than attempting a reverse engineering.

Ahhhh! forgot to say that Jscrambler is optimized for games and doesn’t affect performance.

New Foot Chinko game with new tricks

We are happy to announce we are working on a new Foot Chinko chapter.

 

new-footchinko-eurocup 

It’s been a long time since the original game was launched and we were excited about the possibility of developing a new Foot Chinko game. During this time it seems that our little creature has been growing in popularity. Although the game was released over a year ago, enthusiastic players keep on uploading videos: Foot Chinko on youtube

Is it our imagination or does it look like searches on google for the keyword “foot chinko” are growing? Results on google trends

We are going to release an HTML5 exclusive version of the game for Spil Games. This version will feature the Eurocup 2016 and will include a couple of new mechanics.

We are also considering a native version of the game for iOS, Android and Windows phone using Unity. By combining the old game levels with the new ones, we could have almost 150 different levels, but the truth is, in this time we’ve learned so much about level design that designing a complete new set of levels is an interesting challenge.

So, what kind of publisher do you think would be a good partner for this adventure? We would love to hear your thoughts…

Help phaser development

 phaser_logo

We’ve been using an html5 game engine called Phaser for over a year. It’s open source and was created by a photon storm.Our experiences with Phaser have been fantastic. We’ve tried several frameworks but found Phaser the best game engine to develop our games from the usability and performance points of view.Now Richard Davey, the man behind Phaser, has started a campaign to collect money to be able to dedicate more time enhancing his incredible framework.Please check this out:

>> Phaser on Patreon

RavalMatic defies the USA

RavalMatic has broken the embargo imposed to Russia by the USA and sold its most strategic game to Comon Games, a courageous Russian company.
The negotiations were conducted with maximum secrecy in Viena by one of our agents and high level officials of Comon Games. Once the deal was completed, we inserted an usb memory in a banana. That usb contained all the project files. The banana was part of a bananas cargo that left the harbour of Barcelona 3 weeks ago with direction to Istanbul.
Nobody of the crew was aware that among the thousands of bananas they that transported there was such a dangerous game!
The third of June, two members of the Russian embassy in Istanbul got the banana, carefully extracted the usb key, ate the banana to destroy all evidence and flew to Moscow to deliver the app-files to top executives of Comon Games.