[{"data":1,"prerenderedAt":623},["ShallowReactive",2],{"project-43729683":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":34,"aspects":35,"strip":48,"post_text":50,"what":51,"said":82,"maker_in_thread":221,"shape":233,"grid":238,"attempts":585,"same_week":586,"maker_shows":372,"maker_hidden":615,"reader_version":616,"card":617},"43729683","The Backdooms","A Doom-like game fit inside a QR code","title","Show HN: I made a Doom-like game fit inside a QR code","https:\u002F\u002Fgithub.com\u002FKuberwastaken\u002Fbackdooms","github.com","kuberwastaken",1744994425,2025,531,136,60,3837,2,"legend","games","browser game","web_app",[24,25,26,27,28],"qr code game","doom-like","javascript game","data url","compression","debated",0.068,{"positive":32,"neutral":33,"mixed":18,"critical":32},18,12,50,{"execution":36,"idea":38,"performance":41,"privacy":43,"docs":45,"design":47},{"positive":18,"critical":37},6,{"positive":39,"critical":40},9,0,{"positive":40,"critical":42},4,{"positive":40,"critical":44},3,{"positive":46,"critical":42},1,{"positive":40,"critical":46},[49,49,44,46,46,49,46,46,40,46,40,40,46,40,44,49,40,40,40,46,49,46,46,49,44,44,49,44,44,44,44,46,49,49,49,40,44,46,46,49],5,"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.\n\nI 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.\n\nThis",{"problem":52,"audience":52,"pricing":52,"motivation":53,"time_to_build":62,"stack":66,"openness":79,"stage":80,"team_size":81},null,{"value":54,"source":55,"evidence":56},"Built for fun, just because the maker can","maker",[57,59],{"id":58},"post",{"id":60,"by":11,"text":61},"43732566","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,…",{"value":63,"source":55,"evidence":64},"About a week",[65],{"id":58},[67,71,75],{"value":68,"source":55,"evidence":69},"HTML",[70],{"id":58},{"value":72,"source":55,"evidence":73},"DecompressionStream API",[74],{"id":58},{"value":76,"source":55,"evidence":77},"GZip with Zlib headers",[78],{"id":58},"open_source","launched","solo",{"praise":83,"objections":115,"requests":156,"questions":180,"alternatives":195},[84,100],{"value":85,"source":86,"evidence":87},"Impressive compression trick and clever proof of concept","commenter",[88,92,96],{"id":89,"by":90,"text":91},"43731799","Mainan_Tagonist","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…",{"id":93,"by":94,"text":95},"43732688","alex_suzuki","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“:…",{"id":97,"by":98,"text":99},"43730873","Lerc","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…",{"value":101,"source":86,"evidence":102},"Fun and cool project",[103,107,111],{"id":104,"by":105,"text":106},"43731167","bhavik_dand","crazy stuff!!",{"id":108,"by":109,"text":110},"43745797","tempodox","Wow!",{"id":112,"by":113,"text":114},"43734465","badmonster","cute",[116,130,145],{"value":117,"source":86,"evidence":118},"Doesn't work with the iPhone native QR scanner; needs a third-party scanner",[119,123,127],{"id":120,"by":121,"text":122},"43730024","giarc","I scanned on an iPhone using native QR code scanner and it says \"no usable data found\".",{"id":124,"by":125,"text":126},"43730091","pudquick","data: URI URLs aren't supported in it, it has nothing to do with the size \u002F length of the QR code For example, this self-contained webpage: \u003Chtml>\u003Cbody>Hi!\u003C\u002Fbody>\u003C\u002Fhtml> encoded…",{"id":128,"by":125,"text":129},"43730217","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…",{"value":131,"source":86,"evidence":132},"Controls and mobile support are broken or missing",[133,137,141],{"id":134,"by":135,"text":136},"43730839","ant6n","Doesnt work on iOS (ipad). A screenshot would be nice.",{"id":138,"by":139,"text":140},"43731880","xandrius","Still black screen on Firefox mobile.",{"id":142,"by":143,"text":144},"43735197","sebastiennight","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…",{"value":146,"source":86,"evidence":147},"Security concerns about running code from QR codes",[148,152],{"id":149,"by":150,"text":151},"43730638","Jerry2","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…",{"id":153,"by":154,"text":155},"43731863","dylan604","Or much more malevolent as well. Just because something novel and fun\u002Fentertaining can be done does not mean assholes will not use the same techniques for their gain. PoCs like…",[157,168,172],{"value":158,"source":86,"evidence":159},"Add screenshots or a GIF to the README",[160,164],{"id":161,"by":162,"text":163},"43730503","deadbabe","How can there not be even one screenshot of the game in the readme?",{"id":165,"by":166,"text":167},"43731473","smusamashah","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…",{"value":169,"source":86,"evidence":170},"Document the game controls",[171],{"id":142,"by":143,"text":144},{"value":173,"source":86,"evidence":174},"Better mobile touch support",[175,179],{"id":176,"by":177,"text":178},"43731224","ascorbic","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…",{"id":97,"by":98,"text":99},[181,188],{"value":182,"source":86,"evidence":183},"Why not just use a URL instead of a QR code?",[184],{"id":185,"by":186,"text":187},"43732524","iainmerrick","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.",{"value":189,"source":86,"evidence":190},"Is the QR code itself a self-contained program?",[191],{"id":192,"by":193,"text":194},"43733860","cosignal","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…",[196,207,214],{"value":197,"source":86,"evidence":198},"Wolfenstein 3D and Hovertank 3D (raycasting comparisons)",[199,203],{"id":200,"by":201,"text":202},"43732577","bananaboy","Very cool! Minor nitpick though: DOOM didn’t use raycasting. This is really a Wolfenstein 3D-like, since Wolf3D did use ray casting.",{"id":204,"by":205,"text":206},"43739656","Narishma","Given the lack of textured walls, it's more like a Hovertank 3D-like.",{"value":208,"source":86,"evidence":209},".kkrieger",[210],{"id":211,"by":212,"text":213},"43732194","Barrin92","Love these minimal game projects. Reminds me of .kkrieger https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002F.kkrieger",{"value":215,"source":86,"evidence":216},"Doom running on Raspberry Pi Pico 2 at DEF CON 32",[217],{"id":218,"by":219,"text":220},"43733191","teleforce","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:…",{"comments":222,"answered":39,"key":223},51,[224,227,230],{"id":225,"text":226},"43731303","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!…",{"id":228,"text":229},"43732557","Absolutely!",{"id":231,"text":232},"43732309","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…",{"commenters":234,"max_depth":235,"maker_replies":222,"first_comment_mins":236,"lifespan_hours":237},66,7,26,144,[239,243,245,247,251,253,256,257,259,262,264,266,269,271,275,277,278,279,281,284,286,288,290,291,293,294,296,299,303,305,307,309,311,313,317,320,323,327,330,332,335,338,341,345,348,352,355,358,362,365,367,368,370,374,376,379,382,384,386,389,391,395,397,400,402,406,408,413,416,420,422,425,428,430,432,433,435,437,439,441,444,447,449,453,456,459,461,463,464,466,468,470,472,475,477,478,481,483,485,487,491,493,497,499,502,505,507,511,514,516,519,521,523,525,528,532,534,536,540,542,545,548,550,553,555,557,560,561,564,566,568,572,575,577,580,582],[240,40,49,241,242,40],"43731063","project\u002Fpositive\u002Fexecution","sangeeth96",[225,40,40,244,11,46],"maker\u002Fpositive\u002Fnone",[246,40,49,244,242,40],"43731601",[248,40,49,249,250,40],"43732418","project\u002Fpositive\u002Fidea","collingreen",[228,40,40,252,11,46],"commenter\u002Fneutral\u002Fnone",[254,46,49,249,255,40],"43732217","redbell",[231,46,40,252,11,46],[192,18,44,258,193,40],"project\u002Fneutral\u002Fidea",[260,18,44,258,261,40],"43734015","matheusmoreira",[263,18,40,252,193,40],"43779218",[120,44,46,265,121,40],"project\u002Fcritical\u002Fperformance",[267,44,40,268,11,46],"43730090","project\u002Fneutral\u002Fperformance",[270,44,44,268,186,40],"43730228",[272,44,40,273,274,40],"43730407","commenter\u002Fneutral\u002Fperformance","lelandbatey",[276,44,40,252,11,46],"43730493",[185,44,46,265,186,40],[60,44,40,258,11,46],[280,44,40,265,11,46],"43730484",[282,44,40,283,11,46],"43731327","project\u002Fpositive\u002Fperformance",[285,44,49,244,186,40],"43732494",[176,44,44,287,177,40],"project\u002Fmixed\u002Fperformance",[289,44,40,283,11,46],"43731360",[124,44,46,265,125,40],[292,44,40,268,11,46],"43730160",[128,44,46,265,125,40],[295,44,40,252,11,46],"43730379",[297,44,40,273,298,40],"43731124","myfonj",[300,44,40,301,302,40],"43733002","other\u002Fneutral\u002Fnone","reaperducer",[304,44,40,301,298,40],"43733440",[306,44,40,252,11,46],"43734497",[308,44,44,268,298,40],"43738337",[149,44,46,310,150,40],"project\u002Fcritical\u002Fprivacy",[312,44,40,301,11,46],"43731023",[314,44,46,315,316,40],"43734646","maker\u002Fcritical\u002Fdocs","Valodim",[318,44,40,319,11,46],"43734761","maker\u002Fneutral\u002Fnone",[321,44,40,252,322,40],"43734921","poilcn",[324,44,40,325,326,40],"43731499","commenter\u002Fneutral\u002Fprivacy","Blikkentrekker",[328,44,40,329,154,40],"43731886","other\u002Fcritical\u002Fprivacy",[331,44,40,325,326,40],"43734810",[333,44,40,334,326,40],"43734818","other\u002Fneutral\u002Fprivacy",[336,44,40,325,337,40],"43731599","recursive",[339,44,46,310,340,40],"43734840","berkes",[342,42,44,343,344,40],"43729939","project\u002Fneutral\u002Fdesign","jasonjmcghee",[346,42,40,347,11,46],"43730134","maker\u002Fneutral\u002Fdesign",[349,49,40,350,351,40],"43733104","other\u002Fneutral\u002Fidea","thund",[353,49,40,354,11,46],"43734584","maker\u002Fneutral\u002Fidea",[356,49,40,357,11,46],"43784499","other\u002Fpositive\u002Fidea",[359,37,46,360,361,40],"43729919","project\u002Fcritical\u002Fdocs","r1chardnl",[363,37,40,364,11,46],"43730106","maker\u002Fneutral\u002Fdocs",[366,37,40,301,154,40],"43731846",[211,235,49,249,212,40],[369,235,40,244,11,46],"43732228",[371,372,49,244,373,40],"43731068",8,"rezmason",[375,372,40,319,11,46],"43731345",[377,39,40,350,378,40],"43736165","kamranjon",[380,39,40,350,381,40],"43746075","jkestner",[218,383,40,301,219,40],10,[385,383,40,252,11,46],"43734501",[387,383,40,252,388,40],"43735322","opan",[390,383,40,252,388,40],"43738131",[392,393,40,301,394,40],"43730989",11,"EGreg",[396,393,40,252,11,46],"43731366",[398,33,40,301,399,40],"43734585","below43",[401,33,40,252,11,46],"43734764",[403,404,40,301,405,40],"43731496",13,"metalman",[407,404,40,301,11,46],"43732324",[409,410,46,411,412,40],"43735175",14,"project\u002Fcritical\u002Fexecution","redeyedtreefrog",[414,410,40,415,11,46],"43735300","project\u002Fneutral\u002Fexecution",[417,418,49,249,419,40],"43731638",15,"Bengalilol",[421,418,40,319,11,46],"43731750",[142,423,44,424,143,40],16,"project\u002Fmixed\u002Fdocs",[426,423,40,427,11,46],"43735305","project\u002Fneutral\u002Fdocs",[161,429,46,360,162,40],17,[431,429,40,427,11,46],"43730626",[134,429,46,411,135,40],[434,429,40,415,11,46],"43730926",[436,429,40,415,11,46],"43731331",[438,429,46,360,162,40],"43731476",[440,429,40,427,11,46],"43732322",[442,429,49,443,162,40],"43755449","maker\u002Fpositive\u002Fdocs",[445,32,49,249,446,40],"43732547","frellus",[448,32,40,319,11,46],"43732569",[450,451,40,301,452,40],"43734613",19,"eastoeast",[200,454,44,455,201,40],20,"project\u002Fneutral\u002Fnone",[457,454,40,252,458,40],"43734330","Max-q",[460,454,40,301,201,40],"43736094",[462,454,40,258,11,46],"43734589",[204,454,44,343,205,40],[465,454,40,252,201,40],"43740851",[467,454,40,343,11,46],"43742099",[93,469,49,249,94,40],21,[471,469,40,252,11,46],"43734476",[473,474,40,415,11,46],"43731317",22,[89,476,49,249,90,40],23,[153,476,46,310,154,40],[479,476,40,325,480,40],"43732059","autoexec",[482,476,40,319,11,46],"43732214",[484,476,44,258,90,40],"43734484",[486,476,40,258,11,46],"43734591",[488,489,46,411,490,40],"43732049",24,"askvictor",[492,489,40,415,11,46],"43732210",[494,495,49,249,496,40],"43738538",25,"wallivers",[498,495,40,319,11,46],"43742097",[500,236,44,415,501,40],"43729905","x3n0ph3n3",[503,236,44,415,504,40],"43730092","croisillon",[506,236,40,415,11,46],"43730108",[508,509,44,455,510,40],"43750680",27,"kartik_malik",[97,512,46,513,98,40],28,"project\u002Fcritical\u002Fdesign",[515,512,40,343,11,46],"43730892",[517,512,40,518,98,40],"43731226","other\u002Fneutral\u002Fdesign",[520,512,40,415,11,46],"43731372",[104,522,49,249,105,40],29,[524,522,40,319,11,46],"43731435",[108,526,49,527,109,40],30,"project\u002Fpositive\u002Fnone",[529,530,49,527,531,40],"43734336",31,"kazinator",[112,533,49,527,113,40],32,[535,533,40,252,11,46],"43734480",[537,538,40,301,539,40],"43730551",33,"jerjerjer",[541,538,40,301,11,46],"43730612",[543,538,40,301,544,40],"43730660","leni536",[546,538,40,301,547,40],"43730984","flkenosad",[549,538,40,301,547,40],"43730987",[551,538,40,301,552,40],"43732821","DougMerritt",[554,538,40,301,547,40],"43738229",[165,556,44,343,166,40],34,[558,556,40,559,11,46],"43731741","maker\u002Fneutral\u002Fexecution",[138,556,46,411,139,40],[562,556,46,411,563,40],"43732189","notnmeyer",[565,556,40,415,11,46],"43732208",[567,556,40,427,11,46],"43732315",[569,570,46,411,571,40],"43730022",35,"the_arun",[573,570,40,334,574,40],"43730047","KeplerBoy",[576,570,40,415,11,46],"43730094",[578,570,49,241,579,40],"43730249","conradev",[581,570,40,252,11,46],"43730386",[583,570,40,252,584,40],"43730938","ustad",[],[587,592,597,602,606,611],{"id":588,"name":589,"points":590,"category":591},"43739456","Tutorial-Codebase-Knowledge",923,"dev_tools",{"id":593,"name":594,"points":595,"category":596},"43754124","Dia",652,"ai",{"id":598,"name":599,"points":600,"category":601},"43734910","Undercutf1",301,"consumer_social",{"id":603,"name":604,"points":605,"category":601},"43745554","JuryNow",263,{"id":607,"name":608,"points":609,"category":610},"43771365","Scrimba",258,"learning_science",{"id":612,"name":613,"points":614,"category":610},"43734583","Gridbach",244,false,"v2",{"id":618,"name":5,"line":6,"ai":615,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":619,"top":18,"kw":620,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":621,"url":9,"mix":622,"praise":85,"objection":117,"sub":21},43729683,0.07,[24,25,26,27,28],"5531151101001035000151153353333155503115",[32,33,18,32],1794036673078]