• Register

What is it? VEmpire is a digital card game, a so called DeckBuilding-Game. Accessibility and fun but also a deep and compelling gameplay within a great atmosphere have been our goals from the very beginning. We have been highly focusing on the game-mechanics. It is our dedicated goal to combine the depth of a trading card game with the accessibility and pace of a deck building game. With several unique features we have been designing an outstanding game experience that is fresh and also atmospheric interesting. -It is the goal of the game to build a strong “Empire” of cards on the game board not in the decks. -You decide with which "Class" you want to play. -You build and play "Groups", the most powerful unities in the game, which are designed after its historical examples (e.g. Pairs like 'Sisi' & 'Franz Joseph') -"Holding" ability for the cards in your hand provides you more strategic flexibility and control

Post tutorial Report RSS Securing our Property or how to make a HTML5/JS-Game safe

Because JavaScript is sent in clear text our intellectual property is exposed, which is…. not so good! Although it is not possible to secure the client-code 100%, simply because the browser needs to interpret the code at the end, there are ways that make life much harder for hackers and attackers.

Posted by on - Intermediate Client Side Coding

Target-Platforms

From the very beginning VEmpire has been built as a HTML5-Game coded in JavaScript.
We are planning to convert the game for the different target-platforms into native-apps, with several different approaches that already exist.
Because VEmpire is a digital card game, a Deckbuilding-Game to be more accurate, it was clear that touch-devices should be on the top of our prior target device list simply because they are great for card games!
More on how we’ll convert to those platforms and why we have chosen this approach will be published in one of our next posts.

Web-Version

Let’s focus on the Web-Version of the game for now because it is all about the Alpha of the game here, and this will exist only as web-application.

We always wanted to build a great Web-Version of the game, one that is impressive without any plugin, after 2 years of development I’ve a good feeling about this, we will prove this (hopefully!), because although it is “just” an Alpha, it is intended to be already great, without any excuses.

The VEmpire Web-Version does not need a permanent internet connection, once it is loaded.
This simply means that you can play, without the need to login, against the AI. But only if you’re logged in successfully (Online-Mode) you can access leaderboards, other server-side stuff and most important: play against others (PvP Duels).

VEmpire-Alpha comes without Online-Mode initially!

Client-Side Security, How ?

Although web-applications have, without any doubt, lots of advantages in comparison to native applications, there are some serious drawbacks!
And serious is a good word here, because security is a big disadvantage when it comes to web-apps and its client-side JavaScript-Code.
(We will not cover server-side security and data-transfer security issues here, this will be in one of the next posts where we will talk in detail about how to use SSL(https)!)

Because JavaScript is sent in clear text our intellectual property is exposed, which is…. not so good!
Although it is not possible to secure the client-code 100%, simply because the browser needs to interpret the code at the end, there are ways that make life much harder for hackers and attackers.

Jscrambler, a lucky solution?

After evaluating some free tools that minify and obfuscate JavaScript-Code we decided to go with Jscrambler, a professional solution, because of the frustration with those “free” solutions for, believe me, a lot of reasons, just two:

  • Most of this tools just does not even work (with more complex code!)
  • A free obfuscator is not always free as you can read about here

Furthermore Jscrambler comes with great additional features to secure our code, not just compression and obfuscation.

Obfuscation which makes the code unreadable to humans is just the first step in securing a JavaScript application. Jscrambler comes with 2 additional features which are promising:

  • “Code-Traps” which forces the app to only execute in certain domains and makes the code expire if placed elsewhere.
  • Self Defending capabilities that prevent tampering-attacks (modifications in the debugger! e.g.: modifying the score!)

Honestly we need exactly all of this for VEmpire if we want to prevent that:

  • Our code could be stolen easily!
  • Players can cheat!

In the next post we’ll report about our first steps with Jscrambler, so stay tuned!

Best Regards Wolfgang

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: