frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Pyproc – Call Python from Go Without CGO or Microservices

https://github.com/YuminosukeSato/pyproc
24•acc_10000•6h ago•6 comments

Show HN: Drop-in Redis replacement in Rust with 5M+ GET/s

https://github.com/mehrantsi/feox-server
8•mehrant•1h ago•1 comments

Show HN: Daffodil – Open-Source Ecommerce Framework to connect to any platform

https://github.com/graycoreio/daffodil
63•damienwebdev•20h ago•7 comments

Show HN: AI-powered web service combining FastAPI, Pydantic-AI, and MCP servers

https://github.com/Aherontas/Pycon_Greece_2025_Presentation_Agents
40•Aherontas•1d ago•15 comments

Show HN: I reverse engineered macOS to allow custom Lock Screen wallpapers

https://cindori.com/backdrop
75•cindori•1d ago•52 comments

Show HN: A store that generates products from anything you type in search

https://anycrap.shop/
1137•kafked•2d ago•326 comments

Show HN: Semlib – Semantic Data Processing

https://github.com/anishathalye/semlib
57•anishathalye•21h ago•12 comments

Show HN: Omarchy on CachyOS

https://github.com/mroboff/omarchy-on-cachyos
61•theYipster•1d ago•61 comments

Show HN: MCP Server Installation Instructions Generator

https://hyprmcp.com/mcp-install-instructions-generator/
20•pmig•20h ago•5 comments

Show HN: Datadef.io – Canvas for data lineage and metadata management

https://datadef.io/
11•theolouvart•1d ago•5 comments

Show HN: Dagger.js – A buildless, runtime-only JavaScript micro-framework

https://daggerjs.org
74•TonyPeakman•1d ago•72 comments

Show HN: HN Term – browse HN using the terminal

https://github.com/aotakeda/hn-term
8•arthurtakeda•9h ago•0 comments

Show HN: Blocks – Dream work apps and AI agents in minutes

https://blocks.diy
11•shelly_•14h ago•3 comments

Show HN: InfiniteTalk AI – AI Lip-Sync Video Generator for Long Videos

https://www.infinitetalk.net
2•laiwuchiyuan•7h ago•0 comments

Show HN: I built an app store for open-source financial plans (on spreadsheets)

https://finfam.app/explore/views
38•mhashemi•17h ago•14 comments

Show HN: Ruminate – AI reading tool for understanding hard things

https://tryruminate.com/
15•rshanreddy•14h ago•3 comments

Show HN: Open Line Protocol – a minimal wire for AI agents (MIT)

https://github.com/terryncew/openline-core
2•terrynce•8h ago•1 comments

Show HN: A tool to make a bootable USB installer out of macOS, or download it

https://macdaddy.io/install-disk-creator/
3•feelix•10h ago•1 comments

Show HN: Small Transfers – charge from 0.000001 USD per request for your SaaS

https://smalltransfers.com/
189•strnisa•5d ago•73 comments

Show HN: Labspace Directory – Biotech resource for lab space

https://www.labspacedirectory.com
3•ejhodges•11h ago•0 comments

Show HN: Vicinae – A native, Raycast-compatible launcher for Linux

https://github.com/vicinaehq/vicinae
178•aurellius•6d ago•34 comments

Show HN: Httpjail – HTTP(s) request filter for processes

https://github.com/coder/httpjail
4•ammario•14h ago•0 comments

Show HN: Pooshit – Sync local code to remote Docker containers

53•marktolson•13h ago•45 comments

Show HN: I made a generative online drum machine with ClojureScript

https://dopeloop.ai/beat-maker/
198•chr15m•4d ago•50 comments

Show HN: A Daily Typing Challenge in the TUI

https://github.com/Farzan-Hashmi/tuitype
2•FarzanHashmi•15h ago•2 comments

Show HN: Helios, an open-source distributed AI network using idle community GPUs

https://github.com/fnoracr/helios-distributed-ai
2•fnoracr•15h ago•0 comments

Show HN: Ultraplot – A succint wrapper for matplotlib

https://github.com/Ultraplot/UltraPlot
34•cvanelteren•5d ago•13 comments

Show HN: Allzonefiles.io – download 307M registered domain names

https://allzonefiles.io
4•iryndin•16h ago•3 comments

Show HN: Term.everything – Run any GUI app in the terminal

https://github.com/mmulet/term.everything
1075•mmulet•6d ago•144 comments

Show HN: Building an open-source agentic terminal

https://davehudson.io/blog/2025-09-14
4•tritondev•18h ago•3 comments
Open in hackernews

Show HN: I made a Doom-like game fit inside a QR code

https://github.com/Kuberwastaken/backdooms
531•kuberwastaken•5mo ago
I sometimes pick up random projects just because I can, this was one of those times. I made it as a week long project a while back this year but never shared here, so thought to go for it haha.

I created a game inspired by Doom and the backrooms called The Backdooms under 2.4kb in minified html. (for reference, this entire post would be around 1.8kB haha) I had to use a not popular way of using GZip with Zlib headers (had to write my own script for compressing it, also in the repo) to eventually convert it a size 40 QR code that works right in your browser using Decompressionstream API.

This is of course a very oversimplified description of it, using a lot of the same technologies that DOOM had but combining it with infinite seed based map generation in 2.4kb (QR codes can only store 3kb, which includes changing formats) was pretty hard.

Here are some links about it if you want to nerd out and read more:

Repository Link (MIT License): https://github.com/Kuberwastaken/backdooms

A Hosted (slightly improved) version of The Backdooms: https://kuberwastaken.github.io/backdooms/

Game Trailer: https://www.youtube.com/shorts/QWPr10cAuGc

My Linkedin post about it: https://www.linkedin.com/feed/update/urn:li:activity:7295667...

(PS: You'd need something like https://qrscanner.org/ or something that can scan bigger QR codes and put the text data onto your browser to play it)

My Blogs documenting the process and development in detail:

https://kuberwastaken.github.io/blog/Projects/How-I-Managed-... https://kuberwastaken.github.io/blog/Projects/How-I-Managed-...

Comments

x3n0ph3n3•5mo ago
I think your trailer video link is bad.
croisillon•5mo ago
correct link: https://www.youtube.com/shorts/QWPr10cAuGc
kuberwastaken•5mo ago
Fixed it! My bad haha
r1chardnl•5mo ago
Your game trailer links to a short called "Fly me to the moon - 19 September 2024". I think this is a mistake?
kuberwastaken•5mo ago
Should be fixed, sorry haha
dylan604•5mo ago
Never gonna give you up lives on in new ways
jasonjmcghee•5mo ago
You should update the css for the canvas to be `image-rendering: pixelated` so things look crisp rather than blurry!
kuberwastaken•5mo ago
I tried that but this just looks more fun and retro haha
the_arun•5mo ago
My iPhone camera says - "No Usable Data found" when I scan the QR code.

On a different context, loading a game in QR code also made me to think, can anyone inject a malware script using QR codes?

KeplerBoy•5mo ago
Sure if the parser is broken anything might happen.

Historically there have been exploits for Sony's PSP using modified .tiff images or an exploit for the Nintendo 3DS where a modified .m4a file could be used.

kuberwastaken•5mo ago
You'd need something like https://qrscanner.org/ because most phones suck at scanning larger QR codes.

Also, it won't work on your phone, can't put in that compatibility with size restraints, sadly

conradev•5mo ago
I got it to work with a shortcut: https://www.icloud.com/shortcuts/d4793e08d64d4ff1b7ea725b944...
kuberwastaken•5mo ago
That is seriously cool, didn't know those could do that haha
ustad•5mo ago
Whats that doing? I get some error about some gallery???
giarc•5mo ago
I scanned on an iPhone using native QR code scanner and it says "no usable data found".
kuberwastaken•5mo ago
Hey thanks for checking it out! You'd need something like https://qrscanner.org/ because most phones suck at scanning larger QR codes.

Also, it won't work on your phone, can't put in that compatibility with size restraints, sadly.

iainmerrick•5mo ago
You mean the game doesn't work on mobile at all?

What kind of device do you use to scan the QR code, then?

lelandbatey•5mo ago
You do not need to scan a QR code via a physical camera in your hand directly; any general purpose computer can run a QR code parsing program which accepts arbitrary images as input. It's so easy to do that there exist web pages which implement said QR code scanning in JS. Thus, the parent poster has recommended that you save the QR code .png file to your disk and then use such a piece of software, such as the website they linked, to extract the data encoded in that QR code.

That is how you can use nearly any general-purpose computer to scan a QR code.

kuberwastaken•5mo ago
Indeed! Thank you for explaining this in a way better way :)
iainmerrick•5mo ago
Or... use a URL.

I'm sure the number of people who've ever scanned a QR code on a desktop computer is more than zero, but not much more.

kuberwastaken•5mo ago
I think I myself brought that number into early triple digits, but I do also have a hosted version if you're interested!

The reason for doing this project isn't practicality, it's because I can

kuberwastaken•5mo ago
Nope it doesn't, you can use any QR code scanner that takes image input! I would've loved to include smartphone controls but that would take a LOT of extra bandwidth.
kuberwastaken•5mo ago
Hey just wanted to update, I Managed to add kind of some mobile touch support here, so if you get an alternate chromium based browser, you can put in the URI to play on mobile too!
iainmerrick•5mo ago
Nice one!
ascorbic•5mo ago
fwiw, it works fine with the Pixel's built-in QR code scanner. It recognises it as text, not a URL, but it can copy to clipboard and then pasting in the browser works. Obviously I then die immediately because none of the controls work, but you can't have everything.
kuberwastaken•5mo ago
Hey just wanted to update, crazy timing but I Managed to add kind of some mobile touch support here because of a recent PR to FURTHER optimize it (crazy), so you can actually play it now if you figure out the controls lol
pudquick•5mo ago
data: URI URLs aren't supported in it, it has nothing to do with the size / length of the QR code

For example, this self-contained webpage: <html><body>Hi!</body></html>

encoded is: data:text/html;base64,PGh0bWw+PGJvZHk+SGkhPC9ib2R5PjwvaHRtbD4=

If you paste that into a browser, it will render "Hi!". Very short and easy.

But if you encode is as a QR code, it won't work in this situation.

kuberwastaken•5mo ago
I think it's broken for safari but works on chromium based browsers on mobile too. The QR code basically holds the URI URL itself.
pudquick•5mo ago
I'm saying the primary gateway most iOS users are using for loading a QR code - the camera app - will not present a transition to load your URL in this situation

Whether the resulting HTML game is playable in Safari is a different discussion.

The QR code, as generated, is effectively "not clickable" for most iOS users, unless they are using something other than the most common way to read QR codes on their phone like a 3rd party QR code reading app or similar.

kuberwastaken•5mo ago
That I agree, yes haha
myfonj•5mo ago
You don't even need the base64 encoding for dataURIs: just throw the text payload after mime-type and a comma:

    data:text/html,<!doctype html><title>Hi!</title><p>Hello.
This is also a valid self-contained HTML document. You have to add `;charset=utf-8`, if you need to go beyond ASCII, and for some browsers watch for URI-encoding of some syntactically significant characters (like `#` and `%`, `?`).

Base64 is indeed good to be "safe" and/or somewhat 'conceal' the payload, but it also makes it larger by 1/3 (every three bytes of input become four characters of the base64 output). So taking the risk some devices would not like raw "ASCII dataURI", the QR of the backrooms QR could shave off 738 bytes.

BTW, this is my "HTML sandbox" for testing stuff in a browsers that I summon daily through keyword bookmark to test simple stuff:

    data:text/html;charset=utf-8;verbatim,<!doctype html><html style="color-scheme:dark light"><title>HTML sandbox 2.0.6</title><meta name=viewport content=width=device-width,initial-scale=1><body style=margin:0;display:flex;height:100vh onload="OT=(DC=document).title,H=(L=location).hash.slice(1)||'',RX=/(^data:.+?(;verbatim)?,)?([^]*)/,A.value=H.match(RX)[2]?H:decodeURIComponent(H)||A.value;T=W=0;E=RegExp('^'+(D='data:text/html;charset=utf-8,'));F=()=>{if(W!=(V=A.value))W=V,M=V.match(RX),I.src=M[2]?V:(M[1]||D)+encodeURIComponent(M[3]),DC.title=NT=((TM=V.match(/<title\b[^]*?\x3E([^]*?)<\/title\b/m))&&(NT=TM[1])&&(NT=NT.trim())&&(DC.title=NT+' @ '+OT))||OT};F()"><textarea autocapitalize=off style=resize:horizontal;width:50vw autofocus id=A onkeyup=clearTimeout(T);T=setTimeout(F,400) onblur=try{history.pushState({},NT,'\u0023'+(S=I.src.replace(E,'')))}catch(e){L.hash=S}><!doctype html><html lang="en" style="color-scheme: dark light;">%0A<meta name="viewport" content="width=device-width, initial-scale=1">%0A<title>%0A%0A</title>%0A<style>%0A%0A</style>%0A<body>%0A%s%0A<script>%0A%0A</script>%0A</textarea><iframe style=border:0;flex-grow:1;width:0 id=I>
reaperducer•5mo ago
I think I'm going to find this useful.

Duck browser doesn't allow it to be saved as a bookmark, but Safari is fine with it.

myfonj•5mo ago
Yeah, sadly, top-level dataURIs are increasingly neglected and banished from browsers, mainly because they were misused for scams in the past; for example no modern browser allows navigating to top-level dataURI by clicking a link. Only bookmarks, manual entry, and external invocation (share) work (sometimes).

Anyway, I have put some remarks and docs for that thing into https://gist.github.com/myfonj/c8ce74bf549e19600026ce9022388... , if you are interested.

By the way, this "Backrooms" can also work from non-base64 URI and as such is significantly smaller (https://github.com/Kuberwastaken/backdooms/pull/3#issuecomme...)

kuberwastaken•5mo ago
Awesome stuff! I'll play around with it in a bit!

Thanks for sharing :)

myfonj•4mo ago
My pleasure :] N.b., if you'd like to try fiddling with Backdooms in that Sandbox, either use the "original" HTML payload (with or without `data:text/html,` prefix in the content), or use "verbatim" (`data:text/html;verbatim,` prefix) when trying that last dataURI payload from the comment, otherwise all `%23` would be double encoded, so you'd get wrong colours. ";verbatim" turns off implicit URI Encoding. (It is not part of the tech, just my hacky hatch to be able to test both "true" dataURIs that can be used "verbatim" in URLs, or have convenience of auto-encoding, but have to extract sandbox iframe resulting payload afterwards, for "ejecting" the "project".
Jerry2•5mo ago
I'm kinda relieved that it doesn't work on an iPhone. I often scan codes posted around to save the time typing URLs and running arbitrary code by just scanning a QR code freaks me out.
kuberwastaken•5mo ago
Ironically, I actually wrote a blog about how casually we do this and how dangerous it's become lol https://kuberwastaken.github.io/blog/Technology/QR-Codes-and...
Valodim•5mo ago
The content is good, but fyi the last third or so had a distinct ai padding vibe
kuberwastaken•5mo ago
AI padding vibe?
poilcn•5mo ago
I kinda see that too. Basically, the way some authors use to increase content size with redundant words is the default behavior for Ai chats plus all the disclaimers to avoid possible litigations or negative public image.
Blikkentrekker•5mo ago
It runs inside a web browser though. This is no different from visiting an arbitrary link and running whatever arbitrary code in the Javascript sandbox of that link and one already knows a q.r. code an take one to an arbitrary link.
dylan604•5mo ago
This QR code does. But what about a QR using similar designed by someone less honorable? With QR codes, you have no idea what will happen until you scan it. At that point, it could be too late
Blikkentrekker•5mo ago
As far as I know the only form of code execution they support is by the URL datatype which carries the same risks as wel already mentioned anyway.
Blikkentrekker•5mo ago
That said, I wouldn't mind an upgrade to the standard of say say if the link be printed above the code in human readable form in some way, the reader would refuse to open it, or at least be configurable to refuse to open it if they not match.
recursive•5mo ago
Wait until you hear about javascript on web sites.
berkes•5mo ago
How is this different from opening any website through a QR code, that will then run "arbitrary code"?
deadbabe•5mo ago
How can there not be even one screenshot of the game in the readme?
kuberwastaken•5mo ago
Because it kept evolving and it was more related to the development than the game itself.

But if you want to skip the friction of scanning the QR code, you can directly play a hosted version at: https://kuberwastaken.github.io/backdooms/

ant6n•5mo ago
Doesnt work on iOS (ipad). A screenshot would be nice.
kuberwastaken•5mo ago
Yeah, touch devices suck with it but here's the trailer with some gameplay if you really wanna see how it is: https://www.youtube.com/shorts/QWPr10cAuGc
kuberwastaken•5mo ago
Hey just wanted to update, I Managed to add kind of some mobile touch support here, so if you get an alternate chromium based browser, you can put in the URI to play on mobile too!
deadbabe•5mo ago
It doesn’t work, but I don’t really care to play I just want to see the screenshots of what you made.
kuberwastaken•5mo ago
Heyo, update: I added a GIF to the repo, hope it's better :)
deadbabe•4mo ago
Thank you!
jerjerjer•5mo ago
Year 3567: automatic interstellar probe finds remnants a technical alien civilization.

Year 3678, Show HN: I compiled DOOM for an alien CPU architecture.

Vernor Vinge kind of touches this topic a bit in his Zones of Thought series.

kuberwastaken•5mo ago
Haha I solemnly promise that I'll compile DOOM for an alien CPU architecture if we ever get access to one!
leni536•5mo ago
How fitting

https://www.smbc-comics.com/comic/2011-02-17

flkenosad•5mo ago
How could one theoretically reverse-engineer a CPU?
flkenosad•5mo ago
With an electron microscope possibly.
DougMerritt•5mo ago
Sometimes, sometimes just optical, but in any case, there's even a guy, Ken Sherriff, who has been doing this as a hobby for ages. It's not like this is merely theoretical.

https://www.righto.com/search/label/reverse-engineering

flkenosad•4mo ago
That's cool. Thanks!
Lerc•5mo ago
I don't want to take away from the achievement because it really is awesome, and should be celebrated.

...but...

It seems like a fundamental design issue to make a QR code game that isn't designed for the platform where QR codes are most used.

kuberwastaken•5mo ago
Totally understandable, I can make a snake game inside it fully compatible with mobile but mobile controls just take up a lot of space due to the sheer nature of them haha.

But the compression algorithm is up, feel free to make what you think is awesome and compatible, I'd love to see if you find out hacky solutions to make that work too :P

Lerc•5mo ago
I might just do something like that. Although I inevitably get caught up in designing some minor tech part.

Last time I attempted something like that I made stack machine texture maker, then embedded it inside a version of TTT that minifies+gzips to under 1500bytes. After a few years of pondering I think there are a few more enhancements to be had.

For reference, This URL has a bunch of textures in it.

https://fingswotidun.com/ttt/#W1s2NCw2NCwxMzExOV0sWzY0LDY0LD...

kuberwastaken•5mo ago
Hey just wanted to update, I Managed to add kind of some mobile touch support here thanks to an awesome PR to further reduce the size, so if you get a chromium based browser, you can put in the URI to play on mobile too!
EGreg•5mo ago
Reminds me of my submission to Allegro SizeHack 25 years ago, in 2000:

https://www.oocities.org/trentgamblin/sizehack/entries.html#...

I made a PacMan-like game in under 10KB... it was called HackMan :)

But I am most proud of the storyline that came with it!

kuberwastaken•5mo ago
That is SO cool!
sangeeth96•5mo ago
TIL DecompressionStream, thanks. I managed to shave some more bytes by trimming the HTML bits, raised a PR in case you're interested.
kuberwastaken•5mo ago
YOU'RE A LEGEND! I just managed to ADD (somewhat of) TOUCHSCREEN SUPPORT, better movement, enemy spawning and damage mechanisms in the space that freed up because of this! Genuinely, thank you, made my month :)
sangeeth96•5mo ago
Damn, that’s awesome! Glad that was a help :D
collingreen•5mo ago
Open source victory right here
kuberwastaken•5mo ago
Absolutely!
rezmason•5mo ago
Keep making cool things, kuberwastaken
kuberwastaken•5mo ago
Will try my best! Thank you :)
bhavik_dand•5mo ago
crazy stuff!!
kuberwastaken•5mo ago
Thank you so much!
kuberwastaken•5mo ago
Update: Managed to add kind of some mobile touch support (literally insane) because of a PR by @sangeeth96 on the repo
smusamashah•5mo ago
Please add a few screenshots to the repo. I am on phone and for whatever reason all I could see was 3 buttons and black screen.

Edit: Add a gif instead, you won't have to rely on YouTube with that.

kuberwastaken•5mo ago
Alright! First thing tomorrow :)

Also pushed a commit to hopefully fix the blank screen issue for phones!

xandrius•5mo ago
Still black screen on Firefox mobile.
notnmeyer•5mo ago
ios? same thing on safari, and probably every ios browser
kuberwastaken•5mo ago
Sorry, should be completely fixed now, with a neat little joystick (I presume you're speaking of the hosted verison)
kuberwastaken•5mo ago
Update: Added a GIF!
metalman•5mo ago
I am now waiting for news that someone has bio hacked a cockroach or a fruitfly to play doom, if not autonomously then for the full cold shivers, they are now robotisising insects, which could then be accesed through an interface to play doom on a toothbrush booted from a qr code. Sci-fi is lagging
kuberwastaken•5mo ago
One day indeed
Bengalilol•5mo ago
Great crazy thing! I am waiting for the addition of "self contained QR code" to canitrundoom (although I don't know if it can be technically approved).

Yet... that game will now make me think twice before scanning any QR ^^

kuberwastaken•5mo ago
Haha fingers crossed but hopefully we do make it there.

And yup! It's pretty insane how much you can do with QR codes, wrote about it here if you're interested in reading more :P https://kuberwastaken.github.io/blog/Technology/QR-Codes-and...

Mainan_Tagonist•5mo ago
After several tries, i managed to play it, sort of, on Brave on my Samsung S9.

Very impressive compression trick, as a proof of concept, it is worthy of praise, congrats.

I imagine this approach could be used for much more practical uses.

dylan604•5mo ago
Or much more malevolent as well. Just because something novel and fun/entertaining can be done does not mean assholes will not use the same techniques for their gain.

PoCs like this are neat and definitely shows some skillz by the author, but now I'm hoping security types take a look at this to see how vulnerable this could be from asshats.

autoexec•5mo ago
It's already a good practice not to go around scanning random QR codes. Nobody has to go through the trouble of compressing a bunch of code to run in your browser when you can just make a QR code point to any malicious domain on the internet and infect devices all day long.
kuberwastaken•5mo ago
Thank you so much haha and yes! It indeed can, I always also like the idea of having QR code game cartridges of sorts haha

(PS I updated the hosted version again and it's much better for mobile controls, try it out if you get the time!)

Mainan_Tagonist•5mo ago
I was thinking yesterday whether it would have a potential application in the field of low resources communication : you produce a QR code containing your info that you transmit over SSTV so the other party can get the message. Supposedly much more efficient than FT8 or JS8Call.
kuberwastaken•5mo ago
Never thought about it that way, wow
askvictor•5mo ago
Firefox mobile on Android gives "Cannot complete request; Additional information about this problem or error is currently unavailable" :(
kuberwastaken•5mo ago
Interesting, perhaps try a different browser?
Barrin92•5mo ago
Love these minimal game projects. Reminds me of .kkrieger

https://en.wikipedia.org/wiki/.kkrieger

kuberwastaken•5mo ago
Yess!! Someone told me about it when I posted it on LinkedIn, so cool!
redbell•5mo ago
Really cool project! TIL about 'data:' URLs—while I was familiar with the 'data:' URI scheme and had used it before, I didn’t realize it could be used as a full URL. Funny enough, I had been thinking about building something similar that fits entirely within a QR code, but I held off because I mistakenly thought it would require an HTTP(s) link. I was heavily inspired by this work: Can you fit a whole game into a QR code?(https://www.youtube.com/watch?v=ExwqNreocpg)
kuberwastaken•5mo ago
Thank you for your kind words! I was also inspired by this video back in lockdown, I believe, super cool but I went the opposite route for browser based because of more compatibility.

I have them credited in the repo as well :P

frellus•5mo ago
This stuff is starting to feel closer to Snow Crash than I'm comfortable with, when I saw that QR code I wondered if my brain was being altered :-D Amazing work.
kuberwastaken•5mo ago
Hahaha Thank you so much!
bananaboy•5mo ago
Very cool! Minor nitpick though: DOOM didn’t use raycasting. This is really a Wolfenstein 3D-like, since Wolf3D did use ray casting.
Max-q•5mo ago
This is the obligatory comment on every ray casting game calling itself Doom like. I was scrolling down the page, checking if I had to add it, but luckily it was already done :-D
bananaboy•4mo ago
I have been doing the same since the 90s reading people on usenet calling DOOM raycasting hahaha
kuberwastaken•5mo ago
I KNOW haha! I wanted to include the backrooms concept with the infinite map and such and Wolfenstein 3D seemed fitting for the theme haha
Narishma•4mo ago
Given the lack of textured walls, it's more like a Hovertank 3D-like.
bananaboy•4mo ago
Absolutely! I figured people are more familiar with wolf3d though.
kuberwastaken•4mo ago
I mean- I wanted textures but that's borderline impossible with the size
alex_suzuki•5mo ago
Very cool! You‘ve definitely motivated me to continue my own experimentation in the realm of „what cool stuff can I put in a QR code“: https://strich.io/blog/posts/embedding-webassembly-in-qrcode...
kuberwastaken•5mo ago
Awesome!
thund•5mo ago
Next project: LLM as a QR code

Or, related: https://www.reddit.com/r/OpenAI/comments/138kbhs/someone_sho...

kuberwastaken•5mo ago
Honestly, I might try a version of it, thanks
kuberwastaken•4mo ago
Update - Somewhat made this lol (not a LLM but a cool chatbot nonetheless) https://github.com/Kuberwastaken/MiniLMs/tree/main/SYNEVA
teleforce•5mo ago
In the last Def Con 32 the badge can run full Doom on Pico 2 [1].

[1] Running Doom on the Raspberry Pi Pico 2: A Def Con 32 Badge Hack:

https://shop.sb-components.co.uk/blogs/posts/running-doom-on...

kuberwastaken•5mo ago
Yup, Raspberry Pi could always run it haha, good compute on it.
opan•5mo ago
The Pico is a microcontroller, like an arduino, in case you didn't know. Doesn't run a full GNU/Linux. Not to be confused with the Nano.
opan•4mo ago
s/Nano/Zero/
cosignal•5mo ago
Pardon my dumb query, as I'm a tech novice, but aren't QR just encodings of data? And the max amount of data a QR can encode is like 3kb, which would roughly correspond to 3000 or so plaintext characters. So the achievement here is that this Doom-like game can be run from an executable roughly of that size?
matheusmoreira•5mo ago
QR codes have various encoding modes: numeric, alphanumeric, 8 bit and kanji. The most common is alphanumeric encoding and the densest is 8 bit encoding which just stores binary data.

The QR code standards seem to be a little ambiguous on the meaning and purpose of the 8 bit encoding. I got the impression they added it to support alternative character encodings. Still, it's a mode that "represents an 8-bit byte value directly".

> The default interpretation for QR Code is ECI 000020 representing the JIS8 and Shift JIS character sets.

> 8.3.4 8-bit Byte Mode

> The 8-bit byte mode handles the 8-bit Latin/Kana character set in accordance with JIS X 0201 (character values 00HEX to FFHEX).

> In this mode data is encoded at a density of 8 bits/character.

> 8.4.4 8-bit Byte Mode

> In this mode, one 8 bit codeword directly represents the JIS8 character value of the input data character as shown in Table 6, i.e. a density of 8 bits/character.

> In ECIs other than the default ECI, it represents an 8-bit byte value directly.

In any case, it is possible to use QR codes to store arbitrary binary data. The qrencode tool can do this natively. Decoder support is more tricky, they tend to assume all QR codes contain text. I had to send patches to zbar to help it decode QR codes with binary data in them because it was passing the data through iconv and mangling the output. I also had to add options to the zbar tools to make them decode exactly one QR code

I just wanted to print out 4096 bit RSA secret keys as QR codes. People started QR encoding video games pretty soon after. It's awesome.

https://youtu.be/ExwqNreocpg

https://news.ycombinator.com/item?id=24287347

cosignal•4mo ago
Interesting, thanks for the reply!
kazinator•5mo ago
If that QR code itself appeared as a texture on a wall inside the game, I would shit my pants.
badmonster•5mo ago
cute
kuberwastaken•5mo ago
Very!
below43•5mo ago
This is very cool. On a similar bent I built https://urlfile.app because I wanted to see if I could share files via a URL (and I also wanted to genrate QR codes via Edge so I could load the files onto my phome). It works for small files fairly well...
kuberwastaken•5mo ago
That's really cool
eastoeast•5mo ago
This is super cool. Recently, I tried making an offline, P2P chat program that fits inside of a QR code. In case network was down, the code could be scanned by mobile, allowing users to join a chat room. However this doesn’t seem possible at the moment, as 1. browsers don’t allow offline direct communication for safety reasons 2. couldn’t fit all needed data/prereq modules within the QR.
redeyedtreefrog•5mo ago
Pretty cool, though like others I had some slight technical issues. On Firefox mobile I got a black screen (that was yesterday, maybe it's been updated since then). Firefox desktop today it worked once I figured out that:

a) the keyboard doesn't work until after I click to fire, and this state resets itself every time I press f5 to restart the game (presumably a browser focus issue)

b) both up/down and w/s work for back and forward, but a and d don't work for left and right, you need to use the left/right arrows.

The combination of the two had me scratching my head for a little while!

kuberwastaken•5mo ago
Heyo! Thanks for checking it out! "On Firefox mobile I got a black screen" - Yup I broke it while trying to add mobile controls earlier, but it works well now!

"the keyboard doesn't work until after I click to fire, and this state resets itself every time I press f5 to restart the game" yes- this is actually something for starting the game music and some other processes

sebastiennight•5mo ago
Tested it on an offline Android. I'm amazed that it works, although I could never figure out the controls so I always end up dead within a few seconds!

You might want to explain those controls in the readme :)

kuberwastaken•5mo ago
Yes, it takes a while to get used to but it somewhat works lol

I'll try to familiarize myself with it more and add it eventually!

kamranjon•4mo ago
A friend and I were talking about a somewhat related idea.

We were wondering if we could encode the STL for a 3d print entirely into a QR code and then put that on the actual printed object - so that any piece you made could be replicated by just scanning the object and printing again.

When looking into it I thought it just was too much data, even looked into multi-colored QR codes. But I didn’t realize you could just make a bigger QR code…

jkestner•4mo ago
Did this a while ago for a table as a design exploration. We encoded a 2D file (because the table only required cutting sheet materials) and still had to use a custom compression algorithm for the proof of concept. https://johnkestner.com/rev/
wallivers•4mo ago
I really like this idea. You're a legend!
kuberwastaken•4mo ago
Haha thank you! Really glad you liked it :)
tempodox•4mo ago
Wow!
kartik_malik•4mo ago
What you mean doom like ?