According to a tweet, this thing is actually using LLaMA II[0]. I guess he probably caches results so it doesn't recompute each time, but as you go further you start finding combinations that are apparently novel and take quite a while to generate (or fail completely).
I didn't have a problem understanding it, but then again, I've played these Alchemy games before. It was one of the first games I ever played on my first Android back in 2010.
Yeah this is what I thought of and I fell back on my old Alchemy habits trying to get to Life to create man and all the other stuff. maybe I'm forgetting or it's different with this game but I haven't gotten there yet, but I've gotten several greek gods and a cyborg, so that's sort of life.
Just makes me want to play Alchemy, though. Even Doodle God doesn't scratch the itch Alchemy did in 2011. I found it on StumbleUpon. Oh those were the days. I wonder if I still have the APK on my SkyDrive...
As usual, an actual game that was made by an actual creative with some intent and thought and FUN behind it is more memorable for the average person than miles and miles and miles of procedural (in this case, AI) generated garbage.
Nothing. They're completely confusing. At first, I thought maybe the little specs is where the combination happened, so as they passed between a set, they would automatically get crafted based on that set, in a neat chaotic way. Nope. Then I thought maybe I had to set up the "recipes" and wait, or click things, or I don't know.
I didn't realize it's just a basic drag drop combination thing until I saw the video, after coming here to see if anyone else was having trouble with Safari.
Thank you to know how to spell correct you are my best speller that I seen. Me to I do not know what is that I was mad for a second but once I have seen this I cooled down a bit. Thank you!
You're not dumb -- it's not only unclear, but the interface actively suggests the opposite of what you're supposed to do.
One of the best lessons I ever learned was from Don Norman's famous book, The Design of Everyday Things. Which basically teaches you that the user is almost never dumb, but rather human. And that the responsibility of understanding how to interact with an object, or program, always lies with the creator of that object or program. The designer. It's their job to design something so that it teaches you how to use it. (His most quoted example involves how a plate on a door invites you to push it, while a handle invites you to pull -- and this way you'll never try to pull a door that needs to be pushed open, or vice-versa.)
In this case, the interface invites you to drag things among the various pre-existing points, to continue the "constellation". It does nothing whatsoever to suggest that it would make any sense to drag the labels on top of each other. Indeed, previous experience suggests that this would simply lead to overlapping and obscured labels, so we actively avoid it. And the lines that get drawn between nearby points and labels goes even further to suggest that this is a game or experience about connecting things in a graph-like way -- which, once again, overlapping does not fit into conceptually.
I would never have thought to drag things on top of each other if I hadn't come here to the comments.
I don't understand what you mean. Clicking does absolutely nothing for me. Clicking items in the right column does nothing; clicking items I've already placed does nothing. Clicking items consecutively does nothing, in either part of the screen.
I don't see how to use this at all without drag and drop.
haha... the lines and dots never bothered me actually... i was scrolling throught this saw the thing about the lines and had to open the tab back up to see the lines... i never noticed they were there
I couldn't find any information but does this use some kind of LLM to derive the combinations from? It makes a request to the backend every time you combine items which sometimes takes >500ms, and also supports some really wild combinations that I highly doubt someone has taken the time to come up with. It would also explain why the icons are emoji's, it would be fairly trivial to ask ChatGPT to give you the result of Fire + Water and an accompanying emoji.
There's tons of combinations that take forever and nothing ends up happening. That's how I got around to the comment thread (clean+satan is why I'm here): I'm waiting for the latest combination to time out
The request looks like "https://neal.fun/api/infinite-craft/pair?first=Phoenix&secon..." so it's probably typically caching the combination of phoenix+seeds but if there is no cache entry it would use llama to make up something. If there's a lot of attention on the site the llm service might be down or overloaded. And given the exponential/factoral (?) amount of combinations this may be reached surprisingly quickly. Just a guess.
As an aside, the game is technically interesting, being a really simple example of using llm generation for game mechanics. But it is not engaging at all and feels nonsensical to me, especially when compared to little alchemy https://littlealchemy2.com/.
I'm not trying to be negative and this isn't a dig on creativity of the wonderful Neal but more points to the immaturity of llms applied to games, maybe to my overexposure to chatgpt, and maybe a prediction that human touch will always be required to make something entertaining. I'm curious how llms will fit into an engaging game experience in the future.
> But it is not engaging at all and feels nonsensical to me, especially when compared to little alchemy https://littlealchemy2.com/.
On the other hand, Little Alchemy doesn't have answers to the most basic combinations. Air + Earth = Dust, but Dust doesn't combine with Water. Earth + Water = Mud, but Mud doesn't combine with Air. Earth + Earth = Land, but Land doesn't combine with Fire.
It may be more sensical since it limits combinations to 0.01% of what's possible, but I don't think that makes it more interesting.
>As an aside, the game is technically interesting, being a really simple example of using llm generation for game mechanics. But it is not engaging at all and feels nonsensical to me
You just gotta make a game out of it.
For example challenge yourself to try to craft "pizza".
Can even try to do it in as least number of crafts as possible.
Point is, just crafting random things to see what it spits out is OK, but trying to use your own logic to combine things to get to an arbitrary solution you come up with is much more engaging, at least to me.
Challenge your friends to craft some specific "thing". Think of something you might think could be hard to craft to, and ask them to do the same and see who can get there first, or in the fewest steps.
That's a fairly big challenge since the game gets less coherent the longer it goes on. The early matches generally make sense, but after about 3 levels you start getting loops, and after 5 levels you start getting nonsense or outright failures from queries.
If you figure each of the things is an input parameter to a LLM this makes a lot of sense. They tend to have short memories and struggle with higher level introspection. Great for demos, but fraught with problems when using them to do real work.
Hmm, I’m not finding it to be too big of a challenge.
It’s a bit challenging yeah, but me and my friends are challenging each other to get to words and we can usually find a way to make it.
Things like “Godzilla”, “Universe”, “Vampire”, “Optimus Prime”, “Vodka”, etc are just some examples we did.
I don’t seem to be having problems going dozens of levels deep without loops and not running into many query failures. Results that are deep are still making some logical combinational sense to me at least.
Some words we haven’t been able to make, but that doesn’t mean it’s not possible. It just means we need to get more creative and sometimes think outside the box. There are so many ways you can approach getting to a certain result in my experience so far.
Doing this has been fun and challenging so far for me and my friends FWIW.
I tried your challenge to create pizza. My goal is to get some kind of food, but combining combinations of water, plants, fire, etc are way more likely to produce dragons and universes. I eventually got to chestnut which got to bread, but it was a lot easier to get to "Toast Toast Toast" or "Chestnutzilla" or "Treasure" + "Toast" = "Pirate". I finally got "Tostzilla" which has a pizza emoji, and then "lunch", and "breakfast", and "party"+"toast"="celebration" ?? but it feels random and illogical at some point I just gave up.
So to me it feels like playing against a soulless vector database rather than something engaging and well-crafted. I think what gives me this impression is that things are commonly related to each other using words rather than their meaning -- getting from "pirate" to "captain crunch" to "serial killer" is obviously following lines of language rather than the core concepts that relate objects. This is directly opposed to the actual act of crafting which is 100% rooted in the material world and has no relationship to language.
Maybe I'm losing my imagination, but doing it like you suggest, creating challenges, is makes it more fun. I think I'm just tired of thinking in language.
I'm also seeing a lot of my favorite game creators on twitter enjoying the toy and I'll trust their taste over mine :)
As this is powered by an LLM, you are exploring its latent space. That means there isn't one logic behind everything - any association is fair game. Here, probably the strongest one wins.
Meh, what would be your great response to Tree + Water?
A human can only generate a small fraction of the combinations and would have a hard time coming up with most combinations which are already nonsensical.
What is your non-disappointing idea for, idk, Tears + Pottery (AI: Bowl) or Money + Salt Lick (AI: Cow) or Skull + Lake (AI: Loch Ness) or Dracula + Pirate (AI: Vampirate) or Curse + Money (AI: Debt)? Now do that thousands of more times.
The infinite aspect is the thing that keeps it interesting, I think. The fun is getting a new, weird result like "Dracula" and "Pot of Gold" and seeing if you can generate new weird results from the existing set.
Porkosaurus, Soup Nazi, Sphinxie, Sodium Chloride, Abdominable Snowman, Baconator and both Yeti and Godzilla. And Yogazilla which is a "First Discovery".
Obviously the prompt to the LLM is just to create the most obvious association. It may not mention "crafting" at all. Maybe it does though. Is there something obvious to craft that uses a tree and water in the process?
To design a game like this you need to do a lot better than just creating the obvious association. It needs a mix of obvious recipes and clever recipes, so that there's challenge and a sense of achievement. Also, there's a starting point. What should the graph look like?
I'm sure Neal has done hard work in getting it right.
The rewilding guys would probably say 'that tracks'. Many of their efforts to get rivers to flow year round usually involve trees. Moss, bugs, rodents and grasses first then trees. Usually can help many areas to have year round streams again. As roots help water linger longer in an area. Which leads to streams.
How did you get to fish? Because boy do I have a story for you.
Mine starts in Atlantis, then Poseidon gives me a fish. Then two fish turned into a shark and I ended up with a sharknado.
Then I found the titanic, we hit an iceberg, I found a treasure and then pirates chased me, but I got away, sold the treasure for money and became the richest man, then climbed Mt Everest, and later had a tea party.
Anyway, there has to be a better way to get fish than Unda da Sea.
I've also got a few where it just mashes adjectives together; so far I've found Time Poseidon, Rainbow Steam Robocloud and Broken Unicorn, among other similar ones.
Here’s all the combinations I’ve came up with so far:
Swamp + Mud = Quagmire
Divorce + God = Odd
Sun + Hourglass = Time
Glass + Hourglass = Time
Ice + Oasis = Penguin
Sand + Stone = Pyramid
Mirage + Time = Illusion
Dinosaur + Lightning = Godzilla
Oasis + Water = Mirage
Egg + Time = chicken
Golem + tide = Titan
Titan + time = Chronos
Poseidon + lighting = Zeus
Titan + Chronos = Cronus
Time + Fire = Sun
Sun * Titan = Apollo
Ash + Mud = Clay
Godzilla + Love = God
? + ? = Spongebob
Unicorn+Gold=Alchemy
Unicorn+Alchemy = Philosopher’s Stone
Gold+Alchemy=Midas
swamp+chicken=duck
duck+roast=goose
goose+goose=flock
flock+wind=flight
Narwhal+time=unicorn
Lightning + Treasure = lots of stuff (Rich, idk
Narwhal+unicorn=narwhalicorn
Jonah+time=narwhal
Whale+oasis=jonah
Plant+seed=tree
noah+ark=flood
curse+jesus=cross
bank+intrest=money
dandelion+cactus=desert
Back to the future+riddle=time travel
back to the future+time=delorian
Desert+indiana jones=tresure
I think it’s the first time AI has made me chuckle. I ended up with “Riddle”, so I combined that with “Tornado” and it gave me “Twister” which I thought was a great Christmas Cracker pun, and then when I combined Riddle with “Bottle” it gave me “Genie”.
Off topic, why is nitter dying? I've noticed the main instance's SSL cert is down for a bit now, and other instances are pretty rate limited. Did something happen/change?
All (non-paid) Twitter accounts are now rate-limited, which makes a shared Nitter instance untenable. It's probably still possible to host a personal instance for yourself, although they might ban your account for it.
Yeah I'm pretty sure you could do this just with the classic word embeddings (king =queen + man - woman). Maybe it doesn't work as well as with a full LLM.
Addition won't work for things that depend on the order of operations. If salt + water is ocean and water + fire is steam, what's salt + water + fire? Is it salt + steam or ocean + fire?
Associativity and commutivity in vector addition doesn't translate well to semantic meaning. Extrapolating your example, it'd also mean:
I don't see why those should all be true. Intuitively, trying to satisfy O(N^2) semantic pairings with vectors that are optimised for a very specific and different numerical operation (cosine similarity) feels like something that won't work. I'd imagine errors get amplified with 3+ operands.
Isn't the reason for lack of associativity/commutivity is that you're doing operations (addition/subtraction) that have them, and then snapping the result to the closest one of fixed number of points in your output dictionary? The addition is fine, loss of information is in the final conversion.
There's definitely some lossy compression when you snap it to the nearest known vector: enumerating every word ever written in human history wouldn't even come close to the 2^(16*D) representable points for a D-dimensional float16 embedding vector. In fact, even adding two float16 values is a form of lossy compression for most additions.
But I'd be surprised if either of those were the primary reason. The words "sea" and "ocean" are different vectors but they'll be very close to each other. salt + water = sea and salt + water = ocean both sound correct to me so the problem is more about whether the v_salt + v_water can even get to the vicinity of either v_sea or v_ocean.
If we constrain our selves to a pool of words of say Wikipedia entries, minutes names and maybe some other stuff, and use a "super node" like "addition" to kind of act as a math operation.. maybe this makes more sense?
For me it was when one of my early combinations of Pegasus (might also have been unicorn or flying horse, the latter already being a duplicate of Pegasus) and water became hippocampus, but with the hippopotamus emoji ().
I'm sure it was fun for the creator, bit I'll stick with non - AI games for now.
i really hate it when you are crafting something and get the same thing as another thing in your side bar but it has one CAPITAL LETTER!!! like what that dosnt change anything you fuggly rat
Wouldnt it be worth caching the results? For the first couple of million combinations at least. I suppose that would take away some level of serendipity. But I imagine it would make this a lot cheaper, considering its popularity.
Was working on the very same idea alongside a friend of mine, we happened to launch a few weeks ago. Quite a lot more fleshed out than Neal's version, if anyone wants to check it out!
This. Duolingo is in the same vein which interrupts my flow. Animations shouldn't continuously block the interaction of the experience. The majority should probably be ancillary and be a visual flourish.
> In Quake, you get the story in the booklet and it's up to you to learn the game.
Or any old console game. Part of the fun was cracking open the little instruction pamphlet and reading all about each enemy and each weapon with little pictures etc.
Completely independently! We're a team of two University students funding this out of our own pockets. About 8 months work (on and off) from first prototype.
OH GOD THANK YOU!
I was playing this on a Packard Bell Windows '95 PC with integrated loud speakers and a mic. Super high tech for the time.
BUT: The German-language full version of that game had been pre-installed in the Start Menu (?!), so if you deleted the start menu entry by accident, you'd need to reinstall Windows to get that game back. Or at least, that was young me's solution to the problem.
You have to reallllly squint to see Incredible Machine in these. These are basic associations, not physical interactions. The closest you get to IM is "what happens if I stick these two things together" but it's more guessing and less input output.
In IM, you know what each thing does and see the output of each action, so you can iterate: placement, angle, special attributes like fire or light. It's not just stack two possibly related icons to see what you get. With these you either know the association exists or you're doing conceptual guesswork. There's no testing and iterating on a hypothesis, at a point once all known associations have been exhausted, iteration looks like permutation.
Will add an ability to speed up/outright disable animations in the next update! Was a bit of an oversight on our part as once you start amassing a decent amount of items you encounter the new item animation less frequently - but in the early game it's definitely quite irritating!
I think the slow animation + fullscreen notification removes a good portion of the fun of the game. The stats are neat, but I wonder if using a log feed (like a killfeed in call of duty) would be a more enjoyable experience for the user. I love how fast infinite craft is to iterate through the combinations while the "allchemy" approach makes it feel like I have a crafting time attached to every new combination
Good work! What kind of traction are you getting on the premium version? That approach is sensible given the underlying costs. Would love to get an idea of how it worked out in practice.
I love it and agree with other commenters on animations. Any traction on subscriptions? I'm always curious if there's a biz model that works for this kind of game on web (besides ads). It's funny because I think you could absolutely sell it for $4.99 on the app store if you throw it in a native shell but I have a hard time imagining people paying for it in their browser. Would be happily surprised if that's not the case!
Games like this already exist and have comparable complexity, so calling it infinite and using an LLM backend feels overhyped.
For example, Castle + Fortress = Castle?
City + Town = Castle. Castle + Wall = City?
Metropolis + City = Megalopolis. Ok we're getting somewhere cool here, let's see how big it gets: Megalopolis + City = Metropolis?!
Finally, it just failed to combine War + Tunnel. It blinks for a minute and then gives up. I would have said "Sappers"? Edit: There are actually many such failures for higher-order combinations which is strictly not infinite. Other combinations described above might technically fit the bill but ceasing functionality does not : /
I mean, not really, no. I'm not trying to be super critical here, just, it's not even presented as a exploratory LLM project. It's only presented as "infinite", and it's... not.
> There are actually many such failures for higher-order combinations which is strictly not infinite
I suspect a service error, either the service/LLM not responding fast enough sometimes when a combination isn't already known, or the LLM not giving a usable result.
I mean, there aren't infinite emojis or words so it isn't gonna be infinite but I think some of the errors I've seen have been more transient.
That's just generative or procedural though. It's ok of course that it's not truly infinite, I'm just posting because it was disappointingly finite. There were concepts I was trying to build up to that simply didn't exist. So I'm not even sure if it's less bounded than human design, just less manual effort to build.
All I'm saying really is, if it had just been called "AI Generative Craft" I would have had nothing to say in the comments. I would have gotten what I expected.
Couldn't build up to doesn't mean they didn't exist... it took me a while to make a "Sandwich". But after spending enough (too much) time with it, I was able to construct some things that show it's not disappointingly finite:
* "Bollygraff"
* "Teen Mom 12"
* "Hackimus Prime"
* "Billionaire King + Sushi Burger Venus" (sic)
One potentially frustrating part is that some things turn out to be black holes... for example, combine "Trump" with anything and it tends to return "Trump". There are also plenty of loops, and some that refuse to combine at all.
I mean, there are only a finite number of words in the English language, so of course something like this isn't truly infinite.
But I've wandered off into a space of fantastical creatures: rainbow + explosion = unicorn, from there I've gotten phoenix, "steam unicorn", narwhalicorn.
Others have gotten into food items? I don't even know how I'd get there. And you've gotten into infrastructure and war.
There's enough to explore here that I'm ok with it being called infinite.
I've found retrying after a bit will often return the new result. I suspect the frontend is timing out before the backend comes up with a result, which is eventually cached by the time of the second attempt
Others have mentioned the same - I tried several times the same combination and got no result. However, it's now clear from other replies that eventually there will be some result (even if it's just one of the inputs), so I guess that argument doesn't hold.
I'm seeing tons of slowdown when I try to merge things like "Sagitarius" and "Archer" and "Storm" and "Centaur". I guess this is the nature of the build, but I'm at least a little surprised it's hitting this kind of performance issue after only tens of objects.
Anyway, all of that aside, I'm having a lot of fun seeing what emerges from the combinations and I love that the wackier the merge result, the more fun it is to try it against all of the previous objects. Quite an addicting little loop! Great job!
I was very confused at first too, and didn't understand the difference. As the other comments in the thread allude to though, this instead an LLM to allow for a much much larger number of combinations, which is the "neal.fun" twist on it.
I do wish it was a bit better stated on the page itself.
Once I play I was confused to, but I was thinking was it like little alchemy. You should play for like 20 min so you can be more better just giving a tip for because it is the right thing to do
In the beginning, there were four elements. Some asshole came over and banged them all together like rocks to see what fit together. The first life on Earth was dragons, plants, and vampires, somehow.
My team and I were ghost developers to many companies, developers, and book authors in the hay days of Macromedia/Adobe Flash.
We were approached to build a bunch of learning lessons for teachers to teach kids - primarily focusing on human anatomy. Instead of building separate lessons, we built a generator tool for the teachers to drag and drop various combinations and permutations that produce almost infinite lesson variations.
The end customer was Pearson Publishing, and I heard they won awards and stuff. Our client was a good person and even paid us extra for doing the better version of the product they had in mind.
That tool was like this and a few others, as mentioned in the comments. But all in ActionScript Flash, complete with sounds, laughter tracks, and ever-expanding sprites of body parts. It was one fun and fulfiling product.
I miss Flash and all the cool capabilities it had. At a previous company, we built a tool that would allow a teacher to record a video review of a student's animation work, while showing, scrubbing and annotating that work simultaneously. On playback, the annotations would be synced with the video. Good luck pulling that off with Javascript.
830 comments
[ 9.1 ms ] story [ 650 ms ] threadI was able to get to Dandelion after many combos! Hoping it gets to human soon.
Will try to extract the full tree from the code :)
[0] https://nitter.cz/nealagarwal/status/1747284257582506102#m
wind + earth -> dust + dust -> sand + fire -> glass + fire -> lens + lens -> telescope + lens -> galileo
glass + sand -> hourglass + sand -> time + gallileo -> einstein + time -> relativity + einstein -> theory + time -> evolution + time -> human
There's probably a shorter and less convoluted path somewhere.
EDIT: Ah, you drag items on top of each other for them to change. Instructions unclear, and I am dumb.
Just makes me want to play Alchemy, though. Even Doodle God doesn't scratch the itch Alchemy did in 2011. I found it on StumbleUpon. Oh those were the days. I wonder if I still have the APK on my SkyDrive...
What's with all the lines to the little moving dots? Haven't figured out what those do yet.
I didn't realize it's just a basic drag drop combination thing until I saw the video, after coming here to see if anyone else was having trouble with Safari.
You're not dumb -- it's not only unclear, but the interface actively suggests the opposite of what you're supposed to do.
One of the best lessons I ever learned was from Don Norman's famous book, The Design of Everyday Things. Which basically teaches you that the user is almost never dumb, but rather human. And that the responsibility of understanding how to interact with an object, or program, always lies with the creator of that object or program. The designer. It's their job to design something so that it teaches you how to use it. (His most quoted example involves how a plate on a door invites you to push it, while a handle invites you to pull -- and this way you'll never try to pull a door that needs to be pushed open, or vice-versa.)
In this case, the interface invites you to drag things among the various pre-existing points, to continue the "constellation". It does nothing whatsoever to suggest that it would make any sense to drag the labels on top of each other. Indeed, previous experience suggests that this would simply lead to overlapping and obscured labels, so we actively avoid it. And the lines that get drawn between nearby points and labels goes even further to suggest that this is a game or experience about connecting things in a graph-like way -- which, once again, overlapping does not fit into conceptually.
I would never have thought to drag things on top of each other if I hadn't come here to the comments.
I don't see how to use this at all without drag and drop.
Water surrounded by 5 fire in a circle - ish - did absolutely nothing.
Only by checking the HN comments i figured out you have to combine items.
Fun stuff. I wonder what the codebase looks like
https://en.wikipedia.org/wiki/Leviathan
Another strange one was puddle + rock = pudding + dragon = custard.
> Working on an endless crafting game with llama 2
along with a video of this game.
[0] https://nitter.cz/nealagarwal/status/1747284257582506102#m
Campfire+sushi took about 10 seconds before it gave up and did not combine them.
However, that said, the idea itself is a neat idea, and could quite easily be turned into game ideas somewhere.
As an aside, the game is technically interesting, being a really simple example of using llm generation for game mechanics. But it is not engaging at all and feels nonsensical to me, especially when compared to little alchemy https://littlealchemy2.com/.
I'm not trying to be negative and this isn't a dig on creativity of the wonderful Neal but more points to the immaturity of llms applied to games, maybe to my overexposure to chatgpt, and maybe a prediction that human touch will always be required to make something entertaining. I'm curious how llms will fit into an engaging game experience in the future.
On the other hand, Little Alchemy doesn't have answers to the most basic combinations. Air + Earth = Dust, but Dust doesn't combine with Water. Earth + Water = Mud, but Mud doesn't combine with Air. Earth + Earth = Land, but Land doesn't combine with Fire.
It may be more sensical since it limits combinations to 0.01% of what's possible, but I don't think that makes it more interesting.
You just gotta make a game out of it.
For example challenge yourself to try to craft "pizza".
Can even try to do it in as least number of crafts as possible.
Point is, just crafting random things to see what it spits out is OK, but trying to use your own logic to combine things to get to an arbitrary solution you come up with is much more engaging, at least to me.
Challenge your friends to craft some specific "thing". Think of something you might think could be hard to craft to, and ask them to do the same and see who can get there first, or in the fewest steps.
If you figure each of the things is an input parameter to a LLM this makes a lot of sense. They tend to have short memories and struggle with higher level introspection. Great for demos, but fraught with problems when using them to do real work.
It’s a bit challenging yeah, but me and my friends are challenging each other to get to words and we can usually find a way to make it.
Things like “Godzilla”, “Universe”, “Vampire”, “Optimus Prime”, “Vodka”, etc are just some examples we did.
I don’t seem to be having problems going dozens of levels deep without loops and not running into many query failures. Results that are deep are still making some logical combinational sense to me at least.
Some words we haven’t been able to make, but that doesn’t mean it’s not possible. It just means we need to get more creative and sometimes think outside the box. There are so many ways you can approach getting to a certain result in my experience so far.
Doing this has been fun and challenging so far for me and my friends FWIW.
So to me it feels like playing against a soulless vector database rather than something engaging and well-crafted. I think what gives me this impression is that things are commonly related to each other using words rather than their meaning -- getting from "pirate" to "captain crunch" to "serial killer" is obviously following lines of language rather than the core concepts that relate objects. This is directly opposed to the actual act of crafting which is 100% rooted in the material world and has no relationship to language.
Maybe I'm losing my imagination, but doing it like you suggest, creating challenges, is makes it more fun. I think I'm just tired of thinking in language.
I'm also seeing a lot of my favorite game creators on twitter enjoying the toy and I'll trust their taste over mine :)
[0]: https://twitter.com/nealagarwal/status/1747284257582506102
Mud + water = swamp
Swamp + plant = Venus Flytrap
Okay, okay.
Venus Flytrap + Smoke = smoke detector
<confused smile meme>
Unfortunate. I can see the appeal of using an LLM for this but the results are pretty mediocre.
This is a great result, a branching of water/wood.
A human can only generate a small fraction of the combinations and would have a hard time coming up with most combinations which are already nonsensical.
What is your non-disappointing idea for, idk, Tears + Pottery (AI: Bowl) or Money + Salt Lick (AI: Cow) or Skull + Lake (AI: Loch Ness) or Dracula + Pirate (AI: Vampirate) or Curse + Money (AI: Debt)? Now do that thousands of more times.
The infinite aspect is the thing that keeps it interesting, I think. The fun is getting a new, weird result like "Dracula" and "Pot of Gold" and seeing if you can generate new weird results from the existing set.
And why didn't you do the rest of my examples? ;)
Forest
Fruit
Nuts
This is a Quagmire
Found myself: Thomas the locomotive
- Cactus Missile
- Mammoth Marula
- Super Lizard Wizard
- Cheesethorn Bush
- Cheesnado Lizard Wizard
- Cheesnado 2: Cheesnado Strikes Back
- Cheesewolftrap
Urn
Anyway, once you get that kind of a modifier, anything’s game for megaification.
I'm sure Neal has done hard work in getting it right.
I laughed when "Vindaloo + Bubble" gave me "Burp", and "Burp + No Bacon" gave me "Sad"
Japan + Destruction = Godzilla
Godzilla + Megalodon = Cthulhu
<drops mic>
Mine starts in Atlantis, then Poseidon gives me a fish. Then two fish turned into a shark and I ended up with a sharknado.
Then I found the titanic, we hit an iceberg, I found a treasure and then pirates chased me, but I got away, sold the treasure for money and became the richest man, then climbed Mt Everest, and later had a tea party.
Anyway, there has to be a better way to get fish than Unda da Sea.
That one surprised me.
Sandwich + Sphinx = Sphinxwich
This one delighted me. The Sphinxwich doesn't combine well with other stuff though.
Maple syrup.
Then swamp + fire = dragon
Bacon + Judaism = No Bacon
https://github.com/zedeus/nitter/issues/983#issuecomment-191...
https://farside.link/https://twitter.com/nealagarwal/status/...
Associativity and commutivity in vector addition doesn't translate well to semantic meaning. Extrapolating your example, it'd also mean:
I don't see why those should all be true. Intuitively, trying to satisfy O(N^2) semantic pairings with vectors that are optimised for a very specific and different numerical operation (cosine similarity) feels like something that won't work. I'd imagine errors get amplified with 3+ operands.But I'd be surprised if either of those were the primary reason. The words "sea" and "ocean" are different vectors but they'll be very close to each other. salt + water = sea and salt + water = ocean both sound correct to me so the problem is more about whether the v_salt + v_water can even get to the vicinity of either v_sea or v_ocean.
Some of the surprising discoveries I made with word2vec embeddings:
human + robot ~= cyborg
silicon + electricity ~= solar cells
virtual reality + reality ~= augmented reality
As reported here: https://web.archive.org/web/20160806040004if_/http://blog.yh...
That simple demo took me way too long and all that time is wasted because word2vec simply sucks for this use-case.
I'm sure it was fun for the creator, bit I'll stick with non - AI games for now.
rag just because of it.
this game is fun for a bit, but shallow once you realize the gimmick.
you can go completely random bullshit go and get "super cyberwolfman zombie phoenixman" that's nonsense, of course it's "first discovery!"
https://allchemy.io/
Edit: sorry if anyone is bumping into errors! We're running into bottlenecks with our supposedly auto-scaling database - working on it
I assume these sites are about exploring lots of different things, even if they don't work as much as some would like.
In Quake, you get the story in the booklet and it's up to you to learn the game.
In modern games you're constantly interrupted with an explanation of what you can do, should do, and so on.
I love this one (Infinite Craft) because it's up to you to discover and discovery is really fast because nothing interrupts you.
allchemy.io should have a mode without animations and explanations, maybe explanations when you hover over crafted objects on the right pane.
Or any old console game. Part of the fun was cracking open the little instruction pamphlet and reading all about each enemy and each weapon with little pictures etc.
You can find some interesting stuff!
https://en.wikipedia.org/wiki/The_Incredible_Machine
Probably outputting a format supporting the same characteristics as the Object Editor: https://scribblenauts.fandom.com/wiki/Object_editor
BUT: The German-language full version of that game had been pre-installed in the Start Menu (?!), so if you deleted the start menu entry by accident, you'd need to reinstall Windows to get that game back. Or at least, that was young me's solution to the problem.
https://archive.org/details/msdos_Alchemy_Game_The_1997
In IM, you know what each thing does and see the output of each action, so you can iterate: placement, angle, special attributes like fire or light. It's not just stack two possibly related icons to see what you get. With these you either know the association exists or you're doing conceptual guesswork. There's no testing and iterating on a hypothesis, at a point once all known associations have been exhausted, iteration looks like permutation.
I was just the first to craft MUCK ASTLEY... definitely gave me a good laugh
Edit: some measure of progress would also be good. I cant know how much I missed
Edit2: Megalodon + Cemetery seems to break the system, spits back nothing.
For example, Castle + Fortress = Castle?
City + Town = Castle. Castle + Wall = City?
Metropolis + City = Megalopolis. Ok we're getting somewhere cool here, let's see how big it gets: Megalopolis + City = Metropolis?!
Finally, it just failed to combine War + Tunnel. It blinks for a minute and then gives up. I would have said "Sappers"? Edit: There are actually many such failures for higher-order combinations which is strictly not infinite. Other combinations described above might technically fit the bill but ceasing functionality does not : /
I suspect a service error, either the service/LLM not responding fast enough sometimes when a combination isn't already known, or the LLM not giving a usable result.
I mean, there aren't infinite emojis or words so it isn't gonna be infinite but I think some of the errors I've seen have been more transient.
> this uses GenAI in order to attempt being truly infinite, or at least not bounded by their ability to design and input combinations themselves
It's fair to go for that name imho. Not strictly correct, but 100% fair.
All I'm saying really is, if it had just been called "AI Generative Craft" I would have had nothing to say in the comments. I would have gotten what I expected.
They may not, but that you didn't find them precisely where you expected doesn't really convince me that they don't.
* "Bollygraff"
* "Teen Mom 12"
* "Hackimus Prime"
* "Billionaire King + Sushi Burger Venus" (sic)
One potentially frustrating part is that some things turn out to be black holes... for example, combine "Trump" with anything and it tends to return "Trump". There are also plenty of loops, and some that refuse to combine at all.
Rich + Rich = Richer
Richer + Richer = Richest
Richest + Poop = Trump
Then I did "T-Rex"+"trump" and I got "T-Rump"
I was impressed by the creativity
But I've wandered off into a space of fantastical creatures: rainbow + explosion = unicorn, from there I've gotten phoenix, "steam unicorn", narwhalicorn.
Others have gotten into food items? I don't even know how I'd get there. And you've gotten into infrastructure and war.
There's enough to explore here that I'm ok with it being called infinite.
I'm seeing tons of slowdown when I try to merge things like "Sagitarius" and "Archer" and "Storm" and "Centaur". I guess this is the nature of the build, but I'm at least a little surprised it's hitting this kind of performance issue after only tens of objects.
Anyway, all of that aside, I'm having a lot of fun seeing what emerges from the combinations and I love that the wackier the merge result, the more fun it is to try it against all of the previous objects. Quite an addicting little loop! Great job!
I do wish it was a bit better stated on the page itself.
If I could only store the state, maybe download a JSON file which I could later drop into the editor again to restore, that would be great.
We were approached to build a bunch of learning lessons for teachers to teach kids - primarily focusing on human anatomy. Instead of building separate lessons, we built a generator tool for the teachers to drag and drop various combinations and permutations that produce almost infinite lesson variations.
The end customer was Pearson Publishing, and I heard they won awards and stuff. Our client was a good person and even paid us extra for doing the better version of the product they had in mind.
That tool was like this and a few others, as mentioned in the comments. But all in ActionScript Flash, complete with sounds, laughter tracks, and ever-expanding sprites of body parts. It was one fun and fulfiling product.
And that pretty much says everything unfortunately - it's still an experimental API with limited availability.
You can do some parts of this using Canvas[0] but there's lots of caveats.
[0] https://github.com/bwasti/mebm/tree/main