Giter Club home page Giter Club logo

rogueio's Introduction

RogueIO

A RogueLike Javascript Library/Game Engine built with โค

License Twitter Follow Discord RedditNPM

Introduction

RogueIO is an engine heavily inspired by both Rot.js and KontraJS to the point we merged the two together to create a whole new library for Javascript Game Developers.

Intended Features

  • [ x ] Basic Game Engine

    • Including RNG, FOV, LIGHTING...
    • Pathfinding, and turn scheduling
  • Procedural Map Generation

    • ASCII and Tile Based
  • [ x ] Asset Manager

    • A promise based asset loader for loading images, audio, and data files.
  • [ x ] Tile Manager

    • For managing and drawing tilesets.
  • [ x ] Event Manager

    • A simple event system. Allows you to hook into RogueIO lifecycle events or create your own, i.e Plugins.
  • [ x ] Plugin Manager

    • A plugin system based on the interceptor pattern, designed to share reusable code such as more advance collision detection or a 2D physics engine.
  • [ x ] Vector Engine

    • The Ability to create simple 2D vector objects
  • [ x ] Sprite Engine

    • A versatile way to update and draw your game objects. It can handle simple rectangles, images, and sprite sheet animations. It can be used for your main player object as well as tiny particles in a particle engine.
  • [ x ] Pointer Api

    • A simple pointer API. You can use to move the main sprite or respond to a pointer event.(Mouse and touch events.)
  • [ x ] Store Manager

    • A Simple Storage API to save data locally or to a Database
  • [ x ] A Minimalistic Keyboard Api

  • [ x ] Animation Api

  • Basic Multiplayer

Project Resources That Help Guide the Way

rogueio's People

Contributors

moikapy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

tearitco

rogueio's Issues

FIX: Images not drawing to canvas

App.js

  draw() {
    this.ctx = this.canvas.getCtx();
    this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
    this.drawSprite(0, this.x, this.y);
  },
  drawSprite(sprites, x, y) {
    this.spriteSheet = new Image();
    this.spriteSheet.src = "moiboi.png";
    this.ctx = this.canvas.getCtx();
    
    this.ctx.drawImage(
      this.spriteSheet,
      sprites * 16,
      0,
      16,
      16,
      this.x * this.tilesize,
      this.y * this.tilesize,
      this.tilesize,
      this.tilesize
    );

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.