|
That's pretty neat. You can use them for a roguelike with fill algorithms. Find islands and perform a weighted random walk to connect them and it would work.
|
# ? Mar 17, 2018 07:59 |
|
|
# ? May 10, 2024 07:59 |
|
Metal Geir Skogul posted:That's good but seems generated, not "procedurally" generated. A random algorithm didn't come up with that yeah, that seems a posteriori or whatever its called Besesoth posted:It's much simpler than anything else posted here, but I've been fooling around with procedural generation and one of the first things I did was create a script that generates randomized cave maps, by creating a random grid and iteratively smoothing until it looks nice. I'm not sure they'd work for roguelikes - they're not directed enough - but they feel like they could be fun for an exploration platformer like Metroid. nice! look into Voronoi tessellation and also an Italian(?) whose name I forgot (not Fibonacci)
|
# ? Mar 17, 2018 08:15 |
|
Besesoth posted:It's much simpler than anything else posted here, but I've been fooling around with procedural generation and one of the first things I did was create a script that generates randomized cave maps, by creating a random grid and iteratively smoothing until it looks nice. I'm not sure they'd work for roguelikes - they're not directed enough - but they feel like they could be fun for an exploration platformer like Metroid.
|
# ? Mar 17, 2018 08:54 |
|
Krankenstyle posted:nice! look into Voronoi tessellation and also an Italian(?) whose name I forgot (not Fibonacci)
|
# ? Mar 17, 2018 14:48 |
|
This looks like good quality, random noise with few artifacts from your grid remaining, but just in case you run into any problems make sure you know what https://en.wikipedia.org/wiki/Perlin_noise is if that's not what you already use. Only pointing it out because it's the standard and I didn't see you mention it. The concept of Perlin noise and its improved cousin Simplex noise have actually always bothered me because they're all anyone talks about. It makes it seem like people have run out of ideas when it comes to procedural generation over space. Everyone for every application just does "build a grid of random vectors, smooth it, and do it at various scales layered together to hide the grid." But why is a grid always needed in the first place? Even if you hide its rows and columns, a grid still is bound to one scale, which is why they're forced to combine and layer several of them together at carefully hand picked scales to make up for it. Isn't there some way to generate math functions over space like random polynomials that are continuous and analog and yet still noisy, where the noise in them exists at multiple scales so we're not snapping to literal grid nodes? Minecraft also uses Perlin noise to generate all its landmasses and caverns, and I wanted to make a clone of it that doesn't. For lack of any better random function generator I instead opted for Particle swarm optimization to place the blocks. Particle swarms are a population of simulated creatures, each representing a possible solution to your problem (a block placement) and exploring their local region for better solutions. The individuals benefit from knowing global measurements and discoveries of the whole population. On that Wikipedia article you can watch an animated particle swarm find the maxima over a continuous spatial domain. Particle swarm seemed appropriate to me for even a discrete world made out of blocks because we successfully used it to solve the Nurse scheduling problem before for a class project. That involves shifting and swapping around discrete blocks of time in a work schedule, where some of the workers have hard and soft constraints (like not being available on Tuesday afternoons) with various penalties to the global solution if they're violated. Particle swarm worked marvelously for this. It swapped timeslots around until it eventually settled down and by then it was always a schedule that made everyone happy. When I unsuccessfully tried this to generate Minecraft-like blocks worlds like the above, I had individual blocks of material (air, dirt, leaf, wood, sand, water) be members of the swarm and those had various hard constraints (meaning a big penalty for violating) and soft constraints (smaller penalty). Like-blocks were rewarded for touching each other so that they chunked together. Sometimes in the case of wood this was unidirectional (vertical) to try to encourage a certain structure. Certain neighborhood relations were encouraged (air and leaf, leaf and wood, water and sand) while others were discouraged. This was an attempt to segregate the world into volumes, but that's not enough to actually make the similar materials all converge into one area of the world because the surfaces and interfaces between them could be very irregular while producing a satisfying score. At the local level individual block neighborhoods were happy, but that didn't mean anything for enforcing global behavior such as smooth second order surfaces, or big solid uniform regions. For this I tried breaking down the types of material further. The material "air" became "air1" "air2" "air3" etc. representing different layers of air that were increasingly meant to occupy deeper locations within an air mass. I hoped for something like a layered onion. I expected there to be caves with dirt walls neighboring a bunch of air1 blocks, followed by a layer of air2 blocks deeper inside the cavity, which bind to air1 blocks but not dirt. Followed by a bunch of air3 blocks, which bind to air2 blocks but not air1 or dirt. This worked a little bit but the result never converged to anything that didn't look like a noisy mess of blocks. Smoothness was never achieved. I think I have to measure more global phenomena (like surface curvature, which sucks to measure on a grid) instead of solely relying on local relationships and expecting things like smoothness to come out. I wish I had an example for you all to play online, but this was before I made online demos. It's also not particularly worth seeing because it didn't converge to anything beautiful, and my attempts to get it to converge made it perform slow as hell while it tried to find increasingly optimal swaps to make to perfect its score. I wish it could have been faster and more successful but I had to stop and work on something else. Any advice on this is appreciated; maybe there's just some simple trick similar to the "air1" "air2" layers idea above that would generate emergent beauty and smooth surfaces. Mostly though, this reinforced the idea that I don't like grids. It drew me closer to other grid-free methods like the Deformable Simplicial Complex for tracking boundaries between volumes of material. Videos: 2D: https://www.youtube.com/watch?v=Oe6kKE7cqNg 3D: https://www.youtube.com/watch?v=x9D90MBlTGM&t=10s Here, the 3D armadillo is actually just an interface between two material types, and the outer material (air) isn't drawn so you can see the armadillo. Happy Thread has a new favorite as of 20:20 on Mar 17, 2018 |
# ? Mar 17, 2018 18:21 |
|
Procedural generation of unexpectedly shaped bridge designs for optimal load bearing: https://www.youtube.com/watch?v=R-pVm5ECZn0 This video only had 83 views but it rocks.
|
# ? Mar 17, 2018 18:49 |
Dumb Lowtax posted:Procedural generation of unexpectedly shaped bridge designs for optimal load bearing: I really like how organic-looking these network-generated optimal structures are; seen some others for smaller things like connector pieces or such. It'd be really odd to live in a world where all structures were designed with optimal stress-bearing in mind, disregarding human aesthetics or how much easier it is to just make straight angles etc. I read an airline catalogue and those always have a really odd feel to them; it's like there's a whole separate grammar for overhyping products. Entered some stuff from there to a markov chain generator: https://twitter.com/ESAdevlog/status/978422473799733248
|
|
# ? Mar 27, 2018 05:48 |
|
Hempuli posted:it's like there's a whole separate grammar for overhyping products. Try buying a house sometime. "This bright, airy space in desirable [shithole neighborhood] is only steps away from [thing that takes a solid hour's walk to get to]"
|
# ? Mar 27, 2018 17:57 |
|
These are fantastically horrifying. https://twitter.com/DrBeef_/status/978732422085988352/ https://twitter.com/DrBeef_/status/978733665889865728
|
# ? Mar 28, 2018 17:52 |
|
https://twitter.com/JanelleCShane/status/979017101150072832
|
# ? Mar 28, 2018 18:05 |
|
https://worldmodels.github.io/ A robot that dreams about doom, then plays in the dream levels, then uses what it learns from its dreams to inform real doom playing
|
# ? Mar 28, 2018 19:38 |
|
Tunicate posted:https://worldmodels.github.io/ Increasing the uncertainty of the simulated scenarios is like turning the dream into a nightmare. That is insanely cool, as is this: quote:For instance, in our initial experiments, we noticed that our agent discovered an adversarial policy to move around in such a way so that the monsters in this virtual environment governed by the M model never shoots a single fireball in some rollouts. Even when there are signs of a fireball forming, the agent will move in a way to extinguish the fireballs magically as if it has superpowers in the environment.
|
# ? Mar 28, 2018 19:54 |
|
https://twitter.com/ptychomancer/status/980968298002006016 A great thread if you like map generation.
|
# ? Apr 3, 2018 13:49 |
|
Some of these are hilarious
|
# ? Apr 3, 2018 13:54 |
|
|
# ? Apr 5, 2018 02:41 |
|
Trig Discipline posted:These are fantastically horrifying. It's no Francis Bacon but it's a start.
|
# ? Apr 5, 2018 02:58 |
|
ugh goons and their obsession with bacon
|
# ? Apr 5, 2018 07:31 |
|
Trig Discipline posted:ugh goons and their obsession with bacon If you have a better example of flesh coloured amorphous blobs meant to represent human figures then I'd like to see it!
|
# ? Apr 6, 2018 00:53 |
|
Cacator posted:If you have a better example of flesh coloured amorphous blobs meant to represent human figures then I'd like to see it! That's so mean to goons
|
# ? Apr 6, 2018 05:07 |
|
Tag yourself, I'm Smol Pineapple: http://aiweirdness.com/post/172622965862/tomatonames
|
# ? Apr 6, 2018 06:04 |
|
Bananana
|
# ? Apr 6, 2018 19:58 |
|
Green Zebra Pleaser could be so many things
|
# ? Apr 6, 2018 20:54 |
|
Market Death
|
# ? Apr 6, 2018 22:25 |
|
Shart Delight
|
# ? Apr 7, 2018 04:55 |
|
I’m San Blue Tard
|
# ? Apr 7, 2018 05:07 |
|
Old German Baby
|
# ? Apr 7, 2018 05:14 |
Was just recently reminded of this cool tool called Imagegram that takes pictures formatted in a certain way and uses them as a 'grammar' for procedural generation by Zaratustra (@zarawesome): https://zaratustra.itch.io/imagegram?url=dungeon2.png Example made by Kevan Davis: I super recommend checking out the other examples, this kind of stuff is wonderfully intriguing (to me, at least)!
|
|
# ? Apr 10, 2018 19:51 |
|
I love how the rules keep evolving the rooms smoother after they've seemingly already finished.
|
# ? Apr 10, 2018 20:13 |
|
A bit dated, but Goon Hal was based on e/n posts from ten years ago. https://goonhal.livejournal.com/ Also, saved from a long-gone random joke generator well over ten years ago. This lawyer walks into a bar. A monkey cozies up to the lawyer and takes a deep breath and yells "For a twenty I'll gently caress you and anyone else you'd like to invite along." The lawyer shouts "I'm not a lawyer, I'm a midget!" The monkey says "I'd pull down your pants to get a drink." So the lawyer says "Just put it on my bill." RECEDING QUEEN DISCIPLE: KNOCK, KNOCK! REFORM PARTY'S SCHNATZ: WHO'S THERE? RECEDING QUEEN DISCIPLE: SCHOOL! REFORM PARTY'S SCHNATZ: SCHOOL WHO? RECEDING QUEEN DISCIPLE: SCHOOL SCRAPPLEASS! CUSTERS LAST STAND WALKS INTO A BAR. THE BARTENDER SAYS "DO YOU KNOW YOU HAVE YOUR EXPONENTIAL DEVILS IN YOUR RECTAL EXAM?" "YEAH," CUSTERS LAST STAND SAYS, "IT GESTICULATES MY STINKWEASEL! "
|
# ? May 2, 2018 10:09 |
|
Phyzzle posted:CUSTERS LAST STAND WALKS INTO A BAR. THE BARTENDER SAYS "DO YOU KNOW YOU HAVE YOUR EXPONENTIAL DEVILS IN YOUR RECTAL EXAM?" "YEAH," CUSTERS LAST STAND SAYS, "IT GESTICULATES MY STINKWEASEL! " Are you sure these aren't Zappa lyrics?
|
# ? May 2, 2018 14:15 |
|
Phyzzle posted:A bit dated, but Goon Hal was based on e/n posts from ten years ago. Funny. I wonder how they made these, they flow quite a bit differently than autocorrect suggestions run wild
|
# ? May 4, 2018 02:31 |
|
Reads like a markov chain or similar method.
|
# ? May 4, 2018 04:59 |
https://twitter.com/quasimondo/status/992338009604395008
|
|
# ? May 4, 2018 11:15 |
|
I feel like technology just made people from that era alive and moving again for the first time in a while
|
# ? May 4, 2018 18:33 |
|
A neural network trained on Behelits and the ending of 2001 A Space Odyssey.
|
# ? May 4, 2018 20:53 |
|
|
# ? May 4, 2018 21:40 |
|
Make sure to watch the last 30 seconds.
|
# ? May 4, 2018 21:59 |
|
Liberate tuteme ex inferis
|
# ? May 5, 2018 03:19 |
|
http://aiweirdness.com/post/163491778652/darth-net-star-wars-characters-invented-by-neuralquote:Darth Teen
|
# ? May 5, 2018 03:27 |
|
|
# ? May 10, 2024 07:59 |
|
Every now and again I go to the reddit subredditsimulator for Floridaman. The deal is: the person who runs /r/subredditsimulator takes an entire subreddit's titles and comments, and trains a Markov Chain on it, and makes that chain a user, with the username <subreddit name>_ss. That trained robot then makes posts with titles and comments based on that entire subreddit's "personality." So, /u/sex_ss is always talking about sex tips, /u/worldnews_ss is always talking about headlines and Trump and North Korea, etc. Because "Florida Man" headlines always follow the same format, the user /u/floridaman_ss' posts are actually pretty coherent, and sometimes border on reality (or make more sense than reality). Give it a read: https://www.reddit.com/user/floridaman_ss?sort=top Examples: These are all fake. But a lot of them seem pretty damned real.
|
# ? May 6, 2018 23:26 |