/bootcamp_project1

Ironhack bootcamp project 1 (Module 1)

Primary LanguageTypeScript

Ironhack bootcamp project 1 (Module 1)

Simple 2d side scroller game build with HTML (no canvas), JS, CSS

How to play:

  • Goal: manage to survive for 1 minute or shoot at least 10 enemies to win
  • You can jump to avoid enemies and shoot to kill them
  • Use onscreen buttons or "w" to jump and "j" to shoot
  • Each time an enemy "touches" you, you loose a life
  • If you loose all your lives its game over:)

Link to published github page:

https://pomerama.github.io/bootcamp_project1/

Goals (official):

Browser based game, using HTML, CSS, JS, DOM manipulation, OOP

  • Render a game in the browser.
  • Have logic for winning and/or losing and show feedback to the player in either case:
  • Your game must have logic that allows the player to win or lose.
  • Your game code must be organized in separate files for HTML, CSS, and JavaScript.
  • Use plain JavaScript for DOM manipulation.
  • Your game entities and elements must be organized using classes and OOP.
  • Have a repo on GitHub.
  • Have at least one (1) commit per day that you worked on.
  • You must deploy your game online using GitHub Pages so anyone can play it.

Personal goals:

  • Get first experience with Typescript
  • Get first experience with Jest (testing)

To get "excellent" grade:

  • Aditional features like high score tracking, level progression
  • Unit tests/ Typescript/ private class fields
  • Modular code with clear responsibilities and minimal coupling
  • The code is exceptionally well-formatted, with clear and descriptive variable and function names that convey purpose and usage. The code is easy to read and understand, with an exemplary level of clarity
  • Extra features like CSS animations and transitions. Highly polished UI
  • Regular commits with clear messages
  • Deployed game is full functional with no errors preset

Game idea: basic infinite side scroller

  • Fallback in case parallax gets too tricky (with dom objects): very polished snake:)

Rough time layout (27.10.23 - 02.11.23):

  • Fri: working draft definition of done: oop code layout, start- & game- & endScreen, player can be moved nice to have: tests

  • Mon: polish basic version definition of done: obstacles, tests, graphics, high score nice to have: shooting

  • Tue: Parallax effect background definition of done: infinitely moving background nice to have: foreground objects which are "in front of" the player

  • Wed: Addons definition of done: to be decided nice to have:

    • onscreen buttons (player can click on them instead of using the keyboard)
    • music
    • sound effetcts
    • scallale / multiple sizes UI
    • sprite animation
  • Thu: Buffer, if anything goes wrong definition of done: working project which can be presented nice to have:

    • refactor code
    • understand how typescript affected the project, if used correctly, what to learn for future