The last two weeks were spent polishing and making the game more accessible. The level manager script allows us to instantiate tutorials or activate certain abilities throughout the level. We are still designing the actual progression beyond level 1.
In terms of polish we improved some particle effects and added more information in the HUD, indicators for different types of enemies or the currently active runestone:
Finally we are also experimenting with other graphics for our light beam, currently we are trying to work with particles that get destroyed on impact by light blocking objects:
We’re working on improving the player feedback with animations and effects, for instance for healing or resurrecting.
A health pickup was added to the game: It heals both players so one player can hold off the waves while the other one grabs the pickup to heal them both.
Finally I’m working on a LevelManager script that manages tutorial windows, skill availability and possibly other level progression related stuff at the right times for each level.
This week I created indicators to show the players where enemies are coming from outside the screen and which type they are so they can react accordingly.
I added a silhoutte shader to show players and enemies behind obstacles.
We did a slight redesign on the sword attack, it is now spammable with a small hitbox but it can be charged for hitting a larger area with a stronger knockback, this should make the sword attack better at knocking back enemies that you can’t kill.
Finally I implemented a resurrect mechanic that will respawn you next to the living player with a short invulnerability. The camera adapts to the amount of living players. Resurrecting costs rune health, we should add an animation to make this more clear.
This week I worked on refining the UI with Tim. The controls can be found in the pause menu and the deathscreen/victoryscreen now display some stats to show you how well you did. The Runestone health is now displayed at the bottom of the HUD.
Other than that we’re looking into progression in terms of enemies, skills and environment. We plan on introducing the player to the basic enemy type and how they interact with the player types with only the sword attack to begin with. Then gradually introduce new abilities and enemies with fitting level design.
During the holiday I changed the camera constraints to be more suited to coop on larger maps (as opposed to the versus mode on a smaller map earlier). The actual implementation still needs some work once we’re happy with the level design.
Other than that I worked with Tim on designing and implementing the main menu and some other UI stuff like death and victory screens.
This week I implemented HUD functionality within the updated framework. It contains health bars, energy bars, an enemy counter and a victory- and deathscreen.
If either player dies the game is lost, the light beam ability now uses energy in stead of charges. The energy depletes and replenishes quite fast. To win the game all enemies in the level must be killed.
Other than that I’ve made some minor changes to the Camera, the Lightbeam and added some more player feedback in the interaction with enemies.
As we are moving away from PvP towards coop wave battles we decided to redesign the “Light beam” ability. The beam can be cast for a long duration but aiming while channeling is very slow. The light/darkness only harms enemies of the opposite type (light harms darkness and vice versa) which means that players have to protect their ally from their own kind in order to succeed. We kept the sword attack but it also only harms enemies of the opposite type, the knockback however can be used to knock enemies of your type in beams of your ally.
Besides reevaluating design and the goals of our team, I worked on cleaning up and restructuring the code a bit. I also worked on the tech document with Alex, this included some planning for future development as well.
This week we refined our core abilities and added more player feedback. The sword attack now has a small dash and a better animation. We wanted to start adding interaction between core abilities, attacking from within your own beam will now result in a longer dash and a larger area of effect. Sword attacks now cause a stagger and short visibility on the opponent.
This week we finished prototyping the core gameplay and created a basic arena to establish the atmosphere and do further playtesting. The next step is to make good design decisions built around the established mechanics.
I created the lightbeam prefab and added some camera and UI functionality. I already wanted to work a bit on the game feel by adding stuff like screenshake and changing the background color depending on which player is winning. The players now have a shared health bar which also affects the background color; this results in a convincing light vs dark battle. The big issue with that is that hitting the opponent is very snowbally and the game can’t really be close because you will have very high health if the opponent is low on health. To address that we are considering buffing darkness in a light situation and vice versa (more contrast = more damage, or something similar).