Show HN: Jev Plays Pokémon Red

(jev-pokemon.vercel.app)

214 points | by pancomplex 21 hours ago

27 comments

  • stusmall 15 hours ago
    This is so interesting to watch. For a couple minutes I was in awe of how quick and cheap it was. Then I saw just how bad the decision are and how it would get stuck in strange loops of going in and out of the same door to no end.

    This seems like a technology heading in the right direction but not quiet there yet. Excited for what they are cooking up but probably won't start building around it yet.

    • binlog 15 hours ago
      This entire conversation around Jev seems weird to me. Like... we started from neural nets that could do basic decision making and classifications pretty well, then trained larger and larger language models to get to where we are now. Now suddenly everyone is going crazy because someone trained a smaller model that is adequate at making decisions? We already went through the "look this AI can play pokemon terribly" phase like a decade ago.
      • c7b 14 hours ago
        A pre-trained universal classifier that can replace specifically-trained ones would have been considered just as much science fiction in the 2010's as the capabilities of modern LLMs. I'm not sure Jev is actually there yet, but at least it sounds theoretically doable today.

        That being said, one thing having been unrealistic 10 years ago and just about possible today doesn't mean that it's going to change the world the same way another technically related, previously-impossible thing did. The Jev hype gives me a bit of the "you're still early to crypto" vibes of some later altcoins. I really like the idea, I think it's going to open up possibilities for using classifiers where we wouldn't or couldn't have trained one before. I'm crossing my fingers for an open weights version to drop. But it's still just a classifier, people have built similar things before Jev, the one thing that really stands out about it is their ability to generate hype.

        • someothherguyy 13 hours ago
          > but at least it sounds theoretically doable today

          why

          • thornewolf 13 hours ago
            We have a bad universal classifier now (via Jev). 0->1, one might say.

            A bad universal classifier does suggest a good one later. And that is exactly what I would call "theoretically doable"

            That said, I don't think that Jev is a magic breakthrough or anything. I think it is just a particularly good narrative with an easy way to try it out.

            • lukev 10 hours ago
              Jev is interesting in that it's much cheaper and faster than a frontier LLM.

              But I've seen nothing to indicate that the upper bound on classification tasks of a Jev-like model can exceed a frontier LLM with reasoning tokens. That seems nearly impossible even in principle (since Jev-style models are still based on LLM pretraining).

              So while they're definitely on the Pareto frontier, which is valuable, they're at the "cheap" end of the spectrum more than the "good" end and I don't expect that to change.

          • c7b 12 hours ago
            LLMs are like lossy compression of ~all of written text ever produced, with useful recall. To the extent that the corpus contains labelled examples of the given classification task, it's not unreasonable to think that we'll be able to build a decoder for that, just like we already have a useful decoder for next-token prediction. Extend to image classification the same way we already have multimodal LLMs.
      • Garlef 2 hours ago
        The difference is that you don't need training here; The decision graphs can be built on the fly by an LLM and contain instructions in plain language.

        The magic moment for me from the Jev release was not that there was some system playing doom: Rather it was the moment, they just changed a part of the prompt to "don't shoot, just dodge" and the behavior changed immediately.

        This means you can have a system with fast decision-making but still interact with it via language.

      • solidasparagus 13 hours ago
        The cheap, fast and smart-enough LLM space has been wildly neglected. Jev is one of the few players truly targeting that space. And for a lot of people it is the first time they are asking "what could I build if llms were interaction-speed fast?". The answers are cool, the problem is that Jev is not, I think, smart-enough yet to have that many applications, but it's smart enough that you can start to see what they will look like.
      • osener 13 hours ago
        It is impressive, but all the hype and fake demos are selling it as a model that is as smart as frontier reasoning LLMs in the decisions it makes yet much cheaper and much faster, which is not true.
        • pancomplex 13 hours ago
          Nothing fake here and fully open source if you wanna take a peek. It does make a bunch of mistakes, often. But it eventually recovers!

          https://github.com/christianmat/jev-pokemon

          • tehsauce 12 hours ago
            For those curious how it works, it’s essentially a script that plays the game but uses jev as a source of rng to make it stochastic
            • Jach 5 hours ago
              Yeah, there's a lot hard-coded into the typescript files that make this much less impressive than the other "AI plays" versions that have come and gone that play with less help. A Claude one that only used screenshots would always get stuck in the rocket hideout...
          • osener 6 hours ago
            For the record I did not mean to say that about your work, nice job.
        • gchamonlive 13 hours ago
          I think that misses the point of Jev being ridiculously efficient while maintaining adequate intelligence for automation tasks. We have to train our minds to filter out branding and marketing.
      • mtford 4 hours ago
        This happens all the time in tech. A few years ago everybody got excited about static websites and server-side rendering as if we hadn't been doing that with PHP long ago.
      • gchamonlive 13 hours ago
        For what it does, it classifies, orchestrates, operates and delegates tasks exceedingly well for its size and weight. It's ridiculously cheap and efficient, but if you can only see progress in terms of raw cognitive power then you'll surely miss how interesting this is.
      • michaelchisari 9 hours ago
        Performance and efficiency have been neglected as everyone threw every available GPU and trillions of dollars trying (and failing) to create AGI. Though the results have been impressive.

        But good enough for pennies in an instant is very useful.

      • aurareturn 7 hours ago
        Yea but this model wasn’t trained to play Pokémon but it can. It’s general.
      • ford 15 hours ago
        I agree it's overhyped, but the transition to a general purpose classifier (vs a narrow scope classifier) is new and noteworthy.

        Ie the famous "Hotdog" clip from Silicon Valley [0]

        https://www.youtube.com/watch?v=ACmydtFDTGs

      • azan_ 15 hours ago
        Making decisions quickly, cheaply and without having to train your own model.
        • joshuat 15 hours ago
          Math.random can make poor decisions quickly and cheaply
          • azan_ 14 hours ago
            Benchmark it against jev and you'll have your answer.
            • zahlman 13 hours ago
              I mean,

              > get stuck in strange loops of going in and out of the same door to no end

              Math.random is statistically unlikely to do this.

            • joshuat 10 hours ago
              mathrandomplayspokemon.org
      • irregularbowels 8 hours ago
        [flagged]
    • jbjbjbjb 13 hours ago
      Jev is for single shot classification, not multi-step RL environments with delayed reward and explore/exploit. My guess is it would go through the door with high confidence every time unless you change the input to add the history.
      • Garlef 4 hours ago
        I think the people behind jev made their intended use clear by labeling as "system one" - so they anticipate that there's a slower "system two" mediating jev
      • pancomplex 13 hours ago
        This runs entirely on Jev as the only AI with a typescript harness that feeds it selective context.
    • mitxela 52 minutes ago
      feels like pre-LLM AI playing a video game but more expensive
    • ralusek 14 hours ago
      The exact message I sent my friend this morning:

      > the most interesting thing about this jev stuff

      > is that people are seemingly like

      > completely disinterested in how smart it actually is

      > I haven't even heard it mentioned a single time how it actually compares to other LLMs coming up with their own classifications. Just: it's fast and cheap

      After watching a few minutes of this it makes me think that maybe we should be a little more interested in how smart it is.

      • johnsmith1840 12 hours ago
        They know it's not. The company actually has or had public statements that they didn't like public benchmarks for comparison.

        My main wonder is the difference between it and having a small llm no thinking output a single number only as a choice. Isn't that nearly the same here?

      • stusmall 13 hours ago
        There is a lot of room for a lot of different models. For many use cases, intelligence beats out all.

        For me in my day job, having extremely fast low quality decision makers over noisy inputs is very valuable. I work in security and having something that can help triage alerts, classify items and group things together is extremely valuable. It doesn't need to be perfect. Just being able to take a set of inputs from deterministic tooling and to be make general priority classifications goes a long way on helping humans look at the most important items first.

        • refactor_master 7 hours ago
          Why not spend a few tokens or so on making a frontier LLM build the classifier from scratch? Then you also know exactly what the classifier is capable of, and whether it’s easily learnable/informative data.

          Why would you be confident in feeding garbage to a “cheap and fast” classifier with unknown domain-specific performance?

          I know we kind assume omniscience for frontier models, but at this point the evidence is kind of out there.

      • raincole 11 hours ago
        Because it's not that smart especially when you compare it to other LLMs. The top LLMs have completely change the baseline of being smart.
    • pancomplex 15 hours ago
      Like others have mentioned in this post, I think a mix of models like Jev for simple stuff + a smarter reasoning model for more strategic thinking is the optimal solution. This experiment however is purely Jev. Which sometimes can be kinda dumb.
      • JamesSwift 8 hours ago
        Well in a lot of ways this demo actually is a mix of jev for simple stuff + a very intelligent harness to fill in the rest. Pay attention to the "jev counter" on when api calls actually happen and the kinds of decisions its making. Its very rarely in a tight loop, and when it is (eg in an item menu) it tends to randomly walk through options.

        Its very cool, but the harness is doing a _ton_ of heavy lifting.

  • brenschluss 9 minutes ago
    The seminal (lol) Twitch Plays Pokémon was twelve years ago, so just posting this amazing moment of internet history/lore just in case folks don’t know or have forgotten: https://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon
  • turblety 42 minutes ago
    This is really cool, I love the live streaming too. I did something similar yesterday, built a tiny RTS game and has Jev make decisions every 2 seconds. I am using Luna to tweak the strategy.

    I wonder for real games, like online Pokemon, multiplayer games, how they will ban this kind of AI "cheating".

    1. https://www.youtube.com/watch?v=fQYNJj0Rfa4

    2. https://markwylde.com/blog/jev-and-luna-play-an-rts/

  • MitPitt 15 hours ago
    This is kinda chill to have in the background. I wish there were livestreams showing live reasoning of top models which are currently trying to solve cancer or whatever. Imagine the pogs in chat when it does.
    • pancomplex 15 hours ago
      People need to be live streaming their AI more!
    • tehnoslow 15 hours ago
      Actually, yes, that would be at least interesting
    • someothherguyy 13 hours ago
      then it would cost human lives, no more fun i made this thing with no real effort vibes
  • ac2u 12 hours ago
    Cool project, comes with a little too much guidance in the harness though IMO (pathfinding, textual milestones etc). (The author is very upfront about this in their README though)

    I think if it was combined with a regular vLLM it could be really interesting, especially watching the reasoning logs.

    Bonus points if it was one of the latest open models that somehow had all prior training knowledge of Pokemon abliterated so it was reasoning as an intelligent persona that had no knowledge of even the concept of Pokemon.

    • budoso 4 hours ago
      I also tried to create a “Jev plays Pokémon” but with minimal additional context outside a move history and what is available in memory from the emulator, so no pathfinder, predetermined game path, etc. I can safely say that this experiment failed however, and Jev was not able to even get to Professor Oak’s lab to get a starter.

      Props to OP for getting a working version, but it does not seem that this model is capable enough to play Pokémon at this point in time.

  • testaccount28 15 hours ago
    with such a fat harness, this is more like watching a walk thru play the game.
    • laszlokorte 15 hours ago
      Yeah I would have expected it to only decide which button to press, not something abstract like the choice of "go east to lavender town" for the goal of "in lavender town, climb the pokemon tower"
      • pancomplex 14 hours ago
        That was how I first implemented it. Jev sadly never left Pallet Town.
  • singularity2001 1 hour ago
    Jev is dumb a rock, so it's basically just a random selection of a smart model's suggested plans?
  • rickintoplace 21 hours ago
    That's actually fun to watch. Did you experiment with nicknaming before you turned it off? I'd be a little curious to see how it behaves.
    • pancomplex 21 hours ago
      Jev can't come up with original text, but I did consider giving it a list of hilarious names.
      • JamesSwift 15 hours ago
        Sure it can, just ask it for next char or "done" in a loop
        • pancomplex 15 hours ago
          I just took your advice and added it to the list of Jev decisions. Watch it name its next Pokemon!
        • pancomplex 15 hours ago
          True!
      • IanCal 15 hours ago
        Maybe letter by letter spelling?
  • dang 12 hours ago
    Dare we have two Pokemon-playing-AI threads at the same time?

    Teaching a World Model to Play Pokemon - https://news.ycombinator.com/item?id=49849907

    • fylo 8 hours ago
      Ai pokemon red speed run chart seems like a cool benchmark
    • pancomplex 9 hours ago
      The more the merrier!
  • ViscountPenguin 11 hours ago
    The choices Jev has here feel very railroady, it seems like something very significantly dumber could beat the game with these options.
    • pancomplex 9 hours ago
      I challenge you to fork the repo and solve it faster using less tokens/cost than Jev :)
      • mrkaye97 4 hours ago
        I think “significantly dumber” might include traditional RL, and thus no tokens at all
  • lwarfield 15 hours ago
    Looking at the diagram in the gh repo, it looks like this is entirely jev. Are there any examples of people having a big model like Fable handle high level goals?
    • pancomplex 15 hours ago
      Frontier reasoning models do pretty well in Pokemon: https://github.com/benchflow-ai/pokemon-gym

      The interesting thing here imo is the cost and latency. So far we're at 4 badges for less than $0.5

    • SeanAnderson 15 hours ago
      I'm not sure if you're asking about whether using Fable makes playing the game possible or if you're just curious about Jev + LLM interactions.

      However, https://x.com/TynanSylvester/status/2096965749369720970 Astra was able to beat RimWorld. So LLMs are definitely able to drive these sorts of games to completion with their current abilities.

    • staindk 15 hours ago
      Hm wondering what a first pass optimal setup might be - jev for overworld navigation, escalate to sonnet for easy battles, opus for medium difficulty battles, and fable for gym bosses could probably have jev also manage all the escalation / de-escalation to different models.
  • stusmall 15 hours ago
    >but not fast enough to play Doom yet sadly

    Did I miss something? I thought one of the demo videos was it doing pretty decent at the first level of Doom?

    • pancomplex 15 hours ago
      In my experience it was too slow to do an FPS with 30 ticks per second reliably. It gets killed too fast.
  • DylanMerigaud 5 hours ago
    Struggles with loops show complexity isn't fully mastered yet.
  • djhworld 15 hours ago
    What's not clear to me on the video is whether jev is doing the button presses for controlling the character to move around.

    The "Jev calls" counter only seems to increment at junction points like battles, conversation prompts, menus etc.

    Is something else moving the character around?

    • pancomplex 15 hours ago
      It's connected to the ROM of the actual game, so it can see a lot of things. It has multiple tools available, including being able to move to coordinates.

      All in the OSS repo if you wanna play around with it: https://github.com/christianmat/jev-pokemon

  • dmitrygr 15 hours ago
    Considering it just made Charizard forget its only fire-type move "Ember" to learn "Counter", I note no signs of intelligence.
  • flockonus 11 hours ago
    The decisions are quick, but look good as random w/ tons of back and forth. Are you at least feeding back some of its previous decisions on to state?
  • hummusFiend 13 hours ago
    Great work!

    Super cool to see it do the whole game. I spent my fable budget building something similar this week but only drove it to Brock. I like the "current focus" framing too.

    • pancomplex 13 hours ago
      Thank you! And interesting data point on Fable burning out on tokens so early.
  • dochaus 10 hours ago
    He confirms what I long suspected, all you need is to cheese Charizard and flamethrower
  • rubicon33 9 hours ago
    Pretty awesome! Just curious are you vibe coding this?
  • 361994752 15 hours ago
    watched it stuck at rocket hideout for 10 mins.... let me check 1hr later to see if it can find a way out
    • jumploops 15 hours ago
      It’s currently stuck at an elevator and deciding to teach Pokemon various TMs and HMs instead of progressing… pretty hilarious!
    • pancomplex 15 hours ago
      it made it through!
  • theturtletalks 15 hours ago
    Is Frigade going to use Jev to do object detection?
    • pancomplex 15 hours ago
      Working on it :)
      • theturtletalks 15 hours ago
        Nice. When I saw your connection to Frigade, I knew there was a connection haha
  • zaik 14 hours ago
    Seems like it got stuck on a Ghost enemy.
  • sync1117 8 hours ago
    i need to come up with something more creative and interesting than video games as benchmarks
  • avaer 15 hours ago
    I wish jev took in images so we could do this generically for any game, without memhacks. I'm sure that's coming.

    You could front this with an image -> text model but that would be much lower quality vs latency, and the whole point of doing it with a decision model is remove the latency.

    Games are a really interesting testing ground for robotics; if we can solve game playing (incl 3d) we could embody "system one" intelligence into robots that have something emulating general reflexes without needing to fine tune.

    • pancomplex 14 hours ago
      Agreed this would be super cool and I do see that coming in the future. But Jev-level latency just isn't there yet with full images.
  • tao5021 3 hours ago
    [flagged]