Skip to content

bendangelo/rift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rift

Javascript Toolkit for Game Devs. This is not a game engine but a math library. This solves writing the same math formulas over and over. Rift is similar to the Math class, it has no state and its global.

Install

Rift supports NodeJS and every modern browser.

npm install rift

Usage

Below are some use cases of Rift.

Tile-based Games

var tileSize = 30;

.on("mousemove", function(x, y){

    var tileX = Rift.tile(x, tileSize);
    var tileY = Rift.tile(y, tileSize);

    player.x = tileX * size;
    player.y = tileY * size;

});

Isometric Games

var tileSize = 30;

.on("mousemove", function(x, y){

    var isoX = Rift.isoX(x, y, tileSize);
    var isoY = Rift.isoY(x, y, tileSize);

    player.x = Rift.worldIsoX(isoX, isoY, tileSize);
    player.y = Rift.worldIsoY(isoX, isoY, tileSize);

});

Random Helpers

var player = new Player();

// return integer number between 20 - 100
var randomGold = Rift.randomInt(20, 100);

player.giveGold(randomGold);

// return random element
var randomItem = Rift.random([item1, item2]);

player.giveItem(randomItem);

player.stats = {str: 10, dex: 5, vit: 4, int: 7};

// return random property
var randomStatDown = Rift.random(player.stats);

player.stats[randomStatDown] /= 2;

Math

var player = new Player();
var monster = new Monster();

var distance = Rift.distance(player.x, player.y, monster.x, monster.y);

if(Rift.hitTest(player.x, player.y, player.width, player.height,
    monster.x, monster.y, monster.width, monster.height)){
        // we hit
}

Change Log

0.1.1

  • First release

About

Javascript math utility for games.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published