In March 2025, I took part in the Mardini challenge organized by SideFX - 31 procedural projects in 31 days, each inspired by a daily prompt. I approached the challenge not with the goal of producing polished final pieces, but as an opportunity to (re)learn Houdini, test ideas quickly, and push myself creatively within strict time constraints.
This post-mortem blog post is a reflection on that journey: what worked, what didn’t, and what I took away from it.

Week 1 - Modeling
This first week was about re-establishing my comfort with SOPs and core geometry workflows. I treated these projects like sketches - quick shapes, simple logic, and a lot of boolean, copy-to-points, and attribute wrangling (without actual VEX).
I also challenged myself to approach each model as if I were building a proper Houdini Digital Asset. That meant thinking about what kind of shapes the object could take, and designing procedural controls and parameters that made the asset flexible and reusable. Even if the end result was rough, the process helped me shift my mindset from just building visuals to designing tools.
On Day 1, I hit some unexpected complexity with the Rubik’s Cube. I wanted it to scale (3x3, 4x4, etc.) with proper color layout per face, but it became too tricky - I ended up using a single shader for simplicity.
I also planned a UI to select animated rows and columns, but ran into limitations with attribute control, which restricted the cube’s animation more than I had hoped.
Week 2 - Texturing
In the second week, I shifted focus to look development and surface detail. I started by applying pre-made textures to my models to get comfortable with MaterialX shaders in Solaris. This helped me understand how shading networks are structured and how to manage materials within a LOP-based pipeline.
As the week progressed, I challenged myself to go further by creating procedural textures using Copernicus, Houdini’s new node-based texturing system. It was a great way to explore noise layering, masks, and custom ramps - and to see how far I could push surface detail without relying on external image maps.
In the texturing week, getting used to Copernicus was harder than expected - even with experience in Substance Designer. I also ran into compatibility issues with Karma, which pushed me to learn how to export materials properly from Copernicus.
Another challenge was passing parameters between SOPs and the Stage level - for example, sending the color attribut into a MaterialX shader wasn’t always straightforward.
Week 3 - Motion
This week, I explored different ways to animate: from manual keyframing to Bullet simulations (like the ant project), and even Mixamo mocap applied to imported characters using KineFX's bone deform and rigging.
I also tried out procedural animation, such as the sine-based movement for the “Slither” prompt. It was a great mix of artistic control and technical experimentation across multiple animation styles.
During Week 3, I had to revisit a lot of core concepts around simulation, especially the different rigid body solvers and their specific setups. Understanding their limitations and how to get basic interactions to work was a challenge.
I also had to learn the KineFX workflow for character rigging and animation, which added another layer of complexity to the process.
Week 4 - VFX
This week, I dove into Vellum to explore different types of simulations. I experimented with liquid-like behavior, melting effects, grain simulations (like in the snowman project), and soft-body destruction (for the teapot scene).
It was a chance to test Houdini’s sim tools in fast, creative setups - focusing on the look and feel rather than perfect accuracy. Each test helped me better understand solver parameters and how to art-direct simulation results quickly.
In Week 4, I faced limitations with my computer when trying to calculate and preview Vellum simulations, which often prevented me from achieving convincing results.
Additionally, I had to learn the new Vellum workflows, as they weren't available when I first learned Houdini a few years ago. It took some time to get familiar with the new solvers and settings.
Week 5 - RENDER
This week included three projects - fewer than in the previous weeks, but enough to explore Karma and the flexibility of Solaris.
I experimented with day-night lighting cycles, created a nighttime campfire scene, and pushed refractions and transparency in an underwater-style render with an aquarium setup. I also worked on multi-pass EXR rendering, which I later composited in DaVinci Resolve to enhance lighting, color, and depth effects in post.
For Week 5, the biggest issue was rendering the final project, as I didn’t optimize for reflections and refractions, resulting in render times over 5 minutes per frame. I also learned how to use specific shaders for fire and smoke effects in Karma, which was a valuable addition to my rendering toolkit.
What I Learned
- Procedural workflows: Built assets and systems from scratch, focusing on quick iteration and parameter control.
- Shading and Texturing: Navigated MaterialX shaders, Copernicus for procedural textures, and learned to export materials to Karma.
- Simulation: Improved my knowledge of rigid body solvers and KineFX for character rigging and animation.
- Vellum: Learned new workflows for liquid, melting, grain, and destruction simulations, despite computer limitations.
- Lighting and Rendering: Worked with Karma for day-night cycles, fire effects, and underwater renders, using multi-pass EXR and DaVinci Resolve for compositing.
- Animation: Combined manual keyframing, Bullet simulations, Mixamo mocap, and procedural animation for diverse effects.
CONCLUSION
The Mardini 2025 challenge was an incredible learning experience. Each project pushed me to explore new techniques, break through limitations, and think creatively under time pressure.
Although not every result was polished, the journey of experimenting with Houdini's tools, solving problems on the fly, and expanding my knowledge was invaluable.
I’m excited to carry these new skills forward into future projects, and I may explore new endeavors combining Houdini with Unreal Engine.