Show HN: The DNA of DOOM – How code structure survives across 44 ports

Posted by joe-esquibel 2 days ago

Counter24Comment13OpenOriginal

I used my custom built structural extraction engine to analyze 44 DOOM ports across history to see what functions remain, if the keyword structure of those functions remained, if comparable call networks could be seen, etc. - https://github.com/squid-protocol/gitgalaxy

Comments

Comment by barbariangrunge 40 minutes ago

Interesting project. Out of curiosity, have you done more work studying the engine, eg, an architecture breakdown or programming pattern analysis?

Comment by joe-esquibel 18 minutes ago

Thanks for the interest! I've done some work comparing code signatures between Claude and codex on the same tasks. This was also written heavily by llm (I haven't had a chance yet to try some rewrites on my own based on this feedback yet)...https://github.com/squid-protocol/agent-habits: comparing results across languages, https://squid-protocol.github.io/gitgalaxy/03-04-claim-4-com... and k means clustering of files by scaffold metrics https://squid-protocol.github.io/gitgalaxy/03-05-claim-5-fil....

Comment by to11mtm 25 minutes ago

... I think this is a fun experiment.

And, I like the article, once I got through the 'jolt'. (Not gonna call it slop, I can tell it a good amount of effort on your part to make it present the data well.)

I love Doom, and I love the genealogy of it; dealing with doom modding and dehacked was probably my first foray into any sort of concept of 'programming' (after all, you could do some curious things with dehacked, as far as 'next frame' and how that sometimes could change things in curious ways)

I think, to give some constructive feedback;

1. Consider taking a markdown/output from analysis and writing your own starting scaffold.

2. Make sure to review the output and tweak it.

3. Hand refine what the end result is.

I'm not saying you shouldn't use AI to help with some of this, I'm just saying, that will help so much more. Cause this is really cool, but yeah it would be nice to have more polish around it.

Comment by blinkbat 2 days ago

[flagged]

Comment by joe-esquibel 2 days ago

I actually worked really hard on this. I'm feeling kinda low about the response. I know your some random person but if you have constructive criticism, i'm all ears.

Comment by mjdiloreto 3 hours ago

I'm sure you did work hard on this, and I also find it very interesting from a technical perspective.

One constructive point for you: don't even write the first draft of a document you want humans to read with AI. It's much harder to get the AI voice out than it seems. Stuart Halloway talked about this at the last Clojure Conj, and I couldn't agree more. It also makes it harder to follow the sage writing advice to minimize what you write.

"How code keeps its family resemblance" - AI would say this, a person would not. It's just noise on the page.

"Measure only their shape and you can still tell who copied whom" - this is a sentence structure Claude loves, but no human would talk about "measuring" shapes. The verbs and the nouns don't feel right.

Then you start a paragraph: "DOOM is the perfect place to test it." But you don't actually say what "it" is specifically. It doesn't seem like AI would write that though... Maybe you did in a later draft? It's hard to switch voices, like switching authors.

If you want people to read something, write it yourself.

Comment by KeplerBoy 3 hours ago

Just use less LLMs for presentation and writing. The text and graphical elements just scream "Opus 5.5" to me, perhaps because I use it a lot these days, I assume sol and astra are not that different.

At this point I am not sure I wouldn't get a very similar output if I just prompt Claude for the genealogy of Doom ports as an interactive dashboard. Maybe try to deviate from that, even if that would rank lower on a model benchmark: you don't have to provide an interactive data visualization for everything. You can narrate a story from your own opinionated pov.

Comment by happytoexplain 3 hours ago

I don't necessarily agree with the parent, but I don't fully understand your response. Was this largely written via LLM, or no? (I don't believe LLMs preclude the notion of working hard)

Edit: And if so, was it for help with English? Or another reason?

Comment by philxor 2 hours ago

All the obvious AI generated headings is a good place to start. It may seem clever at first but it's a big giveaway it's AI generated and just turns off a large group of people.

Comment by anonymous908213 3 hours ago

You should re-evaluate what you consider to be hard work if prompting a chat bot is your idea of it.

Comment by nater5000 2 hours ago

Sometimes less is more. This page reads more like a DevOps dashboard than it does an entertaining article about DOOM. It's just overbearing right from the jump and it's a turn off. LLMs are notoriously bad at this, so this just comes off as someone prompting an LLM and posting the output as-is (even if that's not the case).

I concur with the other comment that it's an interesting idea, but you should just write the article yourself. You can even link to the technical details so that those who are interested in exploring that data can do so. But as-is it's really a good example of AI slop.

Comment by mcculley 3 hours ago

I found this interesting.

Comment by 2 days ago

Comment by joe-esquibel 2 days ago

I appreciate that you liked the premise. The repo has my full methodology and data for scrutiny. I thought the voice was alright, just a straight description of the data.

Comment by 5 hours ago

Comment by simplyetchedsit 1 hour ago

[flagged]