[{"data":1,"prerenderedAt":368},["ShallowReactive",2],{"project-10896901":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":44,"post_text":45,"what":46,"said":76,"maker_in_thread":173,"shape":180,"grid":184,"attempts":329,"same_week":330,"maker_shows":38,"maker_hidden":361,"reader_version":362,"card":363},"10896901","awk-raycaster","3D shooter in your terminal using raycasting in Awk","title","Show HN: 3D shooter in your terminal using raycasting in Awk","https:\u002F\u002Fgithub.com\u002FTheMozg\u002Fawk-raycaster","github.com","TheMozg",1452714100,2016,350,55,43,2264,2,"legend","games","terminal game","cli",[24,25,21,26],"awk","raycasting","3d shooter","mixed",0.44,{"positive":30,"neutral":31,"mixed":32,"critical":33},16,8,0,3,27,{"execution":36,"docs":39,"idea":40,"design":42,"performance":43},{"positive":37,"critical":38},5,1,{"positive":18,"critical":32},{"positive":41,"critical":38},4,{"positive":18,"critical":32},{"positive":32,"critical":38},[37,32,32,32,33,37,37,38,32,32,37,32,32,38,32,32,32,32,32,37,32,37,37,33,33,32,33,32,32,37,37,37,37,32,38,32,32,37,37,37],null,{"problem":45,"audience":45,"pricing":45,"motivation":45,"time_to_build":45,"stack":47,"openness":74,"stage":75,"team_size":75},[48,54,66],{"value":49,"source":50,"evidence":51},"Awk","inferred",[52],{"id":53},"post",{"value":55,"source":56,"evidence":57},"gawk required","commenter",[58,62],{"id":59,"by":60,"text":61},"10899154","Gnouc","Great work! PS: You need gawk to run this.",{"id":63,"by":64,"text":65},"10899626","myztic","Needs bash and gawk, bash you can avoid by changing cmd = \"bash -c 'read -n 1 input; echo $input'\" to cmd = \"saved=$(stty -g); stty raw; var=$(dd bs=1 count=1 2>\u002Fdev\u002Fnull); stty…",{"value":67,"source":68,"evidence":69},"bash (optional, replaced with dd)","maker",[70,71],{"id":63,"by":64,"text":65},{"id":72,"by":11,"text":73},"10905291","Finally merged that.","open_source","unknown",{"praise":77,"objections":119,"requests":132,"questions":148,"alternatives":156},[78,93,104],{"value":79,"source":56,"evidence":80},"Readable, clean Awk code",[81,85,89],{"id":82,"by":83,"text":84},"10898899","__jal","General greatness aside, I have to say that's the best quality awk code I've seen. Too many people treat writing awk like picking up after your dog - something to get done…",{"id":86,"by":87,"text":88},"10897613","mysterydip","Very cool! And easily modifiable, thanks to readable code as bliti said. Seems well thought\u002Flaid out.",{"id":90,"by":91,"text":92},"10897496","bliti","This is very cool. The code is very readable. I honestly expected a bit of mess. It's easy to follow and managed to learn a bit about awk. Nice job!",{"value":94,"source":56,"evidence":95},"Impressive what fits in few lines of code",[96,100],{"id":97,"by":98,"text":99},"10898396","n0us","It's amazing what you can do in so few lines of code. If you have the time you ought to do a tutorial on how to make this sort of game, it would be a great read.",{"id":101,"by":102,"text":103},"10898227","quacker","Having never looked at awk aside from its usage in shell one-liners, that code looks really nice. I might have to go learn awk for a bit.",{"value":105,"source":56,"evidence":106},"Fun, cool project",[107,111,115],{"id":108,"by":109,"text":110},"10897843","redthrowaway","Whose idea was it to have the gun reload slower if you're running away? Deliciously evil. Anyway, really cool project. Good work!",{"id":112,"by":113,"text":114},"10899711","latenightcoding","This is amazing.",{"id":116,"by":117,"text":118},"10898131","tunnuz","Amazing!",[120,125],{"value":121,"source":56,"evidence":122},"Needs gawk and bash, not portable",[123,124],{"id":63,"by":64,"text":65},{"id":59,"by":60,"text":61},{"value":126,"source":56,"evidence":127},"Awk is an odd choice for this kind of program",[128],{"id":129,"by":130,"text":131},"10898438","qwertyuiop924","Like a sculpture made out of snot,you can applaud the elegance of the sculpture, and the elegance of the construction, but you have to wonder about the building material...",[133,137],{"value":134,"source":56,"evidence":135},"Write a tutorial on how it works",[136],{"id":97,"by":98,"text":99},{"value":138,"source":56,"evidence":139},"Build a file explorer in this style",[140,144],{"id":141,"by":142,"text":143},"10898700","pacomerh","This could actually be used to build a file explorer, not sure for what, but it would be fun to explore directories this way.",{"id":145,"by":146,"text":147},"10902092","dawnbreez","I want this and I don't know how to make it.",[149],{"value":150,"source":56,"evidence":151},"How to read a key in raw mode in awk",[152],{"id":153,"by":154,"text":155},"10899501","emmelaich","I was wondering how you'd read a key in raw mode in awk. The answer, I found with a mix of horror and admiration is 3 forks. Two stty and one bash (presuming read and echo are…",[157,167],{"value":158,"source":56,"evidence":159},"Doom-like games and Flash games",[160,163],{"id":161,"by":11,"text":162},"10897788","I guess 20 years ago CS students weren't told to \"write a Doom-like game\" as an awk homework =)",{"id":164,"by":165,"text":166},"10900468","executesorder66","That's exactly how I felt about cool games made with Flash.",{"value":168,"source":68,"evidence":169},"Raycasting tutorials in C++ and JS",[170],{"id":171,"by":11,"text":172},"10898436","There is a great tutorial (it's actually a series of them) which I used: http:\u002F\u002Flodev.org\u002Fcgtutor\u002Fraycasting.html It's old and C++ but explains raycasting very well. And there is…",{"comments":37,"answered":38,"key":174},[175,178,179],{"id":176,"text":177},"10898759","Actually I tried to do without true multidimensional arrays, but deleting and sorting elements would be a pain.",{"id":171,"text":172},{"id":72,"text":73},{"commenters":181,"max_depth":37,"maker_replies":37,"first_comment_mins":182,"lifespan_hours":183},36,84,283,[185,187,191,194,196,198,202,204,208,209,211,215,217,219,221,223,224,226,230,234,236,238,241,243,245,247,249,250,252,255,258,261,263,265,269,270,273,276,279,281,284,287,289,291,295,300,302,305,307,311,314,316,320,322,325],[82,32,37,186,83,32],"maker\u002Fpositive\u002Fexecution",[188,32,32,189,190,32],"10899863","other\u002Fneutral\u002Fnone","Stratoscope",[192,32,32,189,193,32],"10900402","david-given",[195,32,32,189,190,32],"10903972",[197,32,32,189,193,32],"10905501",[199,32,33,200,201,32],"10907346","project\u002Fneutral\u002Fdocs","i336_",[141,38,37,203,142,32],"project\u002Fpositive\u002Fidea",[205,38,33,206,207,32],"10899727","project\u002Fneutral\u002Fnone","andrewflnr",[145,38,37,203,146,32],[129,18,38,210,130,32],"project\u002Fcritical\u002Fidea",[212,18,32,213,214,32],"10898608","commenter\u002Fneutral\u002Fnone","ricksplat",[216,18,32,213,130,32],"10900986",[218,18,32,213,214,32],"10902572",[220,18,32,213,130,32],"10902823",[222,18,37,203,193,32],"10900423",[164,18,32,213,165,32],[225,18,32,189,130,32],"10900989",[227,33,33,228,229,32],"10898613","project\u002Fneutral\u002Fdesign","dTal",[231,33,38,232,233,32],"10898717","project\u002Fcritical\u002Fexecution","minimax",[176,33,32,235,11,38],"project\u002Fneutral\u002Fexecution",[237,33,32,213,193,32],"10900419",[239,41,32,189,240,32],"10898848","mcculley",[242,41,32,213,201,32],"10907366",[244,41,32,213,240,32],"10908645",[246,41,32,213,201,32],"10909362",[248,41,32,213,240,32],"10909429",[97,37,37,203,98,32],[171,37,32,251,11,38],"maker\u002Fneutral\u002Fdocs",[253,37,37,254,98,32],"10899269","maker\u002Fpositive\u002Fdocs",[108,256,37,257,109,32],6,"project\u002Fpositive\u002Fdesign",[259,256,37,257,260,32],"10897963","seivan",[63,262,33,235,64,32],7,[72,262,32,264,11,38],"maker\u002Fneutral\u002Fnone",[266,31,33,267,268,32],"10897743","project\u002Fneutral\u002Fidea","tunesmith",[161,31,32,264,11,38],[271,31,33,264,272,32],"10898133","foota",[274,31,32,189,275,32],"10899363","ethbro",[277,31,32,189,278,32],"10900212","bobwaycott",[280,31,32,189,130,32],"10901009",[282,31,32,213,283,32],"10909511","brlewis",[101,285,37,286,102,32],9,"project\u002Fpositive\u002Fexecution",[86,288,37,186,87,32],10,[90,290,37,186,91,32],11,[292,293,32,189,294,32],"10900808",12,"kirang1989",[296,297,37,298,299,32],"10899105",13,"project\u002Fpositive\u002Fnone","thevibesman",[301,297,32,264,11,38],"10900360",[153,303,38,304,154,32],14,"project\u002Fcritical\u002Fperformance",[306,303,33,235,201,32],"10906263",[308,309,32,189,310,32],"10901168",15,"arca_vorago",[312,30,32,189,313,32],"10901044","baldfat",[116,315,37,298,117,32],17,[317,318,37,286,319,32],"10897498",18,"Upvoter33",[112,321,37,298,113,32],19,[59,323,37,324,60,32],20,"project\u002Fpositive\u002Fdocs",[326,327,33,267,328,32],"10967486",21,"ragnar123",[],[331,336,341,346,351,356],{"id":332,"name":333,"points":334,"category":335},"10872143","gradient.quasi.ink",448,"creative",{"id":337,"name":338,"points":339,"category":340},"10890531","2Sli.de",244,"productivity",{"id":342,"name":343,"points":344,"category":345},"10869046","Charme",167,"consumer_social",{"id":347,"name":348,"points":349,"category":350},"10897121","Patchwork",122,"security_privacy",{"id":352,"name":353,"points":354,"category":355},"10887071","Libconcurrent",91,"languages",{"id":357,"name":358,"points":359,"category":360},"10858327","Penny",89,"finance_crypto",false,"v2",{"id":364,"name":5,"line":6,"ai":361,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":28,"top":18,"kw":365,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":366,"url":9,"mix":367,"praise":79,"objection":121,"sub":21},10896901,[24,25,21,26],"5000355100500100000505533030055550100555",[30,31,32,33],1793990936269]