week 3



Section 1: Progress Overview

Great news! Our project is making steady progress. We've nailed down numerous elements like the enemy spawning system, vehicle enhancements, player stats and UI. We're also making headways in sound implementation and basic melee combat. Certainly, we've had to tweak our original plan a bit, but it’s all part and parcel of the process. A special shout out to Asuka for his phenomenal work on vehicle mechanics! Stay tuned for more updates.

Section 2: Updates on Specific Improvements

Enemy Spawning System

 We have implemented a simple spawn system where we can add different spawn areas that have different spawn rates and randomly spawn enemies outside a certain radius of the player

Vehicle Updates

We have implemented a base car/vehicle system that can be applied onto any vehicle easily. All it needs is the vehicle script and everything dependent component will get added. Then as you start adding wheels, audio sources and lights, they will automatically get added and linked up to the vehicle script making it very easy to just do once and forget about.

First off is the shader for the car.

A custom shader for the car had to be made so the car lights glow from the texture data instead of having to add a new cube and emission for the lights as well as the selection fresnel pulsing effect. Below is the custom shader applied.

As you can see. There is a texture input that gets sampled using the Sample 2D Texture node which is then split into 4 Colour Masks for the headlights and backlight texture emissions which is multiplied by an emissive HDR colour and 1 into a multiplication node for the base colour. Below that is the fresnel effect that is added onto the headlight effect that is then plugged into the emission output of the fragment shader.


Below is the vehicle script which contains everything about the car's fuel, wheels, lights, motor power and a few other things (Health hasn't been added yet).


Vehicle Damage to enemies based on the speed of their vehicle.

Basic User Interface (UI)

Introduced fundamental UI for tracking player health and vehicle fuel levels.

Sound Implementation

We have implemented some sounds including vehicle enter and exit effects walking and melee and player damage. And background music

Basic Melee Combat

Basic melee combat using raycast and collider to detect when an enemy is hit and apply damage and play a death animation when health reaches 0 was interesting playing with where the raycast should originate settled on coming from the camera for now as the method i was originally using was causing problems on certain terrain blocking the raycast. 

(Bonk sound effect is temporary)

Terrain

We have iterated on our terrain and started adding foliage using unity's terrain editor  focusing on a smaller play area of only 3 or 4 key locations to showcase gameplay.

Here is some progress on the terrain.


Now as you can see it isn't the best, but it's alright. Except for the fact that the trees are displayed at bright billboards when render optimizations is introduced as shown below.

This of course is not ideal, and further more, There were a more issues regarding unity 2023.2.8f1 version which apparently, broke the billboard colours when using the URP Lit shader...



So after a few hours of headbanging and trying to figure out any fixes, I (Asuka) settled on the LOD group feature that unity has. However, this would require having to create different LOD levels for each mesh which I was not prepared to do. So after a bit of searching through the unity asset store, I found this insanely cool tool that automatically converts your meshes to 3 different LOD levels. https://assetstore.unity.com/packages/tools/modeling/nanolod-automatic-lods-1933...

AMAZING! So after installing this tool using the unity package manager, I just added the LOD group component to the models we were using, right clicked and selected Auto Generate LOD's


So, After messing with the LOD values and the cross fading animation. This is the result!

Section 3: Efforts on Juice

We are implementing sound effects and looking into other visual indicators for damage and interaction with the world. As shown in the videos embedded. we have been testing melee audio hit effects and walking temporary effects as we search for a better implementation and have started adding some background music to help add atmosphere.

Leave a comment

Log in with itch.io to leave a comment.