Giter Club home page Giter Club logo

jsgames's Introduction

JSGames

Framework to create javascript games

Samples:

Brick Breaker

http://fco.github.io/JSGames

Test:

npm run brickbreaker

Deploy

On master push the travis autobuilds and pushes to gh-pages

jsgames's People

Contributors

fco avatar pedrohml avatar thiagosalles avatar

Stargazers

Alex Mulchinock avatar  avatar Bernardo Mariano avatar Stanislaw Pusep avatar Vitor Cassiano avatar  avatar Henrique Taunay avatar

Watchers

 avatar James Cloos avatar  avatar Daniel Tré da Conceição avatar Bruninho avatar  avatar Vitor Cassiano avatar  avatar Alex Mulchinock avatar  avatar  avatar

Forkers

vitorscassiano

jsgames's Issues

Improve graphics

  • Use requestAnimationFrame to optimize animation proccess;
  • Create abstraction for graphical modes;
  • Add WebGL support as graphical mode (ThreeJS) to improve graphics and performance.

Extra balls

Create power-up to bring extra balls (at least one more) to the scene. Increase balls velocity, but normalize when just one ball left.

Create an easy way to add stages to brick breaker

Something like:
Some files for stages, as the following example:

-- stage1.stg
### ### ### ### ###
### @@@ @@@ @@@ ###
### ### ### ### ###

Those files would describe how blocks should be laid out on the stage. Each three character combination is the code for a different block that should also be specified on a separate file, as in the following example:

//RegularBlock.js
exports.symbol = "###";
exports.type = "Poligon";
exports.transform = function (block) {
        block.draw_colision_area      = false;
        block.solid                   = true;
        block.do_not_colide_with      = ["Border"];
        block.type                    = "Block";
        block.color                   = "#000000";
        block.add_vertice(-13, 0);
        block.add_vertice(12, 0);
        block.add_vertice(12, 15);
        block.add_vertice(-13, 15);
        block.going2destroy = going2destroy;
        block.on_colide_with("ball", function(bola) {});
};

And that should be enough to load the stages.

Settings screen

Create a "screen" where we can configure the game. Like: what power ups it should use

Levels

Create abstraction for levels

Change level comportament

on death it shouldn't restart the level, only reset the ball
on finish lives should restar the level

Pause

Implement a way to pause the game

Lives

Create abstraction for lives

Bar hitting the ball

If you click the mouse button (or press space) the bar should go up in a big velocity, if it hit a ball while going up, it should go back down and the ball should get faster. If it doesn't hit any ball it should stay "uped" and going down in a slow time

Extra Life

Create a "power up" that gives us an extra life.

Power Ups

Implement abstraction for Power Ups

Unstoppable ball

Create power-up to turn the ball unstoppable temporally:

  • Ball can only collide with scene limits;
  • Ball still can hit bricks but do not collide to them;
  • Ball is unstoppable during a few seconds.

Create blocks.js

Remove the Blocks class from brickbreaker.js and create a file for it.
Make the constructor search for all brick files instead of sending it for it

Sticky bar

When the ball touch the bar it will be glue until the next mouse or space click.

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.