FPS.cob: A first person shooter in COBOL
66 points by MBCook 4 hours ago | 33 comments
ltheanine 3 hours ago
It would be nice to have screenshots. Also it’s just a single commit, did you use AI? Quoting the readme: “FPS.cob is what you get when you decide that game development is too easy nowadays”.
replynetworked 3 hours ago
Submitted a PR: https://github.com/icitry/FPS.cob/pull/6/changes. You can see a screenshot at the link.
replyjohnisgood 40 minutes ago
I have many projects with 0 commits, meaning were I to use git, it would be a single commit. It does not mean anything.
replyvintermann 3 hours ago
I hope for their sake that it's an agentic AI experiment.
replycml123 29 minutes ago
This was posted on hackaday[0] last week with a link to a youtube video. In the video, the author of the project goes into depth about some of the challenges they encountered and changes they made in good technical detail.
replyI think the complaints in this thread are not in the spirit of HN. Let's do better.
petercooper 3 hours ago
As a few people have asked for screenshots, I spun it up. Here's a video of the basic gameplay: https://peterc.org/misc/fpscob.mp4 .. it's clunky, but it does play.
replybottlepalm 3 hours ago
You know what, that is some pretty readable code.. COBOL might have been on to something there. I've gotten so used to syntax soup this is refreshing.
replygiraffe_lady 3 hours ago
I had to get into an old tcl program for work recently and had the same thought. I wouldn't necessarily pick it today but it was kind of nice in a way that's unfamiliar to me from modern development.
replymoregrist 2 hours ago
The tcl syntax is fine. And modern tcl is fine.
replyBut tcl 7.x and before was a pure string-based language. Everything was essentially a eval(). People would hit syntax errors on production code.
Fun, painful times.
The flip side: the interpreter is super simple and fun to write.
IshKebab 2 hours ago
Tcl is still entirely stringly typed. That's never changed.
replyThere are under-the-hood optimisations to make it less insanely slow but that only affects performance.
Tcl is a cool hack (the interpret is simple to write) but it's insane to actually use it. I wish the EDA industry would realise that.
omoikane 2 hours ago
Looks like it outputs PPM and use ffplay as a display driver:
replyhttps://github.com/icitry/FPS.cob/blob/497867bb6827bcfc32d50...
Today, it's shallow, emptied out of the content.
It's not impressive that Claude wrote it, it was impressive if you have written it, OP.
Do you have evidence that it's Claude written? Looking through the source it isn't clear to me, at all. Plus, even if it _was_ Claude/LLM assisted, why does that take away from the project?
An engineer vibe-coding a project generates an end product, yes, but what is there to be interested in or to discuss? Chances are said engineer isn't even capable of discussing the project in any depth. Are we going to be left discussing nothing but prompts and Claude workflows, and how we got the black box to do a thing? OK. Who cares? I guess we can all politely clap and move on.
I don't know if the posted project was written by an LLM or a human, but I have to agree with localhoster than AI has sucked a lot of the joy out of a lot of HN.
And this is reductive to the point of absurdity.
Everybody screaming about AI forgets the fact... you STILL need the domain knowledge. That's where the value in engineering is now.
Imagine a wanna-be game designer thinking they can fire up codex or claude and even with a few weeks and a few hundred dollars in credit, coming out the other side with a game anybody would want to play.
That's not how it works.
If you have nothing else to comment on then can you stop crying please?
Adds absolutely nothing to the discussion.
Could you stop evacuating your bladder and bowels? Puuuuhfleas
But thanks for the accusation.
If there is a cool project that comes out the other side, who cares? I am forced to use Claude for day job, and while it's annoying, I am running at a pace that can keep up with my brain, not just what I can shit out and get tested and inevitably miss things. Because you know what's great?
When you have actual controls in place like Jira ticket integration, CI/CD steps that can be considered, but the overall change is small, how many more of those small changes do you think I can get done in a day versus before it? But hey, localhoster says it's shallow and empty of content, so it must be true.
A passion project of mine has been to develop a full decompilation and a randomizer for Neutopia. I've been working on this multiple years. I had it at a point where I had chests randomized, item grants, etc, but that kind of turned into a lame game because of how the existing Neupotia game works.
It's been stuck at 40% for just as long. I pointed codex at it, and now I'm at the at least 85-90% and will have it done within a few weeks.
Given Neutopia is a much smaller target audience, but when this project is released, it will at least as capable as http://alttpr.com/en, and more capable in some ways as random dungeon and overworld layouts are already possible, not just reusing layouts and changing chests.
Codex generated a big chunk of it, so it's clearly a horrible idea and piece of crap not worthy of localhoster here.
Like OK someone vibecoded an FPS in COBOL or Pokémon emerald in a web browser with web assembly? Ok good for them, piss off karma farmer.
Sorry, but most of these discussions reek of extreme gatekeeping. First off, neither of these things are impossibly difficult and are easily doable with some dedication by hand. LLMs simply accelerate the process, the human still has to come up with the architecture, _idea_ and plan to do something like this.
Bonus points if it's ink on paper.
Bonus points if ink and paper are hand crafted by the creator rather than the filthy casuals that rely on paper mills to make their paper for them.