[HN Gopher] Show HN: Hypersplit - Like Infinite Craft but in rev...
       ___________________________________________________________________
        
       Show HN: Hypersplit - Like Infinite Craft but in reverse
        
       Hypersplit is like Neal's Infinite Craft but turned upside down.
       Instead of crafting your way up from the four elements, you start
       big and go small, down to quarks.  It's using GPT-4 to split the
       words, but a big difference from Infinite Craft is that I can
       precalculate the possible paths since they are limited (sooner or
       later you hit a quark or a loop). This means that I can ship it
       with the whole dictionary locally instead of hitting an LLM every
       split.  While it started with just the splitting, I quickly got the
       urge to split things faster... which turned the app into the
       incremental clicker it is now. It's pretty short and starts lagging
       a lot once things get crazy with a lot of chain reactions (turning
       off Effects helps a bit), but I plan to focus on optimizations
       next.  I also wanted to try and build something without any
       graphical assets. The whole game is all just emojis and CSS. A big
       gotcha is that you can't rely on emojis looking the same on
       different platforms (for example, on Windows, the explosions are
       misaligned).
        
       Author : hopfog
       Score  : 48 points
       Date   : 2024-03-19 13:45 UTC (1 days ago)
        
 (HTM) web link (lantto.github.io)
 (TXT) w3m dump (lantto.github.io)
        
       | petargyurov wrote:
       | It was fun until I split "Latitude" and it gave me "Lat" and
       | "itude"! Nice implementation though.
        
       | SamBam wrote:
       | The Infinite Craft game was sending queries up to ChatGPT to make
       | the new items, if I recall correctly. This one is happening so
       | quickly it must be happening locally. Is that right? Is it using
       | a local Javascript LLM?
        
         | DannyPage wrote:
         | There aren't any network calls; It's all pre-fetched and stored
         | in the javascript file. The file itself seems to be tagged to
         | the build, but it's in the ./hypersplit/assets/index-<ID>.js
         | file.
        
         | hobofan wrote:
         | Infinite Craft was only sending queries to ChatGPT when it
         | encountered a new combination. Otherwise it was hitting a
         | remote cache, and I think also a local cache before that.
         | 
         | I am assuming that this game can fully pre-load everything, as
         | all splits are predictable.
        
         | xnx wrote:
         | There are no network requests when splitting, so I believe it's
         | all local. Not sure a local LLM would be necessary if all the
         | splits are deterministic and pre-computed.
        
         | luto wrote:
         | It just has a giant database of concepts and their splits
         | built-in. Most of the time it's pretty unnecessary to run an
         | LLM (directly).
         | 
         | https://lantto.github.io/hypersplit/assets/index-DhIQc66H.js
        
         | free_bip wrote:
         | Does it use ChatGPT thought? I thought Infinite Craft actually
         | uses a fine-tuned LLama2 model.
        
           | KomoD wrote:
           | > I thought Infinite Craft actually uses a fine-tuned LLama2
           | model.
           | 
           | Yeah, it does.
        
       | boxed wrote:
       | Proton should probably be splittable into quarks.
        
         | hopfog wrote:
         | Getting the second resource (can't post emojis here) means you
         | hit a quark, loop or a dead-end. I have a version where it
         | continues splitting to up/down quarks and then fantasy matters
         | but it quickly derails into chaos.
        
         | timvdalen wrote:
         | There's a Quark unlock you can buy with the prestige points,
         | maybe it's unlocked by that
        
       | pierat wrote:
       | Ohh, so it makes calls to LLMs?
       | 
       | So its a Climate Destroying Cookie Clicker?
       | 
       | -----------------
       | 
       | Edit: Evidently this one is NOT backed by a real LLM (aka:
       | hallucinating terrible use for energy and resources). The older
       | one was, however.
       | 
       | BTW, calling LLM shit out for what it is is the emperor's new
       | clothes, especially in this community.
        
         | 11Spades wrote:
         | Not only is this unnecessarily rude, it is also not the case,
         | as noted by a comment posted almost three hours before this
         | one.
        
         | dspillett wrote:
         | _> BTW, calling LLM shit out for what it is_
         | 
         | Calling things out for what you interpret them as falls on a
         | spectrum of "politely raising concerns" and "just being
         | unnecessarily dickish". You were definitely towards the wrong
         | end of that initially, with the added dimension of being wrong
         | due to assuming things instead of actually taking a second to
         | look at what you are commenting on, and your edits have not
         | improved the impression you are giving of yourself.
        
       | l3x4ur1n wrote:
       | https://ibb.co/x2BC9v9 what is going on, help
        
         | hopfog wrote:
         | Try pressing the wizard. I should probably make it clearer on
         | mobile and highlight it once you can afford your first cat.
        
       | joshstrange wrote:
       | This was cool but then after leaving it running and switching
       | back to the tab caused it to hang until the tab got killed and I
       | lost progress.
        
         | hopfog wrote:
         | Sorry about that! I realized too late that the game is really
         | badly optimized once you hit higher levels and start getting
         | chain reactions. Turning off Effects helps for some things.
         | 
         | I wonder how far you can push the DOM. It gets crazy with so
         | many element updates after a while but there are probably many
         | performance improvements that can be done.
        
           | joshstrange wrote:
           | I understand, it would be nice if it periodically wrote out
           | the score/etc to localStorage or similar. I got reset to the
           | level I was on but I was up to ~$2K gold if I had gone to the
           | next level that was reset. Far from the end of the world.
        
         | pelagicAustral wrote:
         | I played about an hour before lunch and then went home and was
         | surprised how stable it was, with everything that was going
         | on...
         | 
         | https://ibb.co/S62sY5Z
        
       | AlexErrant wrote:
       | Game idea for someone with more time than me: an LLM powered
       | "roguelike".
       | 
       | You fine-tune the LLM to spit out RPG skills based on the
       | player's chosen class. (Dwarven princess = summon dwarf minions,
       | has a rare bloodline magic, whatever). The classes could get
       | _real_ weird, like a school bus character could summon school
       | children minions and skill up to flying a la The Magic School
       | Bus. (Or that could be a prestige class haha.)
       | 
       | A second model would match the RPG skills to a known/finite set
       | of game mechanics supported by your game. This is ultimately a
       | simple classifier - not really an LLM (though the skills on the
       | input side are language, okay pedants). Determining the set of
       | game mechanics to support shouldn't be too hard - how many
       | different ways of doing damage and (de)buffs could there be?
       | (Okay there can be a shit-ton.) Balancing the game could be done
       | live via reinforcement learning. To constrain the search space,
       | it'd follow the old Zelda format of limiting you to one
       | room/screen until the enemy is defeated (or like Binding of Isaac
       | for those too young.)
       | 
       | It'd have to use 2d/sprite based/placeholder graphics because I
       | don't think the rigging/animation AI is currently good enough...
       | but bad graphics hasn't stopped fun gameplay before. Imagine
       | Charizard vs Death Star. Good luck with the DMCAs.
       | 
       | Another problem is that with simple graphics and _literally
       | infinitely variable enemies_ , there's no learning on the
       | player's side so there's no real "skill" accumulation to improve
       | on for the next run. There would be a lot of reading on the
       | player's part if you decide to just show a stats-list for an
       | enemy type. I suppose you could turn it into a zombie game where
       | new enemies are slowly introduced in a horde of other enemies the
       | player's familiar with.
        
         | jawerty wrote:
         | Hey this is a pretty cool idea. I tried exploring this on a
         | live stream a few months ago where I made an endless RPG with
         | an llm i believe I was using llama 2 at the time. Check it out
         | if you have any ideas to improve let me know -->
         | https://www.youtube.com/watch?v=xPbM5Rs1_8Y
        
       | albert_e wrote:
       | Innovation > Execution + Creativity > Imagination > Memory >
       | Storage + Retrieval > Re + Trieval
        
       | garrettjoecox wrote:
       | Love to automate these types of things. Unfortunately there isn't
       | much benefit to automating the shopping/leveling, as this
       | performs far better than any passive bonus those provide
       | let stop = false;       let play = () => {         const button =
       | document.querySelector('[data-word-button]');         if (stop ||
       | !button) return;        button.click();         setTimeout(play,
       | 0);       }            play(); // to play       stop = true; //
       | to stop       localStorage.clear(); location.reload(); // to
       | restart
        
       ___________________________________________________________________
       (page generated 2024-03-20 23:01 UTC)