Re: Friday Facts #392 - Parametrised blueprints
Posted: Thu Jan 11, 2024 1:36 pm
Super cool idea tbh, can't wait to see what people do with it!
www.factorio.com
https://forums.factorio.com/
This is really cool! I tried to do a similar experiment myself to get Bing chat to play Bitburner (not minecraft) a while back, but I didn't have the sort of organized prompts or iterative prompting that they set up in that paper, and with the response limit per conversation for the Bing chat, it did not go well.Blitz4 wrote: Sat Jan 06, 2024 8:20 am ...
Allow me to show you one extreme example to that theory. Could be the future, who knows. So nVidia, they wrote a paper for an AI that would beat Minecraft, but more than that. It wrote instructions to perform the tasks in the game that are required to beat Minecraft as fast a possible. It improved those instructions through a variety of ways, primarily by learning & testing over many iterations. Cool right. It gets better. This was crated using ChatGPT4. Doing so allows the AI to receive instructions from the player. The AI can be playing as if they were the player at every moment to decide what's the most efficient path to the end goal (beating the game), but not share what they're thinking to the player. (I just said AI is thinking, oh boy). What's cool is if the player needs help at any time, they can say, "What's the best thing for me todo right now?" Or "What's the fastest way to build a boat from where I'm at?"
Video covering it in good detail "Minecraft AI - NVIDIA uses GPT-4 to create a SELF-IMPROVING autonomous agent.":
https://www.youtube.com/watch?v=7yI4yfYftfM
...
Very cool. For a few type of games, I believe the paper is more useful than most perceive at first glance. Automated & interactive tutorials are one benefit. Also higher game completion rate would be another benefit. But the big one to me that'd noticeably change games forever would be: dynamic difficulty.Zanthra wrote: Sun Jan 14, 2024 8:25 pmThis is really cool! I tried to do a similar experiment myself to get Bing chat to play Bitburner (not minecraft) a while back, but I didn't have the sort of organized prompts or iterative prompting that they set up in that paper, and with the response limit per conversation for the Bing chat, it did not go well.Blitz4 wrote: Sat Jan 06, 2024 8:20 am ...
Allow me to show you one extreme example to that theory. Could be the future, who knows. So nVidia, they wrote a paper for an AI that would beat Minecraft, but more than that. It wrote instructions to perform the tasks in the game that are required to beat Minecraft as fast a possible. It improved those instructions through a variety of ways, primarily by learning & testing over many iterations. Cool right. It gets better. This was crated using ChatGPT4. Doing so allows the AI to receive instructions from the player. The AI can be playing as if they were the player at every moment to decide what's the most efficient path to the end goal (beating the game), but not share what they're thinking to the player. (I just said AI is thinking, oh boy). What's cool is if the player needs help at any time, they can say, "What's the best thing for me todo right now?" Or "What's the fastest way to build a boat from where I'm at?"
Video covering it in good detail "Minecraft AI - NVIDIA uses GPT-4 to create a SELF-IMPROVING autonomous agent.":
https://www.youtube.com/watch?v=7yI4yfYftfM
...
What's really interesting to me is how the skill library in their agent is so similar to blueprints in Factorio. Instead of prompting it for every action, they prompt it to create skills, iterate on them until they work properly, then store them to be used at later times. As it progresses, it abstracts groups of smaller tasks into one task, allowing it to manage larger tasks without getting bogged down with those smaller tasks.
Had that on my whiteboard for a while. Yes it is about game design and yes stating something like 1 & 2 does mean the game is being designed to be a "fun experience" instead of the best game it can be. Meaning focusing on how others will perceive your work, instead of your vision and what you find fun, adds a constraint to the design. So I put it in the context of only being used when "AI creates challenges for the players." It's a big conversation and a waste of time when you attempt to define player challenges, as solving challenges is a part of every game. The idea is to find ways to use that paper to create dynamic difficulty for the player. How players perceive and go about solving challenges vary from player to player, so having an AI able to create the correct challenge at the right time. Yet for PC games, that is hard. Most all PC games today have some form of sandbox element to them. How could it be used right now to create dynamic difficulty?AI creates challenges for the players:
1. Challenging for the pro's
2. Fun for the casual's
No , the AI didn't tried to beat the game as fast as possible this is the alpha-go or stockfish AI in chess, this is not chatGPT. What the AI presented in the video does is repeat what it thinks human would do based on what it gathered from the internet. It would the same way tell you how to play soccer, without having any actual clue from its own , only repeating things considered "trusted".Blitz4 wrote: Thu Jan 18, 2024 1:37 pm Since the AI was tasked to solve a linear problem (beat the game as fast as possible) and studied patterns from a variety of players. It'd have to know how to beat the game as fast as possible at any stage in the game.
Shingen wrote: Fri Jan 05, 2024 12:25 pm for some usecases it's really cool, but i do have my doubts about some parts of it.
1. what would happen if you selected a recipe with 2 ingredients? what about 4?
2. the formulas allowing for certain ratios of ingredients make the blueprints 'generalized'... but only for recipes with the exact same ratios of ingredients (and posiibly also the count of ingredients [1]), which is only 1 step away from just having a blueprint for a specific recipe. doesn't seem that hugely useful.
3. while parameters 1-3 may easily exist as filters in blueprinted train stop inserters, in what manner does the parameter 0 exist in the blueprinted factory? will i need, for example, a constant combinator with that signal placed somewhere while blueprinting?
I have to agree. The way the new menus are presented, at least at the moment, there are a features that are only useful for specific playstyles, and the effect of each control is non-obvious if you aren't using that exact playstyle. We're going to see a whole new set of mods and workarounds to make them work for other users. Much simpler to let the user change, copy and paste settings the same way they do everywhere else.Dune wrote: Thu Feb 22, 2024 4:26 am
We've always wanted a blueprint editor, why not make one instead? If you want to quickly replace filters, IE replace a filter of a green circuit for a red, click a filter in the blueprint, it should pop up as always. Change it, and it should say do you want to replace all filters with the same recipe? IE green and change to red. Yes - boom, done. Or use the tried & true, copy & paste, with an option to paste-all of same type.
Why make something completely new that obfuscates the issue?
That is a completely separate word. One is para-meter-isation, and the other is para-metric-isation (the c is left off and the <i>s merge.)mmmPI wrote: Sat Jan 06, 2024 11:34 pmThat's how it's spelled in french, but apparently it's also a valid spelling in english , or at least in mathematics.Annihilannic wrote: Sat Jan 06, 2024 10:54 pm It's "parameterisation" (UK) or "parameterization" (US)... pretty sure it is "parametrisation" nowhere?
https://en.wikipedia.org/wiki/Parametri ... (geometry)In mathematics, and more specifically in geometry, parametrization (or parameterization; also parameterisation, parametrisation) is the process of finding parametric equations of a curve, a surface, or, more generally, a manifold or a variety, defined by an implicit equation
uh ? In the wikipage they say " "To parameterize" by itself means "to express in terms of parameters".NotRexButCaesar wrote: Wed Apr 24, 2024 4:31 amThat is a completely separate word. One is para-meter-isation, and the other is para-metric-isation (the c is left off and the <i>s merge.)mmmPI wrote: Sat Jan 06, 2024 11:34 pm That's how it's spelled in french, but apparently it's also a valid spelling in english , or at least in mathematics.
https://en.wikipedia.org/wiki/Parametri ... (geometry)In mathematics, and more specifically in geometry, parametrization (or parameterization; also parameterisation, parametrisation) is the process of finding parametric equations of a curve, a surface, or, more generally, a manifold or a variety, defined by an implicit equation
To me that seem fitting to use the math word/spelling. Even if there are several regional variations for it.In the above equations, the angle t (theta) is called a 'parameter'. This is a variable that appears in a system of equations that can take on any value (unless limited explicitly) but has the same value everywhere it appears. A parameter values are not plotted on an axis.
Maybe I’m misunderstanding what you’re referring to, but… The fff is announcing that parametrized blueprints are coming to 2.0jamiechi1 wrote: Wed Oct 09, 2024 3:55 pm Any plans to add this to 2.0? Can this be done with a mod?
Now that I played with this parametrization a bit, I'd really like this feature request to be implemented. Having formulas that can depend not only on other variables but also on some object properties (like stack size of an item selected in another parameter) would be really cool! For now I need extra constant and selector combinators for this.MatHack wrote: Fri Jan 05, 2024 12:25 pm Lovely feature, great, I would like to request the possibility to set value to a (formula based on) stack size of the selected item.
You can already do that. Lets say your item is P0, p0_s will give you stack size of that item and you can use that in formulas for other values.fly wrote: Fri Nov 01, 2024 6:52 pmNow that I played with this parametrization a bit, I'd really like this feature request to be implemented. Having formulas that can depend not only on other variables but also on some object properties (like stack size of an item selected in another parameter) would be really cool! For now I need extra constant and selector combinators for this.MatHack wrote: Fri Jan 05, 2024 12:25 pm Lovely feature, great, I would like to request the possibility to set value to a (formula based on) stack size of the selected item.
Oh, awesome, thanks! I didn't see this in the FFF.ElderAxe wrote: Fri Nov 01, 2024 7:05 pmYou can already do that. Lets say your item is P0, p0_s will give you stack size of that item and you can use that in formulas for other values.fly wrote: Fri Nov 01, 2024 6:52 pmNow that I played with this parametrization a bit, I'd really like this feature request to be implemented. Having formulas that can depend not only on other variables but also on some object properties (like stack size of an item selected in another parameter) would be really cool! For now I need extra constant and selector combinators for this.MatHack wrote: Fri Jan 05, 2024 12:25 pm Lovely feature, great, I would like to request the possibility to set value to a (formula based on) stack size of the selected item.