[{"data":1,"prerenderedAt":839},["ShallowReactive",2],{"project-47400868":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":50,"post_text":51,"what":52,"said":107,"maker_in_thread":277,"shape":290,"grid":294,"attempts":800,"same_week":801,"maker_shows":47,"maker_hidden":831,"reader_version":832,"card":833},"47400868","Godogen","Claude Code skills that build complete Godot games","title","Show HN: Claude Code skills that build complete Godot games","https:\u002F\u002Fgithub.com\u002Fhtdt\u002Fgodogen","github.com","htdt",1773677249,2026,337,205,110,4366,3,"legend","dev_tools","game generation pipeline","other",[24,25,26,27,28],"godot","gdscript","claude code","game generation","ai game dev","debated",0.023,{"positive":32,"neutral":33,"mixed":34,"critical":35},24,23,4,26,77,{"execution":38,"pricing":41,"idea":43,"docs":46,"design":49},{"positive":39,"critical":40},6,15,{"positive":42,"critical":42},0,{"positive":44,"critical":45},10,5,{"positive":47,"critical":48},1,2,{"positive":47,"critical":47},[42,42,48,18,18,47,18,47,42,47,42,42,47,42,42,18,18,42,47,45,47,18,48,18,18,18,45,34,18,34,45,18,48,45,18,48,47,18,42,34],"I’ve been working on this for about a year through four major rewrites. Godogen is a pipeline that takes a text prompt, designs the architecture, generates 2D\u002F3D assets, writes the GDScript, and tests it visually. The output is a complete, playable Godot 4 project.\n\nGetting LLMs to reliably generate functional games required solving three specific engineering bottlenecks:\n\n1. The Training Data Scarcity: LLMs barely know GDScript. It has ~850 classes and a Python-like syntax that will happily let a model hallucinate Python idioms that fail to compile. To fix this, I built a custom reference sys",{"problem":53,"audience":59,"pricing":68,"motivation":69,"time_to_build":73,"stack":77,"openness":104,"stage":105,"team_size":106},{"value":54,"source":55,"evidence":56},"Getting LLMs to reliably generate functional Godot games from a text prompt","maker",[57],{"id":58},"post",{"value":60,"source":61,"evidence":62},"Game creators and developers experimenting with agent-built games in Godot","inferred",[63,64],{"id":58},{"id":65,"by":66,"text":67},"47406235","soared","This will do poorly with the HN crowd because they can write or understand code. This is an incredible tool for TikTok\u002Fnontechnical people who don’t know anything about ai, and…",null,{"value":70,"source":55,"evidence":71},"Explore whether LLMs can reliably generate complete games; maker has worked on it for about a year",[72],{"id":58},{"value":74,"source":55,"evidence":75},"About a year, through four major rewrites",[76],{"id":58},[78,82,86,90,94,100],{"value":79,"source":55,"evidence":80},"GDScript",[81],{"id":58},{"value":83,"source":55,"evidence":84},"Godot 4",[85],{"id":58},{"value":87,"source":55,"evidence":88},"Claude Code",[89],{"id":58},{"value":91,"source":55,"evidence":92},"Gemini Flash (visual QA)",[93],{"id":58},{"value":95,"source":55,"evidence":96},"Tripo3D (3D models)",[97],{"id":98,"by":11,"text":99},"47404198","Assets are a big chunk of the pipeline — generates 2D art with Gemini, converts to 3D via Tripo3D, handles sprite sheets and background removal. Animation is the main remaining…",{"value":101,"source":55,"evidence":102},"Gemini (2D image generation)",[103],{"id":98,"by":11,"text":99},"open_source","prototype","solo",{"praise":108,"objections":147,"requests":199,"questions":227,"alternatives":254},[109,125,136],{"value":110,"source":111,"evidence":112},"Useful for prototyping and jumping-off points for game ideas","commenter",[113,117,121],{"id":114,"by":115,"text":116},"47406332","Underphil","There's understandably a lot of negativity in here, myself included. But isn't this at least good to create a \"jumping off\" point for building a game? The demos might be shit but…",{"id":118,"by":119,"text":120},"47422246","sacredSatan","Thanks for not cherry picking the output. The demos look great for a single prompt output. I can see myself playtesting a mechanic that I just thought of but would probably take…",{"id":122,"by":123,"text":124},"47409764","SilentEditor","This is a really good idea. Image all the game devs that hate writing actual code but sits on some seriously good ideas. This will help so many to get the initial MVP thats…",{"value":126,"source":111,"evidence":127},"Evaluation loop with visual QA is a good idea",[128,132],{"id":129,"by":130,"text":131},"47428221","dahrkael","this is great, specially the evaluation loop. the worst part of using AI to make games is testing things work as intended after every modification specially if its a complex…",{"id":133,"by":134,"text":135},"47410418","martinvalchev","The lazy-loading approach for the API reference is clever. Did you consider embedding a smaller, distilled subset of the most-used classes permanently in context, and only…",{"value":137,"source":111,"evidence":138},"Custom GDScript reference system is valuable",[139,143],{"id":140,"by":141,"text":142},"47423986","saltynews","As a Godot user, GDScript's unique syntax often trips up standard LLMs, so your custom language reference is a game changer. Integrating Claude Code directly into the game dev…",{"id":144,"by":145,"text":146},"47485452","4riel","I am not a game developer but a platform developer. The custom reference approach is spot on and that's a massive job. I compiled 202 tips from 10 'important' CC users into a…",[148,167,181,188],{"value":149,"source":111,"evidence":150},"Demo games look lifeless, buggy and not good quality",[151,155,159,163],{"id":152,"by":153,"text":154},"47404077","hmokiguess","I saw the demo video, in all honesty, they felt really lifeless to me. The snowboard one was the one that most caught my attention but then the mechanics, and movements of the…",{"id":156,"by":157,"text":158},"47405457","stephc_int13","Gamedev here. I looked at the video, awful results, better start with a template.",{"id":160,"by":161,"text":162},"47407329","eudamoniac","I can't decide if this is impressive or not. At first I think it is, but also the best demos you could find were not good games, and likely not even good bases for further…",{"id":164,"by":165,"text":166},"47404944","twelvevaginas","“Real games” the most incomplete bullshit you ever saw passed off as a game. The starting points of Three.js examples are more of a game than anything here. Stop saying AI is…",{"value":168,"source":111,"evidence":169},"Generated games are slop and lack human taste or passion",[170,174,177],{"id":171,"by":172,"text":173},"47406008","krapp","The problem is your passion is for the LLM workflow and not the games, and the end result is going to be a powerful way to generate mediocre games.",{"id":175,"by":172,"text":176},"47406514",">Acting like most people made good and enjoyable games when it was handcoded is just not right. Every good and enjoyable game made was handcoded, with art, music, dialogue and…",{"id":178,"by":179,"text":180},"47405190","rybosworld","I think this is a cool tech demo. But the commonality I see in all of these \"let the agent run free\" harnesses is that the output is never something I would want to…",{"value":182,"source":111,"evidence":183},"Lacks unit testing",[184],{"id":185,"by":186,"text":187},"47407910","scumblr","I think this is pretty cool, all things considered. I think it’s unrealistic to expect anything that’s been one-shot to have much polish or charm. Something I’m surprised about…",{"value":189,"source":111,"evidence":190},"Should use C# instead of GDScript",[191,195],{"id":192,"by":193,"text":194},"47403789","bhu8","Great work but why not use C# instead of GDScript? LLMs are really good at C# (and tscn files for some reason), so that solves the \"LLMs suck at GDScript\" problem. Also, C# can…",{"id":196,"by":197,"text":198},"47407721","stevefan1999","This thing is spot on for me as I'm evaluating trying to build games in Godot using Claude Code, but in C# (I have hacks to make it run on NativeAOT), but the result is...mixed.…",[200,204,208,223],{"value":201,"source":111,"evidence":202},"Publish a full playable game made with the pipeline",[203],{"id":152,"by":153,"text":154},{"value":205,"source":111,"evidence":206},"Support C# instead of only GDScript",[207],{"id":196,"by":197,"text":198},{"value":209,"source":111,"evidence":210},"Better 2D animation and rigging for 3D assets",[211,215,219],{"id":212,"by":213,"text":214},"47417285","vunderba","The 2D sprites in the bike riding scene are a bit of a mess. Honestly consistent 2D animation is difficult. You've basically got two approaches right now - use a openpose style…",{"id":216,"by":217,"text":218},"47415287","gneuron","Hey bro, been working with the Godot MCP for about a year now myself. This is really cool! The two loops I think you should add \u002F address: 3D assets \u002F rigging. This is the…",{"id":220,"by":221,"text":222},"47404581","guitarlimeo","Nice work, must have been a pain to get Godot's formats working with Claude. As another commenter suggested the demo videos don't do any justice to this project - yeah it's the…",{"value":224,"source":111,"evidence":225},"Let the QA agent play the game, not just view screenshots",[226],{"id":216,"by":217,"text":218},[228,236,240,247],{"value":229,"source":111,"evidence":230},"What does the asset generation pipeline use",[231,235],{"id":232,"by":233,"text":234},"47419042","yagizdagabak","Awesome stuff, what does it use to generate the assets?",{"id":129,"by":130,"text":131},{"value":237,"source":111,"evidence":238},"How the lazy-loaded API reference handles wrong lookups",[239],{"id":133,"by":134,"text":135},{"value":241,"source":111,"evidence":242},"Cost of running a full game generation",[243],{"id":244,"by":245,"text":246},"47407149","chrisshroba","Can you speak to the total api costs to create one such game? Not looking for exact numbers but I'm curious if to create, say, that snowboarding game, it cost closer to $5, $50,…",{"value":248,"source":111,"evidence":249},"How it compares to Tesana",[250],{"id":251,"by":252,"text":253},"47405197","avaer","How does this stack up against something like Tesana [1], which is also Godot based? Would it be accurate to say that it's like \"Tesana but local\"? [1] https:\u002F\u002Ftesana.ai\u002F",[255,262,266,270],{"value":256,"source":111,"evidence":257},"Google Playables Builder",[258],{"id":259,"by":260,"text":261},"47409593","socalgal2","Here's Google's: https:\u002F\u002Fwww.youtube.com\u002Fplayablesbuilder\u002F",{"value":263,"source":111,"evidence":264},"Tesana",[265],{"id":251,"by":252,"text":253},{"value":267,"source":111,"evidence":268},"Godot MCP servers with Claude Code",[269],{"id":216,"by":217,"text":218},{"value":271,"source":111,"evidence":272},"Raylib with C# built by hand",[273],{"id":274,"by":275,"text":276},"47405818","c0m47053","Very interesting. Have to admit, I assumed Godot was just out of the realm of agentic dev. I decided to actually build a game a few months ago, and went with Raylib (with C#),…",{"comments":278,"answered":279,"key":280},11,9,[281,284,287],{"id":282,"text":283},"47404136","Fair point, these demos are essentially raw single-run output, not cherry-picked or polished. The goal was showing the pipeline works end-to-end, not producing a finished game.…",{"id":285,"text":286},"47410455","The LLM costs are hard to pin down exactly since I run it on a Claude Max subscription, but based on token usage I'd estimate it's in the low single digits — probably around $1–3…",{"id":288,"text":289},"47405528","Bold of you to assume I'm not making this with passion, I've been yelling at LLMs for a year straight, that's basically the 80s experience with better coffee",{"commenters":291,"max_depth":278,"maker_replies":278,"first_comment_mins":292,"lifespan_hours":293},118,178,156,[295,299,302,305,308,311,314,317,319,322,326,328,330,334,337,340,343,346,348,350,352,356,359,362,364,368,372,375,378,382,386,389,391,392,394,397,398,400,402,404,407,409,411,414,417,420,423,426,429,432,435,439,442,444,446,448,450,452,454,456,460,463,466,468,470,472,474,477,480,482,485,488,490,493,495,499,502,504,506,508,511,514,517,520,523,525,528,530,532,534,537,539,542,544,547,549,551,553,555,556,559,562,565,568,571,573,575,576,580,583,585,588,590,593,596,598,601,603,605,609,611,613,615,619,620,624,627,630,632,636,638,640,642,644,647,648,650,653,657,659,662,664,666,668,670,674,677,678,682,685,687,689,691,693,695,699,701,703,706,708,710,712,714,718,722,724,728,732,736,738,743,745,747,750,753,755,757,759,761,765,769,772,774,778,780,782,784,786,789,793,796],[296,42,42,297,298,42],"47407804","other\u002Fneutral\u002Fnone","weakfish",[300,42,42,301,260,42],"47409575","commenter\u002Fneutral\u002Fnone",[303,42,42,301,304,42],"47425530","djfdat",[306,42,42,301,307,42],"47409681","azney",[309,42,42,301,310,42],"47415872","cure_42",[312,42,42,301,313,42],"47417089","SR2Z",[315,42,42,301,316,42],"47419973","jplusequalt",[318,42,42,301,313,42],"47420552",[320,42,42,301,321,42],"47444463","CagedCoder",[323,42,42,324,325,42],"47452852","commenter\u002Fneutral\u002Fexecution","maplethorpe",[152,47,47,327,153,42],"project\u002Fcritical\u002Fexecution",[282,47,42,329,11,47],"maker\u002Fneutral\u002Fnone",[331,47,45,332,333,42],"47405702","project\u002Fpositive\u002Fnone","bgirard",[335,47,47,327,336,42],"47405732","lexicality",[338,47,42,297,339,42],"47406998","johncormick",[341,47,42,297,342,42],"47407921","genewitch",[344,47,42,301,345,42],"47407420","efilife",[347,47,42,297,304,42],"47425538",[244,47,18,349,245,42],"project\u002Fneutral\u002Fpricing",[285,47,42,351,11,47],"maker\u002Fneutral\u002Fpricing",[353,47,45,354,355,42],"47406565","project\u002Fpositive\u002Fexecution","raincole",[357,47,47,327,358,42],"47408198","xboxnolifes",[360,47,42,301,361,42],"47408494","stackghost",[363,47,42,301,358,42],"47411936",[365,47,18,366,367,42],"47406895","project\u002Fmixed\u002Fnone","gedy",[369,47,18,370,371,42],"47407076","project\u002Fneutral\u002Fexecution","8note",[373,47,47,327,374,42],"47408691","eucyclos",[376,47,47,327,377,42],"47407576","TacticalCoder",[379,47,45,380,381,42],"47408892","project\u002Fpositive\u002Fidea","mylasttour",[383,47,47,384,385,42],"47410090","maker\u002Fcritical\u002Fexecution","oscaracso",[387,48,42,297,388,42],"47405419","samiv",[390,48,42,297,172,42],"47405500",[288,48,42,329,11,47],[171,48,47,393,172,42],"project\u002Fcritical\u002Fidea",[395,48,42,301,396,42],"47406310","ianbutler",[175,48,42,301,172,42],[399,48,42,301,396,42],"47407023",[401,48,42,301,172,42],"47407090",[403,48,42,301,396,42],"47407122",[405,48,42,301,406,42],"47410099","stale2002",[408,48,42,301,172,42],"47410612",[410,48,42,301,396,42],"47411075",[412,48,42,301,413,42],"47410092","dinkumthinkum",[415,48,42,297,416,42],"47405537","hardaker",[418,48,42,301,419,42],"47407908","ehnto",[421,48,47,393,422,42],"47405570","tayo42",[424,48,42,301,425,42],"47405635","colechristensen",[427,48,42,297,428,42],"47405745","spwa4",[430,48,42,301,431,42],"47405749","skeeter2020",[433,48,42,301,434,42],"47405875","WillPostForFood",[436,48,42,437,438,42],"47405868","other\u002Fcritical\u002Fnone","i_cannot_hack",[440,48,42,301,441,42],"47406012","sbarre",[443,48,42,301,438,42],"47406223",[445,48,42,301,441,42],"47411748",[447,48,42,301,438,42],"47412492",[449,48,42,301,441,42],"47414476",[451,48,42,301,438,42],"47416506",[453,48,42,301,441,42],"47418364",[455,48,42,301,438,42],"47419234",[457,48,47,458,459,42],"47405779","project\u002Fcritical\u002Fnone","hoppp",[461,48,42,301,462,42],"47405939","beernet",[464,48,42,301,465,42],"47406069","runarberg",[467,48,42,301,462,42],"47406330",[469,48,42,301,465,42],"47406708",[471,48,42,301,462,42],"47407079",[473,48,42,301,465,42],"47407246",[475,48,42,301,476,42],"47406335","captainbland",[478,48,42,297,479,42],"47406095","pipes",[481,48,42,297,342,42],"47407969",[483,48,42,301,484,42],"47406621","HauntingPin",[486,48,42,301,487,42],"47407324","tredre3",[489,48,42,301,342,42],"47407974",[491,48,42,301,492,42],"47409693","saidnooneever",[494,48,42,301,413,42],"47410057",[496,48,18,497,498,42],"47405967","project\u002Fneutral\u002Fnone","ytoawwhra92",[500,48,42,301,501,42],"47406113","galleywest200",[503,48,18,497,498,42],"47406213",[505,48,42,301,371,42],"47407128",[507,48,42,297,419,42],"47407875",[509,48,42,301,510,42],"47409185","XenophileJKO",[512,48,42,301,513,42],"47447238","estimator7292",[515,48,42,297,516,42],"47406130","petcat",[518,48,42,297,519,42],"47406086","SchemaLoad",[521,48,42,301,522,42],"47406219","goosejuice",[524,48,42,297,419,42],"47407835",[526,48,42,297,527,42],"47408894","kshri24",[529,48,47,393,476,42],"47406135",[531,48,42,297,371,42],"47407111",[533,48,42,301,419,42],"47407932",[535,48,42,297,536,42],"47407729","nanobuilds",[538,48,42,297,342,42],"47407934",[540,48,42,301,541,42],"47410160","Ekaros",[543,48,42,301,342,42],"47415879",[545,48,42,297,546,42],"47408465","ge96",[548,48,45,354,510,42],"47409167",[550,48,42,301,413,42],"47410044",[552,48,42,301,221,42],"47410247",[554,48,42,301,510,42],"47412685",[192,18,18,370,193,42],[557,18,47,327,558,42],"47404741","pragmatic",[560,18,18,370,561,42],"47405139","andai",[563,18,42,297,564,42],"47405382","empiricus",[566,18,42,297,567,42],"47406637","bob1029",[569,18,18,497,570,42],"47407325","Ariarule",[572,18,42,297,186,42],"47407935",[574,18,42,301,193,42],"47408265",[156,34,47,327,157,42],[577,34,18,578,579,42],"47405864","project\u002Fneutral\u002Fidea","empressplay",[581,34,18,578,582,42],"47406145","Closi",[584,34,47,327,157,42],"47406709",[586,34,45,380,587,42],"47409708","popcorncowboy",[589,34,42,297,413,42],"47410113",[591,34,45,380,592,42],"47408579","prawn",[594,45,47,327,595,42],"47404220","andreagrandi",[597,45,42,329,11,47],"47404330",[599,45,18,578,600,42],"47405798","dr_kiszonka",[602,45,42,329,11,47],"47411191",[604,45,45,332,595,42],"47409749",[606,45,47,607,608,42],"47458003","project\u002Fcritical\u002Fdocs","anentropic",[185,39,18,610,186,42],"project\u002Fmixed\u002Fexecution",[65,612,45,380,66,42],7,[614,612,42,297,413,42],"47410126",[616,617,47,327,618,42],"47405443",8,"slopinthebag",[274,279,18,578,275,42],[621,279,18,622,623,42],"47406126","project\u002Fneutral\u002Fdocs","fxwin",[625,279,42,297,626,42],"47407250","justinhj",[628,44,42,297,629,42],"47408170","EagnaIonat",[140,278,45,631,141,42],"project\u002Fpositive\u002Fdocs",[633,634,45,354,635,42],"47403862",12,"lemming",[251,637,18,578,252,42],13,[639,637,42,297,629,42],"47408606",[641,637,42,437,221,42],"47410484",[133,643,18,622,134,42],14,[645,643,42,646,11,47],"47411296","maker\u002Fneutral\u002Fdocs",[144,40,42,297,145,42],[259,649,42,297,260,42],16,[212,651,47,652,213,42],17,"project\u002Fcritical\u002Fdesign",[654,655,45,380,656,42],"47440683",18,"wslh",[160,658,47,327,161,42],19,[660,658,45,380,661,42],"47407587","tartoran",[663,658,47,327,161,42],"47414390",[665,658,45,380,661,42],"47419177",[114,667,45,380,115,42],20,[118,669,45,354,119,42],21,[671,672,45,332,673,42],"47447265",22,"buyTheDip",[675,33,18,370,676,42],"47403870","tyleo",[196,32,18,610,197,42],[679,680,45,332,681,42],"47407668",25,"aed",[683,35,18,370,684,42],"47403969","chaosprint",[98,35,42,686,11,47],"maker\u002Fneutral\u002Fexecution",[688,35,18,370,422,42],"47405619",[690,35,42,686,11,47],"47405710",[692,35,18,370,422,42],"47405827",[694,35,42,686,11,47],"47406078",[696,697,42,297,698,42],"47416070",27,"techcam",[178,700,47,393,179,42],28,[702,700,18,578,592,42],"47408600",[704,705,42,297,536,42],"47407857",29,[129,707,45,354,130,42],30,[220,709,18,610,221,42],31,[232,711,18,370,233,42],32,[216,713,45,354,217,42],33,[715,716,45,332,717,42],"47407819",34,"canadiantim",[719,720,18,497,721,42],"47410400",35,"termwatch",[723,720,42,329,11,47],"47411250",[725,726,42,297,727,42],"47409353",36,"bni",[729,730,47,458,731,42],"47407557",37,"Madmallard",[733,734,47,607,735,42],"47406299",38,"_QrE",[122,737,45,380,123,42],39,[739,740,47,741,742,42],"47407904",40,"maker\u002Fcritical\u002Fnone","sieep",[744,740,42,301,374,42],"47408474",[746,740,47,327,742,42],"47408907",[748,740,42,301,749,42],"47409206","GoblinSlayer",[751,740,42,297,752,42],"47409631","dang",[754,740,42,437,742,42],"47413055",[756,740,42,297,752,42],"47415733",[164,758,47,327,165,42],41,[760,758,42,686,11,47],"47405384",[762,763,45,332,764,42],"47403310",42,"RomanPushkin",[766,767,47,393,768,42],"47404012",43,"vblanco",[770,767,45,380,771,42],"47404093","tpxl",[773,767,42,301,768,42],"47404597",[775,767,42,776,777,42],"47404936","other\u002Fneutral\u002Fpricing","mattfrommars",[779,767,42,301,768,42],"47405510",[781,767,42,301,161,42],"47407399",[783,767,42,301,777,42],"47407490",[785,767,42,301,768,42],"47413826",[787,767,42,788,221,42],"47410529","other\u002Fneutral\u002Fperformance",[790,791,18,792,777,42],"47404962",44,"project\u002Fneutral\u002Fdesign",[794,791,18,792,795,42],"47405735","parasti",[797,791,45,798,799,42],"47405785","project\u002Fpositive\u002Fdesign","jwelten",[],[802,807,812,817,821,826],{"id":803,"name":804,"points":805,"category":806},"47344548","s@",414,"languages",{"id":808,"name":809,"points":810,"category":811},"47378781","Hacker News archive (open-index)",408,"data",{"id":813,"name":814,"points":815,"category":816},"47427299","SVG backgrounds",403,"creative",{"id":818,"name":819,"points":820,"category":20},"47412569","zeroboot",311,{"id":822,"name":823,"points":824,"category":825},"47428650","Will my flight have Starlink?",276,"consumer_social",{"id":827,"name":828,"points":829,"category":830},"47431671","llm-circuit-finder",265,"ai",false,"v2",{"id":834,"name":5,"line":6,"ai":831,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":835,"top":18,"kw":836,"maker":11,"domain":10,"tier":19,"attempts":42,"strip":837,"url":9,"mix":838,"praise":110,"objection":149,"sub":21},47400868,0.02,[24,25,26,27,28],"0023313101001003301513233354345325321304",[32,33,34,35],1794036696318]