[HN Gopher] Show HN: I made a Doom-like game fit inside a QR code
___________________________________________________________________
Show HN: I made a Doom-like game fit inside a QR code
Author : kuberwastaken
Score : 501 points
Date : 2025-04-18 16:40 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| kuberwastaken wrote:
| 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-...
| x3n0ph3n3 wrote:
| I think your trailer video link is bad.
| croisillon wrote:
| correct link: https://www.youtube.com/shorts/QWPr10cAuGc
| kuberwastaken wrote:
| Fixed it! My bad haha
| r1chardnl wrote:
| Your game trailer links to a short called "Fly me to the moon -
| 19 September 2024". I think this is a mistake?
| kuberwastaken wrote:
| Should be fixed, sorry haha
| dylan604 wrote:
| Never gonna give you up lives on in new ways
| sangeeth96 wrote:
| TIL DecompressionStream, thanks. I managed to shave some more
| bytes by trimming the HTML bits, raised a PR in case you're
| interested.
| kuberwastaken wrote:
| 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 wrote:
| Damn, that's awesome! Glad that was a help :D
| collingreen wrote:
| Open source victory right here
| kuberwastaken wrote:
| Absolutely!
| alex_suzuki wrote:
| 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 wrote:
| Awesome!
| jasonjmcghee wrote:
| You should update the css for the canvas to be `image-rendering:
| pixelated` so things look crisp rather than blurry!
| kuberwastaken wrote:
| I tried that but this just looks more fun and retro haha
| the_arun wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| I got it to work with a shortcut:
| https://www.icloud.com/shortcuts/d4793e08d64d4ff1b7ea725b944...
| kuberwastaken wrote:
| That is seriously cool, didn't know those could do that haha
| ustad wrote:
| Whats that doing? I get some error about some gallery???
| giarc wrote:
| I scanned on an iPhone using native QR code scanner and it says
| "no usable data found".
| kuberwastaken wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| Indeed! Thank you for explaining this in a way better way
| :)
| iainmerrick wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| Nice one!
| ascorbic wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| That I agree, yes haha
| myfonj wrote:
| 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=docum
| ent).title,H=(L=location).hash.slice(1)||'',RX=/(^data:.+?(;v
| erbatim)?,)?([^]*)/,A.value=H.match(RX)[2]?H:decodeURICompone
| nt(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.ma
| tch(/<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) on
| blur=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%0
| A</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 wrote:
| 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 wrote:
| 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/c8ce74bf549e19600026c
| e9022388... , 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 wrote:
| Awesome stuff! I'll play around with it in a bit!
|
| Thanks for sharing :)
| myfonj wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| The content is good, but fyi the last third or so had a
| distinct ai padding vibe
| kuberwastaken wrote:
| AI padding vibe?
| poilcn wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| Wait until you hear about javascript on web sites.
| berkes wrote:
| How is this different from opening any website through a QR
| code, that will then run "arbitrary code"?
| deadbabe wrote:
| How can there not be even one screenshot of the game in the
| readme?
| kuberwastaken wrote:
| 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 wrote:
| Doesnt work on iOS (ipad). A screenshot would be nice.
| kuberwastaken wrote:
| 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 wrote:
| 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 wrote:
| It doesn't work, but I don't really care to play I just want
| to see the screenshots of what you made.
| kuberwastaken wrote:
| Heyo, update: I added a GIF to the repo, hope it's better :)
| jerjerjer wrote:
| 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 wrote:
| Haha I solemnly promise that I'll compile DOOM for an alien CPU
| architecture if we ever get access to one!
| leni536 wrote:
| How fitting
|
| https://www.smbc-comics.com/comic/2011-02-17
| flkenosad wrote:
| How could one theoretically reverse-engineer a CPU?
| flkenosad wrote:
| With an electron microscope possibly.
| DougMerritt wrote:
| 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 wrote:
| That's cool. Thanks!
| Lerc wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| That is SO cool!
| rezmason wrote:
| Keep making cool things, kuberwastaken
| kuberwastaken wrote:
| Will try my best! Thank you :)
| bhavik_dand wrote:
| crazy stuff!!
| kuberwastaken wrote:
| Thank you so much!
| kuberwastaken wrote:
| Update: Managed to add kind of some mobile touch support
| (literally insane) because of a PR by @sangeeth96 on the repo
| smusamashah wrote:
| 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 wrote:
| Alright! First thing tomorrow :)
|
| Also pushed a commit to hopefully fix the blank screen issue
| for phones!
| xandrius wrote:
| Still black screen on Firefox mobile.
| notnmeyer wrote:
| ios? same thing on safari, and probably every ios browser
| kuberwastaken wrote:
| Sorry, should be completely fixed now, with a neat little
| joystick (I presume you're speaking of the hosted verison)
| kuberwastaken wrote:
| Update: Added a GIF!
| metalman wrote:
| 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 wrote:
| One day indeed
| Bengalilol wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| Never thought about it that way, wow
| askvictor wrote:
| Firefox mobile on Android gives "Cannot complete request;
| Additional information about this problem or error is currently
| unavailable" :(
| kuberwastaken wrote:
| Interesting, perhaps try a different browser?
| Barrin92 wrote:
| Love these minimal game projects. Reminds me of .kkrieger
|
| https://en.wikipedia.org/wiki/.kkrieger
| kuberwastaken wrote:
| Yess!! Someone told me about it when I posted it on LinkedIn,
| so cool!
| redbell wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| Hahaha Thank you so much!
| bananaboy wrote:
| 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 wrote:
| 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 wrote:
| I have been doing the same since the 90s reading people on
| usenet calling DOOM raycasting hahaha
| kuberwastaken wrote:
| 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 wrote:
| Given the lack of textured walls, it's more like a Hovertank
| 3D-like.
| thund wrote:
| Next project: LLM as a QR code
|
| Or, related:
| https://www.reddit.com/r/OpenAI/comments/138kbhs/someone_sho...
| kuberwastaken wrote:
| Honestly, I might try a version of it, thanks
| teleforce wrote:
| 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 wrote:
| Yup, Raspberry Pi could always run it haha, good compute on it.
| opan wrote:
| 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 wrote:
| s/Nano/Zero/
| cosignal wrote:
| 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 wrote:
| 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
| kazinator wrote:
| If that QR code itself appeared as a texture on a wall inside the
| game, I would shit my pants.
| badmonster wrote:
| cute
| kuberwastaken wrote:
| Very!
| below43 wrote:
| 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 wrote:
| That's really cool
| eastoeast wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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...
| wallivers wrote:
| I really like this idea. You're a legend!
___________________________________________________________________
(page generated 2025-04-19 23:01 UTC)