A Dead Simple Grass Simulation

(Story under articulation process, come back soon for full story!)

Historical Context

Written entirely on 3/30/22 in one sitting. The idea was conceived during a run and then designed on the car ride home.

Technologies

Utilized C++, SFML, and an open-source Perlin noise library.

Challenges

None intentionally. After encountering numerous technical challenges, design decisions, and issues in my last project, I aimed to write some intentionally 'bad' code for a change.

Achievements

(to articulate!)

The Story

The project was characterized by an incredibly quick turnaround. The inspiration struck one day during a regular trail run close to my house. Reaching the top of a steep hill, I was struck by the sight of lush grass swaying in the wind. The almost random yet synchronized movement of the grass clumps was mesmerizing. Having recently learned about Perlin noise, I was inspired to model and simulate this natural phenomenon. The concept was straightforward: represent grass blades as rectangles and use 3D Perlin noise as a dynamic wind force, imparting rotational velocity to the blades. This simplicity was a welcome change after the complexity of writing extensive boilerplate code for from-scratch engines. Embracing this new approach, I completed the entire program in a single 2-3 hour sitting, coding everything in the main.cpp's int main(). This casual, rapid development approach is why it's not on GitHub.