In the past two weeks, I have dedicated a lot of time to the tutorial images that help the player know what he has to do. For example, when he flies over a pick up, he will know to press F/H on keyboard or X on a controller.
This system works together with the settingsmanager I designed earlier, which lets the player decide if he’s playing with keyboard or a controller. The tutorial system works with 3 differents sets of images, a set for controller, for the left side of the keyboard and the right side of the keyboard.
Each image is instantiated the moment you need it and destroyed as soon as it is used.
I would still like to add some kind of animation to it to make it look more convincing.
In the current build, the keyboard images for accelerate, move left/right and pickups are added, and the pickups for controller. I am currently reworking the system of them overriding each other a bit before I continue adding the rest of the images.
This week I have focused on working on a new powerup. It is a turret that follows the player and shoots the other player when that player is within range. The turret auto aims and also rotates towards the other player.
Next to that, I have also made a menu where the players can choose if they want to use a controller or keyboard. A gamesettings manager keeps track of these values.
This week I spent some time working on creating a new powerup: the energyfield. The player can drop it and it will form a field acrosst he whole width of the track to slow down the other player that comes behind him.
Other than that, I have created a separate manager dedicated to the powerups in particular. They used to be in the player manager but that got cluttered quickly by it.
As usual, some time also went into bugfixing and cleaning up some scripts and unused prefabs.
And lastly, I have also made a change to the camers. We can now change the rotation around the z axis so it is possible to see more of the track before us.
This week was spent fixing and tweaking some problems in the game (see list below). Next to that, I made sure the player slows down when hitting the edge of the track, so he can not just stick to the side of the track.
Some fixes I made:
- Bullets now get destroyed on impact
- Player 2 is now visible on minimap
- Powerups get removed when picking them up
- If player already has powerup slotted and tries to pick up another one, it doesn’t disappear
- Shield icon stays until timer runs out
- Bullets can find other player again
- Made shockwave bigger, destroys asteroids correctly and drains enemy’s energy
I have been working some more on the managers to make everything more organized and less all over the place.
Additionally, I spent time working on the auto-tracking. When a bullet gets within a certain range of the other player, it curves towards the other player. The curve is not perfect yet, but I am still trying to figure out how to make it look nicer by lerping.
This week was mostly spent on fixing bugs, improving the structure o
f our code, and adding more to the managers. Some bugs were created by moving things around and being moved to the managers, which sometimes made variables not accessible.
The structure was improved by changing the way UI works, instead of 2 separate canvases as loose gameObjects (which required scripts to ask for the player number every time), they are now instantly accessible for each player without having to worry which player it is exactly.
Also more script variables were added to the managers.
I have made a simple visualization to show when a player uses his shockwave powerup.
Our project was also in need of some cleaning up. I started by creating some managers so it’s easier for everyone to change variables. They can all be managed from the same spot now.
Some scripts that aren’t being used have been removed, and some scripts have been cleaned up.
This week has been spent mostly on working on the tech document:
I added the technical constraints, the control scheme, refined the programming guidelines and worked on the technical design scheme.
Also, I added a check on startup to see if two controllers are connected. Since it is possible to play with a keyboard, you can still start the game, but a popup appears saying it is recommended to play with two controllers instead. Of course the looks of it aren’t final, those are reserved for the artists.
Also the controls have been redone again, since feedback told us we had too many buttons to work with.
This week I have completely reworked the input manager:
Move left/right: Left joystick
Use pickup: A
Dodge left/right: LB/RB
Pause menu: Start
Also, I added a skybox and changed the colors of the ships to make things look a little better and so the player can have a better overview of his position.
It is now possible to randomize the astereroid sizes using sliders with max and min scale values. This makes the track a little more interesting.
I have also added a more in-depth pause screen, with the option to resume, restart or go back to the main menu.
Most of my time this week was spent trying to fix bugs, especially the camera jitter. We don’t have a permanent solution yet, but it’s more playable than before.
I created a shockwave that destroys objects in within a certain radius.
I also added some music to fill it up a little.