Super Crayon Bros – Soria Moria Nightmare – Final Delivery

Video with a full playthrough of the entire experience above.

We have created a game framework AND a game using the framework. During ACDC 2024 in 3 days! We used Power Platform and the products within like, Power Apps, Power Automate, Copilot Studio and Dataverse. We also used Azure DevOps for ALM and making the solution portable to other tenants and environments.

Of course it is responsive! and looks beatiful!

Gamification framework

We have created a framework for a gamified way to learn. This framework can be reused to create new games with all kinds of thinkable subjects. 

The framework has predefined content like

  • Game progress
    • Start and Story
    • Quests and Tasks
    • Finale
  • points
  • layouts
  • dialog boxes
  • inputs
  • outputs

Exceptional looks!

Images for backgrounds and characters can be customized to create a unique look and a complete new looking game and story. Look at this blogpost for screens: Great user experience and beautiful screens!

Quest and tasks

The Quests in the game can be created by adding new entries to the Quest and task tables.  The tasks can be of any kind, just limited by the creators imagination.

In this solution we have tasks like:

  • Point and click
  • Puzzle
  • Send in an external email to unlock a task

This methology and design makes it easy to adjust and add content, making it reusable for all kinds of training or fun (or both some will say….)!

Of course we have AI!

A large amount of the actual content is generated by AI. Images and stories are created by custom GPTs within OpenAI.

Intelligent NPCs!

A NPC follows the user in the game and will guide the player. This makes the game a lot more fun and personal. The character has a personality and will answer question about the environment the player currently is in. The player ask in natural language and the NPC answers by using generativ AI. This is implemented as a custom prompt in Copilot Studio. 

The information to the NPC is feed from the game database. This means that new quests and tasks will automatically be fed to the NPC. 
 
Look at this blogpost for details. Using AI to create a game

The game progress framework as a picture

True ACDC

Development is nothing if your not in control. We are of course using seperate environments, so that we are totally in control of development, testing and our players in production.

Pipelines using the Power Platform Builder Tools is the Key here. The Pipeline exports our solution from the Development Environment, Imports it into our UAT (User Acceptance) Environment, before an approval step decides if the solution is finally deployed to the Production Enviroment.

Total control – total awesomeness!

The images below shows the solution in production before a change and after a change. We decided to use the NPC “Butler” as a story teller through the game. So when you complete a room and go back to the Main Map – the Butler now provides you with some context and information thats important for your progress in the game.

Thanks for easy deployment!

Compliance for games created with the training gamification solution.

All data and in our app communicaation is happening within our own tenant and using services within our tenant. The rules we have created for compliance and security will also apply to the game we have created.

Governance should and can de done using the tools you use to manage and audit security, privacy and compliance for Microsoft 365, Azure and Dynamics.

If the solution is used on other tenants, the rules for that tenant will be applied.

  • Azure OpenAI, keeps the information in the tenant, and will adhere to the privacy rules and ethics that has been apllied to it.
  • User are all authenticated and given permission to the solution and tables.
  • Data is stored in Dataverse. We govern the data in this solution and will be alerted if there are store any personal information. We do not store anything that the users puts into the prompt.
  • Just a few administrators have access to give other people permissions to use the app.

Use on every device

The Power App is repsonsive and can be used on all kinds off devices and screen resolutions.

We have use controls like the Containers that will adjust the content to the sizes on different parts of the screen.

We do recommend using the phones and pads in landscape mode to avoid white areas on the sides.

Here are some pictures of the app on different devices

How many Features on your Screen?!

We have done the ultimate feature bombing in our canvas app. Our game app is solely relaying on data from tables in Dataverse. By creating a good Information Model with relations we have structured the data in a way that makes our App development way more dynamical.

The User progresses through the game by solving puzzles in different rooms. We use the same screen in our app to present every room. The Room is then populated with excercises based on information in our dataverse table.

This means that we can expand the game just by adding new Rooms, and excercises and link them in our dataverse table.

And don’t forget the fact that we differentiate on the tasks/excercises and if they are so complex that they need to break out in a different screen – or if its a simple information or user interaction – then we show a pop-up dialog on the same screen. All ofcourse – determined by the excercise type defined in the dataverse table.

This image has an empty alt attribute; its file name is image-258-1024x186.png

Using AI to create a game

AI has been core to the development of our game in several ways. Almost all graphics has been generated by an AI, the story has largely been influenced by an AI and, an AI is a key component that you can talk to within the game itself!

Story and media

Both the story and media assets within the game has been created using custom GPTs from OpenAI. https://chat.openai.com/g/g-rjjz1GE5I-pixel-art has proven itself to be able to create imagery with a remarkable consistent look and feel based on our prompts, and https://chat.openai.com/g/g-dmgFloZ5w-storyteller has been a great sparring partner in the development of the story

The village butler

Meet the village butler, a core character in our game. He is omnipresent on your adventure and is always ready to answer any questions our adventurers may have.

The butler lives as a custom prompt in Copilot studio, and gets his personality there. In addition we feed him with context aware information based on where the adventurer is in the game together with every prompt he is sent, in this way adventurers can probe him for possible game clues or sometimes straight up answers to the clues.

Also, our guy knows who Botten Anna is, if that isn’t existential risk, we don’t know what is!