Hacker News new | past | comments | ask | show | jobs | submit login
Procedural content generation: creating a universe (2015) (rabidgremlin.com)
140 points by zeveb on June 10, 2019 | hide | past | favorite | 22 comments



Somewhat related(okay, not really, but still fun) - awesome talks about modern procedural generation techniques(with AI, Houdini, etc):

How AI will change 3D industry

https://youtube.com/watch?v=FlgLxSLsYWQ

Procedural world generation for Far Cry

https://youtube.com/watch?v=NfizT369g60

Procedurally generating Manhattan for Spider Man

https://youtube.com/watch?v=4aw9uyj9MAE

Mindblowing talks by Anastasia Opara (using cool math, deep learning, and a lot of creativity to create crazy cool stuff)

https://www.anastasiaopara.com/talks

Procedurally generating 3D landscape in Houdini (a little tutorial I have made, can't resist sharing)

https://youtube.com/watch?v=o3mbIRZhv20


To add to your list here are some more talks!

Machine Learning and Level Generation

https://www.youtube.com/watch?v=Z6lHExfem6U

Roguelike celebration has a ton of content on procedural generation techniques and its worth watching all of them, but this one was one of my favorites.

https://www.youtube.com/channel/UCsCqXksJuAkfZRtnW5Pq1mw

GPU-Based Procedural Placement in Horizon Zero Dawn

https://www.guerrilla-games.com/read/gpu-based-procedural-pl...

https://www.youtube.com/watch?v=_ooDLiU-o6c

Procedurally Generating History in 'Caves of Qud'

https://www.youtube.com/watch?v=H0sLa1y3BW4

ProcJam has a lot of good talks as well

https://www.youtube.com/channel/UCgFSPzCM9rx_Hxl-g13KcYw


The Far Cry world generation talk was incredible - thanks for the link!


I am toying with the idea of constructing a virtual social network of artificial persons. It should have a population of artificial people each having a believable friends and family.

How do I go about making a believable social graph?


Erdos Renyi random graphs might be a good place to start.

https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_...

If you want to start from a real-world dataset, take a look at Stanford's SNAP large network dataset collection.

https://snap.stanford.edu/data/


Watts-Strogatz[0] has some characteristics that improve on pure ER.

GP: Sounds like a great project. What's the application?

[0] https://en.wikipedia.org/wiki/Watts%E2%80%93Strogatz_model


Start from a random graph, then simulate relationship dynamics. People who know each other are more likely to be at the same location, and people who are at the same location have some likelihood of getting to know each other, creating circles of friends. Some people eventually have children together and if they have more, it's likely to be with the same person. Iterate for a few generations and you should get a reasonable graph of friends and family.

The harder part is probably procedurally generating believable social activity to communicate those relationships to an observer with enough variety to be interesting.


James Ryan's Talk of the Town does this https://www.jamesryan.world/projects#/talktown/ https://github.com/james-owen-ryan/talktown. His PHD thesis on curated story worlds is here (https://www.researchgate.net/publication/330855103_Curating_...) with a good write up by Emily Short here (https://emshort.blog/2019/05/21/curating-simulated-storyworl...). The focus is on generating interesting narratives for games and stories, rather than social network simulation or research, but many of the techniques probably apply.


Sign up for an instagram account?


Not funny.

I'm rather thinking about how one would go about making a procedurally generated Twitter.


No Man's Sky is the most impressive implementation of this in a game that I've ever seen. Not just basic data defining the systems and the planets and stars within them, but the fractal detail that is each world full of flora, fauna, etc.

A big jump over Fractalus, on that. :-) ( https://bytecellar.com/2016/11/14/procedural-planetary-explo... )


Between the two games he talks about we had Starflight:

https://en.wikipedia.org/wiki/Starflight


I can't help but to do a shameless plug: the author also have an article about L-Systems [0] which inspired me to create my own interactive generator [1]. There isn't a release yet, but it is mainly functional and I already have some awesome results! Here is a video demo [2] and some produced L-Systems [3].

[0] http://blog.rabidgremlin.com/2014/12/09/procedural-content-g... [1] https://github.com/epholys/procgen [2] https://www.reddit.com/r/proceduralgeneration/comments/b4kpa... [3] https://imgur.com/a/0Rx7uln


Also check out Space Engine which uses procedural content generation along with real astronomical data.


This reminded me of the cosmological fine-tuning argument : that there are few precisely fine-tuned constants which seeded the universe in it's inception, which lead to complexity (life, planets, galaxies) emerging in the universe.


Can anyone recommend any books or resources to get started with pcg??


Procedural Generation in Game Design - provides a good overview, but is a bit light on implementation details. https://www.amazon.com/Procedural-Generation-Design-Tanya-Sh...

Mazes for Programmers - only covers procedural mazes, but contains a lot of code and different types of mazes. https://www.amazon.com/Mazes-Programmers-Twisty-Little-Passa...

Great channel with Unity tutorials on terrain generation, cave generation using cellular automata etc: https://www.youtube.com/channel/UCmtyQOKKmrMVaKuRXz02jbQ

Procedural Content Generation for C++ Game Development - decent, but basic book with 2D examples in SFML. https://www.packtpub.com/game-development/procedural-content...

Procedural generation Reddit: https://www.reddit.com/r/proceduralgeneration/


Thank you so much!


I was not aware that Elite Dangerous is a sequel


Elite is the granddaddy of all open-universe space sims. It was also super impressive technically, not only for the pseudorandom world generation but for the 3D space combat in a time when simply drawing a single line on the screen took a perceptible duration.


Procedural compression is best compression.


Google has done more to advance human knowledge than any other corporation.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: