Skip to content

danialjivraj/firedog

Repository files navigation

firedog

Firedog is a 2D game built from scratch with over 20k lines of code (+14k for tests) and over 663 different assets (509 images and 154 audio files).

This game was created by using HTML Canvas and pure JavaScript without relying on external frameworks except for Electron, which was utilized to transform it into a Desktop application.

Story and Objective

Embark on a thrilling quest as Firedog to recover the stolen Cryptic Token, pilfered by an enigmatic thief!

This is a story-based game which includes 6 different maps, with over 49 different enemies and a final boss.
Your objective on each map is to eliminate as many enemies as you can, gathering sufficient coins to advance to the next stage of your journey!

Your progress/game settings will be automatically saved whenever you complete a map or adjust your settings (such as audio, skin selection, or level difficulty).

Preview

menuPreview.mp4
gameplayPreview.mp4

image image image image image image image image image image

Controls

  • Menus

    • Arrow Up / Scroll Wheel Up: Move Up
    • Arrow Down / Scroll Wheel Down: Move Down
    • Arrow Right: Move Right
    • Arrow Left: Move Left
    • Enter / Left Click: Select Option
    • Tab: Open/Close Enemy Lore
    • Esc / Right Click: Return to Main Menu/Game
  • Cutscenes

    • Enter / Left Click: Advance to the next dialogue/Skip dialogue animation
    • Tab: Skip entire cutscene
  • Gameplay

    • Movement:

      • W: Jump
      • A: Move Backwards
      • S: Sit
      • D: Move Forward
    • Special Moves:

      • Enter / Right Click: Roll Attack
      • S (while in the air): Dive Attack
      • Q / Left Click: Fireball Attack
      • E / Scroll Wheel Click: Invisible Defense
    • Esc: Pause/Unpause Game

Download

You can download the game by clicking one of the following links:

For Windows

For macOS

For Linux

Dependencies

Alternatively to downloading the game, you can clone the project and run it locally.
You'll need to run the following command in the root folder:

  • Electron
npm install electron

Then you can run the game by using the following prompt:

npm run start

Note: Make sure you have Node.js installed to be able to run the game locally.

Tests

The project is thoroughly tested using Jest, with over 1.1k+ tests and and average of 80% test coverage across all files.
You need to install the testing dependencies before being able to run all tests.

  1. Install all dependencies by running in the root folder:
npm install
  1. To run all tests use:
npm test

Diagrams

firedog.drawio

Credits

CREDITS.md

Disclaimer

DISCLAIMER.md

About

a oop vanilla javascript story-based 2d game using html canvas, wrapped in electron

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published