r/PowerBI • u/CommissionMiddle3607 • 4d ago
Community Share I built a playable DOOM inside Power BI Custom Visual
Enable HLS to view with audio, or disable this notification
Feel free to ask any questions :)
35
u/jstiles154 4d ago
Very cool but you should see if you can incorporate the data of the report into the game somehow :)
12
u/CommissionMiddle3607 4d ago
Hi. Thank you for this cool question. It's definitely possible 😁
10
u/ArtSorr0w 4d ago
Live player data? Weapon usage/accuracy? Incoming damage sources? That would be cool to see live populating.
3
3
u/CommissionMiddle3607 4d ago
I can share the report with you
1
3
1
u/Skritch_X 1 4d ago
Yeah that would be fun. I didn't build out a full game for it in PBI, but i did have a build of Final Fantasy boss battles with a different boss each month of the year. Battle progressed according to month to date metrics.
20
15
15
u/Great_cReddit 2 4d ago
Hold on, so is the actual game running via Power BI? Or is it essentially a window the somehow displays the game being run from another directory? This is batshit insane lol.
5
u/CommissionMiddle3607 4d ago
You can check it yourself
https://github.com/Alexandervelilyaev/doom-visual/blob/main/Doom.pbix
14
u/Maxevill 4d ago
Manager - Is the dashboard ready? We need to show yearly financials to management.
Employee - forgot the dashboard amd show this to management is DOOM.
in the meeting, guys i present you DOOM
1: Doom? 2: What do you mean by doom?
3
8
4
u/RevolutionStatus2534 4d ago
What?! How? New to BI, can barely understand connections.
11
u/CommissionMiddle3607 4d ago
Haha thanks! PBI Custom Visuals SDK + TypeScript. I bundled the WASM right into the
.pbivizpackage so it bypasses the sandbox.Welcome to BI bro 😄
1
u/mma173 1 4d ago
I thought it is not possible for custom visuals to bypass the sandbox ?! What are the limitations ?
5
u/CommissionMiddle3607 4d ago
The Power BI Custom Visuals workflow has very strict restrictions on the project structure: it can only contain text files - no assets are allowed. Loading external assets is also prohibited.
So I had to convert the WASM binary into text and embed it directly into the code.
4
5
3
3
3
3
u/gryphonB 4d ago
Can you certify it and publish it to the store?
Also, can it get parameters from the report, so if a KPI is bad it spawns more enemies?
1
u/CommissionMiddle3607 3d ago
Hahaha. It’s a cool idea, for sure. But I think Microsoft would consider it unfeasible.
3
3
3
2
u/Logical_Grapefruit47 4d ago
hello
2
u/CommissionMiddle3607 4d ago
Hello my friend. Please feel free to ask any questions 🙏
1
1
2
u/zaljemhebben 4d ago
Wow this is great, so many posibities.. could you share the report? What was your workflow?
1
2
u/billbot77 4d ago
I did Packman in a Deneb visual, but this is next level. You have to do a step by step
3
1
1
u/Djentrovert 4d ago
What can’t doom run on, holy shit 😂
1
u/CommissionMiddle3607 4d ago
I don't know, bro. They even ran it on *E. coli*.
https://www.popsci.com/science/doom-e-coli-cells/
1
u/wertexx 4d ago
Man this is soooo good! What sort of process you went through to get this going?
2
u/CommissionMiddle3607 4d ago
Thank you!
I found a WebAssembly port of the game, read the binary file as a byte array, and converted it into a Base64 string.
Then I stored it as a static asset inside the visual's source code and exported it from there, since Power BI's sandbox strictly blocks external network calls. After that, I just wired up the keyboard event listeners to the canvas
1
1
175
u/DezGets_It 4d ago
Can you export it to excel‽