Gamification service on SAP Business Technology Platform – make game application more fun
A few years ago as Pokémon GO went viral around the world, people got crazy about this game. From the rise of sun until the wide spread of stars, people with family or friends visits Pokémon stop, gym or special scene
to catch rare Pokémon or fight gyms to get bonus. People are excited about the AR fight scene game and work very hard to reach max level for huge compliment from others. As we try to advertise QuizSAP, an IOS application that helps promote company new policy or gaming between team members, we do see the need to bring the same joy as Pokémon GO and then deicide to use gamification service provided by SAP BTP (SAP Business Technology Platform) since it has provided full-feather gamification feature such as point, level, badge, mission, etc. It also allows custom codes executed on rule engine to implement our own functionality. The gamification adoption will save us a lot of development time for sure if we prefer not to reinvent our own wheel.
When we work hard to adapt the gamification service to the application, The challenge we face right away is how to handle authentication/authorization to allow right person to access (or submit) right data. We could give every employee the right to access our application but this eventually could cause security breach due to the fact JSON format can be easily traced and modified. The case study Help Desk Application (https://help.sap.com/viewer/850b6386f85d49699cfa908a5bc99d99/Cloud/en-US/071b9211fba5425baf027ade5a15727f.html) people categorized with role is probably not a good fit in our case because there is no way to tell who will use it and it would be hard to avoid users to send malicious JSON data. After thinking it over different scenarios, we decide to reply on SAP BTP to do authentication (SSO certificate) and let Java middleware to send JSON data through technical ‘gsdest’ destination to gamification framework to execute rules. By doing this way, Java middleware has chance to verify data integration as receiving data from IOS application. Also, there is no concern JSON data will be intercepted and interpreted since it will be passed between Java and gamification service so no JSON data will leave SAP BTP box. The rule defined in the rule engine will then be triggered and is responsible to calculate point, level and grant badge.
It is worthy to mention from IOS device to SAP BTP the checksum of JSON data is encrypted so message cannot be manipulated without our attention. The last thing we do and Pokémon GO lack is we take advantage of rich IOS animation framework to show brilliant firework scene after a user has achieved next level or granted badge. Users will eventually love to see it and are satisfied with the great achievement they just make.
In summary, gamification service provided by SAP BTP brings key factors such as point, level or mission without too much development time and is able to run custom codes to make the game more fun to players.