return to table of content

Doom-htop: The classic DOOM game over htop

playingalong
7 replies
2d7h

If you think about it, rendering the "video" into ASCII and then putting them into process names seems kind of easy. Nothing special. Similar to these toys over DNS, etc. Especially that as the readme says the majority of the work was done by the other project.

On the other hand, I would never think of htop as a rendering engine for anything. Totally mind-blowing and impressive. Software hacking at its finest! Kudos!

jylam
4 replies
2d4h

"If you think about it, rendering the "video" into ASCII and then putting them into process names seems kind of easy. "

It is easy if you don't really think about it, actually. Otherwise, it is not that trivial to get a good contrast and good performances. See libaa or libcaca for instance, hundreds of hours on this very subject.

whereismyacc
1 replies
1d19h

Yeah but you can just use those libraries, right? That complexity probably isn't in this project.

reaperman
0 replies
1d5h

Sure, but it's still a worthy distinction to make. "rendering the video into ASCII" is hard, but the hard work is generally already done by the authors of these libraries. The top-level comment failed to make the distinction that those libraries took a lot of genuine hard work to do their job to a high quality.

amne
1 replies
1d

I started catching myself saying something is "easy" and now try to say "it's a solved problem".

Most of dev work these days is actually plumbing hardwork found in libraries : serialization? solved. Handle HTTP requests? solved. DB modeling? solved.

paledot
0 replies
17h9m

Sort algorithms and linked lists? Solved, but we keep interviewing on them anyway.

ngcazz
1 replies
2d4h

This might be conceptually easy to grasp, but it does sound hard to implement.

rrr_oh_man
0 replies
2d1h

That exactly! The Dunning-Kruger trap (not bashing GP, I've fallen into it often enough)

thih9
6 replies
2d5h

A reverse PSDoom[1], eh?

This submission is about using a process manager to play Doom, while PSDoom is about using Doom to perform process management.

[1]: https://psdoom.sourceforge.net

em-bee
3 replies
2d3h

i was going to comment how i would like to see the reverse, and i am not surprised to find that it already exists. here is a video on someone porting it to run on current linux: https://youtu.be/Pf7rpde49NU

except i'd like to see it somewhat more actually useful as a top replacement: size of the monster should be based on memory usage, and aggressiveness should be based on CPU usage. different rooms can be different users, and threads could also be shown as related somehow as could parent and child processes. sleeping processes should be sleeping obviously and zombie processes be frozen in space, maybe transparent, able to pass through? then a selection of weapons corresponding to the kill signals.

there are more things that could be added but then it gets further away from doom.

seba_dos1
2 replies
2d2h

psdoom-ng already works on "current Linux", no need to "port" it.

It's also extensible - you can easily replace the commands used by it to gather the process list and to kill processes, so you can make variations of it using different kind of data without even recompiling the game. Once at a game jam I made "fsdoom" this way - a file manager utility that let you delete files from your $HOME by killing monsters.

em-bee
1 replies
1d21h

well, in the video there was talk about making it work on fedora 36. not sure what he had to do or if it was him who created psdoom-ng...

but that configurability is cool. fsdoom sounds like a great idea. but here too i'd like monster size be based on filesize, rooms based on folders...

seba_dos1
0 replies
1d10h

not sure what he had to do

He just had to learn how to launch it as root (which isn't required for it to work) while preserving access to graphics server from the user's session (and there are better ways to do it than what he shown). All his "fork" does is changing the README file.

or if it was him who created psdoom-ng

Nope, just a random youtuber discovering a project from 1999.

rrr_oh_man
1 replies
2d1h

That would be fun with rm -rf

OddMerlin
5 replies
2d5h

I’m genuinely curious how people have time to do this. I feel less and less sure of my abilities the more I see wonderful stuff like.

I can’t imagine the effort involved in this. Someone did mention this takes advantage of prior work just rerendering in ascii and mapping to procs but that’s not a negligible amount of work. How long did this take? I feel like I know nothing and I’ve been in this industry for more than I’d like to say.

This is awesome but I feel incredibly stupid.

simonjgreen
1 replies
2d3h

I look at these things, and remember a time before I had children

mjfisher
0 replies
1d22h

I kind of do, but the lack of sleep has killed my short term, long term and working memory. The time before is hazy.

mwcz
0 replies
2d2h

Boy is that a familiar feeling. It's the programmer version of shaving away at one's self-worth by looking at friends' Instagram-perfect home photos. I think most of us feel it from time to time. There are ways to combat it, but it's a totally normal side effect of hanging around smart people.

jylam
0 replies
2d3h

"I’m genuinely curious how people have time to do this."

Let's say you work 8 hours per day, 1 hour commuting. That's 15 hours left, you need to eat and sleep and bath and whatever. That leaves 15 hours because who cares about eating or sleeping or taking a bath. More than enough time to do this in 3 years.

Alright, enough time there, I need to finish my raycaster on 6502.

0x0mer
0 replies
2d4h

First of all, thank you for the kind words :) Secondly, don't feel bad! I'm sure you know much much more than you give yourself credit for. This took about a full weekend plus another day, and a few more days of working here and there when I have time. But as was written somewhere else in the comments and as I wrote myself in the README, the hard work of making Doom more portable was done by the incredible project doom-generic which I forked: https://github.com/ozkl/doomgeneric

anste
3 replies
2d5h

I feel like we're reaching completion with the "integrating doom into things" arc - it's now time to start integrating everyday things into Doom.

Just imagine a Todo List or a Calendar in Doom.

thih9
0 replies
2d5h

Just imagine a Todo List or a Calendar in Doom.

Nitpick: This is not a todo list or a calendar in Doom; this is Doom running in a todo list or a calendar. About a todo app - we already have a doom rendered using checkboxes [1], integrating that into a todo app is left as an exercise for the reader.

[1]: https://healeycodes.github.io/doom-checkboxes/

mwcz
0 replies
2d2h

I thought the same with "algae plays DOOM"...

jylam
0 replies
2d3h

"I feel like we're reaching completion with the "integrating doom into things" arc"

Ho you are new to the craft aren't you.

ChoGGi
3 replies
2d4h

That's awesome, but I don't think Doom is considered a cult video game?

jasongill
1 replies
2d

cult classic is defined as "something such as a movie or book that is considered to be one of the best of its kind by a small group of people." which I would say is pretty accurate

DoItToMe81
0 replies
1d11h

Doom had over 20 million players in 2 years. That's higher than some modern games. I don't know if something groundbreaking and gigantic like that can ever really be 'cult'.

Borg3
0 replies
1d9h

Of course it is!! Doom has been ported to a lot of platforms, even very weird ones or even not intended to run it at all! Second, DOOM modding community is amazing. A lot of quality MAPs, MODs.

And as bonus :) I still play good old DOOM using source port. Okey, enough talking, time to fry some monsters :)

nextaccountic
2 replies
2d3h

It would be nice to have some screenshots or even a video (maybe with asciinema)

nolok
0 replies
2d3h

It's right there at the top of the github page

_davide_
1 replies
2d6h

After this, I completely lost faith in humanity :'D

mwcz
0 replies
2d4h

You didn't lose it, it just wafted over to me. Faith in humanity restored!

p4bl0
0 replies
2d4h

I stumbled upon this project approximately a week ago and submitted it here but it didn't get any traction. Glad to see it has made the front page. I like it when some hacky for-the-fun-of-it projects like this one make it here :).

noufalibrahim
0 replies
2d4h

Ever wondered whether htop could be used to render the graphics of cult video games?

Not really but I'm glad that someone did.

major505
0 replies
2d4h

Sometimes people take tech too far... this is not one of this times.

endgame
0 replies
2d6h

Excellent hack. It makes me happy to see that the hacker spirit is still alive.

codetiger
0 replies
2d7h

I can't imagine, where-else this game is going to run in future.

VelesDude
0 replies
2d7h

Yet another example of "it is so stupid it just had to be done.". I love it!

MPSimmons
0 replies
2d6h

Pure, wonderful insanity. A+

0x0mer
0 replies
2d6h

Loll thanks for sharing dude :)