procedural generation
129 subscribers
5.33K photos
1.78K videos
7 files
11.3K links
Created by @r_channels
Download Telegram
Building Procedural Dungeons with GPT-4 AI Descriptions...

I'm using basic BSP then A* to go door to door (stoner walk, friend of drunken walk), with some variations for hallways. (I asked ChatGPT to crap out some hallway generation code, and I got some looking like colons? lol...)

I've got three room types currently, and each can be further modified by cellular automata on the inside a certain percentage of the time.

I'm feeding that information (and what's in the room) to ChatGPT-turbo API and getting back descriptions for rooms with a bit of coherency.

My latest dev log...

​

https://reddit.com/link/134zlkj/video/g4r28ewyy9xa1/player

Possible level 1 generation...

https://preview.redd.it/lipthk61z9xa1.png?width=1621&format=png&auto=webp&v=enabled&s=5c575cfa7117fa60011aed49df19ff7acaf8ff29

Mid-level...

https://preview.redd.it/87r81203z9xa1.png?width=1621&format=png&auto=webp&v=enabled&s=070872320d52eb675315a6c65032fbf86d96db16

Oh, man, you've gone too deep!

​

https://preview.redd.it/mqp2j955z9xa1.png?width=1621&format=png&auto=webp&v=enabled&s=b3b905569ac27f818b1038702a956c7b07137fb7

Finally have line of sight and field of view working together...

​

https://reddit.com/link/134zlkj/video/scron6t7z9xa1/player

I'm not a full-time coder, and I'm definitely standing on the shoulders of giants who came before me, but I'm scratching the code together to build a truly endless dungeon.

​

I've got a unique game mechanic to hide my lack of artistic skills by using letter monsters haha... Seriously, though, the mobs will be AI generated too, I think. Not the stats part, but the names and descriptions likely...

https://preview.redd.it/tusmmxqgz9xa1.png?width=973&format=png&auto=webp&v=enabled&s=340e35267e68a1a6cd7658099e8cb65004d6aadc

Still a lot of work to do, but I'm porting over a lot of my work on a D&D tabletop dungeon generator, so it's going smoothy.

​

Feedback appreciated.

https://redd.it/134zlkj
@proceduralgeneration
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