Badland Blitz

Dragon
Turret
Zombies
Badland Blitz Explained
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








Perlin Noise flat
Perlin Noise elevations
Perlin Noise Code
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.








Badland Blitz overview
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.








Weird Object image
Weird enemies
Weird land
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.








Image
Land Nav
Raycast
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)





DEMO





References

Procedural Generation Tutorial

Download Project Presentation and Reports