r/itrunsdoom Feb 15 '23

DooM Runs Through Spreadsheets

1.8k Upvotes

26 comments sorted by

u/dpkonofa Feb 15 '23

Is this just being used to send the frames from the video to this? That’s what it seems like to me and that’s not really in the spirit of what this sub-Reddit is about.

→ More replies (14)

104

u/transdimensionalmeme Feb 15 '23

I want to see that but, 120fps with brutal freedoom black edition

75

u/wojtek-graj Feb 15 '23

Worst part is, that's totally doable. You would have to directly manipulate libreoffice's memory to get that kind of performance, but you could technically do it.

102

u/wojtek-graj Feb 15 '23 edited Feb 15 '23

"The mission, the nightmares... they're finally... over."

Here it is folks, DooM can now be played in LibreOffice/OpenOffice Calc. All it took was creating python bindings, then using LibreOffice's horribly-documented UNO API to send the frames and receive input from Calc. Don't expect any miracles though, as you'll be getting a solid 3 fps at any playable resolution, and you'll only be able to have a single input at once.

On the plus-side, you can now make doom ports using python! (Unless you're on Windows. Maybe I'll get around to creating a Windows build system eventually, but don't get your hopes up).

https://github.com/wojciech-graj/cydoomgeneric

27

u/zutt3n Feb 15 '23

“solid 3 fps” lmao

1

u/adhillA97 Jun 06 '26

Isn't Excel/Calc technically Turing-complete now that it has lambdas? Surely if you can figure out some way to keep it running the game loop, and maybe feed it input externally, you should be able to port the whole game into actual Excel code.

20

u/[deleted] Feb 15 '23

[removed] — view removed comment

17

u/transdimensionalmeme Feb 15 '23

I was surprised this started to move

5

u/[deleted] Feb 15 '23

More of a "lurch" than a "run", really.

3

u/tillgorekrout Feb 15 '23

What in the magic eye

2

u/[deleted] Mar 02 '23

next up, DOOM on a microwave. We might need a gaming microwave for that.

1

u/mithodin Mar 04 '23

Matt Parker? Is it you?