This is the final blog post, here is the trailer of our game:
UI sprites and environment
UI, achievements?
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.
Garage refinement.
Made a new logo for the game! was needed, getting the neon/ sci fi feeling a bit more ready!
Upload of the ship and garage on sketchfab!
Optimization!
I spent much time on optimization and cleanup. We’ve gained a 30% performance increase by optimization! This puts us at a stable 200-250 FPS, if not more, in the editor.
I also made the bullet time pickup less random. Well, it’s still random, but when the pickup spawns, the spawnrate of obstacles is raised to 100%! This means the player really has to get those, or he’ll have a very hard time dodging all those obstacles.
Cool new terrain, Almost fixed errors in tunnel and settings, lots of settings
This week I did A bunch, trying to catch up with the time I lost trying the geometry shader which does not work in webgl. Apparently. So I made an improvement to my previous terrain from heightmap loader and it now looks decent enough and has no cpu impact whatsoever.
I also worked on my tunnel fixing my uv’s still not quite there but already making progress.
I also added settings, lot’s and lot’s off settings:
Sound volume, Effect Volume, Mute, FOV, Render distance, VSync, AA, Resolution, Full screen and, by importing a Standalone browser and playing with it, a Background Music File Loader.
These are all functional in both webGL and the Editor except for the resolution… since webGL does not allow unity to read the resolution data it gathers. A litte video showing the UI with settings.
Rainbows!!!
refined/ basic unwrapped the garage.
I Also wrote a small rainbowscript to get a variation in the background.
it uses the emissive of the material. so it gets more the lit neon effect in the environement.
achievement spaceships are finally textured! now working on some trims for the buildings/ garage. getting things a little bit more defined.
Grids?!
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.
Working on environment
This week was a slow one, I worked a lot on other courses so I did not have the most time for this one. I started working on the environment terrain, making a script to load heightmaps to a terrain and making the terrain move along with the player I have a simple cityscape render, I still need to look into the heightmap making it procedural and such and having it change the terrain at runtime, now it just loads once and it finishes.
Example photo of the terrain with the heightmap that created it:
Targeting, setup for settings and a loading screen
This week I’ve spend my time working on making the aim function a bit more useful. Now, when you aim and hit a target with the aim lasers, you will target that item. There is a max angle of course, but this should give players an incentive to aim at targets before they shoot.
I also setup some of the basic settings like FOV and render distance, which will allow us to add those options in the main menu.
Finally, I added a loading screen between the main menu and the actual level!For the purposes of demonstration, I’ve manually made the loading screen longer.