I have been working as part of the Dream Swimmer Team on echoes since Spring 2025. And I think that since then, I have progressed greatly in my general skills as a technical artist and more precisely in working with the specific environment of the echoes project. In that first semester of production–where we built the original prototype/proof-of-concept for Dream Swimmer–we have moved on to polishing and producing more content for the project. We received much feedback from playtests and have a much stronger view of what needs to be improved in order to move forward with the project.
During our Summer Break, I had the chance to take a step away from the project and analyze the work I had originally done but was dissatisfied with. I also took the opportunity to look into the limitations that WebGL imposed on the project and thought about solutions to approach that. On top of that, I worked on some personal projects as portfolio pieces and those projects gave me the insight to approach Dream Swimmer anew and make great improvements to our project’s visuals.
And so, moving into the Fall 2025 Semester with conviction and a plan, I got to work drafting a plan to overhaul the VFX to better symbolize and convey the idea of swimming in water and to make the breathing minigame more intuitive to a first-time audience.
From the technical art/VFX perspective, some things that needed improving were the diving VFX and the surface swimming VFX. At the beginning of the semester, they felt like a mix of too unrealistic and too noisy–making them feel unappealing and breaking the immersion. The core issue at hand was that the approach I took in the Spring Semester was wrong. The splashing VFX at the water surface was literally simply taking the water texture used for the surface and dissolving it while flinging it upwards. It failed to capture the particular texture of a splash of water and felt flat. Likewise, I approached the diving VFX with the idea that each particle would be a bubble, which was impractical given the performance constraints of the project.
Former dive VFX in the game.
Former splash VFX in the game.
Another core problem was that there are not a lot of first-person games that focus on diving and swimming, so the amount of references available is limited. While first-person games with swimming exist, swimming and diving are often not the focus; or when they are, underwater diving is usually the core focus with very few references for swimming on the surface. One good reference is Subnautica, but that game seems to try to minimize the vfx as much as possible, which is not what we want. We also had references we used generally for the production of the game as a whole, such as this video of diving. But the nature of the dive in that video and references like it was that the dive was very smooth and not so much a sudden plunge with an intense scene transition ours was. So referencing that dive ultimately resulted in some incongruities with the VFX. As a result, the first step I needed to take was researching new references that fit our game’s pacing better especially for the instances where the VFX is relevant.
After looking at some more research specifically for first-person splashing on the surface of the water, these are some references I found:
These references of real life diving include a lot of factors that are not reflected in our current game and would greatly improve the quality of the diving experience. I think some improvements that could be made/tried include:
Each of these revisions have a time cost, and so we needed to prioritize which one is feasible and investigate. For a short initial analysis, blurring methods can be costly, but if downsampling can be effectively implemented, then that will be a super cheap solution to make a quick blur effect since it won’t need to last long enough to stand up to scrutiny, testing its feasibility should be pretty quick as well. Value change in lighting should also be fairly simple. Improving the spawn shape can be done with more work but is still quite doable, though quick iteration might be hard and a lot of iteration is generally necessary. Adjusting the textures and making flipbooks is probably the most time consuming revision, but using more premade textures and modifying them should allow us to reach an approximation and quickly make adjustments.
However, not every aspect of the old VFX was bad, it is important to make note of what worked so that I could strive to preserve as much of that as possible when making changes. For diving, I think the sizing change over time is effective, with small bubbles lingering towards the end. I also think that it’s effective that the initial wave of bubbles covers the whole screen. For improvement, I think the overall bubble shape can be adjusted for more variance and more cleanly cover the screen. For swimming, I like the U-shape of the splashing and want to keep that, I also like the slight variance in position for each splash, but I think that the shape is too consistent, which makes it feel jarring. I also think the dissolve texture needs work as it leaves the water in way too large chunks, also the water surface texture itself isn’t good as it’s just a reuse of the normal water texture, when it should be more of a splash effect.
These are the resulting changes to the VFX. In comparison to the old VFX, the modified textures create a heightened sense of realism and prevent it from feeling immersion breaking.
For both these VFX, the primary change was to the textures, with a new texture created for both that greatly helped to make the effect look better, while remaining cost performant. For the dive, I actually used both the old and new textures, with the new ones being used for the main body of the splashing down, but using the old texture as lingering bubbles to give the transition more interesting lingering effects.
In the Spring Semester, I spent too much time focusing on achieving realism that in a lot of ways forgot that I was making a game, and forgot to leverage the ideas that came before in this medium. I was essentially reinventing the wheel, focusing on real-life references that worked well for our experience as a whole but not specifically for what I wanted to achieve. Looking at new references that were more tied to the medium of games and referencing those for useful language to convey ideas helped me to improve the VFX quality in a short amount of time.
This wasn’t something that was just focused on the VFX either. I applied this same principle to the other aspects of the project I was working on as well. For example, I pivoted for our Breathing minigame representation from referencing wellness/mindfulness meditation/breathing apps to referencing rhythm games which provided a very strong base for how to better represent interactivity.
All-in-all, I think that at the core of my revision process this Semester was figuring out to what extent we wanted something new and not represented in the realm of games and when we should reference what has been proven and works in the past. We aimed for the former last Semester which allowed us to deconstruct existing mechanics and rebuild them in novel ways, but this Semester, the focus was on reigning those ideas in and making them more communicable to a common audience.