Alpha Sprint

This post was originally scheduled for a week ago on March 16th, but was pushed back. This blog post covers the period of my work on the WSoft Studio Project from March 2nd - March 22nd. This first week was the University of Michigan’s Spring Break, and I did not get much work done in that time. Thus considering just the latter two weeks this post covers two full weeks of work.

However, it should be explained that the entire period has coincided with the rapid onset of the COVID-19 pandemic in the US. The university started to move all courses to online-only starting March 12th, and all studio work and meetings have been virtual since then. I have been able to make effective use of Discord, which the studio was using anyway, to continue to meet and interact with my pod members, other leads, and everyone else in the studio.

Week 1 — Pre-Alpha Extension

On the first weekend of Spring Break, the Saturday lead sprint meeting and Sunday studio meeting were both cancelled. Some work continued for certain individuals during break, and I responded to a few questions from my pod members on their tasks from the week before, which were extended. I myself did not do extensive work this week. At the end of break there was a lead sprint meeting and a general studio meeting, but I did not return to Ann Arbor until the following Monday, so I missed both.

Total time breakdown for Week 1:

  • 0.5hrs total Discord communication with pod members while I was out of town.

Week 2 — Pre-Beta 1

Missing the weekend meetings and generally disconnecting over break left me with a lot of catching up to do starting on Tuesday 3/10. I worked to create new tasks for each of my pod members in the new Pre-Beta 1 sprint. These were:

  • David: Create a death particle effect for a squid enemy, like a splat.
  • Zena: Create a generic death effect for enemies, like magical smoke.
  • Eli: Finish work on teleportation ability effects.

Eli hadn’t been as responsive to me, and up until now has been almost exclusively working on teleportation effects. This is the main special mechanic of the game so this is fine with me, though. By the end of the week he got back to me and I found out he started his own work on creating a reticle for the effect, with cool-looking results.

Early in the week I also approved pull requests for Zena’s appear/disappear effect.

Sword slash effect

For the rest of my time this week, I started the second of my own tasks outside of being the VFX pod lead. This week I started work on a slash VFX for when the player swings their sword during directional attacks. I hope this effect makes this attack a lot more expressive and fun to use. When I was originally asked to do this task I was told to reference similar effects in Hollow Knight, so I watched a few videos to get a feel for what the effect could look like. From there, I completed a series of sketches to play with each of the frames I thought would need to be included in my animation.

Sword slash on paper

These sketches helped immensely as I transitioned to drawing a new version of them digitally in Adobe Illustrator. I created 7 total frames with two-tone shading in accordance with the project art style.

Sword slash in Illustrator

Once this was completed, I exported my work as a PNG which could be used as a texture sheet in a VFX graph effect. By defining the image as a 2x4 grid, I was able to easily animate the effect.

Sword slash in Unity

I shared my work with others in the studio and got positive feedback, though the final effect may be teal blue to match the final sprite for the player’s sword. I could not continue further because of this and the fact that the player’s animations for the directional attack were not added at that point, so I could not sync the VFX animation with the player one.

Retro meeting 3/14

At the end of the week I attended the weekly retro and sprint planning meeting where I shared my pod’s work, e.g. Eli’s different drafts for the reticle. The main topic of this meeting was how to transition the studio’s work to being fully remote in light of the COVID-19 pandemic. As a part of this, the studio meeting originally planned for 3/15 was cancelled.

Total time breakdown for Week 2:

  • 3hrs catch up by setting up new tasks and doing pod communication
  • 1hr updating project, checking out, and approving Zena’s pull requests
  • 1hr planning and sketching for air slash VFX
  • 3hrs creating the individual sprites in Illustrator and animating them in Unity (VFX Graph)
  • 1hr lead sprint retro and planning meeting

Week 3 — Pre-Beta 1 Extension

This week’s sprint tasks were just extensions of the ones from the previous week due to upheaval from the coronavirus. Members of my pod also did not get very far on their Pre-Beta 1 tasks anyway since I assigned them a little later and the situation on campus had already begun to rapidly change by Wednesday.

Stalactite hazard effect

Early in the week I was still blocked on the sword slash effect. I continued to keep in touch with my pod members’ work, but by Thursday I needed something to do and since none of the other leads had work for me to do I began to come up with my own effect ideas. Since I saw posts about level hazards in the Crystal Caves stage, I created an effect for the stalactite hazards where rocks burst out when a stalactite hits the ground. I also added a small effect where a 1 or 2 tiny pebbles will rain down as a stalactite is shaking and about to fall as an additional warning to the player. For both of these I used particle systems that were modded versions of the landing particles that David made for the player.

Stalactite

I presented my finished draft to Gino, one of the two level design leads, and he was satisfied with my work. When I get the chance he gave me the go ahead to create a pull request for this work.

During this time, each of my pod members seemed to make significant progress on their tasks, especially Zena and David, who created pull requests for their effects that I merged in.

Retro meeting 3/21

On Saturday, there was another weekly lead sprint retro and sprint planning meeting. Here I shared my pod’s work, but the main focus was on significant scope reductions for the project. While my pod still seemed to be going strong, due to stresses from the coronavirus and limited time we would have struggled with anyway, the leads all agreed to begin to cut 3 of the 8 enemies, the first boss, and but the final boss on one of the two main stages instead of its own level.

These announcements, while significant, did not affect me and the VFX pod as much since we had not done any direct work for the cut portions of the game.

Sunbeam effect

That afternoon I started work on another effect of my own creation: animated sunbeams that could appear on top of the background of the Crystal Caves level to add extra life and dynamism. I completed this work in Shader Graph using a CG shader for a similar effect I found as a model.

Sunbeam

This effect looked okay in the end, but I believe it could be hard to implement seamlessly in the game. The sunbeams play over a square quad, and given the level’s many twists and turns I would have to figure out a way to eliminate jarring discontinuities when two of these quads adjoin one another. An alternative would be to avoid doing that and only use them apart from one another. This question would have to be resolved before the effect is put into the game.

Studio meeting 3/22

The next day I met with my pod for the studio meeting, the first one done virtually in response to the ongoing pandemic. We went over the work each of us had done, and the main consensus was that each of us needs to work integrating the work we previously had done into the project so it doesn’t all pile up for the end. Some members expressed uncertainty at other pods being ready for their work to be integrated, but I at least encouraged them to get in touch with them to hear when they would be ready.

Continued sword slash effect work

After the studio meeting, I received notice that the player directional attack animations were added, so I could incorporate my air slash effect I worked on last week. As I began to do this, I realized that while my sprites contain a whole half circle of motion, in the animation the player only swings the sword for a little over 90 degrees. Thus I had to go back into Illustrator and adjust my curves to size the arcs down so they would match the animation. After this I began to add in the adjusted VFX, but have not completely finished this as of now.

Total time breakdown for Week 3:

  • 0.5hrs Discord interactions with pod leads and members early in the week.
  • 2.5hrs Stalactite crash VFX
  • 1hr Retro lead meeting
  • 3hrs Sunbeam shader
  • 1hr Studio pod meeting
  • 2hrs Sword slash effect contd.

Reflection

This period has been very challenging, from the break from work over Spring Break, to returning to work only to have it interrupted again by fallout from the COVID-19 pandemic. Despite all of this upheaval, while other pods have reported drops in morale I have been surprised to find how resilient my pod has been in continuing to complete tasks and even start to take on more work. The game is sustaining several severe cuts at the moment due to adjusted timelines, and I have been directed by the studio producer to prioritize only effects that can be broadly applied for maximum effect in the limited time left. Despite this crunch though, work is still progressing to the point where we are entering the phase where polish is more and more important. Thus it is now VFX’s time to shine and I look forward to contributing to make the studio’s game the best it can be in these final weeks.