Giter VIP home page Giter VIP logo

project-2-concept's Introduction

SPACE INVADERS MARK ZERO

A CODE INSTITUTE STUDENT PROJECT

Project #2 - User-Centric Frontend Development

VIEW THE LATEST LIVE VERSION HERE Click "Start Game!" to start a new game. Use the up (or 'W') and down (or 'S') arrows on your keyboard to move your spaceship up and down on the screen. Avoid getting hit by any of the asteroids coming in from the right (As for now an asteroid hitting your ship will just stop in front of it).

Please Note! There have been some issues with the game running with ad-blockers activated. If the game does not start, try disable ad-blocker software.

This is the second of four individual projects we are to make during the 3 months Full Stack Developer course at Code Institute. Beside HTML5 and CSS3 this project is restricted to use of Javascript.

Since this stage of the course is mostly about Javascript, my idea is to make a small game using the HTML5 canvas element. This approach assures that most focus falls on Javascript. I am not using anything else than ”Vanilla” javascript and JQuery (and of course HTML and css with Bootstrap framework)

THE GAME

The game I intend to build is my own interpretation of the very classical game ”Space Invaders” (Created by Tomohiro Nishikado 1978). By making yet another version of this game there is nothing new. My interpretation just happens to be;

"THE SPACE INVADERS MARK-ZERO"

  • “M A R K” - Because regardless of what this project becomes it will still be some kind of mark in the history of Space Invaders clones (Think like “Just another poor made broken bronze ax found in an archeological dig site still has its pretty small Mark in the history of bronze axes”).
  • “Z E R O” - Because at the moment this proje#ct's mark is pretty much anything about Zero.

GAME CONTENT - WHAT IS IT ABOUT?

The game is about a small spaceship fighting obstacles in a complete 2d environment. While the classical ”Space Invader” had a bottom/up perspective, my version goes from the left side of the screen where the player spaceship can move up and down (on the vertical axis). From the right side of the screen obstacles and enemies are appearing and move towards the player. These obstacles appear in various random positions, directions, speed, size and appearance. The player has to avoid being struck by these enemy objects, or the game is over. Possibly, the player can shoot at these enemies to make them disappear and maybe the enemies can shoot back at the player.

TECHNOLOGY, DEPLOYMENT, FEATURES

TECHNOLOGY

  • HTML 5 (With use of the Canvas element to render the game in “2d” context)
  • CSS 3 (With Bootstrap 4.5.0 and Popper 16.0)
  • Javascript (With JQuery 3.5.1)

DEPLOYMENT

The application is hosted on GitHub Pages: https://ifooledme.github.io/project-2-concept/

The public repository on GitHub: https://github.com/iFooledMe/project-2-concept

FEATURES

For now you can find a list of all current features in the separate UX document here

TESTING

USER STORIES

Minimum Viable product

  • “As a player I can add my username and start a new game”
  • “As a player I find it essential that there are some sort of playable narrative”
  • “As a player I find it essential that I can control my on screen avatar”
  • “As a player I must be able to lose the game”
  • “As a player I must be able to win the game”
  • “As a player I wish to some sort of high scores list” (locally cached)
  • “As a player I wish to get some more information about the game.”
  • “As a player I wish to get instructions on how to play.”

Possible Extensions 1

  • “As a player I would like to shoot at incoming objects making them disappear”
  • “As a player I wish to be able to Pause the game if I need to”
  • “As a player I expect some leveling to incrementally make it more challenging”
  • “As a player I expect the game to have some music and sound effects”

Possible Extensions 2

“As a Player would like some of the incoming enemy objects sometimes shoot back at me” “As a player I’m bored! Please give me some upgrades and new game mechanics to play with”
“As a player I would love some Game Story to make my journey a bit more meaningful”

UX

Find complete UX-document here

CREDITS

CONTENT

MEDIA

AKNOWLEDGEMENTS

PRE-LOAD SOURCE CODE

loadImages() on top of main.js (I only made some small changes to this code to fit my purposes). SOURCE: Derek Leung - http://jsfiddle.net/DerekL/uCQAH/

project-2-concept's People

Contributors

ifooledme 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.