Live data from Hacker News

Can Grafana run Doom?

grafana.com

11–20 of 40 posts

Re: Can Grafana run Doom?

#11
post #5

I wish they went into more detail about how the rendering happens. Compiling Doom to WebAssembly via Emscripten and running it in your browser is great, but it has been done before countless times. Taking the output and plotting it as a time series in Grafana... that is incredible.

Yeah this could be anything from "wow cool" to "holy smokes, how is THAT possible???". If all of the game state, output pixels etc were turned into time series data and reassembled in a dashboard in real time--THAT is pretty cool!

Honestly, from what I've seen indie game development is sorely lacking for an easy real time dashboard display/input.

being able to expose variables, edit them and see them update live, and maybe even rewind your game to retest different scenerios would be so helpful to many games.

Re: Can Grafana run Doom?

#12
post #9
post #5

I wish they went into more detail about how the rendering happens. Compiling Doom to WebAssembly via Emscripten and running it in your browser is great, but it has been done before countless times. Taking the output and plotting it as a time series in Grafana... that is incredible.

Hey Kostas here (one of the 3 people we did this). We are actually using a WASM port of chocolate-doom from which we are getting the frame buffer from WebGL. We use 256 time series to represent each color, and then we are using an algorithm to map pixel data to their corresponding time series. Since doom uses more than 256 colors, we are using a redmean approximation to find the closest match

I understand that the game is being "run" client side... how are the other components (health, ammo counters) talking to each other? Very cool btw!

Re: Can Grafana run Doom?

#13
post #12
post #9

Earlier quoted context omitted.

Hey Kostas here (one of the 3 people we did this). We are actually using a WASM port of chocolate-doom from which we are getting the frame buffer from WebGL. We use 256 time series to represent each color, and then we are using an algorithm to map pixel data to their corresponding time series. Since doom uses more than 256 colors, we are using a redmean approximation to find the closest match

I understand that the game is being "run" client side... how are the other components (health, ammo counters) talking to each other? Very cool btw!

Thanks a lot :) That was literally a last 30 minute hack. We wrote some dirty code that exposes player stats into the javascript space and then it was a matter of forwarding them into the data source.

Re: Can Grafana run Doom?

#14

Earlier quoted context omitted.

Yeah this could be anything from "wow cool" to "holy smokes, how is THAT possible???". If all of the game state, output pixels etc were turned into time series data and reassembled in a dashboard in real time--THAT is pretty cool!

Honestly, from what I've seen indie game development is sorely lacking for an easy real time dashboard display/input. being able to expose variables, edit them and see them update live, and maybe even rewind your game to retest different scenerios would be so helpful to many games.

Unity 3d has this where you can update variables directly from the editor, some scripts can be reloaded aswell, maybe you meant for network games ?

Re: Can Grafana run Doom?

#15
post #9
post #5

I wish they went into more detail about how the rendering happens. Compiling Doom to WebAssembly via Emscripten and running it in your browser is great, but it has been done before countless times. Taking the output and plotting it as a time series in Grafana... that is incredible.

Hey Kostas here (one of the 3 people we did this). We are actually using a WASM port of chocolate-doom from which we are getting the frame buffer from WebGL. We use 256 time series to represent each color, and then we are using an algorithm to map pixel data to their corresponding time series. Since doom uses more than 256 colors, we are using a redmean approximation to find the closest match

Actually in DOS Doom only uses 256 colors for rendering and its palette.

Re: Can Grafana run Doom?

#17

Earlier quoted context omitted.

Yeah this could be anything from "wow cool" to "holy smokes, how is THAT possible???". If all of the game state, output pixels etc were turned into time series data and reassembled in a dashboard in real time--THAT is pretty cool!

Honestly, from what I've seen indie game development is sorely lacking for an easy real time dashboard display/input. being able to expose variables, edit them and see them update live, and maybe even rewind your game to retest different scenerios would be so helpful to many games.

this sounds neat on paper but once your game is beyond a sufficient complexity threshold this quickly becomes untenable.

Re: Can Grafana run Doom?

#18

Earlier quoted context omitted.

Yeah this could be anything from "wow cool" to "holy smokes, how is THAT possible???". If all of the game state, output pixels etc were turned into time series data and reassembled in a dashboard in real time--THAT is pretty cool!

Honestly, from what I've seen indie game development is sorely lacking for an easy real time dashboard display/input. being able to expose variables, edit them and see them update live, and maybe even rewind your game to retest different scenerios would be so helpful to many games.

Not sure what youre thinking of but older games have demos that are recorded games. Those would work well for testing nowadays too imo. Mostly performance testing but still.

Re: Can Grafana run Doom?

#20

Earlier quoted context omitted.

Yeah this could be anything from "wow cool" to "holy smokes, how is THAT possible???". If all of the game state, output pixels etc were turned into time series data and reassembled in a dashboard in real time--THAT is pretty cool!

Honestly, from what I've seen indie game development is sorely lacking for an easy real time dashboard display/input. being able to expose variables, edit them and see them update live, and maybe even rewind your game to retest different scenerios would be so helpful to many games.

I know it's not quite what you had in mind, but the game I play has a publicly documented API so I wrote a Prometheus exporter for it and visualise the stats in Grafana. https://joshhunt.grafana.net/dashboard/snapshot/TJv1Wu64IykH... https://github.com/joshhunt/prom-destiny-exporter

I've heard (but have no direct knowledge myself) that PUBG publishes extremely detailed telemetry(?) for matches, so detailed that you can basically replay the entire match from their API. Maybe this? https://documentation.pubg.com/en/telemetry-events.html#tele... Pretty neat!

(FYI, I work at Grafana)

Post reply on HN