[{"data":1,"prerenderedAt":721},["ShallowReactive",2],{"project-21858226":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":47,"post_text":49,"what":50,"said":105,"maker_in_thread":165,"shape":176,"grid":181,"attempts":682,"same_week":683,"maker_shows":17,"maker_hidden":712,"reader_version":713,"card":714},"21858226","Angeldust","a fast and efficient video game","title","Show HN: Angeldust – a fast and efficient video game",null,"ItsFirefly",1577033896,2019,716,193,13,2195,1,"legend","games","action rpg and building game","game",[23,24,25,26,27],"action rpg","multiplayer game","voxel building game","cross-platform game","old hardware game","mixed",0.025,{"positive":31,"neutral":32,"mixed":17,"critical":33},25,40,19,85,{"execution":36,"idea":39,"performance":42,"design":44,"pricing":46},{"positive":37,"critical":38},3,4,{"positive":40,"critical":41},2,8,{"positive":40,"critical":43},0,{"positive":40,"critical":45},6,{"positive":43,"critical":43},[37,37,38,48,48,17,48,48,48,38,48,37,17,38,37,37,38,38,38,48,17,37,40,38,37,37,37,17,37,48,37,17,37,17,37,17,43,17,37,43],5,"After years of solo development I'm presenting: Angeldust, an omni-compatible action RPG and building game!\n\nWebsite: http:\u002F\u002Fangeldu.st\n\nMy single server hosts 250+K active players in one giant, dynamic fantasy world. Angeldust's game server is pervasively multithreaded, implementing John Carmack's dream of processing an immutable world state each tick.\n\nBoth world handling and network traffic routing uses any number of threads. For networking, a typical game session only uses ~3Kbps of bandwidth, enabling decent play even over 2G\u002FEDGE networks.\n\nThe client is programmed in C++ with bits of C,",{"problem":9,"audience":51,"pricing":61,"motivation":68,"time_to_build":9,"stack":74,"openness":102,"stage":103,"team_size":104},{"value":52,"source":53,"evidence":54},"Casual players, including non-gamers, and people with old or low-end hardware","commenter",[55,58],{"id":56,"by":10,"text":57},"21863343","I hope you enjoy the experience! To be honest I think Angeldust is a video game tailored for non-gamers. Most people playing Angeldust that I know in real life are not gamers by…",{"id":59,"by":10,"text":60},"21860773","My vision was to make an \"all-inclusive\" product where people with ancient hardware would be able to enjoy a modern-day product. All existing engines focus on modern specs like…",{"value":62,"source":63,"evidence":64},"Free on Android; no charge stated for other platforms","maker",[65],{"id":66,"by":10,"text":67},"21860643","Nope. On Google Play I'm limited to a 50 MiB APK size so I can only ship assets for the \"Cartoon\" visual style. As you don't get the full experience of having both the \"Cartoon\"…",{"value":69,"source":63,"evidence":70},"Childhood dream of making a game, built with years of solo development",[71],{"id":72,"by":10,"text":73},"21862613","Thanks! A slight word of warning though, something that also came up during yesterday's livestream: I've been really lucky to be able to successfully fulfill my childhood dream…",[75,80,84,88,92,96],{"value":76,"source":63,"evidence":77},"C++",[78],{"id":79},"post",{"value":81,"source":63,"evidence":82},"C",[83],{"id":79},{"value":85,"source":63,"evidence":86},"Objective-C",[87],{"id":79},{"value":89,"source":63,"evidence":90},"Java",[91],{"id":79},{"value":93,"source":63,"evidence":94},"PHP",[95],{"id":79},{"value":97,"source":63,"evidence":98},"SDL",[99],{"id":100,"by":10,"text":101},"21898170","Go for it! If you already have OpenGL experience—doesn't matter what level—you \"only\" have to add a bit of basic 3D world math and input handling. I found SDL (http:\u002F\u002Flibsdl.org)…","free","launched","solo",{"praise":106,"objections":113,"requests":131,"questions":150,"alternatives":164},[107],{"value":108,"source":53,"evidence":109},"Impressive performance and compatibility on old hardware",[110],{"id":111,"by":10,"text":112},"21860812","\"Today's tools\" do not necessarily allow you to make anything like this. I'd even go as far as to say that an array of ancient hardware and software are the main reason for being…",[114,124],{"value":115,"source":53,"evidence":116},"Mac and iOS App Store listing problems reported by users",[117,121],{"id":118,"by":119,"text":120},"21859847","blunte","This game is not available in the Dutch Apple App Store :(",{"id":122,"by":119,"text":123},"21861220","I originally followed your link on your website, which opened App Store and gave me that notice about it not being available in this country. However, now I just opened App…",{"value":125,"source":53,"evidence":126},"Password entry is awkward and password managers don't work well",[127],{"id":128,"by":129,"text":130},"21858735","matthewcanty","I would also add that I get a little ticked off when I have to adjust my password manager's defaults - in this case reducing from 64 to 32 characters. In the past I have…",[132,139],{"value":133,"source":53,"evidence":134},"Port to Nintendo Switch and other consoles",[135],{"id":136,"by":137,"text":138},"21861048","findyoucef","Have you thought about porting this to Nintendo switch? Indie community is huge so many games do well on the platform.",{"value":140,"source":53,"evidence":141},"Open source the client or game engine",[142,146],{"id":143,"by":144,"text":145},"21859682","ArchReaper","Do you have any plans to open-source all or parts of the game or underlying platform? Do you plan on developing this into it's own 'game engine' or plan on going further than…",{"id":147,"by":148,"text":149},"21861505","exikyut","That might make a good first open source release actually, if it implements a good chunk of the game protocol you might be able to use it to get a rough idea for the types of…",[151],{"value":152,"source":53,"evidence":153},"How the multithreaded server handles world state and chunk migration",[154,157,161],{"id":155,"by":10,"text":156},"21858688","I'll reply more in depth after my livestream, but it's a very good question. You can hop on YouTube right now to discuss it if you want. There's a bit of banter going on, but I…",{"id":158,"by":159,"text":160},"21862373","dreamingincode","Thanks for the explanation! I happened to be thinking of similar multithreading ideas (chunks and ping-ponging states) recently, but was stuck on what happens when computation…",{"id":162,"by":159,"text":163},"21869133","I see. It seems sometimes we do have to live with non-deterministic behaviors or even small errors. I'm still unsure about the following question from your answers: > when some…",[],{"comments":166,"answered":167,"key":168},59,32,[169,170,173],{"id":155,"text":156},{"id":171,"text":172},"21860715","This question was the most asked one during my livestream. It's a good one! Even though it's 01:33 right now after a 7 hour livestream, I'll try to answer it as clearly as…",{"id":174,"text":175},"21862645","Good follow-up question! As for the read state, you're already golden in the sense that you only read data and don't update it. If a chunk needs world or entity data from a…",{"commenters":177,"max_depth":178,"maker_replies":166,"first_comment_mins":179,"lifespan_hours":180},93,9,50,305,[182,186,188,192,194,197,198,199,201,203,204,206,209,212,214,217,220,221,224,228,230,233,236,238,241,244,248,252,254,257,260,264,266,268,270,273,275,277,279,282,285,287,289,291,294,296,300,303,305,309,311,313,315,317,320,322,324,326,329,333,336,340,343,347,351,354,355,358,360,362,363,365,367,370,373,375,379,381,385,388,390,394,396,399,403,405,407,410,413,415,419,423,425,428,430,432,434,437,440,442,444,445,447,449,453,455,460,462,466,468,471,474,476,479,483,485,487,491,493,496,498,501,503,507,511,513,517,522,525,526,528,530,533,536,538,540,544,547,550,553,554,556,557,559,561,563,565,567,570,574,577,580,583,587,591,593,597,599,602,604,606,610,612,614,616,619,621,624,627,630,633,636,638,640,643,646,648,650,653,656,658,660,663,666,669,671,674,677,680],[183,43,37,184,185,43],"21858618","project\u002Fneutral\u002Fexecution","suby",[155,43,43,187,10,17],"maker\u002Fneutral\u002Fnone",[189,43,43,190,191,43],"21859064","other\u002Fneutral\u002Fnone","sxp",[171,43,43,193,10,17],"maker\u002Fneutral\u002Fexecution",[195,43,43,196,185,43],"21861099","commenter\u002Fneutral\u002Fexecution",[158,43,37,184,159,43],[174,43,43,184,10,17],[200,43,37,184,159,43],"21868004",[202,43,43,184,10,17],"21868112",[162,43,37,184,159,43],[205,43,43,184,10,17],"21871291",[207,43,48,208,159,43],"21876695","maker\u002Fpositive\u002Fnone",[210,17,37,187,211,43],"21859440","echelon",[213,17,43,187,10,17],"21860582",[215,17,48,208,216,43],"21860748","smadurange",[218,17,48,219,211,43],"21861516","maker\u002Fpositive\u002Fexecution",[72,17,43,187,10,17],[222,17,48,208,223,43],"21863001","w0utert",[225,17,48,226,227,43],"21866846","project\u002Fpositive\u002Fnone","NicoJuicy",[229,40,43,187,10,17],"21859383",[231,40,43,190,232,43],"21859551","Exuma",[234,40,43,190,235,43],"21859563","jheriko",[237,40,43,187,10,17],"21862657",[239,37,43,190,240,43],"21859339","shamelessApathy",[242,37,43,190,243,43],"21859877","i_am_nomad",[245,37,17,246,247,43],"21859940","project\u002Fcritical\u002Fidea","LeftHandPath",[249,37,43,250,251,43],"21861380","commenter\u002Fneutral\u002Fnone","lostgame",[253,37,43,250,247,43],"21872959",[255,37,43,250,256,43],"21860599","chachachoney",[258,37,43,250,259,43],"21860672","yojex",[261,38,48,262,263,43],"21861271","project\u002Fpositive\u002Fperformance","colatkinson",[265,38,43,187,10,17],"21862452",[143,48,37,267,144,43],"project\u002Fneutral\u002Fnone",[269,48,43,267,10,17],"21860032",[271,48,37,267,272,43],"21860184","ossworkerrights",[274,48,43,267,10,17],"21860598",[276,48,48,226,272,43],"21860765",[147,48,48,278,148,43],"project\u002Fpositive\u002Fidea",[280,48,43,281,10,17],"21862467","maker\u002Fpositive\u002Fidea",[283,45,48,226,284,43],"21859665","nikkwong",[286,45,43,208,10,17],"21860025",[288,45,48,208,284,43],"21860351",[111,45,43,290,10,17],"maker\u002Fneutral\u002Fperformance",[292,45,48,208,293,43],"21866907","radres",[295,45,43,187,10,17],"21867378",[297,298,37,184,299,43],"21858981",7,"smt88",[301,298,37,184,302,43],"21859156","setr",[304,298,43,193,10,17],"21860836",[306,41,48,307,308,43],"21861016","project\u002Fpositive\u002Fdesign","unixsheikh",[310,41,43,262,10,17],"21862527",[312,178,43,187,10,17],"21859937",[136,314,37,267,137,43],10,[316,314,43,267,10,17],"21862559",[318,314,43,190,319,43],"21863228","friendlybus",[321,314,43,267,10,17],"21863330",[323,314,43,190,319,43],"21863489",[325,314,43,190,137,43],"21876725",[327,314,43,190,328,43],"21871788","hummmster",[330,331,17,246,332,43],"21862768",11,"appleflaxen",[334,331,43,335,10,17],"21862868","maker\u002Fneutral\u002Fidea",[337,331,37,338,339,43],"21862929","project\u002Fneutral\u002Fidea","vectorEQ",[341,331,43,190,342,43],"21863886","nkrisc",[344,345,37,338,346,43],"21859155",12,"iTokio",[348,345,37,349,350,43],"21860122","project\u002Fneutral\u002Fperformance","smnplk",[352,345,48,262,353,43],"21860247","Narishma",[59,345,43,349,10,17],[356,345,37,193,357,43],"21881338","jammygit",[359,345,43,187,10,17],"21883468",[361,345,43,190,357,43],"21892688",[100,345,43,187,10,17],[364,345,37,187,357,43],"21923693",[366,345,43,187,10,17],"21953982",[368,15,37,184,369,43],"21861835","travbrack",[371,15,37,267,372,43],"21862102","blue_box",[374,15,43,184,10,17],"21862444",[376,15,48,377,378,43],"21862941","project\u002Fpositive\u002Fexecution","sickmartian",[380,15,43,184,10,17],"21872869",[382,383,37,349,384,43],"21858559",14,"mysterydip",[386,383,37,349,387,43],"21858609","monocasa",[389,383,43,349,10,17],"21858614",[391,392,37,349,393,43],"21860286",15,"tanyatik",[395,392,43,187,10,17],"21867422",[397,392,37,267,398,43],"21869350","Hit_Man",[400,401,48,226,402,43],"21862090",16,"winrid",[404,401,43,187,10,17],"21862487",[406,401,48,226,402,43],"21862608",[408,401,43,190,409,43],"21863577","latchkey",[411,401,37,338,412,43],"21867497","davidmurdoch",[414,401,37,338,402,43],"21877329",[416,417,48,208,418,43],"21859826",17,"keyle",[420,421,37,349,422,43],"21865868",18,"odrzutowiec",[424,421,43,349,10,17],"21871333",[426,33,48,278,427,43],"21859744","synthecypher",[429,33,43,187,10,17],"21860619",[431,33,37,187,319,43],"21863180",[433,33,43,187,10,17],"21863253",[118,435,17,436,119,43],20,"project\u002Fcritical\u002Fexecution",[438,435,17,436,439,43],"21860676","McDev",[441,435,43,184,10,17],"21872893",[443,435,43,184,10,17],"21860866",[122,435,37,184,119,43],[446,435,43,184,10,17],"21862567",[448,435,43,184,10,17],"21861010",[450,451,37,187,452,43],"21860388",21,"bdibs",[454,451,43,187,10,17],"21862717",[456,457,37,458,459,43],"21860060",22,"project\u002Fneutral\u002Fpricing","angrais",[461,457,43,458,10,17],"21862922",[463,464,17,436,465,43],"21861154",23,"jameslin",[467,464,43,184,10,17],"21862582",[469,464,37,184,470,43],"21862815","epse",[472,473,37,187,353,43],"21860449",24,[475,473,43,187,10,17],"21860546",[477,31,48,377,478,43],"21862448","p410n3",[480,481,37,338,482,43],"21859266",26,"ehhhhhhhh",[484,481,43,190,302,43],"21859391",[486,481,43,377,10,17],"21860636",[488,489,37,458,490,43],"21860534",27,"martinesko36",[492,489,43,349,10,17],"21860614",[494,489,37,349,495,43],"21861972","yazaddaruvala",[497,489,43,349,10,17],"21862738",[499,489,37,193,500,43],"21863355","plasma",[502,489,43,184,10,17],"21863407",[504,505,48,208,506,43],"21860744",28,"lbj",[508,509,17,436,510,43],"21862731",29,"anthk",[512,509,43,267,10,17],"21862909",[514,515,48,226,516,43],"21861944",30,"doyoulikeworms",[518,519,17,520,521,43],"21858504",31,"project\u002Fcritical\u002Fdesign","JshWright",[523,519,43,524,10,17],"21858523","project\u002Fneutral\u002Fdesign",[128,519,17,520,129,43],[527,519,43,187,10,17],"21858762",[529,519,43,250,129,43],"21858818",[531,519,37,524,532,43],"21858834","mileycyrusXOXO",[534,519,43,250,535,43],"21859312","dmje",[537,519,43,250,521,43],"21859344",[539,519,43,250,535,43],"21860054",[541,519,37,542,543,43],"21859798","project\u002Fmixed\u002Fdesign","vanous",[545,519,43,546,10,17],"21860652","maker\u002Fneutral\u002Fdesign",[548,519,43,250,549,43],"21863026","izietto",[551,519,37,458,552,43],"21859051","lokedhs",[66,519,43,458,10,17],[555,519,48,208,552,43],"21862899",[56,519,43,226,10,17],[558,519,37,184,552,43],"21868432",[560,519,43,184,10,17],"21871241",[562,167,37,187,272,43],"21859168",[564,167,43,267,10,17],"21860627",[566,167,48,208,272,43],"21860762",[568,167,17,569,398,43],"21869397","project\u002Fcritical\u002Fnone",[571,572,17,246,573,43],"21859052",33,"edoo",[575,572,43,250,576,43],"21859096","bananamerica",[578,572,17,246,579,43],"21860851","StavrosK",[581,572,43,250,582,43],"21869434","TminusDoom",[584,585,17,246,586,43],"21861873",34,"jdkee",[588,589,48,208,590,43],"21859273",35,"Paperweight",[592,589,43,187,10,17],"21860658",[594,595,17,520,596,43],"21863970",36,"nnq",[598,595,43,524,10,17],"21864218",[600,595,17,520,601,43],"21872221","verytrivial",[603,595,17,520,596,43],"21905388",[605,595,43,524,10,17],"21905822",[607,608,17,520,609,43],"21860225",37,"johnnylambada",[611,608,43,524,10,17],"21860844",[613,608,48,307,609,43],"21861614",[615,608,43,187,10,17],"21862759",[617,608,43,250,618,43],"21861020","geddy",[620,608,43,250,609,43],"21861604",[622,623,17,246,251,43],"21859088",38,[625,623,17,246,626,43],"21859157","purple-again",[628,623,43,250,629,43],"21859170","oneeyedpigeon",[631,623,43,250,632,43],"21859198","kossTKR",[634,623,43,250,635,43],"21859233","swsieber",[637,623,43,250,629,43],"21859249",[639,623,43,250,632,43],"21859369",[641,623,43,190,642,43],"21859770","theredbox",[644,623,43,190,645,43],"21859865","pbhjpbhj",[647,623,43,250,582,43],"21869488",[649,623,17,246,632,43],"21859184",[651,623,37,267,652,43],"21859194","detaro",[654,623,43,250,655,43],"21859209","falcolas",[657,623,43,250,632,43],"21859409",[659,623,43,250,655,43],"21859532",[661,623,43,250,662,43],"21865765","nocman",[664,623,37,267,665,43],"21859241","Rexxar",[667,623,43,250,668,43],"21859390","oops",[670,623,43,250,247,43],"21860021",[672,623,43,250,673,43],"21860233","tibbon",[675,623,43,250,676,43],"21860342","heavyset_go",[678,623,43,250,679,43],"21860037","ficklepickle",[681,623,43,190,673,43],"21860229",[],[684,689,693,698,702,707],{"id":685,"name":686,"points":687,"category":688},"21855986","22120",406,"infrastructure",{"id":690,"name":691,"points":687,"category":692},"21874772","Gameslab","hardware",{"id":694,"name":695,"points":696,"category":697},"21880446","Cats of Jasnah",367,"learning_science",{"id":699,"name":700,"points":701,"category":697},"21851495","Mandarin Tone Trainer",237,{"id":703,"name":704,"points":705,"category":706},"21841368","gc",192,"languages",{"id":708,"name":709,"points":710,"category":711},"21843382","Fellowage",186,"web_saas",false,"v2",{"id":715,"name":5,"line":6,"ai":712,"cat":19,"year":12,"points":13,"comments":14,"rec":28,"s":716,"top":17,"kw":717,"maker":10,"domain":718,"tier":18,"attempts":43,"strip":719,"url":-1,"mix":720,"praise":108,"objection":115,"sub":20},21858226,0.03,[23,24,25,26,27],"","3345515554531433444513243331353131310130",[31,32,17,33],1794036584275]