Badland Blitz is a 3D game made with Unity and C#.
I drew inspiration from Call of Duty Zombies to create this open-world survival game.
The game uses procedural generation and perlin noise to make randomized terrain.
There are three deadly enemies: zombies, turrets, and a dragon
Procedural Generation
Procedural Generation is a system that randomly generates data coordinates using algorithms like Perlin Noise.
Perlin Noise is an algorithm used to generate randomized and smooth terrain.
It builds a gradient map and represents high elevations with light areas and low elevations with dark areas.
Object Placement
Every object has a random chance to spawn.
Objects are placed on the ground using raycasting from Unity.
Turrets have a spawn rate of 66%, while the rest of the objects have a 40% spawn rate.
Challenges
Objects were not properly placed on the procedural land.
Enemies could not detect and traverse the procedural land.
The image representing land texture was too small to stretch and fit across the entire terrain.
Solutions
I used raycasting to position the object accurately by casting a ray into the ground and then determining its rotation angle with Quaternion method ".FromToRotation()".
To fix enemy land navigation, I built the navmesh on start since the land is built on start. I downloaded navmeshcomponents from Unity's Github.
To fix the image size, I divided every vertex by the world size, placed it into an array, and applied the texture to each vertex.
Future Plans
Create new enemies with new attacks and appearances.
Include more weapons and upgrade stations to the game to make the game more fun and enhance the game experience for the player.
Add a cutscene to the beginning of the game to create suspense and provide game lore.
Sample Milestones
Milestone 1: Add lava functionality, allow enemies to traverse land, and update the UI (Feb 16th)
Milestone 2: Procedurally add weapons, ammo, and stations that help the player defend and progress in the game (Feb 28th)
Milestone 3: Add 2-4 different enemies with different attacks and abilities while giving the player unique abilities for intriguing gameplay (Mar 15th)
Milestone 4: Add audio and animation to guns, enemies, and footsteps (End of March)
Milestone 5: Fix any bugs and ensure the game works as intended: No phasing through objects, hit detection, regeneration and depletion of required features, and correct audio cues (Apr 12th)