Creating ShadeTheSims was not about reinventing the wheel, but rather about refining it. I built heavily on the same foundation as Roshade, using everything I've learned while working with Nuxt 3 and Tauri.
While Roshade was already quite popular, I knew The Sims 4 community could benefit from shaders as well. My aim was to make shaders more accessible, user-friendly, and tailored for The Sims 4.
One of the biggest lessons I learned early on was how crucial the user experience is when developing tools for a wide range of players. A significant number of users are not experienced modders or shader enthusiasts; they just want something that works out of the box. With Roshade as my starting point, I focused my improvements on simplicity - less is more!
For Roshade's installer, I handled all installation logic in the Rust backend, ensuring clear separation from the frontend. However, Rust's complexity made updates cumbersome. For the ShadeTheSims installer, I modularized Rust system interactions and used Tauri's event system to trigger specific Rust functions via a frontend queue, simplifying updates.
Community feedback played a big role in the process. I learned that while I might think a feature is intuitive, the real test is when actual users get their hands on it. I conducted several round of testing with early adopters, and their feedback drove some of the most significant changes for the project.
For example, I initially included a ton of different shader effects because I thought more choice would be better. However, the feedback was clear: users wanted simplicity. This helped me focus the shader offerings to a core set of effects that really enhanced the game, without cluttering the UI or dragging down performance.