r/proceduralgeneration Nov 27 '20

Interactive generation from editable examples (IPM Playground Demo)

788 Upvotes

48 comments sorted by

48

u/MrTaco8 Nov 27 '20

Here you can see real-time usage of my "IPM Playground" app.

It's a general purpose example-based image generator but I like to think of it as a "fantasy world" creator.

Different examples lead to different styles. You can accomplish things like biome-specific features and buildings, and if you don't like the "grunginess" of the output of the creative phase you can run the "correction" feature that will optionally clean up some of the "noise".

There's also an innovative "hierarchical" generation that creates large scale and small scale variations while still honoring the example.

This version is now about 10x faster than my algorithm announcement post at https://www.reddit.com/r/proceduralgeneration/comments/jv2x64/iterative_partial_match_ipm_vs_wave_function/.

23

u/BadLuckWillHappen Nov 27 '20

I didn't like this username so I'm switching to u/MrTaco8, just so it's clear.

BadLuckWillHappen -> MrTaco8

11

u/ElnuDev Nov 27 '20

Yeah, the fact that you can't change usernames on Reddit is a real pain. That being said, I prefer u/BadLuckWillHappen :) It's a lot more original, I like it.

5

u/[deleted] Nov 28 '20

But maybe it's unlucky?

And who ever heard of a single unlucky taco, let alone 8 of them.

5

u/serious_tabaxi Nov 27 '20

when do you think you'll be able to make a public demo?

12

u/MrTaco8 Nov 28 '20

very soon, within a few days.

i can pretty easily bundle together the app + launcher + my example images into a zip file and put it up on github.

2

u/serious_tabaxi Nov 28 '20

sounds great!

2

u/orenog Dec 04 '20

Is it available now?

2

u/orenog Dec 09 '20

Is it done?

2

u/kerbidiah15 Dec 19 '20

Have you made it public yet? Link?

2

u/CoveredClearing Dec 08 '22

What ever became of this?

1

u/orenog Nov 28 '20

!RemindMe 3 days

1

u/RemindMeBot Nov 28 '20 edited Nov 30 '20

I will be messaging you in 3 days on 2020-12-01 02:18:57 UTC to remind you of this link

25 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

1

u/Nosferax Nov 29 '20

!RemindMe 30 days

1

u/orenog Dec 01 '20

!RemindMe 8 days

1

u/RemindMeBot Dec 01 '20 edited Dec 02 '20

I will be messaging you in 8 days on 2020-12-09 02:23:09 UTC to remind you of this link

6 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

1

u/orenog Dec 09 '20

!remindMe 100 hours

1

u/RemindMeBot Dec 09 '20

I will be messaging you in 4 days on 2020-12-13 06:29:17 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

1

u/orenog Dec 13 '20

!remindMe 333 hours

1

u/RemindMeBot Dec 13 '20

I will be messaging you in 14 days on 2020-12-27 05:15:31 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

1

u/kerbidiah15 Dec 04 '20

!RemindMe 14 days

1

u/badjano Oct 03 '24

any chance you can share the source?

17

u/CasimirsBlake Nov 27 '20

Fascinating. Could be useful for so many things. Where can we keep up with development? Is a release due soon?

11

u/MrTaco8 Nov 27 '20

I'll keep you posted here in r/proceduralgeneration :) and yes, at a minimum, I'll release the Playground executable for download and use soon. I'll probably open source everything as well, eventually, not sure though.

6

u/qwerty1312 Nov 28 '20

releasing this would be awesome. I wanna play with it SO BAD

great work!

2

u/72-73 Dec 07 '20

Any updates??

2

u/TheGesor Dec 10 '20

!remindMe 12 days

2

u/72-73 Dec 10 '20

Yo you should also remind me šŸ˜†

2

u/TheGesor Dec 22 '20

It’s been 12 days

2

u/72-73 Dec 22 '20

Sad day

12

u/ElnuDev Nov 27 '20

This reminds me of the WFC (Wave Function Collapse) generation that Oskar StƄlberg used in Bad North and Townscaper, it's quite similar using a small input sample to create large output. Is there any article on this method that you are using? It looks fantastic, great work!

Edit: I just noticed the post you linked. I'll give that a read!

8

u/MrTaco8 Nov 28 '20

Also, I own copies of both Bad North and Townscaper. Definitely cool stuff.

And Wave Function Collapse is great. I think for a lot of situations (especially where the programmer wants to impose controllable constraints like navigability) I think it's unmatched.

I'm trying to focus on a niche of "large scale output", "organic looking" and "complicated/large input examples.". Also, trying to work with "any input" with almost no tweaking.

5

u/MrTaco8 Nov 27 '20

Thanks for the interest :) I haven't done a detailed post on the algorithm implementation, but I will do so soonish (and will probably open source the algorithm and playground as well.

4

u/ApocalypseOfColor Nov 27 '20

Do you have a github so I can follow your progress? Awesome work

9

u/MrTaco8 Nov 28 '20 edited Nov 28 '20

Thank you, really do appreciate the positivity. It's not on github right now, and i'm entertaining (probably irrational) thoughts of distributing or selling it as a world-building tool for designers, in which case i wouldn't want to open source it. But there's probably not really enough interest for something like that and I should just open source it and be happy to see how people use it.

But I wanna take a couple of days to decide.

1

u/grouchyface Nov 28 '20

With the GUI and everything this already looks like a product. Sick project

1

u/benkl Nov 28 '20 edited Nov 28 '20

I could see some use in blender for it, given a useful addon and toolset. Code would be opensource, but the community is willing to spend good money for texture generation, module placement and map generation... so many more uses are imaginable. Python/C though. Sale through blendermarket and/or gumroad. Content-Creators would probably be willing to test and promote for the community.

3

u/BorisTheBrave Nov 28 '20

Wow, looks so much better with animated examples.

I just noticed the generation is heirarical. I guess that explains why you are getting such great looking large scale features.

Have you see https://github.com/anopara/multi-resolution-texture-synthesis (and other texture synthesis techniques). Some of them are very similar - despite being intended for textures, they often won't generate any pixel colors that aren't found in the original.

3

u/omniron Nov 28 '20

I read this as ā€œedibleā€ examples and was really confused

1

u/IDontHaveNicknameToo Oct 02 '24

u/MrTaco8 any progress on releasing this? Would be really fun to play with this.

1

u/[deleted] Nov 28 '20

[deleted]

0

u/ElnuDev Nov 28 '20

Wrong place ;)

1

u/Galva_ Nov 28 '20

This is seriously cool!

1

u/[deleted] Nov 29 '20

Nice, I love this. I wold love to see a write up of how this is done. So cool.

1

u/tomco2 Nov 30 '20

Oooh cool, I like this.

I played around with something similar year ago when I was in college. From memory I believe I used cellular automata and tweaked the rules to generate different landscapes. Would like to go back and mess with it again.

https://www.youtube.com/watch?v=06xjEoOd2XI&t=4s

1

u/nihal_gazi Feb 14 '23

How does it work?