[{"data":1,"prerenderedAt":408},["ShallowReactive",2],{"project-43269330":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":35,"aspects":36,"strip":45,"post_text":47,"what":48,"said":86,"maker_in_thread":198,"shape":211,"grid":215,"attempts":369,"same_week":370,"maker_shows":41,"maker_hidden":400,"reader_version":401,"card":402},"43269330","pokerl","Beating Pokemon Red with RL and \u003C10M Parameters","title","Show HN: Beating Pokemon Red with RL and \u003C10M Parameters","https:\u002F\u002Fdrubinstein.github.io\u002Fpokerl\u002F","drubinstein.github.io","drubs",1741194429,2025,183,68,368,3837,10,"notable","ai","reinforcement learning","other",[21,24,25,26,27],"pokemon red","ppo","pyboy","game ai","curious",0.152,{"positive":31,"neutral":32,"mixed":33,"critical":34},7,23,0,4,34,{"idea":37,"execution":39,"performance":40,"design":42,"docs":44},{"positive":38,"critical":33},5,{"positive":33,"critical":33},{"positive":33,"critical":41},1,{"positive":33,"critical":43},2,{"positive":33,"critical":41},[46,33,38,33,38,38,46,38,46,46,33,46,46,46,46,33,33,46,46,33,33,33,33,46,38,46,41,41,46,41,46,46,41,46,38,33,33,33,46,38],3,"Hi everyone!\n\nAfter spending hundreds of hours, we're excited to finally share our progress in developing a reinforcement learning system to beat Pokémon Red. Our system successfully completes the game using a policy under 10M parameters, PPO, and a few novel techniques. With the release of Claude Plays Pokémon, now feels like the perfect time to showcase our work.\n\nWe'd love to get feedback!",{"problem":49,"audience":55,"pricing":55,"motivation":56,"time_to_build":60,"stack":64,"openness":83,"stage":84,"team_size":85},{"value":50,"source":51,"evidence":52},"Training a small RL policy to complete Pokémon Red","maker",[53],{"id":54},"post",null,{"value":57,"source":51,"evidence":58},"Showcase RL work as Claude Plays Pokémon launched",[59],{"id":54},{"value":61,"source":51,"evidence":62},"hundreds of hours",[63],{"id":54},[65,69,77],{"value":66,"source":51,"evidence":67},"PPO",[68],{"id":54},{"value":70,"source":71,"evidence":72},"PyBoy","commenter",[73],{"id":74,"by":75,"text":76},"43271357","benopal64","Incredible work. I am just learning about PyBoy from your project, and it made me think of many fun ways to use that library to play Pokemon autonomously.",{"value":78,"source":51,"evidence":79},"Bizhawk",[80],{"id":81,"by":11,"text":82},"43274265","My first version of this project 5 years ago involved a python-lua named pipe using Bizhawk actually. No clue where that code went","unknown","launched","team",{"praise":87,"objections":110,"requests":131,"questions":149,"alternatives":183},[88,103],{"value":89,"source":71,"evidence":90},"Impressive small-model RL work",[91,95,99],{"id":92,"by":93,"text":94},"43278683","N_Lens","Wow nice work. 10M is a tiny model and I suspect this might be the future for specialised work. I can also imagine the progress towards AGI\u002FASI to have smaller models used as…",{"id":96,"by":97,"text":98},"43270323","jononor","Very nice! Nice to see demonstrations of reinforcement learning being used to solve non-trivial tasks.",{"id":100,"by":101,"text":102},"43273549","nimish","Considering how many things are less complicated than Pokemon, this is very cool",{"value":104,"source":71,"evidence":105},"Shows RL works without LLMs",[106],{"id":107,"by":108,"text":109},"43270996","rvz","Note: What makes this interesting is that this is a pre-LLM project which shows that in some projects you don't need an \"LLM\" for this. All you need is just a plain old…",[111,121],{"value":112,"source":71,"evidence":113},"Battling is unimportant to the agent's progress",[114,118],{"id":115,"by":116,"text":117},"43270965","xinpw8","a cool idea, except that battling actually doesn't even matter to the ai. if you look at what the agent is doing during a battle, it is sort of spamming options + picking…",{"id":119,"by":116,"text":120},"43276617","as it stands, battling is wholly unimportant to completing the game, as long as the agents can eventually complete the trainer battles mandatory for plot advancement. it's funny…",{"value":122,"source":71,"evidence":123},"Page navigation bug fixed after report",[124,128],{"id":125,"by":126,"text":127},"43270474","worble","Heads up, clicking \"Next Page\" just takes you to an empty screen, you have to use the navigation links on the left if you want to get read past the first screen.",{"id":129,"by":11,"text":130},"43270507","Thanks for the heads up. I just pushed a fix.",[132,142],{"value":133,"source":71,"evidence":134},"Stream gameplay to Twitch",[135,139],{"id":136,"by":137,"text":138},"43273955","novia","Please stream the gameplay to twitch so people can compare.",{"id":140,"by":137,"text":141},"43288911","Can you make a twitch stream of a single agent playing?",{"value":143,"source":71,"evidence":144},"Add arxiv link",[145],{"id":146,"by":147,"text":148},"43285393","KeplerBoy","Really missing the arxiv link. The whole page reads like the arxiv link should be in the next paragraph, but it never appeared.",[150,161,172],{"value":151,"source":71,"evidence":152},"Can an LLM be bolted onto the RL agent?",[153,157],{"id":154,"by":155,"text":156},"43271072","levocardia","Really cool work. It seems like some critical areas (team rocket, safari zone) rely on encoding game knowledge into the reward function somehow, which \"smuggles in\" external…",{"id":158,"by":159,"text":160},"43271808","Xelynega","For well-known games like \"Pokemon Red\" I wonder how much of that game knowledge would be \"smuggled in\" by an LLM in it's training data if you just replaced the external info in…",{"value":162,"source":71,"evidence":163},"How were the game and environment wrapped for RL?",[164,168],{"id":165,"by":166,"text":167},"43270698","bubblyworld","What an awesome project! I'm curious - I would have thought that rewarding unique coordinates would be enough to get the agent to (eventually) explore all areas, including the…",{"id":169,"by":170,"text":171},"43273911","wegfawefgawefg","you dont port it you wrap it. you can put anything in an rl environment. usually emulators are done with bizhawk, and some lua. worst case theres ffi or screen capture.",{"value":173,"source":71,"evidence":174},"How many button presses are needed to beat the game?",[175,179],{"id":176,"by":177,"text":178},"43271099","differintegral","This is very cool, congrats! I wonder, does anyone have a sense of the approximate raw number of button presses required to beat the game? Mostly curious to see how that compares…",{"id":180,"by":181,"text":182},"43271923","tarentel","I imagine \u003C 10000. https:\u002F\u002Fgithub.com\u002FKeeyanGhoreshi\u002FPokemonFireredSingleSequence and https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=6gjsAA_5Agk. I believe this is something like 200k and is a…",[184,191],{"value":185,"source":71,"evidence":186},"Claude Plays Pokémon",[187],{"id":188,"by":189,"text":190},"43271011","mclau156","Claude 3.7 recently failed to finish Pokemon after getting stuck in a corner and deciding it was impossible to get out",{"value":192,"source":71,"evidence":193},"Pi Plays Pokémon Sapphire",[194],{"id":195,"by":196,"text":197},"43273712","drdeca","Judging by the “pi plays Pokemon Sapphire”, uh, not in a reasonable amount of time? It’s been at it for over 3 years, hasn’t gotten a gym badge yet, mostly stays in the starting…",{"comments":199,"answered":200,"key":201},11,6,[202,205,208],{"id":203,"text":204},"43271136","Wrote about this in the results section. I think there is a way to mix the two and simplify the rewards in the process. A lot of the magic behind getting the agent to teach and…",{"id":206,"text":207},"43303830","Wouldn't make much sense. We generally train with 288 environments simultaneously. I've been thinking about ways to nicely stream all 288 environments though.",{"id":209,"text":210},"43270769","The environments wouldn't concentrate enough in the Rocket Hideout beneath Celadon Game Corner. The agent would have the player wander the world reward hacking. With wild battles…",{"commenters":212,"max_depth":200,"maker_replies":199,"first_comment_mins":213,"lifespan_hours":214},35,79,77,[216,218,220,222,224,226,228,229,231,234,238,239,241,242,244,245,246,248,251,253,254,256,258,261,264,266,269,271,274,277,279,282,284,285,288,291,293,296,298,300,304,306,308,309,310,312,314,316,318,320,324,326,328,329,331,333,336,339,341,345,348,350,352,355,358,361,364,366],[154,33,46,217,155,33],"maker\u002Fneutral\u002Fidea",[203,33,33,219,11,41],"project\u002Fneutral\u002Fidea",[158,33,33,221,159,33],"commenter\u002Fneutral\u002Fidea",[107,41,38,223,108,33],"project\u002Fpositive\u002Fidea",[188,41,33,225,189,33],"other\u002Fneutral\u002Fnone",[227,41,33,225,116,33],"43271246",[92,43,38,223,93,33],[136,46,46,230,137,33],"project\u002Fneutral\u002Fnone",[232,46,46,230,233,33],"43274691","tehsauce",[235,46,38,236,237,33],"43277912","project\u002Fpositive\u002Fnone","Matthyze",[140,46,46,230,137,33],[206,46,33,240,11,41],"project\u002Fneutral\u002Fperformance",[74,34,38,223,75,33],[243,34,33,225,116,33],"43276563",[165,38,46,219,166,33],[209,38,33,219,11,41],[247,38,46,219,166,33],"43276703",[249,38,33,250,11,41],"43276807","commenter\u002Fneutral\u002Fnone",[169,38,46,252,170,33],"project\u002Fneutral\u002Fexecution",[81,38,33,230,11,41],[255,38,46,240,166,33],"43276713",[257,38,33,225,170,33],"43289037",[259,200,46,219,260,33],"43270633","modeless",[262,200,46,219,263,33],"43270701","VertanaNinjai",[265,200,46,219,116,33],"43270921",[267,200,33,225,268,33],"43274028","fancyswimtime",[270,200,33,225,116,33],"43276578",[272,200,33,225,273,33],"43276718","gusgus01",[275,200,33,225,276,33],"43278359","cjbillington",[278,200,46,219,233,33],"43271150",[280,200,46,219,281,33],"43272703","bloomingkales",[283,200,33,250,116,33],"43293369",[195,200,33,225,196,33],[286,31,33,225,287,33],"43272559","kerkeslager",[289,31,33,225,290,33],"43272624","sadeshmukh",[292,31,33,225,116,33],"43276586",[294,31,33,225,295,33],"43282390","bigfishrunning",[297,31,33,225,116,33],"43293384",[299,31,33,225,11,41],"43273536",[301,302,46,219,303,33],"43274585",8,"throwaway314155",[305,302,33,219,11,41],"43274697",[96,307,38,223,97,33],9,[176,18,46,240,177,33],[180,18,46,240,181,33],[125,199,41,311,126,33],"project\u002Fcritical\u002Fdesign",[129,199,33,313,11,41],"project\u002Fneutral\u002Fdesign",[315,199,41,311,126,33],"43270669",[317,199,33,313,11,41],"43270734",[319,199,46,313,116,33],"43270938",[321,322,46,219,323,33],"43270632",12,"bee_rider",[115,322,41,325,116,33],"project\u002Fcritical\u002Fperformance",[327,322,46,313,170,33],"43273921",[119,322,46,219,116,33],[330,322,33,250,170,33],"43279366",[332,322,33,250,11,41],"43280906",[146,334,41,335,147,33],13,"project\u002Fcritical\u002Fdocs",[337,338,46,219,116,33],"43270349",14,[100,340,38,223,101,33],15,[342,343,33,225,344,33],"43273979",16,"endofreach",[346,343,33,225,347,33],"43274119","ludicity",[349,343,33,225,116,33],"43276599",[351,343,33,250,344,33],"43277006",[353,343,33,225,354,33],"43276261","Uehreka",[356,343,33,225,357,33],"43276637","oreally",[359,360,46,217,189,33],"43271070",17,[362,360,33,363,11,41],"43271156","maker\u002Fneutral\u002Fdocs",[365,360,46,219,189,33],"43271564",[367,360,38,368,116,33],"43271215","maker\u002Fpositive\u002Fnone",[],[371,376,381,386,390,395],{"id":372,"name":373,"points":374,"category":375},"43255529","Bayleaf",735,"hardware",{"id":377,"name":378,"points":379,"category":380},"43223718","Berlin Swapfest",308,"web_saas",{"id":382,"name":383,"points":384,"category":385},"43230994","Kaguya",254,"productivity",{"id":387,"name":388,"points":389,"category":20},"43243893","Agents.json",212,{"id":391,"name":392,"points":393,"category":394},"43242818","Foudinge",201,"data",{"id":396,"name":397,"points":398,"category":399},"43196374","Superglue",198,"infrastructure",false,"v2",{"id":403,"name":5,"line":6,"ai":400,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":404,"top":18,"kw":405,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":406,"url":9,"mix":407,"praise":89,"objection":112,"sub":21},43269330,0.15,[21,24,25,26,27],"3050553533033330033000035311313313500035",[31,32,33,34],1794036670734]