[{"data":1,"prerenderedAt":667},["ShallowReactive",2],{"project-14610882":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":42,"post_text":44,"what":45,"said":83,"maker_in_thread":182,"shape":194,"grid":199,"attempts":629,"same_week":630,"maker_shows":32,"maker_hidden":659,"reader_version":660,"card":661},"14610882","Crown","A flexible game engine written from scratch in C++","title","Show HN: Crown – A flexible game engine written from scratch in C++","https:\u002F\u002Fgithub.com\u002Fdbartolini\u002Fcrown","github.com","dbartolini",1498120491,2017,193,170,175,2242,8,"notable","games","game engine","library",[21,24,25,26],"c++","lua scripting","data-oriented","curious",-0.095,{"positive":30,"neutral":31,"mixed":32,"critical":33},4,16,2,7,29,{"idea":36,"execution":38,"design":40},{"positive":32,"critical":37},3,{"positive":39,"critical":30},0,{"positive":41,"critical":39},1,[37,39,43,41,37,39,39,41,37,37,39,39,39,39,39,39,39,39,39,39,39,39,37,37,37,37,43,41,37,39,39,39,39,39,39,39,37,32,39,41],5,null,{"problem":44,"audience":44,"pricing":44,"motivation":46,"time_to_build":44,"stack":53,"openness":80,"stage":81,"team_size":82},{"value":47,"source":48,"evidence":49},"Built for the maker's own game development needs","maker",[50],{"id":51,"by":11,"text":52},"14614921","It is just a simple general-purpose, data-oriented, data-driven, entity-component based, lua scripted game engine written in sane C++ for my own game development needs. Nobody's…",[54,59,66,74],{"value":55,"source":48,"evidence":56},"C++",[57],{"id":58},"post",{"value":60,"source":48,"evidence":61},"Lua",[62,63],{"id":51,"by":11,"text":52},{"id":64,"by":11,"text":65},"14614158","All resource paths (.lua files are resources like any other) in Crown are unix-style and do not include the extension. I have a custom loader that deals with it:…",{"value":67,"source":68,"evidence":69},"Vala","commenter",[70],{"id":71,"by":72,"text":73},"14611334","alkonaut","Wow it seems to contain a full level editor written in vala, a language I hadn't heard of. It seems to be a high level language similar to C# but with a native compiler and some…",{"value":75,"source":48,"evidence":76},"GENie build system (premake fork)",[77],{"id":78,"by":11,"text":79},"14611940","It is not \"modern\" C++. It uses GENie, a fork of premake.","open_source","unknown","solo",{"praise":84,"objections":103,"requests":127,"questions":139,"alternatives":159},[85,96],{"value":86,"source":68,"evidence":87},"Clean, readable code discipline",[88,92],{"id":89,"by":90,"text":91},"14611747","tempodox","Props for the coding discipline. I couldn't even tell how long it has been since I saw C++ as readable as this.",{"id":93,"by":94,"text":95},"14612909","partycoder","The code seems clear enough, though I think the preprocessor macros for wrapping OS specific logic could be at the function level or class level rather than at the statement level.",{"value":97,"source":68,"evidence":98},"Interesting learning project",[99],{"id":100,"by":101,"text":102},"14611289","JabavuAdams","Great learning project, but for production just use Unity unless you absolutely, positively (triple-check) cannot. You will be massively more productive.",[104,115,123],{"value":105,"source":68,"evidence":106},"No finished game built with the engine",[107,111],{"id":108,"by":109,"text":110},"14611966","krapp","I'm not trying to be too critical, but the first thing I look for whenever I come across a new game engine is an actual game implemented in it. Unfortunately, almost none of…",{"id":112,"by":113,"text":114},"14614670","Jeaye","Yet another game engine written in an imperative language, seemingly with the focus on writing something in Orthodox C++ and not necessarily writing something to solve a problem.…",{"value":116,"source":68,"evidence":117},"Crowded field of existing engines like Unity and Godot",[118,122],{"id":119,"by":120,"text":121},"14611104","aaron-lebo","New hobbyist engines pop up from time to time and then they fade into memory. Why is this going to be different? Not to be too grumpy but game engines are a weird thing cause…",{"id":100,"by":101,"text":102},{"value":124,"source":68,"evidence":125},"Unclear feature set compared to modern engines",[126],{"id":112,"by":113,"text":114},[128,132],{"value":129,"source":68,"evidence":130},"Compare features with existing engines",[131],{"id":112,"by":113,"text":114},{"value":133,"source":68,"evidence":134},"Show a demo or sample game",[135],{"id":136,"by":137,"text":138},"14611043","comstock","Interesting! I'd be interested in better understanding the motivation behind Orthodox C++. In particular, you seem to dump most of the C++ standard library: \"Don't use anything…",[140,151,155],{"value":141,"source":68,"evidence":142},"Why use C++ over C or a newer language",[143,147],{"id":144,"by":145,"text":146},"14611122","thehardsphere","Yeah, I'd like to know why you'd still use C++ at all if you find Orthodox C++ appealing. It would seem easier to just write C. Unless I'm missing something (I probably am; don't…",{"id":148,"by":149,"text":150},"14611593","lazyjones","While I find the \"sane C++\" approach pragmatic and practical all things considered, I'm firmly in the \"time to use a better language if possible\" camp. The problem with…",{"value":152,"source":68,"evidence":153},"Why avoid the STL",[154],{"id":136,"by":137,"text":138},{"value":156,"source":68,"evidence":157},"Long-term plan for the project",[158],{"id":119,"by":120,"text":121},[160,164,168,172,176],{"value":161,"source":68,"evidence":162},"Unity",[163],{"id":100,"by":101,"text":102},{"value":165,"source":68,"evidence":166},"Godot",[167],{"id":119,"by":120,"text":121},{"value":169,"source":68,"evidence":170},"Torque",[171],{"id":119,"by":120,"text":121},{"value":173,"source":68,"evidence":174},"Polycode",[175],{"id":119,"by":120,"text":121},{"value":177,"source":48,"evidence":178},"Stingray",[179],{"id":180,"by":11,"text":181},"14611270","These are features and concepts kicked around by mainstream engines. In fact, this work is inspired by Bitsquid\u002FStingray.",{"comments":183,"answered":33,"key":184},18,[185,188,191],{"id":186,"text":187},"14611626","People are working towards that objective, see for example Jonathan Blow's Jai.",{"id":189,"text":190},"14611151","When I started the project C++11 was not supported well on most compilers. I'm fine with new features when they don't limit my freedom. I'm fine with nullptr, it is going to…",{"id":192,"text":193},"14611732","I guess they start over each time the requirements change? :)",{"commenters":195,"max_depth":196,"maker_replies":183,"first_comment_mins":197,"lifespan_hours":198},87,13,60,337,[200,202,206,207,211,214,218,221,223,226,230,233,236,239,241,244,248,250,253,256,257,261,264,267,270,273,276,279,282,285,287,289,291,294,296,299,303,304,307,310,312,313,315,318,321,323,326,328,331,334,336,339,341,343,345,347,350,352,354,356,358,360,363,365,367,369,372,375,377,379,382,385,388,390,393,395,398,400,403,406,408,410,412,414,417,419,422,424,427,430,432,434,436,439,442,445,447,450,453,455,458,460,463,466,468,470,474,476,479,481,484,486,489,491,496,498,501,503,505,507,509,511,513,517,520,522,525,528,531,534,536,539,542,544,546,548,550,552,554,556,559,562,564,567,570,573,576,579,582,584,586,589,591,594,596,599,600,602,605,607,609,611,613,615,617,619,622,624,627,628],[148,39,37,201,149,39],"project\u002Fneutral\u002Fidea",[203,39,39,204,205,39],"14611623","commenter\u002Fneutral\u002Fidea","jahnu",[186,39,39,204,11,41],[208,39,39,209,210,39],"14611972","other\u002Fneutral\u002Fnone","jcalabro",[212,39,39,204,213,39],"14611648","mbel",[215,39,39,216,217,39],"14611890","commenter\u002Fneutral\u002Fnone","otabdeveloper1",[219,39,39,204,220,39],"14612301","simias",[222,39,39,204,149,39],"14612674",[224,39,39,204,225,39],"14612878","politician",[227,39,43,228,229,39],"14613000","project\u002Fpositive\u002Fidea","pierrec",[231,39,39,204,232,39],"14613078","GuB-42",[234,39,39,204,235,39],"14613191","goldfire",[237,39,39,216,238,39],"14614689","sqeaky",[108,41,41,240,109,39],"project\u002Fcritical\u002Fexecution",[242,41,41,240,243,39],"14613591","andrewmcwatters",[245,32,37,246,247,39],"14611125","project\u002Fmixed\u002Fexecution","OssetianOdin",[189,32,39,249,11,41],"maker\u002Fneutral\u002Fdesign",[251,32,37,252,238,39],"14615107","maker\u002Fneutral\u002Fexecution",[254,37,39,209,255,39],"14611691","zakirenish",[192,37,39,216,11,41],[258,37,39,259,260,39],"14611788","other\u002Fneutral\u002Fperformance","jcranberry",[262,37,39,259,263,39],"14613042","monocasa",[265,37,39,216,266,39],"14613539","mhh__",[268,37,39,259,269,39],"14613435","makapuf",[271,37,39,216,272,39],"14612053","typon",[274,37,39,275,255,39],"14612134","commenter\u002Fneutral\u002Fdesign",[277,37,39,216,278,39],"14612967","nyanscat",[280,37,39,216,281,39],"14612352","Matthias247",[283,37,39,216,284,39],"14612608","ryandrake",[286,37,39,216,272,39],"14612790",[288,37,39,216,266,39],"14613559",[290,37,39,216,213,39],"14613100",[292,37,39,216,293,39],"14612948","ghostly_s",[119,30,41,295,120,39],"project\u002Fcritical\u002Fidea",[297,30,43,228,298,39],"14611138","grive",[300,30,39,301,302,39],"14611153","other\u002Fneutral\u002Fidea","numbsafari",[180,30,39,201,11,41],[305,30,41,240,306,39],"14611505","AHTERIX5000",[308,30,39,209,309,39],"14614986","badsectoracula",[136,43,37,311,137,39],"maker\u002Fneutral\u002Fidea",[144,43,37,311,145,39],[314,43,39,204,309,39],"14611147",[316,43,39,216,317,39],"14611185","dgfgfdagasdfgfa",[319,43,39,216,320,39],"14611200","maccard",[322,43,39,216,317,39],"14611229",[324,43,39,216,325,39],"14611447","dan00",[327,43,39,216,320,39],"14611697",[329,43,39,216,330,39],"14611925","imron",[332,43,39,216,333,39],"14612299","mikepurvis",[335,43,39,216,330,39],"14612459",[337,43,39,216,338,39],"14612673","gpderetta",[340,43,39,216,330,39],"14612811",[342,43,39,216,320,39],"14618942",[344,43,39,216,330,39],"14619707",[346,43,39,216,330,39],"14612968",[348,43,39,349,338,39],"14613172","commenter\u002Fneutral\u002Fperformance",[351,43,39,216,330,39],"14617443",[353,43,39,216,333,39],"14620813",[355,43,39,216,325,39],"14612466",[357,43,39,216,284,39],"14612748",[359,43,39,209,325,39],"14612827",[361,43,39,216,362,39],"14611409","tjoff",[364,43,39,216,213,39],"14611509",[366,43,39,216,362,39],"14611521",[368,43,39,216,317,39],"14614855",[370,43,39,216,371,39],"14611646","leni536",[373,43,39,216,374,39],"14611844","adrift",[376,43,39,216,284,39],"14612354",[378,43,39,216,213,39],"14612855",[380,43,39,216,381,39],"14612857","eropple",[383,43,39,216,384,39],"14612935","to3m",[386,43,39,387,11,41],"14611713","project\u002Fneutral\u002Fdesign",[389,43,39,387,11,41],"14611133",[391,43,39,216,392,39],"14611678","moomin",[394,43,39,275,309,39],"14611143",[396,43,39,216,397,39],"14611644","netheril96",[399,43,39,216,392,39],"14611667",[401,43,39,216,402,39],"14614467","syrail",[404,43,39,216,405,39],"14612289","agentultra",[407,43,39,216,137,39],"14612313",[409,43,39,216,405,39],"14612805",[411,43,39,216,309,39],"14614649",[413,43,39,209,284,39],"14612343",[415,43,39,209,416,39],"14612566","stevenwoo",[418,43,39,216,284,39],"14612654",[420,43,39,259,421,39],"14617433","pixel_fcker",[423,43,39,259,416,39],"14633536",[425,43,39,259,426,39],"14612638","yoklov",[428,43,39,216,429,39],"14613561","lj3",[431,43,39,216,284,39],"14613638",[433,43,39,259,384,39],"14614556",[435,43,39,259,309,39],"14614803",[437,43,39,209,438,39],"14611165","dagw",[440,43,39,216,441,39],"14611426","torrent-of-ions",[443,43,39,209,444,39],"14611480","IshKebab",[446,43,39,216,438,39],"14611524",[71,448,37,449,72,39],6,"project\u002Fneutral\u002Fnone",[451,448,37,449,452,39],"14611358","rhodysurf",[454,448,39,387,11,41],"14611425",[456,448,39,216,457,39],"14611475","pjmlp",[459,448,39,216,72,39],"14611819",[461,448,37,449,462,39],"14611500","pja",[464,448,39,209,465,39],"14611589","escapetech",[93,33,37,467,94,39],"project\u002Fmixed\u002Fdesign",[469,33,39,275,11,41],"14621164",[471,18,37,472,473,39],"14612376","maker\u002Fneutral\u002Fnone","B1narySunset",[475,18,39,472,11,41],"14612845",[477,18,37,472,478,39],"14613983","mendeza",[480,18,39,216,11,41],"14614089",[482,18,39,216,483,39],"14614681","slavik81",[485,18,39,216,478,39],"14617243",[89,487,43,488,90,39],9,"project\u002Fpositive\u002Fdesign",[490,487,39,216,11,41],"14611843",[492,493,43,494,495,39],"14611058",10,"project\u002Fpositive\u002Fnone","Jumziey",[497,493,39,216,11,41],"14611538",[499,500,41,240,243,39],"14613681",11,[502,500,39,216,11,41],"14613738",[504,500,37,449,243,39],"14614070",[64,500,39,506,11,41],"project\u002Fneutral\u002Fexecution",[508,500,37,506,243,39],"14614609",[510,500,39,387,11,41],"14614639",[512,500,37,387,243,39],"14614081",[514,515,39,209,516,39],"14611811",12,"ericfrederich",[518,196,39,209,519,39],"14611137","teknico",[521,196,39,209,120,39],"14611159",[523,196,39,209,524,39],"14612502","gmfawcett",[526,196,39,209,527,39],"14612762","Araq",[529,196,39,209,530,39],"14611211","zielmicha",[532,196,39,209,533,39],"14611306","dmit",[535,196,39,209,120,39],"14611324",[537,196,39,209,538,39],"14611534","Jach",[540,196,39,209,541,39],"14614108","pandaman",[543,196,39,209,457,39],"14611478",[545,196,39,209,538,39],"14611635",[547,196,39,209,457,39],"14611749",[549,196,39,209,538,39],"14611898",[551,196,39,209,457,39],"14612015",[553,196,39,209,538,39],"14612149",[555,196,39,209,457,39],"14612276",[557,196,39,209,558,39],"14614074","Zelizz",[560,196,39,209,561,39],"14611735","vilya",[563,196,39,209,457,39],"14611763",[565,196,39,209,566,39],"14611230","VMG",[568,196,39,216,569,39],"14611235","CoolGuySteve",[571,196,39,209,572,39],"14611241","pizza234",[574,196,39,209,575,39],"14611290","dkersten",[577,196,39,209,578,39],"14611854","cpfohl",[580,196,39,209,581,39],"14612177","bascule",[583,196,39,209,213,39],"14612453",[585,196,39,209,338,39],"14612711",[587,196,39,209,588,39],"14612626","Thaxll",[590,196,39,209,575,39],"14617822",[592,196,39,209,593,39],"14709029","fiedzia",[595,196,39,209,266,39],"14613596",[597,598,37,506,333,39],"14611930",14,[78,598,39,506,11,41],[601,598,37,506,333,39],"14611978",[603,598,39,604,11,41],"14611995","project\u002Fpositive\u002Fexecution",[606,598,37,506,333,39],"14612033",[608,598,37,506,333,39],"14612059",[100,610,41,295,101,39],15,[612,610,39,209,145,39],"14611829",[614,610,39,209,101,39],"14613150",[616,610,39,209,145,39],"14613251",[618,610,39,209,101,39],"14613388",[620,610,39,209,621,39],"14613213","aphextron",[623,610,39,209,145,39],"14613442",[625,610,39,209,626,39],"14614063","meheleventyone",[112,31,41,295,113,39],[51,31,39,201,11,41],[],[631,636,641,646,650,654],{"id":632,"name":633,"points":634,"category":635},"14644539","GreenPiThumb",537,"hardware",{"id":637,"name":638,"points":639,"category":640},"14625795","Insect",354,"dev_tools",{"id":642,"name":643,"points":644,"category":645},"14652217","Hackerhunt",335,"productivity",{"id":647,"name":648,"points":649,"category":640},"14612440","Sourcetrail",328,{"id":651,"name":652,"points":653,"category":640},"14614304","pack3d",260,{"id":655,"name":656,"points":657,"category":658},"14636699","HyperLogLog",194,"languages",false,"v2",{"id":662,"name":5,"line":6,"ai":659,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":663,"top":18,"kw":664,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":665,"url":9,"mix":666,"praise":86,"objection":105,"sub":21},14610882,-0.09,[21,24,25,26],"3051300133000000000000333351300000003201",[30,31,32,33],1794036556534]