Skip to content

SujalChoudhari/Neptune.js

Repository files navigation

Neptune.js

GitHub Stats:


Contributors:



Releases:


Issues:

What is Neptune.js?

Neptune is a set of JavaScript modules designed for writing video games. Neptune adds functionality on top of the excellent combo of HTML5 canvas and JavaScript. This allows you to create games and multimedia programs in the javascript language. Neptune is highly portable and runs on browsers. Neptune is free. Released under the MIT licence, you can create open source, freeware, shareware, and commercial games with it. See the licence for full details.

Easy to use

It's Simple and easy to use. Even kids can make simple game in Neptune. Readable code and Documentation makes it easy to use. Neptune almost has all the necessary modules for a 2d game.

Entity Component based System (v3.0+)

Now the Engine uses a entity component based system. This makes the engine more advance, as major engines use this system. Due to more advance Systems, the learning curve is moderate.

Minimalist design

Neptune is a small framework. It does not have hundreds of thousands of lines of code for things you won't use anyway. The core is kept simple and is documented neatly.

Modular

You can use pieces of neptune separately. Want to use a different sound library? That's fine. Many of the core modules can be initialized and used separately. Neptune provides various features which can work independently to some extent.

Fast

You don't have to wory about the main loop and the event cycles. Neptune handles these things under the hood, and provides you with a clean but customisable features.

Features

Entity Component based System

Neptune uses a entity component based system. This system is suitable for editor based engines.

2D Rendering

Neptune has a 2D rendering system. It uses HTML5 canvas to render the game.

    Shapes

    Neptune has a built in shape renderer. It can render basic shapes like rectangle, circle, line, etc.

    • Circle
    • Line
    • Rectangle
    • Polygon
    • Triangle
    UI

    Neptune has a built in UI renderer. It can render basic UI elements like sprites, text, etc.

      Containers

      Neptune has a built in UI container renderer. It can render basic UI containers like Margin Container, Grid Container, etc.

      • Margin
      • HBox
      • VBox
      • Grid
    • Panel
    • Sprite
    • Text
    Text Images
Events

Neptune has a built in event system. It can handle mouse, keyboard, touch, etc.

  • Keyboard
  • Mouse
  • Touch
Audio

Neptune has a built in audio system. It can play audio files.

  • Sound
  • Music
Color

Neptune has a built in color system. It can handle colors.

  • Color
  • Color Templates
Math

Neptune has a built in math system. It can handle basic math functions.

  • Vector2
  • Math Library