Giter Site home page Giter Site logo

gine's Introduction

Gine

Gine is a HTML5 Canvas/JavaScript game engine, rebuilt for TypeScript with full type support.
It depends upon RxJS for some reactive features, like the frame(), tick() and second() functions on your scenes.

How to use

You will probably want to go to the /example/ folder.

In your favorite terminal run: (NPM required!)

  • npm install
  • npm start

You will be able to watch a basic implementation of the engine running in your browser.

You can also create your own project, setup your project the way you like it, and run

  • npm init
  • npm install gine --save

How to install (advanced)

If you want to tinker around with the engines internals, you may fork or clone this repository.

  • git clone https://github.com/Bjeaurn/gine

Move to the directory, cd gine and run:

  • npm install
  • npm start

This will install the engine locally and build your own private version to tinker around with.

You could use npm link in this directory, and npm link gine in another project to link to your local build of Gine. Don't forget to relink and npm start when you've changed something in the engine.

Any issues fixed, features added or general improvements made? Let me know!

I'm at twitter/@Bjeaurn, or follow the CONTRIBUTING.md file to learn how to make a proper pull request.

gine's People

Contributors

bjeaurn avatar jschwarty avatar dependabot[bot] avatar

Stargazers

Daniel Mecke avatar Evan Fiddes avatar  avatar Steven avatar Matt Eland avatar  avatar  avatar Christer Kaitila avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

jschwarty

gine's Issues

Math2D Library is quite limited still

Math2D offers some basic functionality now for calculating in a 2D space.

Most functions now like degreesToXY and degreesToRadians would need a function to convert back, so XYtoDegrees and radiansToDegrees as well in the very least. And I'm sure there's plenty more functions to be thought off that are useful in a 2D environment.

SpriteAsset not setting width/height properly

Width and height are being set by the Asset class, which takes it from the actual image. But in the case of a sprite, we don't want the full width/height of the image; cause we're only using a small part of the actual image for our sprite.

The sprite width/height should be set and equal to sizeX and sizeY.

Maybe refactor sizeX and sizeY to actually reflect width/height, I'm not sure if they have a separate function within the class.

SpriteAssets are limited in functionality

Possible extended solution would allow a map of "positions" in a sprite. This way you can tell the sprite to draw/animate it in "idle" mode, or in "moving" mode, or "attack-1" etcetera.

This is currently not possible within the SpriteAsset architecture.

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.