Fun With Procedural Generation in Java
12 Jan 2018
Summary
Link to project on GitHub (Has a pretty beautiful readme :))
Skills used: Java, Git, Gradle, Algorithms
This library was created with inspiration from @Durango and was my first exploration into the world of algorithms and data structures pre-university. It was very interesting to explore the different factors that allow procedural generation to take place. While not the most advanced, I hope to come back to this project some day and add more features.
Process
Over the course of about a week, I started sifting through various random generation algorithms and implemented them into this library that I was creating.
While I’m not artistically minded as much as Durango was who created the beautiful displays of random generation, I did get to implement quite a few algorithms with quite a few options.
Obviously I have the basics like transforms (rotating, flipping, painting, stretching, mirroring), and some other basic mutators such as smoothing, generating shapes, partitioning, finding blobs, connecting blobs.
I was working on this the Summer before university, so this was my first time delving into algorithms such as Dijkstra’s graph algorithms
Inspiration
Not too long ago, I came across a really neat library for this game making program called Construct 2 on itch.io and was just fascinated by the beautiful things that the library could do like in this gif:
Honestly, how could you not think this is absolutely wild. I ended up playing around with this tool for hours before deciding to try to re-implement some of these mechanics in my own code as a coding exercise.