[{"data":1,"prerenderedAt":630},["ShallowReactive",2],{"project-40130304":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":36,"aspects":37,"strip":49,"post_text":51,"what":52,"said":90,"maker_in_thread":298,"shape":301,"grid":305,"attempts":592,"same_week":593,"maker_shows":45,"maker_hidden":622,"reader_version":623,"card":624},"40130304","Balanc3d","Balancing game for the mobile browser with increasing difficulty","title","Show HN: Balancing game for the mobile browser with increasing difficulty","https:\u002F\u002Fwww.balanc3dgame.com\u002F","balanc3dgame.com","nargaw",1713867735,2024,338,102,162,3515,5,"legend","games","tilt ball maze game","web_app",[24,25,26,27,28],"balancing game","browser game","tilt controls","marble maze","mobile browser game","debated",0.016,{"positive":32,"neutral":33,"mixed":34,"critical":35},20,30,7,21,78,{"design":38,"execution":39,"idea":42,"docs":44,"performance":46,"privacy":48},{"positive":18,"critical":34},{"positive":40,"critical":41},3,12,{"positive":18,"critical":43},0,{"positive":45,"critical":43},1,{"positive":47,"critical":45},2,{"positive":43,"critical":45},[40,45,40,40,45,40,40,18,45,43,40,40,40,43,47,43,43,40,47,40,40,18,40,40,18,50,45,47,40,50,45,18,47,40,40,18,18,18,47,47],4,"I made this 10 level Game. Excited for people to try it. :) Stay Balanced :)",{"problem":53,"audience":59,"pricing":60,"motivation":59,"time_to_build":59,"stack":66,"openness":87,"stage":88,"team_size":89},{"value":54,"source":55,"evidence":56},"Casual tilt-based balancing puzzle game playable in the mobile browser","maker",[57],{"id":58},"post",null,{"value":61,"source":55,"evidence":62},"Optional donation via Gumroad link",[63],{"id":64,"by":11,"text":65},"40142082","I'm so grateful for all the feedback and suggestions. Thank you!!! Here is a link to the repo: https:\u002F\u002Fgithub.com\u002Fnargaw\u002FBalanc3d_game Twitter: https:\u002F\u002Ftwitter.com\u002Fnate_dev_ If…",[67,79],{"value":68,"source":69,"evidence":70},"React","commenter",[71,75],{"id":72,"by":73,"text":74},"40130796","skilled","Looks to be React with Three.js. No GitHub repo but source can be seen using dev tools.",{"id":76,"by":77,"text":78},"40163701","hipjiveguy","I have no idea which engine, but the minified source has this in it https:\u002F\u002Fwww.balanc3dgame.com\u002Fassets\u002Findex-53e87cdf.js * react-dom.production.min.js *…",{"value":80,"source":69,"evidence":81},"Three.js",[82,86],{"id":83,"by":84,"text":85},"40165921","dlivingston","It turns out it's just ThreeJS (react-three): https:\u002F\u002Fgithub.com\u002Fnargaw\u002FBalanc3d_game",{"id":72,"by":73,"text":74},"open_source","launched","unknown",{"praise":91,"objections":133,"requests":198,"questions":247,"alternatives":265},[92,107,122],{"value":93,"source":69,"evidence":94},"Responsive, precise controls and keyboard controls feel good",[95,99,103],{"id":96,"by":97,"text":98},"40131858","brospars","Nice and very precise. I was expecting controls to be less reactive.",{"id":100,"by":101,"text":102},"40132367","jonnycomputer","Nicely implemented; controls felt very intuitive on the keyboard.",{"id":104,"by":105,"text":106},"40131186","georges_gomes","The keyboard controls are particularly satisfying. Well done.",{"value":108,"source":69,"evidence":109},"Nostalgic Marble Madness and Monkey Ball feel",[110,114,118],{"id":111,"by":112,"text":113},"40131189","sen","Marble Madness vibes. One of my favorite nostalgia games. I think having 3 lives per level with it resetting just that level might be better for starters, then the 3 lives for…",{"id":115,"by":116,"text":117},"40131068","M4v3R","One of the first big games on the original iPhone after the App Store was shipped was “super Monkey Ball”, a port of a popular console franchise. It was basically this but with…",{"id":119,"by":120,"text":121},"40137578","yzzyx","This is awesome! Makes me wanna play Monkey Ball!",{"value":123,"source":69,"evidence":124},"Polished graphics and motion",[125,129],{"id":126,"by":127,"text":128},"40134451","developer1000","very nicely done with all the graphics and motion. One thing i would add is autofocus attribute on the next button so that i just have to hit enter.",{"id":130,"by":131,"text":132},"40141401","alabhyajindal","Extremely well done! I didn't know you could access gyroscope from the browser.",[134,149,168,183],{"value":135,"source":69,"evidence":136},"Camera angle and neutral flat-phone orientation are awkward",[137,141,145],{"id":138,"by":139,"text":140},"40132324","Laremere","Nice work! Some thoughts: The camera is tilted instead of looking straight down, and my phone needs to be flat to be in the no movement neutral position. This is unpleasant in to…",{"id":142,"by":143,"text":144},"40130598","Waterluvian","Very cool! An issue I immediately had is that it seems to be coded for a horizontal plane being zero. This means I must hold my phone looking down at it, which isn’t how I want…",{"id":146,"by":147,"text":148},"40137553","IshKebab","Needs to have some visual feedback of the orientation. Also the ball is too heavy & slow. And as someone else said the perspective is wrong.",{"value":150,"source":69,"evidence":151},"Doesn't work on some browsers or devices such as Firefox Android and iPad",[152,156,160,164],{"id":153,"by":154,"text":155},"40131891","dmos62","Doesn't work in Firefox for Android.",{"id":157,"by":158,"text":159},"40132419","stpedgwdgfhgdd","Doesn’t work on ipad? I can click Start, but in the next screen nothing reacts to input.",{"id":161,"by":162,"text":163},"40133021","sufficer","Doesn't work on Chrome for android. Mid range android phone though",{"id":165,"by":166,"text":167},"40131577","hanniabu","I'm on chrome on android and it's not working for me. I see 3 dots on the left, a 1 on the right, but nothing seems to happen when clicking\u002Fswiping",{"value":169,"source":69,"evidence":170},"Ball can fall off the map and fall forever without losing a life",[171,175,179],{"id":172,"by":173,"text":174},"40131906","speg","The ball just falls off and then endlessly falls through space…",{"id":176,"by":177,"text":178},"40152260","pbronez","The ball can pop over the sides near the start. When this happens it falls forever without triggering the next life",{"id":180,"by":181,"text":182},"40134850","xyst","I was laying on my back. Started up the game without resetting my phone to a flat state. Then the ball fell off the map. No automatic reset like the other levels. Maybe this is a…",{"value":184,"source":69,"evidence":185},"Speedrun exploit lets players skip levels by flipping the phone",[186,190,194],{"id":187,"by":188,"text":189},"40135271","nasso_dev","you can speedrun by playing with the phone screen facing down. tilt it slightly and the ball will go super fast. you can sort of \"fly\", too, and climb up walls. i got to level 9…",{"id":191,"by":192,"text":193},"40137851","Liftyee","Can confirm. \"Finished\" all 10 levels in a minute on my first try of this strategy. Maybe the end detection area is too high...",{"id":195,"by":196,"text":197},"40138217","pyryt","You can get the ball off the ground if you turn your phone upside down. Then you can just sort of fly over the places where you'd normally fall. Takes maybe a minute or two to…",[199,211,223,233,240],{"value":200,"source":69,"evidence":201},"Let players set a custom neutral orientation or add a zero button",[202,203,207],{"id":142,"by":143,"text":144},{"id":204,"by":205,"text":206},"40142463","meowster","Suggesttion: Have a button where people can \"zero\" their phone orientation. Looks good!",{"id":208,"by":209,"text":210},"40137425","lwansbrough","+1, tilt should be dampened towards the natural orientation the phone was in during initialization",{"value":212,"source":69,"evidence":213},"Remove or soften lives, or allow infinite retries per level",[214,218,222],{"id":215,"by":216,"text":217},"40131374","SamBam","Awesome! Make it a daily Wordle-style game! I need something new in my morning routine. I think having a universal 3-life max is very harsh. I died on level 9 and was sent back…",{"id":219,"by":220,"text":221},"40132695","ghnws","Nice! I would like it more without the \"lives\" though.",{"id":111,"by":112,"text":113},{"value":224,"source":69,"evidence":225},"Add a leaderboard or comparison of completion times",[226,230],{"id":227,"by":228,"text":229},"40130938","logrot","I like it! Unsolicited improvement suggestion: When I finish a level, let me see how well I did compared to others.",{"id":231,"by":105,"text":232},"40131179","A leaderboard for speed runners would be interesting :)",{"value":234,"source":69,"evidence":235},"Add a visual orientation indicator",[236,239],{"id":237,"by":143,"text":238},"40131613","You can always have a “bubble level” showing you the orientation. Anything is better than requiring a player to orient themselves very specifically to play at all.",{"id":146,"by":147,"text":148},{"value":241,"source":69,"evidence":242},"Make it installable as a web app",[243],{"id":244,"by":245,"text":246},"40132753","holoduke","Create a webapp from it. The typical usecase for an installable version. Add service worker and a manifest.json. that way on android phones you have an icon.",[248,255],{"value":249,"source":69,"evidence":250},"Is there a way to avoid redoing completed levels?",[251],{"id":252,"by":253,"text":254},"40130772","tromp","I lost a bunch of times on level 7 and then was sent back to level 1. Is there a way to avoid redoing completed levels?",{"value":256,"source":69,"evidence":257},"What engine or library was used?",[258,261],{"id":259,"by":84,"text":260},"40133465","What engine \u002F library was used to make this?",{"id":262,"by":263,"text":264},"40130734","kosolam","Nice. How did you build it?",[266,273,277,281,291],{"value":267,"source":69,"evidence":268},"Marble Blast Gold",[269],{"id":270,"by":271,"text":272},"40132307","sunday_serif","For me, this took me back to Marble Blast Gold. An early 2000s game with essentially the same concept. Great fun :-)",{"value":274,"source":69,"evidence":275},"Super Monkey Ball",[276],{"id":115,"by":116,"text":117},{"value":278,"source":69,"evidence":279},"Marble Madness",[280],{"id":111,"by":112,"text":113},{"value":282,"source":69,"evidence":283},"Oxyd and Enigma",[284,288],{"id":285,"by":286,"text":287},"40130994","andrelaszlo","My neutral position is tilting away from me, even. Not ideal but fun game either way. Reminds me of Oxyd: https:\u002F\u002Fen.m.wikipedia.org\u002Fwiki\u002FOxyd (I've only played the nineties mac…",{"id":289,"by":143,"text":290},"40131472","Oxyd was core to my childhood gaming as a Mac-only household. Theres a free version called Enigma that has the Oxyd levels by the way!",{"value":292,"source":69,"evidence":293},"Ballance",[294],{"id":295,"by":296,"text":297},"40130982","ReptileMan","this has the feel of an old game called Ballance ... it was amazing and begging for level editor. Amazing job.",{"comments":45,"answered":43,"key":299},[300],{"id":64,"text":65},{"commenters":302,"max_depth":50,"maker_replies":45,"first_comment_mins":303,"lifespan_hours":304},92,62,66,[306,308,312,316,319,323,324,327,328,331,333,336,339,343,346,350,353,354,358,359,361,362,363,364,367,370,371,373,376,381,384,387,391,393,397,400,405,408,412,414,416,419,422,425,427,430,431,436,438,439,443,448,450,454,458,462,463,466,467,468,472,474,479,482,486,490,494,496,497,499,504,509,511,513,515,517,519,520,524,526,529,531,533,535,537,539,543,546,549,552,555,557,559,563,567,571,573,577,579,582,586,588],[138,43,40,307,139,43],"project\u002Fmixed\u002Fdesign",[309,43,40,310,311,43],"40134269","project\u002Fneutral\u002Fexecution","s3krit",[313,43,45,314,315,43],"40135375","project\u002Fcritical\u002Fdesign","jagged-chisel",[317,43,45,314,318,43],"40137698","krisoft",[320,43,40,321,322,43],"40139848","project\u002Fneutral\u002Fdesign","SlightlyLeftPad",[208,43,40,321,209,43],[325,43,40,321,326,43],"40138286","hombre_fatal",[215,45,40,307,216,43],[329,45,40,321,330,43],"40138923","ppezaris",[115,47,43,332,116,43],"other\u002Fneutral\u002Fnone",[334,47,43,332,335,43],"40135596","sunnybeetroot",[337,40,45,314,338,43],"40131855","yashg",[340,40,43,341,342,43],"40133045","commenter\u002Fneutral\u002Fdesign","amadeuspagel",[344,40,43,341,345,43],"40134520","jncfhnb",[347,40,40,348,349,43],"40135930","project\u002Fneutral\u002Fidea","rjmunro",[351,40,43,341,352,43],"40140370","stavros",[111,50,40,307,112,43],[355,50,18,356,357,43],"40132227","project\u002Fpositive\u002Fidea","codingdave",[270,50,18,356,271,43],[360,50,43,332,335,43],"40135604",[142,18,45,314,143,43],[285,18,40,307,286,43],[289,18,43,332,143,43],[365,18,43,332,366,43],"40136004","jeffreygoesto",[368,18,43,341,369,43],"40131592","spuz",[237,18,43,341,143,43],[195,372,40,310,196,43],6,[374,34,43,332,375,43],"40131327","lovegrenoble",[377,378,40,379,380,43],"40131015",8,"project\u002Fneutral\u002Fnone","cuechan",[382,378,40,348,383,43],"40132260","bee_rider",[385,378,40,379,386,43],"40136218","2dvisio",[388,389,40,348,390,43],"40132406",9,"mopierotti",[252,392,40,321,253,43],10,[394,392,43,395,396,43],"40131041","commenter\u002Fneutral\u002Fnone","otteromkram",[398,392,43,395,399,43],"40133734","risenshinetech",[401,402,45,403,404,43],"40131753",11,"project\u002Fcritical\u002Fexecution","swagmaster8008",[406,41,45,314,407,43],"40130917","shawabawa3",[409,41,18,410,411,43],"40131451","project\u002Fpositive\u002Fdesign","bogtog",[413,41,43,341,399,43],"40133747",[415,41,43,341,345,43],"40134558",[417,41,43,341,418,43],"40134779","latexr",[420,41,43,341,421,43],"40139352","VS1999",[64,423,43,424,11,45],13,"maker\u002Fpositive\u002Fnone",[187,426,40,379,188,43],14,[428,426,40,379,429,43],"40136862","thsksbd",[191,426,45,403,192,43],[432,433,40,434,435,43],"40130797",15,"project\u002Fmixed\u002Fexecution","luplex",[437,433,40,310,228,43],"40130947",[165,433,45,403,166,43],[440,433,43,441,442,43],"40137932","commenter\u002Fneutral\u002Fexecution","TulliusCicero",[444,445,18,446,447,43],"40137116",16,"project\u002Fpositive\u002Fdocs","lifeisstillgood",[157,449,45,403,158,43],17,[451,452,18,410,453,43],"40131055",18,"oxcabe",[455,456,43,332,457,43],"40131125",19,"joshstrange",[459,32,18,460,461,43],"40130759","project\u002Fpositive\u002Fnone","udev4096",[231,35,40,348,105,43],[259,464,40,465,84,43],22,"maker\u002Fneutral\u002Fnone",[76,464,40,310,77,43],[83,464,40,310,84,43],[469,470,18,410,471,43],"40132346",23,"grasseh",[180,473,45,403,181,43],24,[475,476,18,477,478,43],"40130967",25,"project\u002Fpositive\u002Fexecution","wanttosheeddp",[480,476,43,395,481,43],"40133853","recursive",[483,484,40,348,485,43],"40133392",26,"nayuki",[487,488,40,348,489,43],"40134742",27,"atum47",[491,492,18,424,493,43],"40132619",28,"brightball",[244,495,40,348,245,43],29,[146,33,45,314,147,43],[176,498,45,403,177,43],31,[500,501,18,502,503,43],"40131839",32,"project\u002Fpositive\u002Fperformance","Aromasin",[505,506,45,507,508,43],"40142011",33,"project\u002Fcritical\u002Fprivacy","encypruon",[227,510,40,348,228,43],34,[512,510,43,395,127,43],"40134396",[130,514,18,477,131,43],35,[204,516,40,321,205,43],36,[262,518,40,465,263,43],37,[72,518,40,310,73,43],[521,518,45,522,523,43],"40131034","project\u002Fcritical\u002Fperformance","andai",[161,525,45,403,162,43],38,[527,525,43,395,528,43],"40133070","dfc",[96,530,18,502,97,43],39,[100,532,18,410,101,43],40,[219,534,45,314,220,43],41,[172,536,45,403,173,43],42,[104,538,18,410,105,43],43,[540,541,45,403,542,43],"40130599",44,"maremmano",[544,541,40,310,545,43],"40130609","bitdivision",[547,541,40,310,548,43],"40130788","paranoidxprod",[550,541,43,395,551,43],"40130927","dotancohen",[553,541,40,310,554,43],"40130813","ttrrooppeerr",[126,556,18,477,127,43],45,[119,558,18,356,120,43],46,[560,561,18,356,562,43],"40142069",47,"darepublic",[564,565,18,424,566,43],"40137253",48,"matthewhartmans",[568,569,40,307,570,43],"40138436",49,"spxneo",[295,572,18,356,296,43],50,[574,575,18,460,576,43],"40130811",51,"JohnSSS1978",[153,578,45,403,154,43],52,[580,578,45,403,581,43],"40132336","toss1",[583,578,40,584,585,43],"40132401","project\u002Fneutral\u002Fdocs","k1t",[587,578,45,403,154,43],"40141499",[589,578,40,590,591,43],"40135010","project\u002Fmixed\u002Fperformance","nebulous1",[],[594,599,603,608,613,618],{"id":595,"name":596,"points":597,"category":598},"40104641","Stepify",271,"productivity",{"id":600,"name":601,"points":602,"category":598},"40112958","OpenOrb",259,{"id":604,"name":605,"points":606,"category":607},"40132373","Getada",194,"dev_tools",{"id":609,"name":610,"points":611,"category":612},"40141980","Podlite",142,"languages",{"id":614,"name":615,"points":616,"category":617},"40089028","The Official MTA App",141,"consumer_social",{"id":619,"name":620,"points":621,"category":20},"40091379","Talk to Me Human",138,false,"v2",{"id":625,"name":5,"line":6,"ai":622,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":626,"top":18,"kw":627,"maker":11,"domain":10,"tier":19,"attempts":43,"strip":628,"url":9,"mix":629,"praise":93,"objection":135,"sub":21},40130304,0.02,[24,25,26,27,28],"3133133510333020032335335412341523355522",[32,33,34,35],1794036653532]