procedural generation
129 subscribers
5.33K photos
1.78K videos
7 files
11.3K links
Created by @r_channels
Download Telegram
Procedural generation without repetitions

Hi there!

I'm refining some old projects, and there is a few ehnancements I would like to do.

Lets say I have a random generator that generates random runes (Like https://fontmeme.com/fuentes/fuente-angerthas-moria/) from a given seed:

> int a = randForSeed.nextInt(1-3);

> if (a == 1) {

> start drawing from the top left corner

> } else if (a == 2)

> start drawing from the top center

> } else if (a == 3)

> start drawing from the top right-corner

> }

> then draw a diagonal, or straight down, using another randForSeed.nextInt(1-x)

Other example: generate random books: I have a list of titles

>The $color $type of...

>The $color $type with...

then a list of colors, and a list of types. Selecting a random one from each, would result in

> The black tome of...

> The red manual of...

> The red guide of...

> etc.

Question is... how can I be sure no repetitions are produced? No same runes are generated, and I have no duplicate book tittles?

I could brute force it: check if the generated element is already generated, and reroll the randoms, generating another. There should be not much collisions, but looks like the dirty way.

In another generator I used a list of consecutive values, and then shuffled it to get a random (non repeating sequence). But I dont really know how to integrate this in a more complex algorithm. For example in the books example, I could generate a list of 0 to n-1 colors (0..10) shufle it, and then pick the color for the next book from this list, using the next value in the shuffled list. But somehow looks like a cheap solution.

Hope my english is clear enough... Any ideas?

https://redd.it/1360jb6
@proceduralgeneration
Procedural Content Generation via Knowledge Transformation (PCG-KT)

I did a writeup on a new paper just published on PCG-KT that shows a lot of potential because can use AI to transfer knowledge from different domains for a new way to do PCG.

You can find the original research paper here: https://arxiv.org/pdf/2305.00644.pdf

And my humble writeup here:
https://airesearchnews.com/unleashing-game-worlds-with-knowledge-transformation-a-new-era-for-procedural-content-generation/

I hope you find it as interesting as I did.

https://redd.it/136tac9
@proceduralgeneration
This media is not supported in your browser
VIEW IN TELEGRAM
Ever wonder what happens when you combine worley (or voronoi) noise + fractional brownian motion + domain warping?

https://redd.it/137382y
@proceduralgeneration
Made a game with generative puzzle pieces
https://redd.it/137tqgp
@proceduralgeneration
Procedural generation thesis topics

Hi, I'm looking for my honor's thesis (tfg) research topics about procedural generation in videogames for things like levels, assets,... (whatever really). I would like to innovate in some capacity in this field of study but I do not know what are the current problems or limits as of late. If anyone knows about it or has any mediums of searching for this information please DM me or ping me.

Thank you beforehand!

https://redd.it/137watu
@proceduralgeneration
Is there an Infinitely Reproducible Technique for the Wave Function Collapse?

I know there are videos of infinite wave function collapse worlds on Youtube, but they all seem to use some re-creating technique such as back-propagation to "fix" issues that come up that are caused by lack of information / conflicting states in surrounding tiles. On top of that generation seems to depends on what order of chunks you generate, since there is more than one solution to the combination of tile states, and this doesn't seem to be possible to lock down to "reproducibility" with hash functions or anything.

The only way I can think of doing this is to ensure that what is generated is being generated in chunks, and the tiles on the edges of the chunk are essentially blank-canvas tiles that accept any tiles adjacent to it. That way in a finite space you can run a reproducible chunk, and can guarantee the states of other chunks don't invalidate the current chunk's state.

​

Is there any other way of doing this? For instance, is there a mathematically proven formula for determining how "far away" you need to generate from the current tile to ensure there can no longer be any backpropagation issues? Or is there another algorithm similar to the wave function collapse that actually is able to be reproducible infinitely?

https://redd.it/1384ts3
@proceduralgeneration