[{"data":1,"prerenderedAt":181},["ShallowReactive",2],{"project-16782658":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":32,"aspects":34,"strip":39,"post_text":30,"what":41,"said":69,"maker_in_thread":105,"shape":113,"grid":116,"attempts":144,"same_week":145,"maker_shows":38,"maker_hidden":174,"reader_version":175,"card":176},"16782658","TerrainVer","Generate Worms-Style Cartoon Terrain in JavaScript","title","Show HN: TerrainVer – Generate Worms-Style Cartoon Terrain in JavaScript","https:\u002F\u002Fjuliango202.com\u002Fterrainver\u002F","juliango202.com","juliango",1523132127,2018,198,12,184,2155,9,"notable","creative","procedural terrain generation","web_app",[24,25,26,27,28],"procedural terrain","worms game","javascript","perlin noise","webgl","quiet",null,{"positive":32,"neutral":33,"mixed":33,"critical":33},3,0,{"idea":35,"docs":37},{"positive":36,"critical":33},2,{"positive":38,"critical":33},1,[40,33,33,33,33,33,33,40,33,40,33,33],5,{"problem":30,"audience":30,"pricing":30,"motivation":42,"time_to_build":30,"stack":54,"openness":67,"stage":68,"team_size":68},{"value":43,"source":44,"evidence":45},"Recreating the Worms-style terrain as a learning exercise in algorithms","inferred",[46,50],{"id":47,"by":48,"text":49},"16783693","mpetrovich","I love this. Recreating old games makes you really appreciate the techniques and effort put into even the small things that one often takes for granted. Doing it yourself is a…",{"id":51,"by":52,"text":53},"16784118","codetrotter","The fact that all of the illustrations in the article update when you generate a new terrain is neat attention to detail :) Good article, thanks for it and for open sourcing your…",[55,63],{"value":56,"source":57,"evidence":58},"JavaScript","commenter",[59],{"id":60,"by":61,"text":62},"16783040","swyx","this is a pretty faithful reproduction. I like it! a lot of solid pointers to great algorithms in here. - perlin noise: https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPerlin_noise for generating…",{"value":64,"source":57,"evidence":65},"WebGL",[66],{"id":60,"by":61,"text":62},"open_source","unknown",{"praise":70,"objections":83,"requests":84,"questions":89,"alternatives":90},[71,75,79],{"value":72,"source":57,"evidence":73},"Faithful reproduction with useful algorithm pointers",[74],{"id":60,"by":61,"text":62},{"value":76,"source":57,"evidence":77},"Well-written article with illustrations that update on regeneration",[78],{"id":51,"by":52,"text":53},{"value":80,"source":57,"evidence":81},"Good way to learn abstract math and computer science algorithms",[82],{"id":47,"by":48,"text":49},[],[85],{"value":86,"source":57,"evidence":87},"Add Worms gameplay mechanics",[88],{"id":47,"by":48,"text":49},[],[91,98],{"value":92,"source":57,"evidence":93},"Worms-style destructible terrain demo on jastanton.com",[94],{"id":95,"by":96,"text":97},"16783790","jastanton","This is great! About 6 years ago I created a worms destructible terrain using canvas. Still up on my website all these years later, no promises on code quality though :)…",{"value":99,"source":57,"evidence":100},"WebGL Worms-style clone using vector terrain (kmbaragona volley)",[101],{"id":102,"by":103,"text":104},"16784138","etaioinshrdlu","My unfinished clone: https:\u002F\u002Fkmbaragona.gitlab.io\u002Fvolley\u002F WebGL (three.js) based. Keyboard input, arrow keys + space to fire. (no use on any mobile device) Terrain operations are…",{"comments":36,"answered":38,"key":106},[107,110],{"id":108,"text":109},"16785526","Generating constructions is very different from generating terrain, so I'd probably try a 2-step process where the building generator can be seeded by the terrain relief. But…",{"id":111,"text":112},"16785579","Thanks for noticing :) This article actually started as a debug page where I displayed all the images to see what was wrong.",{"commenters":18,"max_depth":32,"maker_replies":36,"first_comment_mins":114,"lifespan_hours":115},62,20,[117,119,123,127,131,133,134,136,138,140,141,143],[60,33,40,118,61,33],"project\u002Fpositive\u002Fidea",[120,38,33,121,122,33],"16783894","other\u002Fneutral\u002Fnone","lurquer",[124,38,33,125,126,33],"16784084","other\u002Fneutral\u002Fidea","thexa4",[128,38,33,129,130,33],"16785164","commenter\u002Fneutral\u002Fnone","progval",[132,38,33,129,122,33],"16786722",[108,38,33,125,11,38],[135,38,33,121,122,33],"16786761",[51,36,40,137,52,33],"project\u002Fpositive\u002Fdocs",[111,36,33,139,11,38],"maker\u002Fneutral\u002Fdocs",[47,32,40,118,48,33],[95,142,33,121,96,33],4,[102,142,33,121,103,33],[],[146,151,156,161,166,170],{"id":147,"name":148,"points":149,"category":150},"16760736","AI Grant",323,"learning_science",{"id":152,"name":153,"points":154,"category":155},"16792638","Wey",277,"productivity",{"id":157,"name":158,"points":159,"category":160},"16812288","bvckup2 disk IO graph tool",207,"infrastructure",{"id":162,"name":163,"points":164,"category":165},"16787836","Phoenix 2.6",183,"dev_tools",{"id":167,"name":168,"points":169,"category":165},"16780382","gopro-py-api",131,{"id":171,"name":172,"points":173,"category":165},"16784320","React Pattern Book",114,false,"v2",{"id":177,"name":5,"line":6,"ai":174,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":178,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":179,"url":9,"mix":180,"praise":72,"objection":-1,"sub":21},16782658,[24,25,26,27,28],"500000050500",[32,33,33,33],1793990972598]