[{"data":1,"prerenderedAt":303},["ShallowReactive",2],{"project-18100526":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":28,"sentiment":29,"stance_mix":30,"scored_comments":18,"aspects":35,"strip":41,"post_text":42,"what":43,"said":68,"maker_in_thread":149,"shape":152,"grid":157,"attempts":266,"same_week":267,"maker_shows":264,"maker_hidden":295,"reader_version":296,"card":297},"18100526","Strife","A 2D game library for Go","title","Show HN: Strife, a 2D game library for Go","https:\u002F\u002Fgithub.com\u002Ffelixangell\u002Fstrife","github.com","felixangell",1538231291,2018,85,46,517,2155,24,"notable","languages","game library","library",[24,25,26,27],"go game library","2d game framework","golang graphics","slick2d","curious",-0.138,{"positive":31,"neutral":32,"mixed":33,"critical":34},3,14,0,7,{"docs":36,"idea":38,"performance":39},{"positive":33,"critical":37},1,{"positive":33,"critical":37},{"positive":31,"critical":40},5,[37,33,31,33,33,31,37,31,31,33,31,31,37,33,31,31,33,33,33,37,31,31,33,31,33,33,33,40,31,37,33,33,33,33,33,33,37,40,33,31],null,{"problem":44,"audience":51,"pricing":42,"motivation":56,"time_to_build":42,"stack":60,"openness":66,"stage":67,"team_size":66},{"value":45,"source":46,"evidence":47},"Provides basic 2D graphics for making games in Go","maker",[48],{"id":49,"by":11,"text":50},"18100770","To be honest, the project is kind of mimicking Slick2D which is a simple Java framework that introduced me into graphics programming in the first place. My kind of dream project…",{"value":52,"source":53,"evidence":54},"Go programmers interested in game and graphics programming","inferred",[55],{"id":49,"by":11,"text":50},{"value":57,"source":46,"evidence":58},"Inspired by Slick2D and a wish to help young people learn graphics programming",[59],{"id":49,"by":11,"text":50},[61],{"value":62,"source":53,"evidence":63},"Go",[64],{"id":65},"post","unknown","beta",{"praise":69,"objections":86,"requests":117,"questions":125,"alternatives":130},[70],{"value":71,"source":72,"evidence":73},"Go's GC pauses are low enough for 2D games","commenter",[74,78,82],{"id":75,"by":76,"text":77},"18100889","weberc2","Go’s GC is extremely low latency and you can pretty easily avoid allocating using the same techniques as you would in C++.",{"id":79,"by":80,"text":81},"18100931","acln","Sub-1ms STW pauses, even for very large heaps.",{"id":83,"by":84,"text":85},"18101307","stcredzero","The current Go is great for writing a 60fps game server. The pauses are very low, and the qualities that make it great for a server also make it great for a game server. I'm…",[87,98,103],{"value":88,"source":72,"evidence":89},"Unclear value proposition and marketing",[90,94],{"id":91,"by":92,"text":93},"18100727","tmountain","It's great to see things happening in the Golang\u002F2D gaming space, but having looked at your Github page and website, I have no idea what the value proposition of your framework…",{"id":95,"by":96,"text":97},"18107962","willio58","Weird that the example they chose to show is a text editor",{"value":99,"source":72,"evidence":100},"Example is a text editor, not a game",[101,102],{"id":91,"by":92,"text":93},{"id":95,"by":96,"text":97},{"value":104,"source":72,"evidence":105},"Go GC and allocation concerns for performance",[106,110,114],{"id":107,"by":108,"text":109},"18100827","crowhack","Rendering text at 60fps is a far cry from rendering a dynamic scene at 60fps. Any examples of this being used for something non-trivial? I'm generally curious because I figured…",{"id":111,"by":112,"text":113},"18101249","pcwalton","You can't avoid allocating using the same techniques as in C++. In Go you have to know the intricacies of escape analysis to avoid allocation: objects are heap allocated \"by…",{"id":115,"by":112,"text":116},"18101268","The biggest problem with doing CPU-intensive work in Go is not the latency of the GC but rather the lack of maturity of the optimization pipeline compared to GCC and LLVM, the…",[118],{"value":119,"source":72,"evidence":120},"Tutorials showing how to build a small game with it",[121],{"id":122,"by":123,"text":124},"18101321","ezekg","Honestly, I’d love to see a project like GoRails but for game programming, maybe with quarterly topics on eg making a FPS, RTS, etc. I would definitely pay a subscription for that.",[126],{"value":127,"source":72,"evidence":128},"Is the project still active?",[129],{"id":91,"by":92,"text":93},[131,135,142],{"value":132,"source":72,"evidence":133},"Phaser",[134],{"id":91,"by":92,"text":93},{"value":136,"source":72,"evidence":137},"Love2D, Unity, HaxeFlixel",[138],{"id":139,"by":140,"text":141},"18101674","greysonp","No idea why this is getting downvoted. You'll naturally need more control over memory when building AAA high-performance 3D games, but there's tons of great 2D games made with GC…",{"value":143,"source":72,"evidence":144},"gameswithgo SDL2 tutorials",[145],{"id":146,"by":147,"text":148},"18101396","gameswithgo","you might enjoy my video series. you will probably want to skip ahead to where we set up SDL2 https:\u002F\u002Fgameswithgo.org\u002F",{"comments":37,"answered":37,"key":150},[151],{"id":49,"text":50},{"commenters":153,"max_depth":154,"maker_replies":37,"first_comment_mins":155,"lifespan_hours":156},27,6,32,29,[158,160,162,164,166,170,174,176,178,180,183,185,186,189,190,193,196,199,201,203,205,207,210,212,215,218,220,223,226,228,230,232,234,236,237,240,242,245,247,249,252,255,257,258,260,263],[91,33,37,159,92,33],"project\u002Fcritical\u002Fdocs",[49,33,33,161,11,37],"maker\u002Fneutral\u002Fnone",[122,33,31,163,123,33],"project\u002Fneutral\u002Fdocs",[146,33,33,165,147,33],"other\u002Fneutral\u002Fdocs",[167,33,33,168,169,33],"18102396","commenter\u002Fneutral\u002Fnone","sephware",[171,33,31,172,173,33],"18107394","maker\u002Fneutral\u002Fidea","asdkhadsj",[107,37,37,175,108,33],"project\u002Fcritical\u002Fperformance",[75,37,31,177,76,33],"project\u002Fneutral\u002Fperformance",[179,37,31,177,108,33],"18100899",[181,37,31,177,182,33],"18100925","tptacek",[184,37,33,168,108,33],"18100943",[79,37,31,177,80,33],[187,37,31,177,188,33],"18100933","NikolaeVarius",[111,37,37,175,112,33],[191,37,33,168,192,33],"18101574","nullstyle",[194,37,33,195,112,33],"18101986","other\u002Fneutral\u002Fperformance",[197,37,31,177,198,33],"18101949","pjmlp",[200,37,31,177,112,33],"18102020",[202,37,33,168,198,33],"18102240",[204,37,33,168,192,33],"18102533",[206,37,33,168,76,33],"18103811",[208,37,31,177,209,33],"18101033","coldtea",[211,37,37,175,108,33],"18101126",[213,37,31,177,214,33],"18101260","BoysenberryPi",[216,37,31,177,217,33],"18102446","andrewmcwatters",[219,37,33,168,198,33],"18101929",[221,37,31,177,222,33],"18101318","robmaister",[224,37,33,168,225,33],"18101399","kjeetgill",[227,37,33,195,198,33],"18101926",[229,37,33,168,209,33],"18101599",[231,37,33,168,198,33],"18101913",[139,37,40,233,140,33],"project\u002Fpositive\u002Fperformance",[235,37,31,177,217,33],"18102430",[115,37,37,175,112,33],[238,37,33,195,239,33],"18101375","andy_ppp",[241,37,33,195,147,33],"18101401",[243,37,33,195,244,33],"18101417","mattnewton",[246,37,33,195,112,33],"18101454",[248,37,33,168,147,33],"18101526",[250,37,33,168,251,33],"18102608","polityagent",[253,37,33,195,254,33],"18101680","galangalalgol",[256,37,37,175,112,33],"18101937",[83,37,40,233,84,33],[259,37,33,168,198,33],"18101904",[261,37,40,233,262,33],"18102043","BurningCycles",[95,264,37,265,96,33],2,"project\u002Fcritical\u002Fidea",[],[268,273,278,282,286,291],{"id":269,"name":270,"points":271,"category":272},"18123058","Shipstreams",202,"consumer_social",{"id":274,"name":275,"points":276,"category":277},"18115256","MicroMDM",146,"infrastructure",{"id":279,"name":280,"points":281,"category":20},"18111721","Kabas",138,{"id":283,"name":284,"points":285,"category":277},"18129892","IPFS HLS Converter",126,{"id":287,"name":288,"points":289,"category":290},"18113779","Hyperfiddle",121,"dev_tools",{"id":292,"name":293,"points":294,"category":290},"18125789","ekill",107,false,"v2",{"id":298,"name":5,"line":6,"ai":295,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":299,"top":18,"kw":300,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":301,"url":9,"mix":302,"praise":71,"objection":88,"sub":21},18100526,-0.14,[24,25,26,27],"1030031330331033000133030005310000001503",[31,32,33,34],1794036570028]