Fun With Procedural Generation in Java

12 Jan 2018

Summary

Link to project on GitHub (Has a pretty beautiful readme :))

demo

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: construct 2 demo

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.



Proceduralcontentgenerationlibraryproclibjava Share Tweet +1