This year at the annual Camunda hackdays one team bravely took it upon themselves to balance out the innovative and useful projects with something fun and frivolous. For two days somewhere in Brandenburg we were “Awesome-Team-Awesome” and we turned the Camunda engine into a platform to create a D&D style quest game. We call it BPMN Quest.

Start page for bpmn quest.
Start page for bpmn quest.

The project was split into a few different features and handed out to the reverently skilled members of the (awesome) team (awesome).

  • Location Map – showing the current location of the character as they moved through the story was given over to Paddy with help from Neville.
  • Player’s Quest Page – the interface that the user playing the game would see, including story text, pictures and decision buttons was all in the safe hands of Sebastian.
  • Dungeon Builder- a restricted version of the modeler that would let users create stories to be played by the engine. Paddy accepted this challenge.
  • Game Mechanics – this included a monster fighting engine, riddles, character creation and many other behind the scenes features. Jakob and Myself worked on that.
  • A Quest – A nice little quest created in order to utilize (and test) all features we had implemented was also created by Jakob and Myself.
  • Integration – who doesn’t enjoy integrating independently developed features into one seamless application? We all took part in this particular challenge.
Player interface in bpmn quest
Player interface, the font end bpmn quest

We wanted to ensure that the game engine and front end UI was as decoupled as possible from the story being played. This would ensure that people could create their story and deploy it without needing to worry about integration with either the front end or the back end. To accomplish this we standardized how the communication between the engine and the front end was made.

The front end would ask the engine for the current user task and would receive a few objects it would use to display the story. Including a story object, a character object and a list containing possible choices to be made at that point in the story. Someone creating a new quest would just need to populate a few java objects in either a service task or as input variables to a predefined call activity called “Story Item”.

Dungeon builder interface
Dungeon builder, the place where quests are born.

We also utilized the BPMN standard in order to orchestrate the progression of the quest. Exclusive gateways are used for the choices the player would make. Call activities show up for reoccurring events like fighting monsters or answering riddles. We also used an event-sub process which is scoped to be evoked when ever the game ends (either through death or victory).

Final screen when you've died.
Final screen when you’ve died.

You can download the source from GitHub. It was a lot of fun to make – and we hope that it’s also a bit of fun to play.

  • Monitoring Camunda Platform 7 with Prometheus

    Monitoring is an essential facet of running applications in a production system. Through this process, organizations collect and analyze data, and determine if a program is performing as expected within set boundaries. When combined with alerting, monitoring allows for detecting unexpected system behavior to mitigate exceptional situations as fast as possible. Furthermore, tracking the performance of a system enables organizations to improve those aspects that have the biggest impact with higher priority. One essential aspect of monitoring is the list of key metrics you want to observe. There are different categories of statistics that can be of interest here. To observe the defined metrics, there are plenty of application monitoring tools on the market today. They differ in many aspects...

    Read more
  • Securing Camunda 8 self-managed cluster and applications...

    Directory services are an effective way to manage an organization’s users, groups, printers, devices, and more. Most organizations accomplish this using Active Directory, Apache Directory, Oracle Internet Directory, or other similar tools. Recently I worked with a customer who wanted to see how he could secure the Camunda 8 Platform and process applications with such a directory. Their requirements consisted of: Allowing Directory users to access Camunda applications (Tasklist, Operate, Optimize) Accessing secured Tasklist & Operate APIs from our custom project Securing the custom project In this article, I’ll briefly explain the 3 easy steps taken to fulfill their requirements which include: Federate users from the Directory service into Keycloak Declare an application in Identity to access Camunda APIs Configure...

    Read more
  • Accelerate Connectivity with Camunda Platform 8.1

    We’re thrilled to announce Camunda Platform 8.1, the latest release of our process orchestration solution. This new version introduces features that accelerate connectivity to the many different systems and technologies that are required for true digital transformation, including: Create custom Connectors with our Integration Framework to accelerate connectivity New out-of-the-box Connectors for popular services Enhancements to Camunda Modeler that improve productivity Hot backups and official support for Amazon EKS and Red Hat OpenShift Plus, several upgrades requested by Camunda Platform 7 customers Organizations across all industries rely on complex technology stacks to adapt and enhance their operations in response to market dynamics, new disruptive companies, and increasing consumer expectations. Your technology stack likely includes everything from cutting-edge technologies to legacy...

    Read more

Ready to get started?

Still have questions?