Inspiration

Over the weekend, I was planning to build intercative games with Javascript for the web. But I thought, why not learn something new and I explored the c# and Unity documentations and a couple of Youtube videos and decides to come up with my own game out of this inspiration. I love to play games like fortnite and PUBG and other FPS games, along with FIFA and other sports games. So I decided to build whatever possible iin the limited time frame and with a good sense of logic.

What it does

Check the video here

GAME DESIGN

Player Expereince

  1. Intense

Core Mechanics

  1. Shoot Enemies

Core game loop:

  1. Collect ammo, shoot enemies, and reach end of level

** Game Theme**

  1. Dark
  2. Forest and Bunkers
  3. Zombies

MVP features - in order of priority

  1. First Person Camera Movement
  2. Raycasting to shoot
  3. Enemy move and attack AI
  4. Health and damge system
  5. Death/game over
  6. Weapon Switching
  7. Ammo and ammo pickups
  8. Flashlight and battery pickup
  9. Probuilder Geometry

How I built it

This game is built with Unity3d game engine and C#. The assets used have been imprted from Unity3D standard assets and the environment is customised by myself. The scripts have been written in C# in Microsoft Visual Studio. Animations have ben created in Unity 3D using the animators provided. The main camera focuses from the eyes of the first player. The player is equipped with a gun imported from a custom asset. The game design and sandbox have been prepared manually using Unity's assets. I have used Unity's NavMesh AI agent for giving artificial untelligence powers to the enemy zombie. All the default effects associated with Unity's 3D objects like sticking and jittering were gotten rid of in the scripts. A definite chase range of floating distamnce 3f has been set up for the enemy. If this threshold is cross and the enemy is provoked, it starts to chase the player shooter forever wherever the player goes.

The player has a hitpoint strength(health) of 100 units, so does the zombie. The gun gives a damage of 30 hitpoints. So it takes four shots to kill a zombie in the game. All the scripts have been provided in my gihub repo here

The player and enemy health scripts have been written. And we also make sure that if the player fires a bullet at the sky, it has a null effect. Whenever the player or the enemy is hit, the unity console gives a message about the damage incurred using debug.log in C#.

I have exported the game using WebGL export and the index.html file is in the repository mentioned and also shown in the YouTube demo video. It was great weekend and I definitely got to learn something new and of great value. I devloped a good logic and understood the workflow involved in developing a gaming application with Unity!

Challenges I ran into

  1. Creating the game design.
  2. Adding a first person controller
  3. Making a prototype sandbox
  4. Using Unity's Navmesh agent for AI
  5. Fixing the stick to and Jittering effects in-game
  6. setting a Chase range for enemy AI
  7. Making enemy attack if provoked
  8. Giving the FPS player a gun
  9. Raycasting and Muzzle effect after firing the gun
  10. setting hitpoints for gun and enemy. The gun has a hitpoint of 30 and the the zombi has 100 hitpoints. So it takes 4 killshots to leave the zombie dead
  11. shooting hit effect
  12. Hitting Animation in the zombie
  13. Enemy Attack
  14. Player Health

Accomplishments that I'm proud of

I am proud to have learnt something new over the weekend even though I am having exams at University and it has been a smotth rollercoaster ride. Unity is an incredible 3D package used for making video games, architectural and medical imaging and more. The challenge is that it's big and complicated to use, especially for complete beginners to coding and game development. We make learning to code easy and fun by leading you step-by-step through the process of creating exciting games.

What I learned

I am proud to explore the basics of C# and all the in game functionalities and inbuilt functions that it provides. I also learned about importing assets and creating a AI in game using the features of C# and applying logic through code. This is the first time that I have not only done learning dry programming concepts, but applyied them immediately to a real indie games and rally elated to see what it has come out to be.

It is a long project yet incomplete, But I am really happy to have learnt so much from it.... A lot of more features, like life, health and other animations yet to be added. I had a limited time frame since the start of the hack and it had to be done in the midst of university exams. I would like to further add more animation, health count of the player and zombie, gun reload feature and oter sound effects to the game and interactions to make it a lot more interctive and fun to played with.

What's next for Zombied - a 1P shooter game made with Unity3D engine and C

Creating Player health class a game over user interface Death Handler Health Score Microinterractions Sound effects Complex animation Scores(kills, level) Add more assets like trees, jungle, forest and a dark theme to the game. Add zombie assets to the enemy Add movements in the environment Leveling up feature and lots more

This is truly fun. Enjoyed every bit!

Built With

Share this project:

Updates

posted an update

It is a long project yet incomplete, But I am really happy to have learnt so much from it.... A lot of more features, like life, health and other animations yet to be added. I had a limited time frame since the start of the hack and it had to be done in the midst of university exams.

Log in or sign up for Devpost to join the conversation.