Infinite Craft
neal.fun
neal.fun
items = () => [...document.querySelectorAll('.items div.item')]
show = (elt) => elt.style.display=''
hide = (elt) => elt.style.display='none'
search = (text) => (items().forEach(show), items().filter(e => !e.innerText.toLowerCase().includes(text.toLowerCase())).forEach(hide))
inputElt = document.createElement('input'); inputElt.type='text';
document.querySelector('.sidebar').prepend(inputElt)
function handle(e) { search(e.target.value) }
inputElt.addEventListener('input', handle)Oh well, I guess now I'm forced to sink in another half-hour this evening! ;)
> 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:
v_king - v_queen ~= v_father - v_mother
v_king - v_royalty ~= v_father - v_parent
v_king - v_father ~= v_royalty - v_parent ~= v_queen - v_mother
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!"
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.
I do wish it was a bit better stated on the page itself.
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.
console.log(JSON.stringify({discoveries: window.$nuxt.$root.$children[2].$children[0].$children[0]._data.discoveries, elements:window.$nuxt.$root.$children[2].$children[0].$children[0]._data.elements}))
I'll figure out how to re-import the state later, but it's past midnight for me now.These were my discoveries:
["Leviathan Shark","Burnzilla","Burnado","Chocolate Tree Shark","Cybersharktopus","Toadatorzilla","Bacon Sharktopusnado","Rainbow Hooktopus","T-48000050","T-48000050","T-19800050","T-19800050","T-64000050","T-83800050","T-83800050","T-121800050","T-121800051","T-185800001","T-185800002","T-185800004","T-185800008","T-82980058","T-121800051 + T-160000"]
Seems like I've stumbled across a self reproducing AI, although the emojis went from robot emoji to universe emoji and then to poop emoji. I wonder at which of those levels of AI we're at currently :p
This can be used to get a novel starting point (disregarding the original starting point).
It can also be used to start from unreachable elements, although it isn't clear to me exactly how the "First discovery" works, e.g. will your unreachable elements pollute the neal.fun datastore, or only the byproducts? Either way, it is interesting.
javascript:(function(){
const exportState = () => JSON.stringify({
discoveries: window.$nuxt.$root.$children[2].$children[0].$children[0]._data.discoveries,
elements: window.$nuxt.$root.$children[2].$children[0].$children[0]._data.elements
});
const importState = (state) => {
const { discoveries, elements } = JSON.parse(state);
const gameInstance = window.$nuxt.$root.$children[2].$children[0].$children[0]._data;
gameInstance.discoveries = discoveries;
gameInstance.elements = elements;
};
/* Set up a MutationObserver to listen for changes in the DOM and automatically export the current state. */
const observer = new MutationObserver((mutations) => {
const state = exportState();
localStorage.setItem('gameState', state);
});
/* Start observing DOM changes to auto-save the game state. */
const startObserving = () => {
const targetNode = document.querySelector('.sidebar');
observer.observe(targetNode, { childList: true, subtree: true });
};
/* Check for a saved state in localStorage and import it if available. */
const savedState = localStorage.getItem('gameState');
if (savedState) importState(savedState);
else localStorage.setItem('gameState', exportState() );
startObserving();
})();let maxElementReachedForElement = {}; let totalElements = 0; let firstElement = 0; let secondElement = 0;
setInterval(function() {
document.getElementsByClassName('mobile-item')[firstElement].getElementsByClassName('item')[0].click();
document.getElementsByClassName('mobile-item')[secondElement].getElementsByClassName('item')[0].click();
totalElements = document.getElementsByClassName('mobile-item').length;
secondElement = (secondElement + 1) % totalElements;
if (secondElement == 0) {
maxElementReachedForElement[firstElement] = totalElements;
if (Object.keys(maxElementReachedForElement).some(item => maxElementReachedForElement[item] < totalElements)) {
let prevStart = Object.keys(maxElementReachedForElement).find(item => maxElementReachedForElement[item] < totalElements);
firstElement = prevStart;
secondElement = maxElementReachedForElement[prevStart]; // Start from previous end
} else {
firstElement = (firstElement + 1) % totalElements;
secondElement = firstElement; // No need to repeat the previous combinations.
}
}
document.title = firstElement + '+' + secondElement + '|' + totalElements;
}, 500); // TODO : Find a way other than delay 1. Combine the first element with every next element until exhausted.
2. Catch up the second element to where the first element got to.
3. Combine the first two elements with every next element, until exhausted.
4. Catch up the third element.
5. Combine the first three elements with every next element
6. etc.
In pseudocode... n = 1
maxElementReached = -1
while(n < totalElements()) {
while(maxElementReached + 1 < totalElements()) {
maxElementReached = maxElementReached + 1
Combine each of the first n elements with element[maxElementReached]
}
// we've exhausted all possible combinations for the first n elements.
// increase n by 1 and catch up the new element to keep going
Combine element[n] with each element from n to maxElementReached
n = n + 1
}`One Does Not Simply Walk Into Mordor`
let m={},t=0,f=0,s=0;setInterval(function(){document.getElementsByClassName('mobile-item')[f].getElementsByClassName('item')[0].click();document.getElementsByClassName('mobile-item')[s].getElementsByClassName('item')[0].click();t=document.getElementsByClassName('mobile-item').length;s=(s+1)%t;if(s==0){m[f]=t;if(Object.keys(m).some(i=>m[i]<t)){let p=Object.keys(m).find(i=>m[i]<t);f=p;s=m[p];}else{f=(f+1)%t;s=f;}}document.title=f+'+'+s+'|'+t;},500);
Like keep showing me a desired item to craft, that requires crafting 2 or 3 items to get to -- e.g. combine 2 existing things, then with a third existing thing. Or combine 2 existing things, another 2 existing things, and then combine those.
And obviously it keeps getting more complex the more items I acquire along the way.
And each time I play it's randomized.
(And let me play entirely with the keyboard by autocompleting each item as I type... dragging gets old real quick on a touchpad...)
Quick google search tells me the game is called Little Alchemy (there’s a sequel now too)
* Frankenstein + angel = Angelstein. (Then Angelstein + Baby = Angelina Jolie.)
* something + Something from Michael Jackson = Dangerous.
* Dangerous + Sherlock Holmes = Moriarty.
* Multiverse + White => Dark Multiverse + Law => Dark Law.
* Dark Law + us Constitution => Dark Constitution.
* Quark + Ocean -> Neutreno
* Thor + Guardian -> Heimdall
* Batman + vet => Batvet
* Avengers + Multiverse => Endgame + Dark Multiverse => Dark Engame
* Iron man + Star Lord -> Iron-lord
* Wandavision + Groot -> I Am Groot
* Cleanest + Terminator -> Cleaninator.
* A series of werepigeon, Space Pigeon, Mars Golem, Werehand, Icepigeon, Werechristmas Tree, Dust pigeon, Snow pigeon, Dust mosquito.
Some fun ones:
* us America + hole = Donut + hole => Doughnut
* Money Water -> Vodka + Casino => Roulette + Vodka -> Russian Roulette + Certainty -> Suicide.
* Toxic Waste + batman -> The Joker.
* Divorce + Ex-wife => Splitting headache.
* Lake + Batman -> Aquaman + Batman => Justice League
* Captain America + Thor -> Avengers
* Avengers + Justice League -> Superheroes + Galaxy -> Marvel + Galaxy -> Guardians of the Galaxy
* Guardians of the Galaxy + Guardian -> Groot
* Guardians of the galaxy + Nebula -> Gamora
* Guardians of the galaxy + Gamora -> Star Lord
* Time Travel + Iron Man -> Terminator.
* Government + Terminator -> Robocop.
* Terminator + Divorce -> Arnold Schwartzenegger.
Confusing ones:
* Darth vader + Toxic Waste => Superman?
* Pirate + Superman => Captain America
Lincoln + Wife = Lincoln's wife
Should have seen that one coming.
- Dragon + Lazer = Dragonzord
- Dragonzord + Sandpunk = Sandzord
- Dragon-Rex + Hippopotamus = Hippodragon
- Mega Dragonzord (didn't see recipe)
- Hippodragon + Mega Dragonzord = Mega Hippodragonzord
- Mega Hippodragonzord + Flying Circus = Mega Flying Circus Hippodragonzord
- Zombie + Mega Dragonzord = Zombie Dragonzord
- Swan + Megazord = Swan Megazord
- Sandzord
- Steam Dragonzord
- Swan Dragonzombie Megazord
- Mega Swan Dragonzord Megazord
The more ridiculous this gets the more fun I'm having! Everything after dragonzord was a first discovery.
Ultrazord + lord of the salad = saladzord
Dragonzord + Godzilla = godzord
Godzord + lord of the salad = Godzord of the salad
Lord of the rings + godzord = gozord of the rings
Gozord of the rings + godzord = godzord of the rings
Godzord of the salad + godzord of the rings = godzord of the salad rings
Godzord of the salad rings + pirates of the Caribbean = godzord of the Caribbean
Godzord of the Caribbean + donkey Kong = donkey kongzilla
Megazord+megazord= mega megazord
Donkey kongzilla + mega megazord = donkey kongzilla megazord
(I forgot how lord of the salad happened)
King Kong + Power Ranger = King Kong Ranger (first)
Megazord + Power Ranger = Power Megazord
Megazord + Power Megazord or Artzord + Megazord = Ultrazord
Dragonzord + Art = Artzord (first)
Groot + Mega Artzord = Grootzord
Megazord + Grootzord = Gigazord (first)
Godzord + Giga Artzord = Giga Godzord (first)
Giga Godzord + Giga Titanic Gigazord = Giga Titanic Godzord (first)
Giga Titanic Godzord + Mega Power Godzillazord = Super Giga Mega Titanic Power Godzillazord (first)
I also got firsts on both Earthquake Laser and Laser Earthquake, but I'm not sure what the recipes were.Trying to get Zebra was an interesting sequence.
Tamer + Africa = Tamerlane (first)
Tamerlane + Terror = Timur (first)
Timur + Asia = Genghis Khan
Genghis Khan + Bellerophon = Alexander the Great
Alexander the Great + Unicorn = Bucephalus (first)
Alexander the Great + Bucephalus = Horse
Horse + Africa = ZebraSuperman + Hulk
...as well =D (instead of `Incredible Hulk`).
Thanks for "the hope" on ghost rider combining with Superman.
- Dragon + Angel
- Train + Star
- Fish + Yin Yang
- Orc + Ninja
P.S. Today I learned from AI that Sphinx + Drunk = Sphinxter.
Sorry but clearly the game description is about joining two things together into a logical craft and AI is contrained with that – not coming up with random words that have an associated emoji. In doing so the AI is not convincing, the combinations just feel random. And yes, you need common sense to come up with logical combinations which makes a game like this interesting in the first place.
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
let elements = [
' Water',
' Fire',
' Wind',
' Earth'
];
let pairs = {};
async function getResponse(left, right) {
const url = `https://neal.fun/api/infinite-craft/pair?first=${left}&second=${right}`;
return await (await fetch(url)).json();
}
function getRandom() {
return elements[Math.floor(Math.random() * elements.length)];
}
async function run() {
while (true) {
let left = getRandom();
let right = getRandom();
if (pairs[`${left} + ${right}`]) {
continue;
}
let result = await getResponse(left.split(' ').slice(1).join(' '), right.split(' ').slice(1).join(' '));
if (result.isNew) {
console.log('‼ new one ‼');
}
result = `${result.emoji} ${result.result}`;
console.log(`${left} + ${right} = ${result}`);
if (result != ' Nothing') {
pairs[`${left} + ${right}`] = result;
elements.push(result);
}
await sleep(1000);
}
}
run();- In general, play the game as if you are asking an 11 year old, "what do you get when you combine X and Y?" The LLM likes rhymes and similar-sounding syllables, i.e. The Godfather + Goth => Gothfather.
- Some concepts seem to be "weightier" than others; "Dracula" usually becomes "Vampire" and vice-versa, no matter what you combine it with. "Chtulhu" is also difficult to combine with other things; it tends to remain "Cthulhu". "Darth Vader" is good for generating lots of "Darth" things but tends to revert to "Darth Vader" at the slightest provocation. "Santa / Santa Claus / Christmas" is also weighty and tends to cycle. Similarly, the Mario characters all tend to turn into Mario eventually.
- The longer your token gets, the harder it is to get it to combine with other things. "Bumblefrostycatpocalypse" + most things => "Bumblefrostycatpocalypse"
- The LLM knows lots of movie titles, and these are good for generating super long tokens, especially if you can goad it into inserting a colon, i.e. "The Fall of Star Wars: The Flying Crabster"
- Once your token gets too long, the game won't even try to combine it with anything else. I'd like to keep going with "Freddy Mercury vs. Jason + Jedi Mind Trick" but it won't let me.
Finally, a few of my favorite first discoveries: "Super Evil Jackie Chan", "The Best Halloween Costume Ever", "Postpornmodernism"
Best of luck in your attempts at working.
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!
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.
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
- Bread + Bread = Toast, + Fire = Burnt Toast, + Fire = Ash
- Toast + Disaster = Pop Tart, + Fire = Hot Pocket, + Coffee = Coffee Pocket (First Discovery)
- Hot Pocket + Cappuccino = Cappuccino Pocket (First Discovery), + Pop Tart = Cappuccino Pop Tart (First Discovery)
- Coffee Pocket + Disaster = Coffee Spill (First Discovery), + Pop Art (sic) = Jackson Pollock
- Jackson Pollock + Megadisaster = Jackson Pollock
- Artist + Disaster = Picasso
Apparently nobody else was insane enough to combine Coffee, Hot Pockets, and Pop Tarts. The AI is just confusing sometimes, though:
- Pompeii + Kaleidoscope = Mosaic?
- Burnt Toast + Water = Coffee, + Cake = Breakfast, + Mosaic = Cereal?
- Coffee Pocket + Broken Window = Coffee? (though idk what I expected)
- Slimy Palm
- Momfia
- Sand-T-Rump
- Stinkadult
- Cheesus vs Jesus
- Surfing Blues Brothers
- Gnomeo and Juliet
- Game of Thrones = Pornstar + Sword Fight
- Putin = Stool (with poop emoji) + Russia
Thought it was pretty clever
I got Mega Dragonzord! First discovery. But I didn't see how.
Here is a list of new kaiju I first discovered:
- Dragonzord + Sandpunk = Sandzord
- Dragon-Rex + Hippopotamus = Hippodragon
- Hippodragon + Mega Dragonzord = Mega Hippodragonzord
- Mega Hippodragonzord + Flying Circus = Mega Flying Circus Hippodragonzord
- Zombie + Mega Dragonzord = Zombie Dragonzord
- Swan + Megazord = Swan Megazord
- Sandzord
- Steam Dragonzord
- Swan Dragonzombie Megazord
- Mega Swan Dragonzord Megazord
The more ridiculous this gets the more fun I'm having
- The Abominable Ramen Pigman - The Colorblind Lama - The Dalai Llama - Pig of Thrones - The Purple Monkey With A Laser Beam Attached To Its Head
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.
Just as an example, I put in "Protestant" and "Spiritual Experiences" and it gave "Pentecostal" which is exactly right, and I didn't expect it to know that. Now I have to find how to get that in the game.
This little game is too entertaining. I hope the author open sources it, or writes a technical blog post on how it's implemented.
Everything that’s combined with Steam Punk ends up being stupid and boring.
Steam Punk + Zombie = “Steam Zombie”
Steam Punk + Hacker = “Steam Hacker”
Steam Punk + UFO, which you’d think would be “Zeppelin” or something, is instead “Steam UFO”.
Steam Punk + Illusion is, bafflingly, “Steampunk”, all one word, and with a different emoji!
I'm now at Monkey Island 12357990.
Then Sharknado 3 from sharknado + sharknado.
Then Sharktopusnado 3 from sharknado 3 + octopus
Now I'm going at Sharktopusnado 9400000000000.
Great fun!
Surely some things are weird and are to be expected from the usage of AI, for example, I managed to somehow create Neon Genesis Evangelion (try to!) but I can't seem to replicate any more animes, mangas or shows.
I think some of the recipes don’t make sense and it would be a lot better if each thing only had one recipe to create it.
Also, ashes + water = soup. I need to try some more recipes
I'm still having a problem where after you import the save, you can no longer search in any way LOL. I tried both neal's search feature that he added a few days ago, and also procparam's script (he posted here 5 days ago)
Other "problem" i encountered is that in order to save the merged stuff, you have to craft one new element. After you do that, it autosaves and there is no further problems.
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.
It's fine to clone existing games as a gamedev exercise and/or to iterate meaningfully on the design, and to be fair, maybe this game does the latter. However, it is good to pay respects to the shoulders you build on. Little Alchemy is not so well known that this is like making a game called Tetrizz.
(Can someone make Tetrizz please?)
Another strange one was puddle + rock = pudding + dragon = custard.
I had some other interesting discoveries as well, including the "Abominable Crocodile", "Abominable Orc", and whatever the hell a "Pterodump" is.
He made a video to visualize some of the final data though: https://youtu.be/rQWwfYSUckY
Also I vaguely remember a game with basically the same premise but the goal was to create life.
Literally unplayable.
EDIT: apparently I'm the first to discover "Captain Tokyo"?
EDIT: and "Captain Tiamat". Had no idea those are even things.
Seems like I'm the designated captain discoverer. More to the list:
- Captain Penguin Universe
- Captain Penguin Planet
- Captain Penguin Multiverse
- Captain Poseidon Multiverse
- Captain Jack Poseidon
- Captain Jack Tiamat
- Captain Everything Jack Sparrow (which can't combine with anything, apparently)
- Captain Penguin Zombee
- Captain Penguin Zombee Universe (also can't combine with anything)
Kinda got tired at Slaughterhouse One Hundred Thousand.
Interestingly, I did break it on flower + eclipse.
At any rate, the first 1000 or so that a quick python script found: https://gist.github.com/Q726kbXuN/6620a12ade4b77dacce93d1c96...
Check it out - AlchemicAI:
https://play.google.com/store/apps/details?id=com.hostelguys...
https://apps.apple.com/us/app/alchemic-ai-infinity-mix/id646...
ETA: also the Cinderham and Louis Prime
Fun little game and pretty silly, thanks
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!
1) progress is saved locally so you can reload browser (helpful on iOS) 2) search bar added to discovered items list
One of the more interesting ones is "Ant-smoke"?
Edit: Another interesting one is combing "Batman" and "Robin" to make "Dynamic Duo"
Edit 2: I've now managed to turn the game into a number generator and by combining numbers together I've ended up creating some very large numbers. Doesn't seem to be a limit to the size either
Some of my first discoveries:
- Meteor Pot
- Meteor Soup
- Meteor Shower Soup
- Meteor Fish Soup
- Jabba The Soup-zeus
- Sith zeus
- Jabba The Slimer
- Sonic Chip
- Cheech The Hedgehog
- Darth Shrubber
- Chewbuster
- Darth Vader Fish Soup
I may have got heavily involved in combining Star Wars items :PEither that or the backend is completely overloaded and/or unable to handle more than ten of somethings.
If you ask it to explain the chain of events it can guide the solution. I think that part of the issue here is that there's no context (well, at least that we can see) to these combinations.
But if you build up some context then it might make things make more sense.
E.g., if you imagine that you're prompting in the context of a "crafting type" for statues, you might have flamethrower as a "tool" and statue as an "input" and it might lead to a better solution (e.g., burnt statue, melted statue, etc.,). Alternatively if you said flamethrower and statue were both inputs then maybe the result would be a statue holding a flamethrower.
You could think about other context as well, maybe a welder with tool flamethrower + statue gets a metal statue welded to something, a demolition job with flamethrower + statue gets rubble, etc.,
Edit: and it's given up at Darth Maul 1310720000 combining no longer goes higher
Dragon + Black Hole = Dragon Ball
Moonwalk + Truth = Michael Jackson
Then I don't even remember what I did to get super saiyan, but I managed to get to Super Saiyan 8192
Vegeta (I forgot how to get him or Goku) + Time Paradox = Trunks
Steamboat + TV = Steamboat Willie
Also I have Squidward and Patrick too
Currently i have 'Wind farm' and I'd wish i could try going to 'farm' by removing 'wind' from it.
Apocalypse + 2016 = 2017
Apocalypse + 2017 = 2018
Apocalypse + 2018 = 2019
Apocalypse + 2019 = 2020
...
but ... Apocalypse + 2030 = 2030
Uh-oh!Open source LLM's exist at the Family Feud brain stage (instinctive first pass human verbal intuition) so its depth is limited by that.
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.
What model is being used for the backend?
super volcano + man = super human
but then it breaks if you mix further:
super human + giraffe = super giraffe ?
Sailor Moon + Sashimi = Sailor Mercury
I managed to make a "Captain Jack Ahab + Draculawhalezilla" that seems to refuse to combine with anything. Maybe because it has a + in it already?
I 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.
Angel + crocodile = Angelina Jolie
are different apparently, maybe add some logic to merge these
Tutankhamun + Captain Jack Sparrow = Pirate King
Pirate King + Mountain = One Piece
One Piece + Pirate King = Luffy
*perfect
Fun stuff. I wonder what the codebase looks like
For example, a pickaxe is shaped roughly like that (two vertical sticks as a handle, and 3 other materials on the top row as a blade). You can make a better pickaxe by using nicer/rarer materials on the top row.
It isn't really improvisational, there are correct patterns and the UI has a recipe book now so you don't really need to use the grid if you do not want to. Back when the game was in beta these weren't documented and the community would just brute force the discovery.
Not kidding!
This is weird without hard rules.
This is another awesome Neal.fun experience!!!
Tornado + Fish = Sharknado
and Terminator, Dark Fate, Mad Hatter... but I forgot how.
I just got a "first discovery": Garlic + Vampire = Dinner | Darth Vader + Dinner = Dark Dinner (whatever that means)
And I don't know how, but how did I get from fire/earth/water to "racist"? How is that even a thing?
Batman vs. Prince of space sushi vampires
Darth Paper Strikes Back + Vampire
Good luck getting there.
Rainbow + Rainbow doesn't do anything
No double rainbow? Literally unplayable.
Darth Vader+Postman=Darth MailerMy life won't be complete until I can combine big bang and rainbow bridge
Pretty addictive
Lots of other funny combinations: Burger King + Business = McDonalds Disney + Motive = Money Princess + Cleavage = Disney
Plenty of political ones: President + Dictator = Trump White House + Flame = Trump Trump + Bribe = Impeachment Trump + Impeachment = ??? (literally three question marks) Obama + Home = Change
And a few questionable: Slave + Plant = Cannabis Jamaica + Garden = Marijuana
This is actually great fun. I wish I could sort the words alphabetically. I also wish there was a save feature. Oh, and that first discoveries were highlighted in the word list.
“One of the hardest ones to get”
I was able to get some things like "Were-jesus-pope-hamster-crusader", "Trump-jesus-trump", "Pope Impaler", "Trump Impaler", "Vlad the Werehamster", "Richest were-genghis Khan", and also "Were-were-werewolf"!
I think the willingness of the language model to make up character names like this is a bit of a defect in this context, but maybe it's useful for brainstorming movie sequels. :-)
Prithvi/Bhumi, Apas/Varuna/Jala, Agni, Vayu, Akasha/Dyaus
now I can't stop thinking about apple pie with seafood
Poop truck, space poop truck, poop train, poop martini, fartdiana jones, fartman, poopacat
And my favorite:
poopacabra (from chupacabra)
Also got some interesting failure modes:
Got "Fartacus Jones + Fire Poop Train", "" (galaxy emoji) and "???" (galaxy emoji) all of which refuse to combine with anything else.
EDIT: Got chicken titty, nuclear porn, and pooporn
Also:
priest + diarrhea = holy shit
holy shit + diarrhea = holy diarrhea
holy diarrhea + sweet and sour = chinese food
Future + Time = Present (with a gift icon) Present + Present = Gift
(So it's using the words not the concepts)
Paradox + Snowman = Yeti
(Makes sense)
Arnold Schwarzenegger + Narwhal = Shwarzenwhaler
(Shwarzenwhaler has 0 hits on Google, it made it up)
Shwarzenwhaler + Time Machine = Hitler (with a crown icon)
(I kid you not!)
Unicorn + Hitler = Unihitler
(I continue to kid you not!)
Plant + Germany = Beer
Flower + Germany = Hitler
(Harsh!)
plant + air = dandelion
dandelion + plant = weed
wind + fire = smoke
smoke + weed = high
high + president = bush
Gold
Resort + Empire -> Disney
Obesity + Empire -> America
America + China -> War
China + Japan -> War
America + Japan -> Anime
America + Junk -> Trump
Nice!
I'm impressed that it's able to understand figurative combinations like this. On the other hand, some of them are confusing:
>Steampunk Pirate Queen + Romance = Steam And Sorcery
What? Is this a reference?
is my concept of sushi wrong
Edit: Also Trumpocalypse + Freedom = ??? (btw I got both of these in the game, not through the API)
'Jupiter' + 'Muddy Date' = 'Muddy Planet'
'Foghorn' + 'Planet' = 'Jupiter'
'Fog' + 'Ark' = 'Foghorn'
'Smoke' + 'Water' = 'Fog'
'Fire' + 'Wind' = 'Smoke'
'Noah' + 'Dirt' = 'Ark'
'Flood' + 'Fish' = 'Noah'
'Tsunami' + 'Rain' = 'Flood'
'Wave' + 'Water' = 'Tsunami'
'Water' + 'Wind' = 'Wave'
'Water' + 'Storm' = 'Rain'
'Wave' + 'Wind' = 'Storm'
'Explosion' + 'Water' = 'Fish'
'Destruction' + 'Fire' = 'Explosion'
'Tsunami' + 'Tornado' = 'Destruction'
'Wind' + 'Hurricane' = 'Tornado'
'Wind' + 'Tsunami' = 'Hurricane'
'Sweat' + 'Dust' = 'Dirt'
'Sauna' + 'Train' = 'Sweat'
'Palm Tree' + 'Steam' = 'Sauna'
'Plant' + 'Hurricane' = 'Palm Tree'
'Earth' + 'Water' = 'Plant'
'Fire' + 'Water' = 'Steam'
'Steam' + 'Disaster' = 'Train'
'Tsunami' + 'Hurricane' = 'Disaster'
'Earth' + 'Wind' = 'Dust'
'Earth' + 'Dust' = 'Planet'
'Muddy Sushi' + 'Date' = 'Muddy Date'
'Sushi' + 'Mud' = 'Muddy Sushi'
'Eruption' + 'Fish' = 'Sushi'
'Volcano' + 'Tornado' = 'Eruption'
'Smoke' + 'Tornado' = 'Volcano'
'Earth' + 'Steam' = 'Mud'
'Oasis' + 'Coconut Milk' = 'Date'
'Coconut Water' + 'Dune' = 'Oasis'
'Flood' + 'Coconut Milk' = 'Coconut Water'
'Tsunami' + 'Coconut' = 'Coconut Milk'
'Palm Tree' + 'Earth' = 'Coconut'
'Sand' + 'Wind' = 'Dune'
'Earth' + 'Dust Storm' = 'Sand'
'Wind' + 'Mudslide' = 'Dust Storm'
'Hurricane' + 'Mud' = 'Mudslide'So deep.
My favorites so far (unfortunately HN stripped out corresponding emojis):
Trump + Internet = Fake News
Bitcoin + Jesus = Satoshi
Bitcoin + Death = Taxes
Windows + Error = Blue Screen
Flying + Space Cowboy = Han Solo
Captain Picard + Elon Musk = Captain Musk
Borg + Cybersex = Borgasm
James Bond + Tantric Sex = 007 Seconds
As you can imagine it kind of went downhill from there...Monkey > Ape > Gorilla > King Kong > Queen Kong
Yeah, Queen Kong. Queen. Kong.
---
EDIT:
- Gorilla Grodd
- Super Kong
- Tarzan
- Jane
- Jane Kong
- Woman Gorilla
- Super Gorilla
also, I got to "Trumpcare" and the emoji is rather hilarious.
Richest + Prostitute = Bill Gates
Bill Gates + Marriage = Divorce
Queen + Divorce = Behead
Trillionaire + Behead = Decapitalism (lol!)
Narcissist + Money = Politician
Peace + Trump = War
You craft it with handle and iron. I just discovered Super Fire Breathing SuperHero brand new discovery