Code Monkey home page Code Monkey logo

survival-shooter-extended's Introduction

Visitors

Survival-Shooter-Extended

· Report Bug ·

note: This project is a copy version of "Tubes 2 IF3210 PBD: Unity3D Game"

Contents
  1. Description
  2. Installations
  3. Features
  4. Specifications
  5. Contact

Description

Survival Shooter is a game where players have to survive the zombies' attacks. This game is available on the Unity Learn platform for anyone to learn. In this assignment, I continue my work on Unity Exercise based on the Survival Shooter Tutorial - 1 of 10 video and continue the game built by @PrateekAdhikaree with his permission. You can check the repository here:

And here comes this Survival Shooter: Extended.

Installation

Only available on Mac (idk how to build on Windows🥲)

  1. Clone repository (or download as ZIP)
git clone https://github.com/bintangfrnz/Survival-Shooter-Extended.git
  1. Navigate to /WishMeLuck/Builds
cd WishMeLuck/Builds
  1. run .app file to install

Features

(1) Player Attributes

HUD Canvas

There are 3 main player attributes in this game. Here's the stats:

Power Speed Health
Initial 20 5 80
Max 50 10 100

(2) Orbs and Pickups

Orbs

In this game, we have 3 orbs to increase the value of each player attribute and 3 pickups to enhance weapon within a certain time that the player can pick up and will disappear if not taken in 10 seconds.

  • Player Attribute Orbs

Orbs will appear randomly every 3 seconds with 40% chance of spawning.
50% -> health orb
25% -> speed orb
25% -> power orb

Power Speed Health
Color blue yellow red
Add 2 0.25 15
  • Enhance Weapon Pickups

Pickups will appear on the enemy dead body with 25% chance of spawning.
40% -> floating pickup
35% -> bouncing pickup
25% -> piercing pickup

Bounce Pierce Float
Color green magenta white
time effect 20s 20s 20s
  • bounce: bullets can bounce while they hit the environment, but not the enemies
  • pierce: bullets can pierce through the enemies, but not the environment
  • float: bullets can float further (bullet floating time becomes longer)

(3) Additional Mobs

  • Zombies

Zombies

ZomBearRage ZomBunnyRage
Calm speed 2 3
Rage speed 4 5
Health 160 120
Damage 8 10
Score point 10 15
  • Skeletons

Skelebear Skelebunny

skeleton mobs can't move

SkeleBear SkeleBunny
Shoot type consecutive spread
Bullet 3 3
Damage per bullet 4 5
Health 180 200
Score point 20 25
  • Bombers

Bombers

bomber mobs will explode while hit player

BomBear BomBunny
Calm speed 3 4
Rage speed 5 6
Health 100 75
Damage 1 18
Score point 15 20
  • Boss

Boss

boss mobs can fly

Move Speed Health Damage per Bullet Score Point
Boss 3 1000 15 200
Basic Attack Special Attack
Shoot type consecutive spread
Number of bullets 10 36
n Atk per loop 2 1

(4) Game Mode

A player can choose one of this game modes:

  • Zen Mode
    • enemies will appear randomly on nav mesh every 5 seconds + enemies will appear randomly on existing spawn points 8-30 seconds (each mob have their own spawning time)
    • every 120 seconds, boss will appear at least once

players have to survive the zombies' attacks as long as possible

  • Wave Mode
    • enemies will appear with the fixed number of each wave
    • boss will appears on each wave multiples of three
    • next wave triggered if all enemies killed or none killed in the last 30 seconds
    • there are 9 waves in this game, and the difficulty will increase after wave 9

players have to survive a bunch of zombies on each wave

(5) Weapon Upgrade

Weapon Upgrade Canvas

There are two types of weapon upgrades, but player can choose only one:

  • Additional Bullet [+2] (diagonal)
  • Speed Up Shoot [+10]

In Wave Mode, weapon upgrade options appear every time the player defeat a boss wave
In Zen Mode, weapon upgrade options appear every 90 seconds

(6) Local Scoreboard

Leaderboard Canvas

The value of each attribute on leaderboard are saved in PlayerPrefs with base key:

  • "wave_leaderboard" for Wave Mode attributes: player name, total score, and last wave

  • "zen_leaderboard" for Zen Wave Mode attributes: player name, total score, and survival time

Each scoreboard is sorted by total score

(7) Main Menu

Main Menu Canvas

In this menu, players can write their names and choose one of the existing game modes. By clicking the button on the side, a player can navigate to another panel.

(8) Game Over

Game Over Canvas

When a player dies, the game over panel will show, and the player can see their game statistic on the screen. The player can choose to start a new game or go back to Main Menu.

(9) Others

  • Minimap

While the game is started, you can click m on the keyboard to show the minimap

  • Pause

Paused Canvas

While the game is started, you can click ESC on the keyboard to pause the game

  • Setting Panel

Setting Canvas

In the Main Menu, you can navigate to Setting Panel by clicking the button on the left. In this panel, you can adjust the music, sfx, and brightness

Specifications

  1. Player Attributes
    • Add power attribute
    • Add speed attribute
    • Add health attribute
    • Show all attributes on the screen
    • Set the initial value and max value for each attribute
  2. Orbs
    • Add power orb
    • Add speed orb
    • Add health orb
    • Spawn orbs randomly and periodically
    • Eliminate orbs if not taken for a certain period of time
  3. Additional Mobs
    • Add skeleton mobs
    • Add bomber mobs
    • Add boss mobs
  4. Game Modes
    1. Zen Mode
      • Add a timer to count the game time
    2. Wave Mode
      • Set the max number of waves (min. 3)
      • Calculate the weight of each wave
      • Set the pool where the enemy may come out in each wave
      • Set the score point of each enemy
      • Increase the weight capacity of each wave
      • Boss appears on each wave multiples of three
  5. Weapon Upgrades
    • Apply Diagonal Weapon
    • Apply Faster Weapon
    • Weapon upgrades can be applied more than once
    • In Zen Mode, weapon upgrade options appear at certain times
    • In Wave Mode, weapon upgrade options appear every time you defeat a boss wave
  6. Local Scoreboards
    • Dapat melihat dua jenis halaman scoreboard, yakni Scoreboard Zen Mode dan Scoreboard Wave Mode
    • In Zen Mode Scoreboard, show player name, total score, and survival time
    • In Wave Mode Scoreboard, show player name, total score, and last wave
    • Each scoreboard is sorted by total score
  7. Main Menus
    • Set the Player Name
    • Choose one of the existing Game Modes
    • Able to open the Local Scoreboard
  8. Game Over
    • In Zen Mode, show total score and survival time
    • In Wave Mode, show total score and last wave
    • A player can choose to start a new game (BUG!)
    • A player can choose to back to Main Menu
  9. Bonuses
    • Add more Game Mode
    • Add more Weapon Upgrade
    • Add Map
    • Add First Person Mode
  10. Not in specs
    • Enemy's health bar
    • 2 type of skeleton: Spread Shoot & Consecutive Shoot
    • Blinking bomber
    • Shoot range attribute (bullet floating time)
    • Setting Panel to adjust music, sfx, and brightness
    • Pause Panel with esc shortcut

Contact

Group 61

NIM Name
13519138 Bintang Fajarianto

Instagram

Back to Top

survival-shooter-extended's People

Contributors

bintangfrnz avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.