/Island-Survival

A browser game where you crashed on an island and have to survive by managing health, thirst, and hunter to 10 years before escaping to win.

Primary LanguageJavaScript

Island Survival (Tomagotchi)

==Wireframes==

Welcome Wireframe

Gameplay Wireframe

==Description==

Island Survival is a game where you crashed on an island and have to survive by managing health, thirst, and hunter to 10 years before escaping to win.

https://brianhung7.github.io/Project-Tomagotchi/

==Technologies Used==

HTML, CSS, Javascript, jQuery, DOM Manipulation

==Approach Taken==

  • Javascript code was initially written using a player object with many methods to interact with DOM for MVP, later changed to using classes for a bonus feature
  • ==User Stories==

  • Player/user is presented with a welcome screen with basic instructions and name entry before Play
  • After beginning the game, player sees several metrics on the top bar that they have to manage, keeping Health above 0 and Thirst/Hunger Levels lower than 10.
  • Player has several buttons on the bottom of the game screen that will call various functions that affect metrics
  • As time progresses, Health will decrease and Thirst/Hunger will increase at a set interval
  • Some buttons will have both positive and negative effects
  • Trying to escape before reaching the minimum 10 years will punish the player.
  • Failing a metric check (exceeding metric limit) will be a game over.
  • Successful escape will generate a win screen
  • ==IceBox/Stretch Goals==

  • Update avatar at certain milestones ✔️
  • Add effect to signify aging to new avatar ✔️
  • Animate various activities ✔️
  • When a metric is changed/modified, flash the respective metric to alert player something happened. ✔️
  • On Game Over loss or win, add option to restart the game ✔️
  • Add game over screen/avatar ✔️
  • On game over, disable button functions so that they do nothing when game ends ✔️
  • Add event log to keep track of events/actions ✔️
  • Colorize positive/negative events:heavy_check_mark:
  • Add loading bar after an action button is pressed
  • Change javascript from using an object for the game to using classes:heavy_check_mark:
  • Hovering over each button will give a tooltip that says what it will affect ✔️
  • As player reaches certain age milestones, time will pass faster and thus metrics will decrease/increase faster ✔️
  • Add "bars" to metrics in addition to the textual metrics ✔️
  • Add nicer looking font:heavy_check_mark:
  • Wilson volleyball easter egg game leveraging classes:heavy_check_mark:
  • Unique volleyball ending:heavy_check_mark:
  • Avatar selection option, as Bart or Lisa, with unique animations ✔️
  • Add Maggie as a possible avatar with unique animations ✔️
  • Add selection animation for avatars ✔️
  • ==Other Notes/Spoilers==

  • In trying to "give birth to a baby" or "add another survivor to the island" I couldn't figure/plan out how to setup the game board for two characters at the same time. So the conversion of the Javascript file from using an object to classes seemed wasted. Instead I implemented another idea where you play a stripped down version as a volleyball if your name is "Wilson". So the "full game" is actually extended(a child) from the Wilson parent class while the stripped version is the parent class with minimal functionality. Which I think is a bad idea because now the "Player" class is a child of a "Wilson". Player child class has many more functions and abilities as well as overwrites some parent class functions