I worked on the UI in general, trying to get everything nice and in place.
Also worked on an achievement system, it works but I came across a nasty unity bug: it gives NaN in all positions/anchors when it was disabled and enabled. So Trying to get that fixed but that bug seems to be present for about 3years now and still not fixed.
Also started on the garage feature but couldn’t proceed because of the bug that showed himself as I already wrote about.
Added the new Obstacle: Grids.
They come in different kinds of shapes and they have a little mechanic. The big grids have an 80% change to spawn with a destroy orb, if you shoot that orb the corresponding lasers will be destroyed and make a bigger space to get through.
Also started on some UI for pickups but as you can see atm, I’m far from done and I also miss the sprites for it atm, still need to ask the artists for some good concepts.
Fixed a slight bug that when you died you could bug the game out with the esc key so that when you were dead you could actually still play.
Looked into the boxcollider problem where he sometimes does not register when you are moving too fast. Was planning to solve it with a characterController but that won’t be possible as I cannot get the right shape. So need to look into continuos collision detection or raycasting.
So I implemented what I did last week into the game now. There seems something to be wrong though. The buttons only work if you use a controller at the moment so I need to fix that. And I still need to hook up the setting menu to actual game settings.
The garage and achievements still need to be done as well, but I didn’t do that atm as we do not have the code for those things yet.
I also made it a bit cooler, the ship now rotates and we can rotate it with the controller as well.
I also when ahead and gave the player some feedback if he hits the edges: Sparks yay. Feel like the damage the player gets is too much so I might wanna tweak that a bit. Same for the particles, they might be revamped to make them more clear.
Also fixed a camera bug, if you went to the edge and still tried to go past it the camera would do what you asked and leave the ship behind, this has been solved as you can see in the gif above. Even if your ship is at the edge and you try to keep going the camera won’t follow and keep to the ship.
I also looked into adding more obstacles but got a bit bummed out when it wasn’t going as expected so you will have to look forward to that next week.
I started messing around with the button/UI options to explore what is possible. Everything is done in a seperate scene. I will now start to implement it in the main_menu scene/pause/end_menu to give our game a nice wrapping and make it feel nice even before you start playing.
I was doing the implementation for the controllers in the menu’s. But I encountered some minor setbacks because of how we made our menus.
So I decided I will remake/revamp the menu’s this week so everything will look and feel nice.
This week I wanted to go a bit slower, so I stopped the game.
Added in a pause menu that makes it clear that the game is paused so I made it greyish. This was achieved by using postprocessing and setting saturation to 0.
Added the fancy shield particle. At first there was a slight bug with the shield that if you went through a sphere you would still get hit as the boxcolliders of different obstacles overlap in the middle. So I fixed it by giving you an invincibilty when the shield gets destroyed. This is only a for a very small amount of time as we do not want to enable them to not get hit by the next obstacle.
Also did some restructuring in the spawning scripts so it all spawns and despawns correctly. Also added the rotation back in there as a little bonus. 🙂
Sorry to say but I do not have much to show you as most of it was code wise with no visual feedback. Making singleton class, optimizing some code for spawning and some complete overhauls, making everything more readable.
I do have the shield pickup to show, now it adds a shield and does not mess with the health anymore, it uses a timer that is being represented in the hud and dissapears after that time has passed or if you hit an obstacle.