browser-based zombie survival game built with vanilla JavaScript, HTML5, and CSS. Players survive waves of zombies for 3 minutes while maximizing their score. No build tools, npm, or external dependencies. https://richardnixondev.github.io/Scriptocalypse/
Find a file
2025-03-07 23:22:31 +00:00
.github/workflows Create static.yml 2025-02-27 18:20:49 +00:00
images add some gifs and sounds 2025-03-07 18:35:27 +00:00
sounds add some gifs and sounds 2025-03-07 18:35:27 +00:00
.gitignore add .gitignore 2025-02-24 07:28:00 +00:00
index.html fix path images 2025-03-07 23:22:31 +00:00
LICENSE Initial commit 2025-02-22 14:06:01 +00:00
README.md fix index page commmads and descritive list of data structure on README.md 2025-03-07 17:12:35 +00:00
script.js add some gifs and sounds 2025-03-07 18:35:27 +00:00
style.css fix path images 2025-03-07 23:22:31 +00:00

Scriptocalypse

Click here to see deployed game

Description

Scriptocalypse, set in a zombie apocalypse scenario in the year 2666, the objective is to survive the attack of all groups of zombies for 3 minutes. The game ends when the clock resets, your score will be based on the amount of destruction you managed to cause.

MVP - (Minimum Scope)

  • The game must have at least 3 states (initial start screen, game screen, and game over screen)

  • The game must have the ability to start and be restarted at the end.

  • The game needs to have a logic of losing or winning.

  • The game needs to be versioned on github.


Extras

  • The game may have a local storage function.

  • The game may have audio.

  • The game may have a variety of enemies.

  • The game may have BOSS-type enemies.

Backlog

  • Add hardcore state to make the game more difficult
  • Add different types of creatures
  • Add a boss fight when a time is reached.
  • Add music and sound in the game.

Data structure

  • introPage(): Sets up and displays the games intro screen, hiding other sections.

  • startGame(): Starts the game when the "Start" button is clicked, setting up the game area, resetting variables, and starting the timer.

  • timeGame(): Updates the elapsed game time every second.

  • shoot(): Creates a bullet when the player shoots and checks for collisions with enemies.

  • spawnEnemy(): Continuously spawns enemies and moves them across the screen.

  • checkCollision(bullet, enemy): Detects if a bullet collides with an enemy, removing both and increasing the score if a hit is detected.

  • checkCollisionEnemy(player, enemy): Checks if an enemy collides with the player. If so, it reduces the player's lives and determines if the game should end.

  • endGame(): Ends the game when the player runs out of lives, displaying the "Game Over" screen and clearing game elements.

States y States Transitions

  • Start Screen
  • Game Screen
  • Game Over Screen

Task

  • MVP
  • Extras