- #1

- 143

- 36

As a undergrad future scientist, in my free time I like to do some programming to get some practice as my education programme doesn't include it, but it is a useful skill to have.

I am programming some type of roguelike game, so I can get away from graphics and focus on procedural generation, math systems, AI and stuff like that. It is never going to amount to anything but be entertainment and practice for myself.

So I am thinking about having the ability to design or evolve creatures or weapons. Some parts are going to be added together and the game is going to calculate the effectiveness.

So there are going to be some parameters. They can be the degrees of freedom. And a function is going to give the effectiveness given these parameters.

Now, the function can be to add or multiply the numbers and the higher the result, the better. But this is boring and one-dimensional. If traits or emergent properties are going to be combined, some should have synergy while others should be bad together.

When I imagine this as a 3d function with 2 independent variables, I can see a flat landscape with a number of round symmetrical hills. Ideally, all will be of slightly different sizes and heights. Every maxima of this hill is where the behavior the function describes is very efficient. Say, these represent two parts of say a weapon or a creature that are combined to give the final properties of the weapon/creature. The high values are going to be special rare solutions. Every part has one inherent value that is going to be one of the independent variables. All these maxima are going to be solutions the player would try to converge towards.

I have no idea how this function would look like algebraically. Maybe some silly combination of sinusoid functions. There must be some Fourier transform type of thing that can give a number of maxima in a certain domain.

Another thing I was thinking about is the Fibonacci sequence. If I take two random numbers and add them, the better these two numbers match a Fibonacci number, the higher the y value is. I can see how this can create a landscape like the one I described.

Am I on the right track? What would be the correct way to find a solution to a problem like this?

I guess a problem like this falls within the branch of analysis? Not sure so I posted this in general math. Feel free to move.

I am programming some type of roguelike game, so I can get away from graphics and focus on procedural generation, math systems, AI and stuff like that. It is never going to amount to anything but be entertainment and practice for myself.

So I am thinking about having the ability to design or evolve creatures or weapons. Some parts are going to be added together and the game is going to calculate the effectiveness.

So there are going to be some parameters. They can be the degrees of freedom. And a function is going to give the effectiveness given these parameters.

Now, the function can be to add or multiply the numbers and the higher the result, the better. But this is boring and one-dimensional. If traits or emergent properties are going to be combined, some should have synergy while others should be bad together.

When I imagine this as a 3d function with 2 independent variables, I can see a flat landscape with a number of round symmetrical hills. Ideally, all will be of slightly different sizes and heights. Every maxima of this hill is where the behavior the function describes is very efficient. Say, these represent two parts of say a weapon or a creature that are combined to give the final properties of the weapon/creature. The high values are going to be special rare solutions. Every part has one inherent value that is going to be one of the independent variables. All these maxima are going to be solutions the player would try to converge towards.

I have no idea how this function would look like algebraically. Maybe some silly combination of sinusoid functions. There must be some Fourier transform type of thing that can give a number of maxima in a certain domain.

Another thing I was thinking about is the Fibonacci sequence. If I take two random numbers and add them, the better these two numbers match a Fibonacci number, the higher the y value is. I can see how this can create a landscape like the one I described.

Am I on the right track? What would be the correct way to find a solution to a problem like this?

I guess a problem like this falls within the branch of analysis? Not sure so I posted this in general math. Feel free to move.

Last edited: