GithubHelp home page GithubHelp logo

mini-intruders's People

Contributors

mjohnsonengr avatar

Stargazers

 avatar

Watchers

 avatar  avatar

mini-intruders's Issues

Use watch instead of relying on compile-on-save

Currently I let Atom and atom-typescript compile each file when it is saved, but this is a problem in a couple of circumstances.

  • Sometimes I like to edit files from my browsers debugger for quick fixes; I edit TS files, but then I have to either switch to Atom and press Ctrl+S to trigger a compile, or run grunt ts
  • When I do any repository actions, I must run grunt ts and I often forget to do this.

Using watch instead will grealy improve my productivity.

Enemies

  • Move side to side (until furthest left/right enemy hits edge)
  • Fire back at player -- rate per alien so as the player kills off aliens, there is less fire coming back
  • Die when struck by a missile

Player

Abilities

  • Move side to side
  • Shoot
  • Configurable (for bonuses)

Screen/device scalability

Need to make app scalable.

Consider various screen sizes
Make sure all assets are scaled appropriately
Re-write code as necessary to make sure it also scales well.

EndGame

States for you win/you lose

You win screen displays your final score.

Both screens allow you to restart or exit

Menu

Replicate the main menu. Buttons are clickable, or can be navigated with arrow keys

Buttons:

  • Play
  • Help
  • Credits
  • Exit

Menu should be animated. Sequence:

  • Intro fades out
  • Logo fades in
  • Logo moves down
  • Logo moves up pulling menu items with it
  • Menu items bounce back down to their final location.

Credits screen

Add a credits screen. Need to figure out where some stuff is from.

Firing System

For now I am implementing a basic firing system for the player.

I would like to have configurable player and enemy firing systems. This would allow the player to receive weapon upgrades that allow him to fire better ammo and fire at different speeds. This would also allow the enemies to progressively get more difficult on each level by firing faster, more, and with better ammo.

In order to do this, I propose giving the Weapon class a FiringPattern; this firing pattern would be configurable. The FiringPattern would keep track of any variables it needs to in order to decide when it is appropriate to fire. The weapon would then check with the FiringPattern to see if it's okay to fire, and after firing, would alert the FiringPattern so the FiringPattern can keep track of when the last shot was.

In this scenario, input would still be passed to the Weapon who would keep track of a "firing" state. If the Weapon is currently firing, it will check with the FiringPattern to see if and when it is able to spit out another bullet.

Scoring

Scoring system should accumulate score and display in top left of screen

Lives

Player should have the ability to die and respawn, decrementing the lives counter.

  • Lives should be displayed on screen somewhere
  • When player is shot, death should happen

Missiles

Missiles can:

  • be created by player or enemy, etc. with an initial direction, speed, size
  • constantly move in direction until collide with something
  • increase score if hits enemy, delete missile and enemy
  • decrease lives if hits player, trigger respawn timer

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.