After getting feedback from Alpha, members of Spiral Studio did reflection on our production progress and set up new working sessions. This week, we focused on fixing existing bugs and prepared for new features that might make the gameplay more fun!
Programming ⌨️
Bug Fixes
Written by Thomas
The first half of the week I focused on addressing the bugs and lack of polish that we ran into during alpha affecting the parasite controller and game state. There were several issues where information was not properly being communicated over the network, in particular the task completion (and thus the win state) and animation state for the human player was only replicating to the server. Some of those issues had to do with not fully understanding the networking library and some were just straightforward bugs in my code, but they are all addressed now.
Another annoying bug was a camera issue when the human player would run too close to the wall and could see past the environment mesh, giving them a view of the skybox and the entire level from the outside. This was fixed by simply reducing the near clipping plane for the main human player camera.
The biggest set of bugs came from the parasite controller. We took a step back and reassessed the design of the parasite controller and decided the cost of allowing the player to run across the walls and ceilings was too great for the gameplay it added. I rebuilt the controller so that now the parasite will simply stick to any surface it touches that isn’t the ground plane, and we are planning a “grab” feature which will require the player to pass a skill check (by pressing a key right before they hit the surface) to successfully attach to a surface. Now we no longer run into issues with the parasite passing through the environment collider or flying around when touching a corner or weird angle.
Viewmodel
Written by Thomas
So far the human player has had to deal with looking from inside their own body, which is not a fantastic experience. So I modeled a set of astronaut hands and some basic idle animations to give them something better to look at.
In addition to the basic idle animation, there is a script attached to the viewmodel which will make it bob and move with mouse and WASD movement, so it isn’t just hard locked to the camera.
Cinemachine Human and Parasite Changes
Written by Richard
Since the majority of the players in a lobby would be parasites, I worked on making sure piloting them would feel as intuitive as possible. Since the human player and the parasites would have different point of views, I decided to use Cinemachine in order to be able to set up different virtual cameras, and have them blend between each other during cutscenes (such as possession).
Getting the parasite camera feeling nice took a lot of fiddling with numbers, including a 20 minute stretch where I was trying to get the camera to not follow the parasite directly (Cinemachine is a little finicky, especially with a target this small).
Final adjustments to the camera rig values, plus some Perlin noise on the middle rig to simulate a moving camera gives us this as the current camera view for the Parasites (some fiddling with camera sensitivity still required):
As for the human, since they are in a FPS POV, their changes aren’t as drastic – for now, I set their culling mask to ignore their own model until we add in the view model for their hands:
Blending between parasite and human cameras during possession and cleaning up the parasite camera movement during their jumps and the like is up next.
Audio 🎹
Written by Ian
This week the main focus of audio development has been the expansion of our current music system.
Our previous plan for the “rush state” music was for it to act as a oneshot audio that would correctly end with the end of the level. After further considering the win conditions of the game, we instead decided it would be more appropriate to write the music as a loop. This way it can trigger when a player is nearing completion of their tasks and not rely on a set level timer countdown. We plan to write a separate “ending” oneshot that can be triggered to conclude the rush state music when the game ends.
Art 🖍
Written by Jiaqi
Based on the feedback we received from Alpha, we are preparing for coming changes on Art of the game that aims to keep the style of character, level design and UI consistent, which communicates with the players about the theme of the game.
We are looking for inspiration in several topics:
- How to make the environment more distinguishable and interesting
- Interactable objects for Human tasks and Parasite mana/energy system
- Add more rooms for players to explore
- Color code of the game
- UI elements for Human and Parasite in gameplay
We believe a bunch of new changes will happen next week! Come back to our blog and check them out!